- Added realracing3-community.apk (71.57 MB) - Removed 32-bit support (armeabi-v7a) - Only includes arm64-v8a libraries - Decompiled source code included - Added README-community.md with analysis
73 lines
3.1 KiB
Java
73 lines
3.1 KiB
Java
package androidx.work.impl.background.greedy;
|
|
|
|
import androidx.work.RunnableScheduler;
|
|
import androidx.work.impl.StartStopToken;
|
|
import androidx.work.impl.WorkLauncher;
|
|
import java.util.LinkedHashMap;
|
|
import java.util.Map;
|
|
import java.util.concurrent.TimeUnit;
|
|
import kotlin.jvm.internal.DefaultConstructorMarker;
|
|
import kotlin.jvm.internal.Intrinsics;
|
|
import kotlin.jvm.internal.SourceDebugExtension;
|
|
|
|
@SourceDebugExtension({"SMAP\nTimeLimiter.kt\nKotlin\n*S Kotlin\n*F\n+ 1 TimeLimiter.kt\nandroidx/work/impl/background/greedy/TimeLimiter\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,45:1\n1#2:46\n*E\n"})
|
|
/* loaded from: classes.dex */
|
|
public final class TimeLimiter {
|
|
private final WorkLauncher launcher;
|
|
private final Object lock;
|
|
private final RunnableScheduler runnableScheduler;
|
|
private final long timeoutMs;
|
|
private final Map<StartStopToken, Runnable> tracked;
|
|
|
|
/* JADX WARN: 'this' call moved to the top of the method (can break code semantics) */
|
|
public TimeLimiter(RunnableScheduler runnableScheduler, WorkLauncher launcher) {
|
|
this(runnableScheduler, launcher, 0L, 4, null);
|
|
Intrinsics.checkNotNullParameter(runnableScheduler, "runnableScheduler");
|
|
Intrinsics.checkNotNullParameter(launcher, "launcher");
|
|
}
|
|
|
|
public TimeLimiter(RunnableScheduler runnableScheduler, WorkLauncher launcher, long j) {
|
|
Intrinsics.checkNotNullParameter(runnableScheduler, "runnableScheduler");
|
|
Intrinsics.checkNotNullParameter(launcher, "launcher");
|
|
this.runnableScheduler = runnableScheduler;
|
|
this.launcher = launcher;
|
|
this.timeoutMs = j;
|
|
this.lock = new Object();
|
|
this.tracked = new LinkedHashMap();
|
|
}
|
|
|
|
public /* synthetic */ TimeLimiter(RunnableScheduler runnableScheduler, WorkLauncher workLauncher, long j, int i, DefaultConstructorMarker defaultConstructorMarker) {
|
|
this(runnableScheduler, workLauncher, (i & 4) != 0 ? TimeUnit.MINUTES.toMillis(90L) : j);
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: private */
|
|
public static final void track$lambda$0(TimeLimiter timeLimiter, StartStopToken startStopToken) {
|
|
timeLimiter.launcher.stopWork(startStopToken, 3);
|
|
}
|
|
|
|
public final void track(final StartStopToken token) {
|
|
Intrinsics.checkNotNullParameter(token, "token");
|
|
Runnable runnable = new Runnable() { // from class: androidx.work.impl.background.greedy.TimeLimiter$$ExternalSyntheticLambda0
|
|
@Override // java.lang.Runnable
|
|
public final void run() {
|
|
TimeLimiter.track$lambda$0(TimeLimiter.this, token);
|
|
}
|
|
};
|
|
synchronized (this.lock) {
|
|
this.tracked.put(token, runnable);
|
|
}
|
|
this.runnableScheduler.scheduleWithDelay(this.timeoutMs, runnable);
|
|
}
|
|
|
|
public final void cancel(StartStopToken token) {
|
|
Runnable remove;
|
|
Intrinsics.checkNotNullParameter(token, "token");
|
|
synchronized (this.lock) {
|
|
remove = this.tracked.remove(token);
|
|
}
|
|
if (remove != null) {
|
|
this.runnableScheduler.cancel(remove);
|
|
}
|
|
}
|
|
}
|