66 lines
2.9 KiB
Java
66 lines
2.9 KiB
Java
package androidx.work.impl.background.systemalarm;
|
|
|
|
import android.content.BroadcastReceiver;
|
|
import android.content.Context;
|
|
import android.content.Intent;
|
|
import androidx.work.Constraints;
|
|
import androidx.work.Logger;
|
|
import androidx.work.NetworkType;
|
|
import androidx.work.impl.model.WorkSpec;
|
|
import java.util.List;
|
|
public abstract class ConstraintProxy extends BroadcastReceiver {
|
|
private static final String TAG = Logger.tagWithPrefix("ConstraintProxy");
|
|
|
|
public static class BatteryChargingProxy extends ConstraintProxy {
|
|
@Override // androidx.work.impl.background.systemalarm.ConstraintProxy, android.content.BroadcastReceiver
|
|
public /* bridge */ /* synthetic */ void onReceive(Context context, Intent intent) {
|
|
ConstraintProxy.super.onReceive(context, intent);
|
|
}
|
|
}
|
|
|
|
public static class BatteryNotLowProxy extends ConstraintProxy {
|
|
@Override // androidx.work.impl.background.systemalarm.ConstraintProxy, android.content.BroadcastReceiver
|
|
public /* bridge */ /* synthetic */ void onReceive(Context context, Intent intent) {
|
|
ConstraintProxy.super.onReceive(context, intent);
|
|
}
|
|
}
|
|
|
|
public static class NetworkStateProxy extends ConstraintProxy {
|
|
@Override // androidx.work.impl.background.systemalarm.ConstraintProxy, android.content.BroadcastReceiver
|
|
public /* bridge */ /* synthetic */ void onReceive(Context context, Intent intent) {
|
|
ConstraintProxy.super.onReceive(context, intent);
|
|
}
|
|
}
|
|
|
|
public static class StorageNotLowProxy extends ConstraintProxy {
|
|
@Override // androidx.work.impl.background.systemalarm.ConstraintProxy, android.content.BroadcastReceiver
|
|
public /* bridge */ /* synthetic */ void onReceive(Context context, Intent intent) {
|
|
ConstraintProxy.super.onReceive(context, intent);
|
|
}
|
|
}
|
|
|
|
public static void updateAll(Context context, List<WorkSpec> list) {
|
|
boolean z2 = false;
|
|
boolean z3 = false;
|
|
boolean z4 = false;
|
|
boolean z5 = false;
|
|
for (WorkSpec workSpec : list) {
|
|
Constraints constraints = workSpec.constraints;
|
|
z2 |= constraints.requiresBatteryNotLow();
|
|
z3 |= constraints.requiresCharging();
|
|
z4 |= constraints.requiresStorageNotLow();
|
|
z5 |= constraints.getRequiredNetworkType() != NetworkType.NOT_REQUIRED;
|
|
if (z2 && z3 && z4 && z5) {
|
|
break;
|
|
}
|
|
}
|
|
context.sendBroadcast(ConstraintProxyUpdateReceiver.newConstraintProxyUpdateIntent(context, z2, z3, z4, z5));
|
|
}
|
|
|
|
@Override // android.content.BroadcastReceiver
|
|
public void onReceive(Context context, Intent intent) {
|
|
Logger.get().debug(TAG, String.format("onReceive : %s", intent), new Throwable[0]);
|
|
context.startService(CommandHandler.createConstraintsChangedIntent(context));
|
|
}
|
|
}
|