- 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
113 lines
4.5 KiB
Java
113 lines
4.5 KiB
Java
package androidx.work.impl.constraints.trackers;
|
|
|
|
import android.content.Context;
|
|
import androidx.annotation.RestrictTo;
|
|
import androidx.work.Logger;
|
|
import androidx.work.impl.constraints.ConstraintListener;
|
|
import androidx.work.impl.utils.taskexecutor.TaskExecutor;
|
|
import java.util.Iterator;
|
|
import java.util.LinkedHashSet;
|
|
import java.util.List;
|
|
import kotlin.Unit;
|
|
import kotlin.collections.CollectionsKt___CollectionsKt;
|
|
import kotlin.jvm.internal.Intrinsics;
|
|
import kotlin.jvm.internal.SourceDebugExtension;
|
|
|
|
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP})
|
|
@SourceDebugExtension({"SMAP\nConstraintTracker.kt\nKotlin\n*S Kotlin\n*F\n+ 1 ConstraintTracker.kt\nandroidx/work/impl/constraints/trackers/ConstraintTracker\n+ 2 _Collections.kt\nkotlin/collections/CollectionsKt___CollectionsKt\n*L\n1#1,113:1\n1855#2,2:114\n*S KotlinDebug\n*F\n+ 1 ConstraintTracker.kt\nandroidx/work/impl/constraints/trackers/ConstraintTracker\n*L\n90#1:114,2\n*E\n"})
|
|
/* loaded from: classes.dex */
|
|
public abstract class ConstraintTracker<T> {
|
|
private final Context appContext;
|
|
private T currentState;
|
|
private final LinkedHashSet<ConstraintListener<T>> listeners;
|
|
private final Object lock;
|
|
private final TaskExecutor taskExecutor;
|
|
|
|
public final Context getAppContext() {
|
|
return this.appContext;
|
|
}
|
|
|
|
public abstract T readSystemState();
|
|
|
|
public abstract void startTracking();
|
|
|
|
public abstract void stopTracking();
|
|
|
|
public ConstraintTracker(Context context, TaskExecutor taskExecutor) {
|
|
Intrinsics.checkNotNullParameter(context, "context");
|
|
Intrinsics.checkNotNullParameter(taskExecutor, "taskExecutor");
|
|
this.taskExecutor = taskExecutor;
|
|
Context applicationContext = context.getApplicationContext();
|
|
Intrinsics.checkNotNullExpressionValue(applicationContext, "context.applicationContext");
|
|
this.appContext = applicationContext;
|
|
this.lock = new Object();
|
|
this.listeners = new LinkedHashSet<>();
|
|
}
|
|
|
|
public final void addListener(ConstraintListener<T> listener) {
|
|
String str;
|
|
Intrinsics.checkNotNullParameter(listener, "listener");
|
|
synchronized (this.lock) {
|
|
try {
|
|
if (this.listeners.add(listener)) {
|
|
if (this.listeners.size() == 1) {
|
|
this.currentState = readSystemState();
|
|
Logger logger = Logger.get();
|
|
str = ConstraintTrackerKt.TAG;
|
|
logger.debug(str, getClass().getSimpleName() + ": initial state = " + this.currentState);
|
|
startTracking();
|
|
}
|
|
listener.onConstraintChanged(this.currentState);
|
|
}
|
|
Unit unit = Unit.INSTANCE;
|
|
} catch (Throwable th) {
|
|
throw th;
|
|
}
|
|
}
|
|
}
|
|
|
|
public final void removeListener(ConstraintListener<T> listener) {
|
|
Intrinsics.checkNotNullParameter(listener, "listener");
|
|
synchronized (this.lock) {
|
|
try {
|
|
if (this.listeners.remove(listener) && this.listeners.isEmpty()) {
|
|
stopTracking();
|
|
}
|
|
Unit unit = Unit.INSTANCE;
|
|
} catch (Throwable th) {
|
|
throw th;
|
|
}
|
|
}
|
|
}
|
|
|
|
public final T getState() {
|
|
T t = this.currentState;
|
|
return t == null ? readSystemState() : t;
|
|
}
|
|
|
|
public final void setState(T t) {
|
|
synchronized (this.lock) {
|
|
T t2 = this.currentState;
|
|
if (t2 == null || !Intrinsics.areEqual(t2, t)) {
|
|
this.currentState = t;
|
|
final List list = CollectionsKt___CollectionsKt.toList(this.listeners);
|
|
this.taskExecutor.getMainThreadExecutor().execute(new Runnable() { // from class: androidx.work.impl.constraints.trackers.ConstraintTracker$$ExternalSyntheticLambda0
|
|
@Override // java.lang.Runnable
|
|
public final void run() {
|
|
ConstraintTracker._set_state_$lambda$4$lambda$3(list, this);
|
|
}
|
|
});
|
|
Unit unit = Unit.INSTANCE;
|
|
}
|
|
}
|
|
}
|
|
|
|
/* JADX INFO: Access modifiers changed from: private */
|
|
public static final void _set_state_$lambda$4$lambda$3(List list, ConstraintTracker constraintTracker) {
|
|
Iterator<T> it = list.iterator();
|
|
while (it.hasNext()) {
|
|
((ConstraintListener) it.next()).onConstraintChanged(constraintTracker.currentState);
|
|
}
|
|
}
|
|
}
|