package com.discord.utilities.voice; import android.content.Context; import android.content.Intent; import android.graphics.Bitmap; import androidx.annotation.MainThread; import c.a.j.a; import c.d.b.a.a; import com.discord.app.AppComponent; import com.discord.app.AppLog; import com.discord.models.domain.ModelApplicationStream; import com.discord.rtcconnection.RtcConnection; import com.discord.rtcconnection.mediaengine.ThumbnailEmitter; import com.discord.stores.StoreApplicationStreaming; import com.discord.stores.StoreRtcConnection; import com.discord.stores.StoreStream; import com.discord.stores.StoreStreamRtcConnection; import com.discord.stores.StoreUser; import com.discord.tooltips.TooltipManager; import com.discord.utilities.images.ImageEncoder; import com.discord.utilities.rest.RestAPI; import com.discord.utilities.rx.ObservableExtensionsKt; import d0.z.d.m; import java.lang.ref.WeakReference; import java.util.Set; import kotlin.jvm.functions.Function0; import kotlin.jvm.functions.Function1; import kotlin.jvm.internal.DefaultConstructorMarker; import rx.Observable; import rx.subjects.BehaviorSubject; import rx.subscriptions.CompositeSubscription; /* compiled from: ScreenShareManager.kt */ public final class ScreenShareManager { public static final Companion Companion = new Companion(null); public static final int JPEG_QUALITY = 92; public static final long PREVIEW_DELAY_MS = 5000; public static final long PREVIEW_INTERVAL_MS = 300000; public static final int THUMBNAIL_HEIGHT_PX = 288; public static final int THUMBNAIL_WIDTH_PX = 512; private final AppComponent appComponent; private final long channelId; private final CompositeSubscription compositeSubscription; private final Long guildId; private final ImageEncoder imageEncoder; private State previousState; private final RestAPI restAPI; private Intent screenshareIntent; private final StoreApplicationStreaming storeApplicationStreaming; private final StoreRtcConnection storeRtcConnection; private final StoreStreamRtcConnection storeStreamRtcConnection; private final StoreUser storeUser; private final BehaviorSubject thumbnailBitmapSubject; private final TooltipManager tooltipManager; /* compiled from: ScreenShareManager.kt */ public static final class Companion { private Companion() { } public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) { this(); } } /* compiled from: ScreenShareManager.kt */ public final class RtcConnectionListener extends RtcConnection.b { public RtcConnectionListener() { } @Override // com.discord.rtcconnection.RtcConnection.b, com.discord.rtcconnection.RtcConnection.c public void onStateChange(RtcConnection.StateChange stateChange) { m.checkNotNullParameter(stateChange, "stateChange"); RtcConnection.State state = stateChange.a; if (m.areEqual(state, RtcConnection.State.f.a)) { State access$getPreviousState$p = ScreenShareManager.access$getPreviousState$p(ScreenShareManager.this); RtcConnection rtcConnection = access$getPreviousState$p != null ? access$getPreviousState$p.getRtcConnection() : null; if (rtcConnection != null) { rtcConnection.t(ScreenShareManager.access$getScreenshareIntent$p(ScreenShareManager.this), ScreenShareManager.access$createThumbnailEmitter(ScreenShareManager.this)); ScreenShareManager.access$uploadScreenSharePreviews(ScreenShareManager.this); } } else if (state instanceof RtcConnection.State.d) { ScreenShareManager.this.stopStream(); } } } /* compiled from: ScreenShareManager.kt */ public static final class State { private final StoreApplicationStreaming.ActiveApplicationStream activeStream; private final Long meId; private final RtcConnection rtcConnection; public State(StoreApplicationStreaming.ActiveApplicationStream activeApplicationStream, RtcConnection rtcConnection, Long l) { this.activeStream = activeApplicationStream; this.rtcConnection = rtcConnection; this.meId = l; } public static /* synthetic */ State copy$default(State state, StoreApplicationStreaming.ActiveApplicationStream activeApplicationStream, RtcConnection rtcConnection, Long l, int i, Object obj) { if ((i & 1) != 0) { activeApplicationStream = state.activeStream; } if ((i & 2) != 0) { rtcConnection = state.rtcConnection; } if ((i & 4) != 0) { l = state.meId; } return state.copy(activeApplicationStream, rtcConnection, l); } public final StoreApplicationStreaming.ActiveApplicationStream component1() { return this.activeStream; } public final RtcConnection component2() { return this.rtcConnection; } public final Long component3() { return this.meId; } public final State copy(StoreApplicationStreaming.ActiveApplicationStream activeApplicationStream, RtcConnection rtcConnection, Long l) { return new State(activeApplicationStream, rtcConnection, l); } public boolean equals(Object obj) { if (this == obj) { return true; } if (!(obj instanceof State)) { return false; } State state = (State) obj; return m.areEqual(this.activeStream, state.activeStream) && m.areEqual(this.rtcConnection, state.rtcConnection) && m.areEqual(this.meId, state.meId); } public final StoreApplicationStreaming.ActiveApplicationStream getActiveStream() { return this.activeStream; } public final Long getMeId() { return this.meId; } public final RtcConnection getRtcConnection() { return this.rtcConnection; } public int hashCode() { StoreApplicationStreaming.ActiveApplicationStream activeApplicationStream = this.activeStream; int i = 0; int hashCode = (activeApplicationStream != null ? activeApplicationStream.hashCode() : 0) * 31; RtcConnection rtcConnection = this.rtcConnection; int hashCode2 = (hashCode + (rtcConnection != null ? rtcConnection.hashCode() : 0)) * 31; Long l = this.meId; if (l != null) { i = l.hashCode(); } return hashCode2 + i; } public String toString() { StringBuilder L = a.L("State(activeStream="); L.append(this.activeStream); L.append(", rtcConnection="); L.append(this.rtcConnection); L.append(", meId="); return a.C(L, this.meId, ")"); } } public ScreenShareManager(AppComponent appComponent, long j, Long l, StoreApplicationStreaming storeApplicationStreaming, StoreRtcConnection storeRtcConnection, StoreStreamRtcConnection storeStreamRtcConnection, StoreUser storeUser, RestAPI restAPI, ImageEncoder imageEncoder, TooltipManager tooltipManager) { m.checkNotNullParameter(appComponent, "appComponent"); m.checkNotNullParameter(storeApplicationStreaming, "storeApplicationStreaming"); m.checkNotNullParameter(storeRtcConnection, "storeRtcConnection"); m.checkNotNullParameter(storeStreamRtcConnection, "storeStreamRtcConnection"); m.checkNotNullParameter(storeUser, "storeUser"); m.checkNotNullParameter(restAPI, "restAPI"); m.checkNotNullParameter(imageEncoder, "imageEncoder"); m.checkNotNullParameter(tooltipManager, "tooltipManager"); this.appComponent = appComponent; this.channelId = j; this.guildId = l; this.storeApplicationStreaming = storeApplicationStreaming; this.storeRtcConnection = storeRtcConnection; this.storeStreamRtcConnection = storeStreamRtcConnection; this.storeUser = storeUser; this.restAPI = restAPI; this.imageEncoder = imageEncoder; this.tooltipManager = tooltipManager; BehaviorSubject k0 = BehaviorSubject.k0(); m.checkNotNullExpressionValue(k0, "BehaviorSubject.create()"); this.thumbnailBitmapSubject = k0; this.compositeSubscription = new CompositeSubscription(); subscribeToStores(); } /* JADX WARNING: Illegal instructions before constructor call */ public ScreenShareManager(AppComponent appComponent, long j, Long l, StoreApplicationStreaming storeApplicationStreaming, StoreRtcConnection storeRtcConnection, StoreStreamRtcConnection storeStreamRtcConnection, StoreUser storeUser, RestAPI restAPI, ImageEncoder imageEncoder, TooltipManager tooltipManager, int i, DefaultConstructorMarker defaultConstructorMarker) { this(appComponent, j, l, r7, r8, r9, r10, r11, r12, r13); TooltipManager tooltipManager2; StoreApplicationStreaming applicationStreaming = (i & 8) != 0 ? StoreStream.Companion.getApplicationStreaming() : storeApplicationStreaming; StoreRtcConnection rtcConnection = (i & 16) != 0 ? StoreStream.Companion.getRtcConnection() : storeRtcConnection; StoreStreamRtcConnection streamRtcConnection = (i & 32) != 0 ? StoreStream.Companion.getStreamRtcConnection() : storeStreamRtcConnection; StoreUser users = (i & 64) != 0 ? StoreStream.Companion.getUsers() : storeUser; RestAPI api = (i & 128) != 0 ? RestAPI.Companion.getApi() : restAPI; ImageEncoder imageEncoder2 = (i & 256) != 0 ? new ImageEncoder() : imageEncoder; if ((i & 512) != 0) { AppLog appLog = AppLog.g; m.checkNotNullParameter(appLog, "logger"); WeakReference weakReference = a.b.a; TooltipManager tooltipManager3 = null; c.a.j.a aVar = weakReference != null ? weakReference.get() : null; if (aVar == null) { aVar = new c.a.j.a(appLog); a.b.a = new WeakReference<>(aVar); } TooltipManager.a aVar2 = TooltipManager.a.d; m.checkNotNullParameter(aVar, "floatingViewManager"); WeakReference weakReference2 = TooltipManager.a.a; tooltipManager3 = weakReference2 != null ? weakReference2.get() : tooltipManager3; if (tooltipManager3 == null) { TooltipManager tooltipManager4 = new TooltipManager((c.a.w.a) TooltipManager.a.b.getValue(), (Set) TooltipManager.a.f2108c.getValue(), 0, aVar, 4); TooltipManager.a.a = new WeakReference<>(tooltipManager4); tooltipManager3 = tooltipManager4; } tooltipManager2 = tooltipManager3; } else { tooltipManager2 = tooltipManager; } } public static final /* synthetic */ ThumbnailEmitter access$createThumbnailEmitter(ScreenShareManager screenShareManager) { return screenShareManager.createThumbnailEmitter(); } public static final /* synthetic */ CompositeSubscription access$getCompositeSubscription$p(ScreenShareManager screenShareManager) { return screenShareManager.compositeSubscription; } public static final /* synthetic */ ImageEncoder access$getImageEncoder$p(ScreenShareManager screenShareManager) { return screenShareManager.imageEncoder; } public static final /* synthetic */ State access$getPreviousState$p(ScreenShareManager screenShareManager) { return screenShareManager.previousState; } public static final /* synthetic */ RestAPI access$getRestAPI$p(ScreenShareManager screenShareManager) { return screenShareManager.restAPI; } public static final /* synthetic */ Intent access$getScreenshareIntent$p(ScreenShareManager screenShareManager) { return screenShareManager.screenshareIntent; } public static final /* synthetic */ BehaviorSubject access$getThumbnailBitmapSubject$p(ScreenShareManager screenShareManager) { return screenShareManager.thumbnailBitmapSubject; } public static final /* synthetic */ void access$handleStartStream(ScreenShareManager screenShareManager, Intent intent) { screenShareManager.handleStartStream(intent); } public static final /* synthetic */ void access$handleStateUpdate(ScreenShareManager screenShareManager, State state) { screenShareManager.handleStateUpdate(state); } public static final /* synthetic */ void access$setPreviousState$p(ScreenShareManager screenShareManager, State state) { screenShareManager.previousState = state; } public static final /* synthetic */ void access$setScreenshareIntent$p(ScreenShareManager screenShareManager, Intent intent) { screenShareManager.screenshareIntent = intent; } public static final /* synthetic */ void access$uploadScreenSharePreviews(ScreenShareManager screenShareManager) { screenShareManager.uploadScreenSharePreviews(); } private final ThumbnailEmitter createThumbnailEmitter() { return new ThumbnailEmitter(512, 288, 300000, 5000, null, new ScreenShareManager$createThumbnailEmitter$1(this), 16); } @MainThread private final void handleStartStream(Intent intent) { StoreApplicationStreaming.createStream$default(this.storeApplicationStreaming, this.channelId, this.guildId, null, 4, null); this.screenshareIntent = intent; } /* JADX WARNING: Removed duplicated region for block: B:36:0x006c A[RETURN] */ /* JADX WARNING: Removed duplicated region for block: B:37:0x006d */ @MainThread private final void handleStateUpdate(State state) { boolean z2; StoreApplicationStreaming.ActiveApplicationStream activeStream; RtcConnection rtcConnection; ModelApplicationStream stream; RtcConnection rtcConnection2; StoreApplicationStreaming.ActiveApplicationStream activeStream2; ModelApplicationStream stream2; ModelApplicationStream stream3; State state2 = this.previousState; RtcConnection rtcConnection3 = null; boolean z3 = false; if ((state2 != null ? state2.getActiveStream() : null) != null) { StoreApplicationStreaming.ActiveApplicationStream activeStream3 = state.getActiveStream(); String encodedStreamKey = (activeStream3 == null || (stream3 = activeStream3.getStream()) == null) ? null : stream3.getEncodedStreamKey(); State state3 = this.previousState; if (!m.areEqual(encodedStreamKey, (state3 == null || (activeStream2 = state3.getActiveStream()) == null || (stream2 = activeStream2.getStream()) == null) ? null : stream2.getEncodedStreamKey())) { z2 = true; if (z2 && (rtcConnection2 = state.getRtcConnection()) != null) { rtcConnection2.t(null, null); } activeStream = state.getActiveStream(); if (!m.areEqual((activeStream != null || (stream = activeStream.getStream()) == null) ? null : Long.valueOf(stream.getOwnerId()), state.getMeId())) { State state4 = this.previousState; if (state4 != null) { rtcConnection3 = state4.getRtcConnection(); } if (rtcConnection3 == null && state.getRtcConnection() != null) { z3 = true; } if (z3 && (rtcConnection = state.getRtcConnection()) != null) { rtcConnection.c(new RtcConnectionListener()); } this.previousState = state; return; } return; } } z2 = false; rtcConnection2.t(null, null); activeStream = state.getActiveStream(); if (!m.areEqual((activeStream != null || (stream = activeStream.getStream()) == null) ? null : Long.valueOf(stream.getOwnerId()), state.getMeId())) { } } private final void subscribeToStores() { Observable r = Observable.i(this.storeApplicationStreaming.observeActiveStream(), this.storeStreamRtcConnection.observeRtcConnection(), StoreUser.observeMe$default(this.storeUser, false, 1, null), ScreenShareManager$subscribeToStores$1.INSTANCE).r(); m.checkNotNullExpressionValue(r, "Observable.combineLatest… .distinctUntilChanged()"); ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui$default(r, this.appComponent, null, 2, null), ScreenShareManager.class, (Context) null, new ScreenShareManager$subscribeToStores$2(this), (Function1) null, (Function0) null, (Function0) null, new ScreenShareManager$subscribeToStores$3(this), 58, (Object) null); } private final void uploadScreenSharePreviews() { Observable z2 = this.thumbnailBitmapSubject.z(new ScreenShareManager$uploadScreenSharePreviews$1(this)); m.checkNotNullExpressionValue(z2, "thumbnailBitmapSubject\n …>()\n }\n }"); ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.restSubscribeOn$default(ObservableExtensionsKt.bindToComponentLifecycle(z2, this.appComponent), false, 1, null), ScreenShareManager.class, (Context) null, new ScreenShareManager$uploadScreenSharePreviews$2(this), (Function1) null, (Function0) null, (Function0) null, ScreenShareManager$uploadScreenSharePreviews$3.INSTANCE, 58, (Object) null); } public final long getChannelId() { return this.channelId; } public final Long getGuildId() { return this.guildId; } public final void release() { this.compositeSubscription.unsubscribe(); } public final void startStream(Intent intent) { m.checkNotNullParameter(intent, "intent"); Observable Z = this.storeRtcConnection.observeRtcConnectionMetadata().x(new ScreenShareManager$startStream$1(this)).Z(1); m.checkNotNullExpressionValue(Z, "storeRtcConnection.obser… }\n .take(1)"); ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui$default(Z, this.appComponent, null, 2, null), ScreenShareManager.class, (Context) null, new ScreenShareManager$startStream$2(this), (Function1) null, (Function0) null, (Function0) null, new ScreenShareManager$startStream$3(this, intent), 58, (Object) null); } public final void stopStream() { StoreApplicationStreaming.ActiveApplicationStream activeStream; State state = this.previousState; if (state != null && (activeStream = state.getActiveStream()) != null) { this.storeApplicationStreaming.stopStream(activeStream.getStream().getEncodedStreamKey()); this.screenshareIntent = null; } } }