mirror of https://github.com/M66B/NetGuard.git
Cancel overalpping submits
This commit is contained in:
parent
e9bd13a17d
commit
c5e136d4bc
12
app/app.iml
12
app/app.iml
|
@ -42,12 +42,6 @@
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/allDebug/jni" isTestSource="false" />
|
<sourceFolder url="file://$MODULE_DIR$/src/allDebug/jni" isTestSource="false" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/allDebug/renderscript" isTestSource="false" />
|
<sourceFolder url="file://$MODULE_DIR$/src/allDebug/renderscript" isTestSource="false" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/allDebug/shaders" isTestSource="false" />
|
<sourceFolder url="file://$MODULE_DIR$/src/allDebug/shaders" isTestSource="false" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/androidTest/all/debug" isTestSource="true" generated="true" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/androidTest/all/debug" isTestSource="true" generated="true" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/all/debug" isTestSource="true" generated="true" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/androidTest/all/debug" isTestSource="true" generated="true" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/all/debug" type="java-test-resource" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/androidTest/all/debug" type="java-test-resource" />
|
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/testAllDebug/res" type="java-test-resource" />
|
<sourceFolder url="file://$MODULE_DIR$/src/testAllDebug/res" type="java-test-resource" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/testAllDebug/resources" type="java-test-resource" />
|
<sourceFolder url="file://$MODULE_DIR$/src/testAllDebug/resources" type="java-test-resource" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/testAllDebug/assets" type="java-test-resource" />
|
<sourceFolder url="file://$MODULE_DIR$/src/testAllDebug/assets" type="java-test-resource" />
|
||||||
|
@ -56,6 +50,12 @@
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/testAllDebug/jni" isTestSource="true" />
|
<sourceFolder url="file://$MODULE_DIR$/src/testAllDebug/jni" isTestSource="true" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/testAllDebug/rs" isTestSource="true" />
|
<sourceFolder url="file://$MODULE_DIR$/src/testAllDebug/rs" isTestSource="true" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/testAllDebug/shaders" isTestSource="true" />
|
<sourceFolder url="file://$MODULE_DIR$/src/testAllDebug/shaders" isTestSource="true" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/r/androidTest/all/debug" isTestSource="true" generated="true" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/aidl/androidTest/all/debug" isTestSource="true" generated="true" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/all/debug" isTestSource="true" generated="true" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/build/generated/source/rs/androidTest/all/debug" isTestSource="true" generated="true" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/all/debug" type="java-test-resource" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/androidTest/all/debug" type="java-test-resource" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/all/res" type="java-resource" />
|
<sourceFolder url="file://$MODULE_DIR$/src/all/res" type="java-resource" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/all/resources" type="java-resource" />
|
<sourceFolder url="file://$MODULE_DIR$/src/all/resources" type="java-resource" />
|
||||||
<sourceFolder url="file://$MODULE_DIR$/src/all/assets" type="java-resource" />
|
<sourceFolder url="file://$MODULE_DIR$/src/all/assets" type="java-resource" />
|
||||||
|
|
|
@ -177,6 +177,35 @@ public class ServiceJob extends JobService {
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void submit(PersistableBundle bundle, Context context) {
|
private static void submit(PersistableBundle bundle, Context context) {
|
||||||
|
JobScheduler scheduler = (JobScheduler) context.getSystemService(Context.JOB_SCHEDULER_SERVICE);
|
||||||
|
|
||||||
|
for (JobInfo pending : scheduler.getAllPendingJobs()) {
|
||||||
|
String type = pending.getExtras().getString("type");
|
||||||
|
if (type != null && type.equals(bundle.getString("type"))) {
|
||||||
|
if (type.equals("rule")) {
|
||||||
|
String pkg = pending.getExtras().getString("package");
|
||||||
|
if (pkg != null && pkg.equals(bundle.getString("package"))) {
|
||||||
|
Log.i(TAG, "Canceling id=" + pending.getId());
|
||||||
|
scheduler.cancel(pending.getId());
|
||||||
|
}
|
||||||
|
} else if (type.equals("host")) {
|
||||||
|
String pkg = pending.getExtras().getString("package");
|
||||||
|
int version = pending.getExtras().getInt("version");
|
||||||
|
int protocol = pending.getExtras().getInt("protocol");
|
||||||
|
String daddr = pending.getExtras().getString("daddr");
|
||||||
|
int dport = pending.getExtras().getInt("dport");
|
||||||
|
if (pkg != null && pkg.equals(bundle.getString("package")) &&
|
||||||
|
version == bundle.getInt("version") &&
|
||||||
|
protocol == bundle.getInt("protocol") &&
|
||||||
|
daddr != null && daddr.equals(bundle.getString("daddr")) &&
|
||||||
|
dport == bundle.getInt("dport")) {
|
||||||
|
Log.i(TAG, "Canceling id=" + pending.getId());
|
||||||
|
scheduler.cancel(pending.getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
ComponentName serviceName = new ComponentName(context, ServiceJob.class);
|
ComponentName serviceName = new ComponentName(context, ServiceJob.class);
|
||||||
JobInfo job = new JobInfo.Builder(++id, serviceName)
|
JobInfo job = new JobInfo.Builder(++id, serviceName)
|
||||||
.setRequiredNetworkType(JobInfo.NETWORK_TYPE_UNMETERED)
|
.setRequiredNetworkType(JobInfo.NETWORK_TYPE_UNMETERED)
|
||||||
|
@ -184,8 +213,6 @@ public class ServiceJob extends JobService {
|
||||||
.setExtras(bundle)
|
.setExtras(bundle)
|
||||||
.setPersisted(true)
|
.setPersisted(true)
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
JobScheduler scheduler = (JobScheduler) context.getSystemService(Context.JOB_SCHEDULER_SERVICE);
|
|
||||||
scheduler.schedule(job);
|
scheduler.schedule(job);
|
||||||
|
|
||||||
Log.i(TAG, "Scheduled job=" + job.getId());
|
Log.i(TAG, "Scheduled job=" + job.getId());
|
||||||
|
|
Loading…
Reference in New Issue