toMap method

JsonMap toMap()

Converts to map.

Implementation

JsonMap toMap() {
  final map = <String, dynamic>{
    'version': version,
  };

  void put(String key, dynamic value) {
    if (value != null) {
      map[key] = value;
    }
  }

  put('desiredAccuracy', desiredAccuracy?.name);
  put('distanceFilter', distanceFilter);
  put('locationUpdateInterval', locationUpdateInterval);
  put('fastestLocationUpdateInterval', fastestLocationUpdateInterval);
  put('activityRecognitionInterval', activityRecognitionInterval);
  put('stopTimeout', stopTimeout);
  put('stopAfterElapsedMinutes', stopAfterElapsedMinutes);
  put('stopDetectionDelay', stopDetectionDelay);
  put('motionTriggerDelay', motionTriggerDelay);
  put('minimumActivityRecognitionConfidence',
      minimumActivityRecognitionConfidence);
  put('useSignificantChangesOnly', useSignificantChangesOnly);
  put('allowIdenticalLocations', allowIdenticalLocations);
  put('disableMotionActivityUpdates', disableMotionActivityUpdates);
  put('disableStopDetection', disableStopDetection);
  put('disableProviderChangeRecord', disableProviderChangeRecord);
  put('disableLocationAuthorizationAlert', disableLocationAuthorizationAlert);
  put('enableHeadless', enableHeadless);
  put('startOnBoot', startOnBoot);
  put('stopOnTerminate', stopOnTerminate);
  put('foregroundService', foregroundService);
  put('preventSuspend', preventSuspend);
  put('pausesLocationUpdatesAutomatically',
      pausesLocationUpdatesAutomatically);
  put('showsBackgroundLocationIndicator', showsBackgroundLocationIndicator);
  put('stationaryRadius', stationaryRadius);
  put('desiredOdometerAccuracy', desiredOdometerAccuracy);
  put('elasticityMultiplier', elasticityMultiplier);
  put('speedJumpFilter', speedJumpFilter);
  put('stopOnStationary', stopOnStationary);
  put('geofenceModeHighAccuracy', geofenceModeHighAccuracy);
  put('geofenceInitialTriggerEntry', geofenceInitialTriggerEntry);
  put('geofenceProximityRadius', geofenceProximityRadius);
  put('maxMonitoredGeofences', maxMonitoredGeofences);
  put('locationTimeout', locationTimeout);
  put('httpTimeout', httpTimeout);
  put('maxRetry', maxRetry);
  put('retryDelay', retryDelay);
  put('retryDelayMultiplier', retryDelayMultiplier);
  put('maxRetryDelay', maxRetryDelay);
  put('bgTaskId', bgTaskId);
  put('url', url);
  put('method', method);
  put('headers', headers);
  put('params', params);
  put('extras', extras);
  put('autoSync', autoSync);
  put('batchSync', batchSync);
  put('maxBatchSize', maxBatchSize);
  put('autoSyncThreshold', autoSyncThreshold);
  put('disableAutoSyncOnCellular', disableAutoSyncOnCellular);
  put('queueMaxDays', queueMaxDays);
  put('queueMaxRecords', queueMaxRecords);
  put('idempotencyHeader', idempotencyHeader);
  put('persistMode', persistMode?.name);
  put('maxDaysToPersist', maxDaysToPersist);
  put('maxRecordsToPersist', maxRecordsToPersist);
  put('locationTemplate', locationTemplate);
  put('geofenceTemplate', geofenceTemplate);
  put('httpRootProperty', httpRootProperty);
  put('schedule', schedule);
  put('scheduleUseAlarmManager', scheduleUseAlarmManager);
  put('forceReloadOnBoot', forceReloadOnBoot);
  put('forceReloadOnLocationChange', forceReloadOnLocationChange);
  put('forceReloadOnMotionChange', forceReloadOnMotionChange);
  put('forceReloadOnGeofence', forceReloadOnGeofence);
  put('forceReloadOnHeartbeat', forceReloadOnHeartbeat);
  put('forceReloadOnSchedule', forceReloadOnSchedule);
  put('enableTimestampMeta', enableTimestampMeta);
  put('notification', notification?.toMap());
  put('logLevel', logLevel?.name);
  put('logMaxDays', logMaxDays);
  put('heartbeatInterval', heartbeatInterval);
  put('backgroundPermissionRationale',
      backgroundPermissionRationale?.toMap());
  put('triggerActivities', triggerActivities?.map((e) => e.name).toList());

  put('adaptiveTracking', adaptiveTracking?.toMap());
  put('lowBattery', lowBattery?.toMap());
  put('spoofDetection', spoofDetection?.toMap());

  return map;
}