getValue method
Get a value from RC (with fallback to cache)
Implementation
dynamic getValue(String key, {required dynamic defaultValue}) {
try {
/// If RC not ready → use cache
if (!_initialized) {
final cached = getCachedValue(key, defaultValue: defaultValue);
if (cached != null) return cached;
return defaultValue;
}
if (defaultValue is String) {
final s = _remoteConfig.getString(key);
return s.isNotEmpty ? s : defaultValue;
} else if (defaultValue is bool) {
final s = _remoteConfig.getString(key);
if (s.isNotEmpty) {
return s.toLowerCase() == "true";
}
return _remoteConfig.getBool(key);
} else if (defaultValue is int) {
final s = _remoteConfig.getString(key);
if (s.isNotEmpty) {
return int.tryParse(s) ?? defaultValue;
}
return _remoteConfig.getInt(key);
} else if (defaultValue is double) {
final s = _remoteConfig.getString(key);
if (s.isNotEmpty) {
return double.tryParse(s) ?? defaultValue;
}
return _remoteConfig.getDouble(key);
} else {
return defaultValue;
}
} catch (e) {
debugPrint("RC getValue error: $e");
return defaultValue;
}
}