getAutoReloadConfiguration method

  1. @override
Future<AutoReloadConfig> getAutoReloadConfiguration({
  1. required String customerId,
})
override

Implementation

@override
Future<AutoReloadConfig> getAutoReloadConfiguration(
    {required String customerId}) async {
  try {
    final result = await methodChannel.invokeMethod(
      'getAutoReloadConfiguration',
      {'customerId': customerId},
    );
    if (result != null) {
      if (result is Map && result.containsKey('config')) {
        // Handle the case where the result is nested inside a 'config' key (iOS)
        final configMap = result['config'] as Map<dynamic, dynamic>;
        final autoReloadConfigurationMap =
            Map<String, dynamic>.from(configMap);
        final autoReloadConfiguration =
            AutoReloadConfig.fromMap(autoReloadConfigurationMap);
        return autoReloadConfiguration;
      } else if (result is Map) {
        // Handle the case where the result is a direct map (Android)
        final autoReloadConfigurationMap = Map<String, dynamic>.from(result);
        final autoReloadConfiguration =
            AutoReloadConfig.fromMap(autoReloadConfigurationMap);
        return autoReloadConfiguration;
      } else {
        throw PlatformException(
          code: 'INVALID_RESULT',
          message: 'getAutoReloadConfiguration returned an invalid result',
        );
      }
    } else {
      throw PlatformException(
        code: 'NULL_RESULT',
        message: 'getAutoReloadConfiguration returned null',
      );
    }
  } on PlatformException {
    rethrow;
  }
}