TrackerConfig.fromJson constructor

TrackerConfig.fromJson(
  1. Map<String, dynamic> json
)

Create from JSON

Implementation

factory TrackerConfig.fromJson(Map<String, dynamic> json) {
  return TrackerConfig(
    accuracyMode: AccuracyMode.values.firstWhere(
      (e) => e.name == json['accuracyMode'],
      orElse: () => AccuracyMode.balanced,
    ),
    distanceFilter: (json['distanceFilter'] as num?)?.toDouble() ?? 10.0,
    timeInterval: json['timeInterval'] as int? ?? 10,
    enableAdaptiveTracking: json['enableAdaptiveTracking'] as bool? ?? true,
    lowBatteryThreshold: json['lowBatteryThreshold'] as int? ?? 20,
    enableMotionDetection: json['enableMotionDetection'] as bool? ?? true,
    stationaryTimeout: json['stationaryTimeout'] as int? ?? 300,
    enableActivityRecognition: json['enableActivityRecognition'] as bool? ?? true,
    maxDatabaseSize: json['maxDatabaseSize'] as int? ?? 50,
    dataRetentionDays: json['dataRetentionDays'] as int? ?? 7,
    syncUrl: json['syncUrl'] as String?,
    syncHeaders: (json['syncHeaders'] as Map<dynamic, dynamic>?)?.cast<String, String>(),
    syncBatchSize: json['syncBatchSize'] as int? ?? 100,
    syncInterval: json['syncInterval'] as int? ?? 300,
  );
}