2017-02-12 19:49:46 +08:00
|
|
|
package com.topjohnwu.magisk.asyncs;
|
|
|
|
|
|
|
|
import android.app.Activity;
|
|
|
|
import android.os.AsyncTask;
|
|
|
|
|
|
|
|
import com.topjohnwu.magisk.MagiskManager;
|
|
|
|
import com.topjohnwu.magisk.utils.Utils;
|
|
|
|
|
|
|
|
public abstract class ParallelTask<Params, Progress, Result> extends AsyncTask<Params, Progress, Result> {
|
2017-06-06 03:06:23 +08:00
|
|
|
|
2017-02-12 19:49:46 +08:00
|
|
|
protected Activity activity;
|
|
|
|
protected MagiskManager magiskManager;
|
|
|
|
|
2017-06-06 03:06:23 +08:00
|
|
|
private Runnable callback = null;
|
|
|
|
|
2017-02-12 19:49:46 +08:00
|
|
|
public ParallelTask() {}
|
|
|
|
|
|
|
|
public ParallelTask(Activity context) {
|
|
|
|
activity = context;
|
|
|
|
magiskManager = Utils.getMagiskManager(context);
|
|
|
|
}
|
|
|
|
|
2017-06-06 03:06:23 +08:00
|
|
|
@SuppressWarnings("unchecked")
|
|
|
|
public void exec(Params... params) {
|
2017-02-12 19:49:46 +08:00
|
|
|
executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR, params);
|
|
|
|
}
|
2017-06-06 03:06:23 +08:00
|
|
|
|
|
|
|
@Override
|
|
|
|
protected void onPostExecute(Result result) {
|
|
|
|
if (callback != null) callback.run();
|
|
|
|
}
|
|
|
|
|
|
|
|
public ParallelTask<Params, Progress, Result> setCallBack(Runnable next) {
|
|
|
|
callback = next;
|
|
|
|
return this;
|
|
|
|
}
|
2017-02-12 19:49:46 +08:00
|
|
|
}
|