evaluateSyncPolicy method
- required SyncPolicy policy,
override
Implementation
@override
Future<SyncDecision> evaluateSyncPolicy({
required SyncPolicy policy,
}) async {
final power = _powerState;
final behavior = policy.getBehavior(
networkType: NetworkType.wifi,
batteryPercent: power.batteryLevel,
isCharging: power.isCharging,
isMetered: false,
isForeground: _isForeground,
);
switch (behavior) {
case SyncBehavior.immediate:
return SyncDecision.proceed;
case SyncBehavior.batch:
return SyncDecision.batch(
policy.batchSize,
delay: policy.batchInterval,
);
case SyncBehavior.queue:
return SyncDecision.defer('Queued for later');
case SyncBehavior.manual:
return SyncDecision.defer('Manual sync required');
}
}