package androidx.work; import android.os.Build; import androidx.annotation.NonNull; import androidx.work.WorkRequest; import androidx.work.impl.model.WorkSpec; import java.util.ArrayList; import java.util.List; public final class OneTimeWorkRequest extends WorkRequest { public static final class Builder extends WorkRequest.Builder { public Builder(@NonNull Class cls) { super(cls); this.mWorkSpec.inputMergerClassName = OverwritingInputMerger.class.getName(); } @Override // androidx.work.WorkRequest.Builder @NonNull public OneTimeWorkRequest buildInternal() { if (!this.mBackoffCriteriaSet || Build.VERSION.SDK_INT < 23 || !this.mWorkSpec.constraints.requiresDeviceIdle()) { WorkSpec workSpec = this.mWorkSpec; if (!workSpec.runInForeground || Build.VERSION.SDK_INT < 23 || !workSpec.constraints.requiresDeviceIdle()) { return new OneTimeWorkRequest(this); } throw new IllegalArgumentException("Cannot run in foreground with an idle mode constraint"); } throw new IllegalArgumentException("Cannot set backoff criteria on an idle mode job"); } @Override // androidx.work.WorkRequest.Builder @NonNull public Builder getThis() { return this; } @NonNull public Builder setInputMerger(@NonNull Class cls) { this.mWorkSpec.inputMergerClassName = cls.getName(); return this; } } public OneTimeWorkRequest(Builder builder) { super(builder.mId, builder.mWorkSpec, builder.mTags); } @NonNull public static OneTimeWorkRequest from(@NonNull Class cls) { return new Builder(cls).build(); } @NonNull public static List from(@NonNull List> list) { ArrayList arrayList = new ArrayList(list.size()); for (Class cls : list) { arrayList.add(new Builder(cls).build()); } return arrayList; } }