24 lines
1.0 KiB
Java
24 lines
1.0 KiB
Java
package androidx.work.impl.constraints.controllers;
|
|
|
|
import android.content.Context;
|
|
import androidx.annotation.NonNull;
|
|
import androidx.work.NetworkType;
|
|
import androidx.work.impl.constraints.NetworkState;
|
|
import androidx.work.impl.constraints.trackers.Trackers;
|
|
import androidx.work.impl.model.WorkSpec;
|
|
import androidx.work.impl.utils.taskexecutor.TaskExecutor;
|
|
public class NetworkUnmeteredController extends ConstraintController<NetworkState> {
|
|
public NetworkUnmeteredController(@NonNull Context context, @NonNull TaskExecutor taskExecutor) {
|
|
super(Trackers.getInstance(context, taskExecutor).getNetworkStateTracker());
|
|
}
|
|
|
|
@Override // androidx.work.impl.constraints.controllers.ConstraintController
|
|
public boolean hasConstraint(@NonNull WorkSpec workSpec) {
|
|
return workSpec.constraints.getRequiredNetworkType() == NetworkType.UNMETERED;
|
|
}
|
|
|
|
public boolean isConstrained(@NonNull NetworkState networkState) {
|
|
return !networkState.isConnected() || networkState.isMetered();
|
|
}
|
|
}
|