117 lines
4.6 KiB
Java
117 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();
|
|
}
|
|
}
|
|
}
|