SyncPolicy.fromMap constructor
- JsonMap map
Creates from a map.
Implementation
factory SyncPolicy.fromMap(JsonMap map) {
return SyncPolicy(
onWifi: SyncBehavior.values.firstWhere(
(e) => e.name == map['onWifi'],
orElse: () => SyncBehavior.immediate,
),
onCellular: SyncBehavior.values.firstWhere(
(e) => e.name == map['onCellular'],
orElse: () => SyncBehavior.batch,
),
onMetered: SyncBehavior.values.firstWhere(
(e) => e.name == map['onMetered'],
orElse: () => SyncBehavior.batch,
),
onOffline: SyncBehavior.values.firstWhere(
(e) => e.name == map['onOffline'],
orElse: () => SyncBehavior.queue,
),
onCharging: SyncBehavior.values.firstWhere(
(e) => e.name == map['onCharging'],
orElse: () => SyncBehavior.immediate,
),
batchSize: (map['batchSize'] as num?)?.toInt() ?? 50,
batchInterval: Duration(
milliseconds: (map['batchIntervalMs'] as num?)?.toInt() ?? 300000,
),
lowBatteryThreshold: (map['lowBatteryThreshold'] as num?)?.toInt() ?? 20,
lowBatteryBehavior: SyncBehavior.values.firstWhere(
(e) => e.name == map['lowBatteryBehavior'],
orElse: () => SyncBehavior.manual,
),
minSyncInterval: Duration(
milliseconds: (map['minSyncIntervalMs'] as num?)?.toInt() ?? 30000,
),
maxLocationAge: map['maxLocationAgeMs'] != null
? Duration(milliseconds: (map['maxLocationAgeMs'] as num).toInt())
: null,
preferWifi: map['preferWifi'] as bool? ?? true,
foregroundOnly: map['foregroundOnly'] as bool? ?? false,
);
}