discord-jadx/app/src/main/java/com/discord/utilities/video/VideoPlayerIdleDetector.java

118 lines
4.6 KiB
Java

package com.discord.utilities.video;
import android.content.Context;
import com.discord.utilities.rx.ObservableExtensionsKt;
import d0.z.d.m;
import j0.j.b.a;
import java.util.concurrent.TimeUnit;
import kotlin.Unit;
import kotlin.jvm.functions.Function0;
import kotlin.jvm.functions.Function1;
import kotlin.jvm.internal.DefaultConstructorMarker;
import rx.Observable;
import rx.Scheduler;
import rx.Subscription;
/* compiled from: VideoPlayerIdleDetector.kt */
public final class VideoPlayerIdleDetector {
private final Scheduler backgroundThreadScheduler;
private final long idleDetectionMs;
private final Scheduler idleDetectionScheduler;
private Subscription idleDetectionSubscription;
private boolean isIdle;
private final Function1<Boolean, Unit> onIdleStateChanged;
/* JADX DEBUG: Multi-variable search result rejected for r6v0, resolved type: kotlin.jvm.functions.Function1<? super java.lang.Boolean, kotlin.Unit> */
/* JADX WARN: Multi-variable type inference failed */
public VideoPlayerIdleDetector(long j, Scheduler scheduler, Scheduler scheduler2, Function1<? super Boolean, Unit> function1) {
m.checkNotNullParameter(scheduler, "idleDetectionScheduler");
m.checkNotNullParameter(scheduler2, "backgroundThreadScheduler");
m.checkNotNullParameter(function1, "onIdleStateChanged");
this.idleDetectionMs = j;
this.idleDetectionScheduler = scheduler;
this.backgroundThreadScheduler = scheduler2;
this.onIdleStateChanged = function1;
}
/* JADX WARNING: Illegal instructions before constructor call */
public /* synthetic */ VideoPlayerIdleDetector(long j, Scheduler scheduler, Scheduler scheduler2, Function1 function1, int i, DefaultConstructorMarker defaultConstructorMarker) {
this(j, scheduler, scheduler2, function1);
j = (i & 1) != 0 ? 3000 : j;
if ((i & 2) != 0) {
scheduler = a.a();
m.checkNotNullExpressionValue(scheduler, "AndroidSchedulers.mainThread()");
}
if ((i & 4) != 0) {
scheduler2 = j0.p.a.a();
m.checkNotNullExpressionValue(scheduler2, "Schedulers.computation()");
}
}
public static final /* synthetic */ Subscription access$getIdleDetectionSubscription$p(VideoPlayerIdleDetector videoPlayerIdleDetector) {
return videoPlayerIdleDetector.idleDetectionSubscription;
}
public static final /* synthetic */ void access$setIdle(VideoPlayerIdleDetector videoPlayerIdleDetector, boolean z2) {
videoPlayerIdleDetector.setIdle(z2);
}
public static final /* synthetic */ void access$setIdleDetectionSubscription$p(VideoPlayerIdleDetector videoPlayerIdleDetector, Subscription subscription) {
videoPlayerIdleDetector.idleDetectionSubscription = subscription;
}
private final void beginIdleDetectionTimer() {
cancelIdleDetectionTimer();
Observable<Long> I = Observable.e0(this.idleDetectionMs, TimeUnit.MILLISECONDS, this.backgroundThreadScheduler).I(this.idleDetectionScheduler);
m.checkNotNullExpressionValue(I, "Observable\n .time…n(idleDetectionScheduler)");
ObservableExtensionsKt.appSubscribe$default(I, VideoPlayerIdleDetector.class, (Context) null, new VideoPlayerIdleDetector$beginIdleDetectionTimer$2(this), (Function1) null, (Function0) null, (Function0) null, new VideoPlayerIdleDetector$beginIdleDetectionTimer$1(this), 58, (Object) null);
}
private final void cancelIdleDetectionTimer() {
Subscription subscription = this.idleDetectionSubscription;
if (subscription != null) {
subscription.unsubscribe();
}
this.idleDetectionSubscription = null;
}
private final void setIdle(boolean z2) {
if (z2 != this.isIdle) {
this.isIdle = z2;
this.onIdleStateChanged.invoke(Boolean.valueOf(z2));
}
}
public final void beginIdleDetection() {
if (this.idleDetectionSubscription == null) {
setIdle(false);
beginIdleDetectionTimer();
}
}
public final void dispose() {
cancelIdleDetectionTimer();
setIdle(false);
}
public final void endIdleDetection() {
cancelIdleDetectionTimer();
setIdle(false);
}
public final void onInteraction() {
if (this.isIdle) {
setIdle(false);
beginIdleDetectionTimer();
return;
}
cancelIdleDetectionTimer();
setIdle(true);
}
public final void onPreventIdle() {
setIdle(false);
if (this.idleDetectionSubscription != null) {
beginIdleDetectionTimer();
}
}
}