73 lines
3.2 KiB
Java
73 lines
3.2 KiB
Java
package androidx.work.impl.utils;
|
|
|
|
import androidx.annotation.NonNull;
|
|
import androidx.annotation.Nullable;
|
|
import androidx.annotation.RestrictTo;
|
|
import androidx.arch.core.util.Function;
|
|
import androidx.lifecycle.LiveData;
|
|
import androidx.lifecycle.MediatorLiveData;
|
|
import androidx.lifecycle.Observer;
|
|
import androidx.work.impl.utils.taskexecutor.TaskExecutor;
|
|
@RestrictTo({RestrictTo.Scope.LIBRARY_GROUP})
|
|
public class LiveDataUtils {
|
|
|
|
/* renamed from: androidx.work.impl.utils.LiveDataUtils$1 reason: invalid class name */
|
|
public class AnonymousClass1 implements Observer<In> {
|
|
public Out mCurrentOutput = null;
|
|
public final /* synthetic */ Object val$lock;
|
|
public final /* synthetic */ Function val$mappingMethod;
|
|
public final /* synthetic */ MediatorLiveData val$outputLiveData;
|
|
public final /* synthetic */ TaskExecutor val$workTaskExecutor;
|
|
|
|
/* renamed from: androidx.work.impl.utils.LiveDataUtils$1$1 reason: invalid class name */
|
|
public class AnonymousClass1 implements Runnable {
|
|
public final /* synthetic */ Object val$input;
|
|
|
|
public AnonymousClass1(Object obj) {
|
|
this.val$input = obj;
|
|
}
|
|
|
|
/* JADX DEBUG: Multi-variable search result rejected for r3v0, resolved type: Out */
|
|
/* JADX WARN: Multi-variable type inference failed */
|
|
/* JADX WARNING: Unknown variable types count: 1 */
|
|
@Override // java.lang.Runnable
|
|
public void run() {
|
|
synchronized (AnonymousClass1.this.val$lock) {
|
|
?? apply = AnonymousClass1.this.val$mappingMethod.apply(this.val$input);
|
|
AnonymousClass1 r2 = AnonymousClass1.this;
|
|
Out out = r2.mCurrentOutput;
|
|
if (out == 0 && apply != 0) {
|
|
r2.mCurrentOutput = apply;
|
|
r2.val$outputLiveData.postValue(apply);
|
|
} else if (out != 0 && !out.equals(apply)) {
|
|
AnonymousClass1 r22 = AnonymousClass1.this;
|
|
r22.mCurrentOutput = apply;
|
|
r22.val$outputLiveData.postValue(apply);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public AnonymousClass1(TaskExecutor taskExecutor, Object obj, Function function, MediatorLiveData mediatorLiveData) {
|
|
this.val$workTaskExecutor = taskExecutor;
|
|
this.val$lock = obj;
|
|
this.val$mappingMethod = function;
|
|
this.val$outputLiveData = mediatorLiveData;
|
|
}
|
|
|
|
@Override // androidx.lifecycle.Observer
|
|
public void onChanged(@Nullable In in) {
|
|
this.val$workTaskExecutor.executeOnBackgroundThread(new AnonymousClass1(in));
|
|
}
|
|
}
|
|
|
|
private LiveDataUtils() {
|
|
}
|
|
|
|
public static <In, Out> LiveData<Out> dedupedMappedLiveDataFor(@NonNull LiveData<In> liveData, @NonNull Function<In, Out> function, @NonNull TaskExecutor taskExecutor) {
|
|
Object obj = new Object();
|
|
MediatorLiveData mediatorLiveData = new MediatorLiveData();
|
|
mediatorLiveData.addSource(liveData, new AnonymousClass1(taskExecutor, obj, function, mediatorLiveData));
|
|
return mediatorLiveData;
|
|
}
|
|
}
|