discord-jadx/app/src/main/java/androidx/work/WorkQuery.java

93 lines
2.6 KiB
Java

package androidx.work;
import android.annotation.SuppressLint;
import androidx.annotation.NonNull;
import androidx.work.WorkInfo;
import java.util.ArrayList;
import java.util.List;
public final class WorkQuery {
private final List<WorkInfo.State> mStates;
private final List<String> mTags;
private final List<String> mUniqueWorkNames;
public static final class Builder {
public List<WorkInfo.State> mStates = new ArrayList();
public List<String> mTags = new ArrayList();
public List<String> mUniqueWorkNames = new ArrayList();
private Builder() {
}
@NonNull
@SuppressLint({"BuilderSetStyle"})
public static Builder fromStates(@NonNull List<WorkInfo.State> list) {
Builder builder = new Builder();
builder.addStates(list);
return builder;
}
@NonNull
@SuppressLint({"BuilderSetStyle"})
public static Builder fromTags(@NonNull List<String> list) {
Builder builder = new Builder();
builder.addTags(list);
return builder;
}
@NonNull
@SuppressLint({"BuilderSetStyle"})
public static Builder fromUniqueWorkNames(@NonNull List<String> list) {
Builder builder = new Builder();
builder.addUniqueWorkNames(list);
return builder;
}
@NonNull
public Builder addStates(@NonNull List<WorkInfo.State> list) {
this.mStates.addAll(list);
return this;
}
@NonNull
public Builder addTags(@NonNull List<String> list) {
this.mTags.addAll(list);
return this;
}
@NonNull
public Builder addUniqueWorkNames(@NonNull List<String> list) {
this.mUniqueWorkNames.addAll(list);
return this;
}
@NonNull
public WorkQuery build() {
if (!this.mUniqueWorkNames.isEmpty() || !this.mTags.isEmpty() || !this.mStates.isEmpty()) {
return new WorkQuery(this);
}
throw new IllegalArgumentException("Must specify uniqueNames, tags or states when building a WorkQuery");
}
}
public WorkQuery(@NonNull Builder builder) {
this.mUniqueWorkNames = builder.mUniqueWorkNames;
this.mTags = builder.mTags;
this.mStates = builder.mStates;
}
@NonNull
public List<WorkInfo.State> getStates() {
return this.mStates;
}
@NonNull
public List<String> getTags() {
return this.mTags;
}
@NonNull
public List<String> getUniqueWorkNames() {
return this.mUniqueWorkNames;
}
}