requestSamsungHealthDataPermissions method

Future<List<String>> requestSamsungHealthDataPermissions({
  1. List<StatisticsType>? statisticTypes,
  2. List<MetricType>? metricTypes,
  3. List<ActivityConfig>? activityConfigs,
  4. List<SleepConfig>? sleepConfigs,
})

Implementation

Future<List<String>> requestSamsungHealthDataPermissions({
  List<StatisticsType>? statisticTypes,
  List<MetricType>? metricTypes,
  List<ActivityConfig>? activityConfigs,
  List<SleepConfig>? sleepConfigs,
}) async {
  if (!Platform.isAndroid) {
    throw Exception('requestSamsungHealthDataPermissions method is only available on Android');
  }

  await enableSamsungHealthDataIntegration();

  final result = await NativeSDKBridgeV3.requestPermissionsFromSamsungHealthData(
    connectionId: connectionId,
    statisticTypes: statisticTypes?.map((e) => e.toJson()).toList() ?? [],
    metricTypes: metricTypes?.map((e) => e.toJson()).toList() ?? [],
    activityConfigs: activityConfigs?.map((e) => jsonEncode(e.toJson())).toList() ?? [],
    sleepConfigs: sleepConfigs?.map((e) => jsonEncode(e.toJson())).toList() ?? [],
  );

  ExceptionHandler.checkException(result);

  return result;
}