正在查看: Tasker v6.6.3 应用的 IntentServiceParallel.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: Tasker v6.6.3 应用的 IntentServiceParallel.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.joaomgcd.taskerm.util;
import android.app.Service;
import android.content.Intent;
import android.os.Handler;
import android.os.IBinder;
import android.os.Looper;
import android.util.Log;
import cyanogenmod.app.ProfileManager;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.ThreadFactory;
import java.util.concurrent.atomic.AtomicInteger;
public abstract class IntentServiceParallel extends Service {
private final String i;
private final Handler q;
private AtomicInteger r;
private Integer s;
private final vj.j t;
public IntentServiceParallel(String str) {
jk.p.i(str, ProfileManager.EXTRA_PROFILE_NAME);
this.i = str;
this.q = new Handler(Looper.getMainLooper());
this.r = new AtomicInteger(0);
this.t = vj.k.a(new ik.a() {
@Override
public final Object e() {
ExecutorService f;
f = IntentServiceParallel.f(IntentServiceParallel.this);
return f;
}
});
}
public static final ExecutorService f(final IntentServiceParallel intentServiceParallel) {
return Executors.newCachedThreadPool(new ThreadFactory() {
@Override
public final Thread newThread(Runnable runnable) {
Thread g;
g = IntentServiceParallel.g(IntentServiceParallel.this, runnable);
return g;
}
});
}
public static final Thread g(IntentServiceParallel intentServiceParallel, Runnable runnable) {
return new Thread(runnable, "IntentServiceParallel" + intentServiceParallel.i);
}
private final ExecutorService h() {
return (ExecutorService) this.t.getValue();
}
public static final void k(final IntentServiceParallel intentServiceParallel, Intent intent) {
Handler handler;
Runnable runnable;
try {
try {
intentServiceParallel.j(intent);
handler = intentServiceParallel.q;
runnable = new Runnable() {
@Override
public final void run() {
IntentServiceParallel.m(IntentServiceParallel.this);
}
};
} catch (RuntimeException e) {
intentServiceParallel.q.post(new Runnable() {
@Override
public final void run() {
IntentServiceParallel.l(e);
}
});
handler = intentServiceParallel.q;
runnable = new Runnable() {
@Override
public final void run() {
IntentServiceParallel.m(IntentServiceParallel.this);
}
};
}
handler.post(runnable);
} catch (Throwable th2) {
intentServiceParallel.q.post(new Runnable() {
@Override
public final void run() {
IntentServiceParallel.m(IntentServiceParallel.this);
}
});
throw th2;
}
}
public static final void m(IntentServiceParallel intentServiceParallel) {
if (intentServiceParallel.r.decrementAndGet() > 0) {
return;
}
intentServiceParallel.n(intentServiceParallel.s);
}
private final void n(Integer num) {
Log.v("IntentServiceParallel", "Stopping with " + num + ";");
if (num != null) {
stopSelf(num.intValue());
} else {
stopSelf();
}
}
public Void i(Intent intent) {
jk.p.i(intent, "intent");
return null;
}
protected abstract void j(Intent intent);
@Override
public IBinder onBind(Intent intent) {
return (IBinder) i(intent);
}
@Override
public void onDestroy() {
super.onDestroy();
h().shutdown();
}
@Override
public void onStart(final Intent intent, int i) {
if (intent == null) {
return;
}
int addAndGet = this.r.addAndGet(1);
this.s = Integer.valueOf(i);
Log.v("IntentServiceParallel", "Started with " + i + "; Current job count is " + addAndGet + ".");
h().submit(new Runnable() {
@Override
public final void run() {
IntentServiceParallel.k(IntentServiceParallel.this, intent);
}
});
}
@Override
public int onStartCommand(Intent intent, int i, int i2) {
onStart(intent, i2);
return 2;
}
public static final void l(RuntimeException runtimeException) {
throw runtimeException;
}
}