Magisk/app/src/full/java/com/topjohnwu/magisk/services/DelegateWorker.java

85 lines
1.8 KiB
Java
Raw Normal View History

2018-12-27 15:07:47 +01:00
package com.topjohnwu.magisk.services;
2019-01-28 22:12:59 +01:00
import android.content.Context;
import android.net.Network;
import android.net.Uri;
import com.google.common.util.concurrent.ListenableFuture;
import java.util.List;
import java.util.Set;
import java.util.UUID;
import androidx.annotation.MainThread;
2018-12-27 15:07:47 +01:00
import androidx.annotation.NonNull;
2019-01-28 22:12:59 +01:00
import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi;
import androidx.work.Data;
2018-12-27 15:07:47 +01:00
import androidx.work.ListenableWorker;
public abstract class DelegateWorker {
2019-01-28 22:12:59 +01:00
private ListenableWorker worker;
2018-12-27 15:07:47 +01:00
@NonNull
public abstract ListenableWorker.Result doWork();
2019-01-28 22:12:59 +01:00
public void onStopped() {}
public void setActualWorker(ListenableWorker w) {
worker = w;
}
@NonNull
public Context getApplicationContext() {
return worker.getApplicationContext();
}
@NonNull
public UUID getId() {
return worker.getId();
}
@NonNull
public Data getInputData() {
return worker.getInputData();
}
@NonNull
public Set<String> getTags() {
return worker.getTags();
}
@NonNull
@RequiresApi(24)
public List<Uri> getTriggeredContentUris() {
return worker.getTriggeredContentUris();
}
@NonNull
@RequiresApi(24)
public List<String> getTriggeredContentAuthorities() {
return worker.getTriggeredContentAuthorities();
}
@Nullable
@RequiresApi(28)
public Network getNetwork() {
return worker.getNetwork();
}
public int getRunAttemptCount() {
return worker.getRunAttemptCount();
}
@NonNull
@MainThread
public ListenableFuture<ListenableWorker.Result> startWork() {
return worker.startWork();
}
public boolean isStopped() {
return worker.isStopped();
}
2018-12-27 15:07:47 +01:00
}