discord-jadx/app/src/main/java/com/discord/utilities/voice/DiscordOverlayService.java

269 lines
13 KiB
Java

package com.discord.utilities.voice;
import android.app.Application;
import android.app.Notification;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import androidx.core.app.NotificationCompat;
import c.a.d.o;
import c.a.o.c;
import c.a.o.d;
import c.a.z.v;
import c.a.z.y;
import c.d.b.a.a;
import com.discord.app.AppLog;
import com.discord.overlay.OverlayManager;
import com.discord.overlay.OverlayService;
import com.discord.overlay.views.OverlayBubbleWrap;
import com.discord.stores.StoreStream;
import com.discord.utilities.color.ColorCompat;
import com.discord.utilities.device.DeviceUtils;
import com.discord.utilities.extensions.PendingIntentExtensionsKt;
import com.discord.utilities.intent.IntentUtils;
import com.discord.utilities.logging.Logger;
import com.discord.utilities.rx.ObservableExtensionsKt;
import com.discord.views.OverlayMenuBubbleDialog;
import d0.z.d.m;
import java.lang.ref.WeakReference;
import java.util.Iterator;
import java.util.Objects;
import kotlin.jvm.functions.Function0;
import kotlin.jvm.functions.Function1;
import kotlin.jvm.internal.DefaultConstructorMarker;
import rx.Observable;
/* compiled from: DiscordOverlayService.kt */
public final class DiscordOverlayService extends OverlayService {
private static final String ACTION_CLOSE = "com.discord.actions.OVERLAY_CLOSE";
private static final String ACTION_OPEN = "com.discord.actions.OVERLAY_OPEN";
private static final String ACTION_SELECTOR = "com.discord.actions.OVERLAY_SELECTOR";
private static final String ACTION_VOICE = "com.discord.actions.OVERLAY_VOICE";
private static final int CLOSE_INTENT_REQ_CODE = 1010;
public static final Companion Companion = new Companion(null);
private static final String LOG_TAG = "OverlayService";
/* compiled from: DiscordOverlayService.kt */
public static final class Companion {
private Companion() {
}
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
this();
}
public static final /* synthetic */ Intent access$createOverlayIntent(Companion companion, Context context, String str) {
return companion.createOverlayIntent(context, str);
}
private final Intent createOverlayIntent(Context context, String str) {
return new Intent(str, null, context, DiscordOverlayService.class);
}
private final void tryStartOverlayService(Context context, String str, boolean z2) {
if (StoreStream.Companion.getUserSettings().getIsMobileOverlayEnabled() || !z2) {
try {
context.startService(createOverlayIntent(context, str));
} catch (Exception e) {
AppLog.g.v("OverlayService", "Overlay request failed.", e);
}
}
}
public static /* synthetic */ void tryStartOverlayService$default(Companion companion, Context context, String str, boolean z2, int i, Object obj) {
if ((i & 4) != 0) {
z2 = true;
}
companion.tryStartOverlayService(context, str, z2);
}
public final void launchForClose(Context context) {
m.checkNotNullParameter(context, "context");
tryStartOverlayService(context, "com.discord.actions.OVERLAY_CLOSE", false);
}
public final void launchForConnect(Context context) {
m.checkNotNullParameter(context, "context");
StoreStream.Companion companion = StoreStream.Companion;
if (companion.getUserSettings().getIsMobileOverlayEnabled()) {
WeakReference weakReference = new WeakReference(context);
Observable F = ObservableExtensionsKt.takeSingleUntilTimeout$default(companion.getRtcConnection().getConnectionState(), 1000, false, 2, null).F(DiscordOverlayService$Companion$launchForConnect$1.INSTANCE);
m.checkNotNullExpressionValue(F, "StoreStream\n … }\n }");
ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui(F), DiscordOverlayService.class, context, (Function1) null, (Function1) null, (Function0) null, (Function0) null, new DiscordOverlayService$Companion$launchForConnect$2(weakReference), 60, (Object) null);
return;
}
o.g(context, 2131891799, 1, null, 8);
}
public final void launchForVoice(Context context) {
m.checkNotNullParameter(context, "context");
tryStartOverlayService$default(this, context, "com.discord.actions.OVERLAY_VOICE", false, 4, null);
}
public final void launchForVoiceChannelSelect(Context context) {
m.checkNotNullParameter(context, "context");
tryStartOverlayService$default(this, context, "com.discord.actions.OVERLAY_SELECTOR", false, 4, null);
}
}
public static final /* synthetic */ OverlayMenuBubbleDialog access$createMenu(DiscordOverlayService discordOverlayService) {
return discordOverlayService.createMenu();
}
public static final /* synthetic */ OverlayManager access$getOverlayManager$p(DiscordOverlayService discordOverlayService) {
return discordOverlayService.getOverlayManager();
}
public static final /* synthetic */ void access$handleStart$s1927314545(DiscordOverlayService discordOverlayService, Intent intent) {
super.handleStart(intent);
}
public static final /* synthetic */ void access$setOverlayManager$p(DiscordOverlayService discordOverlayService, OverlayManager overlayManager) {
discordOverlayService.setOverlayManager(overlayManager);
}
private final OverlayMenuBubbleDialog createMenu() {
Context applicationContext = getApplicationContext();
m.checkNotNullExpressionValue(applicationContext, "applicationContext");
OverlayMenuBubbleDialog overlayMenuBubbleDialog = new OverlayMenuBubbleDialog(applicationContext);
overlayMenuBubbleDialog.getInsetMargins().top = overlayMenuBubbleDialog.getResources().getDimensionPixelOffset(2131165781);
overlayMenuBubbleDialog.setOnDialogClosed(new DiscordOverlayService$createMenu$1(this));
return overlayMenuBubbleDialog;
}
private final OverlayBubbleWrap createVoiceBubble() {
int dimensionPixelOffset = getResources().getDimensionPixelOffset(2131165704);
Context applicationContext = getApplicationContext();
m.checkNotNullExpressionValue(applicationContext, "applicationContext");
v vVar = new v(applicationContext);
int i = -dimensionPixelOffset;
vVar.getInsetMargins().set(i, dimensionPixelOffset, i, dimensionPixelOffset);
OverlayManager overlayManager = getOverlayManager();
DiscordOverlayService$createVoiceBubble$1 discordOverlayService$createVoiceBubble$1 = new DiscordOverlayService$createVoiceBubble$1(this, "Active Voice Bubble");
Objects.requireNonNull(overlayManager);
m.checkNotNullParameter(vVar, "srcBubble");
m.checkNotNullParameter("Active Voice Bubble", "anchorViewTag");
m.checkNotNullParameter(discordOverlayService$createVoiceBubble$1, "menuBubbleProvider");
vVar.setOnClickListener(new d(overlayManager, discordOverlayService$createVoiceBubble$1, vVar, "Active Voice Bubble"));
OverlayManager overlayManager2 = getOverlayManager();
Objects.requireNonNull(overlayManager2);
m.checkNotNullParameter(vVar, "bubble");
vVar.setOnTouchListener(overlayManager2.o);
vVar.setOnMovingStateChanged(new c(overlayManager2, vVar));
return vVar;
}
private final OverlayBubbleWrap createVoiceSelector() {
Context applicationContext = getApplicationContext();
m.checkNotNullExpressionValue(applicationContext, "applicationContext");
y yVar = new y(applicationContext);
yVar.setOnDialogClosed(new DiscordOverlayService$createVoiceSelector$1(this));
return yVar;
}
@Override // com.discord.overlay.OverlayService
public Notification createNotification(Intent intent) {
PendingIntent service = PendingIntent.getService(this, 1010, Companion.access$createOverlayIntent(Companion, this, "com.discord.actions.OVERLAY_CLOSE"), PendingIntentExtensionsKt.immutablePendingIntentFlag(134217728));
Notification build = new NotificationCompat.Builder(this, "Media Connections").setCategory("service").setPriority(-2).setOnlyAlertOnce(true).setLocalOnly(true).setSmallIcon(2131231799).setColor(ColorCompat.getColor(this, 2131100249)).setContentTitle(getString(2131891782)).setContentText(getString(2131891800)).setOngoing(true).addAction(2131231530, getString(2131887393), service).addAction(2131231919, getString(2131893283), PendingIntent.getActivity(this, 1010, new Intent("android.intent.action.VIEW", IntentUtils.RouteBuilders.Uris.INSTANCE.getSelectSettingsVoice()).setPackage(getPackageName()), PendingIntentExtensionsKt.immutablePendingIntentFlag(134217728))).build();
m.checkNotNullExpressionValue(build, "NotificationCompat.Build… )\n .build()");
return build;
}
@Override // com.discord.overlay.OverlayService
public OverlayBubbleWrap createOverlayBubble(Intent intent) {
Object obj;
Object obj2;
m.checkNotNullParameter(intent, "intent");
String action = intent.getAction();
if (action == null) {
return null;
}
int hashCode = action.hashCode();
if (hashCode != -753952221) {
if (hashCode != -440170727) {
if (hashCode == 557534510 && action.equals("com.discord.actions.OVERLAY_SELECTOR")) {
return createVoiceSelector();
}
return null;
} else if (!action.equals("com.discord.actions.OVERLAY_OPEN")) {
return null;
} else {
Iterator<T> it = getOverlayManager().j.iterator();
while (true) {
if (!it.hasNext()) {
obj2 = null;
break;
}
obj2 = it.next();
if (((OverlayBubbleWrap) obj2) instanceof v) {
break;
}
}
OverlayBubbleWrap overlayBubbleWrap = (OverlayBubbleWrap) obj2;
if (overlayBubbleWrap == null) {
return createVoiceBubble();
}
overlayBubbleWrap.performClick();
return null;
}
} else if (!action.equals("com.discord.actions.OVERLAY_VOICE")) {
return null;
} else {
Iterator<T> it2 = getOverlayManager().j.iterator();
while (true) {
if (!it2.hasNext()) {
obj = null;
break;
}
obj = it2.next();
if (((OverlayBubbleWrap) obj) instanceof v) {
break;
}
}
if (((OverlayBubbleWrap) obj) != null) {
return null;
}
return createVoiceBubble();
}
}
@Override // com.discord.overlay.OverlayService, android.app.Service
public void onCreate() {
super.onCreate();
StoreStream.Companion companion = StoreStream.Companion;
Application application = getApplication();
m.checkNotNullExpressionValue(application, "application");
companion.initialize(application);
OverlayManager overlayManager = getOverlayManager();
DiscordOverlayService$onCreate$1 discordOverlayService$onCreate$1 = DiscordOverlayService$onCreate$1.INSTANCE;
Objects.requireNonNull(overlayManager);
m.checkNotNullParameter(discordOverlayService$onCreate$1, "<set-?>");
overlayManager.k = discordOverlayService$onCreate$1;
OverlayManager overlayManager2 = getOverlayManager();
DiscordOverlayService$onCreate$2 discordOverlayService$onCreate$2 = new DiscordOverlayService$onCreate$2(this);
Objects.requireNonNull(overlayManager2);
m.checkNotNullParameter(discordOverlayService$onCreate$2, "<set-?>");
overlayManager2.l = discordOverlayService$onCreate$2;
}
@Override // android.app.Service
public int onStartCommand(Intent intent, int i, int i2) {
AppLog appLog = AppLog.g;
StringBuilder L = a.L("onStartCommand: ");
String str = null;
L.append(intent != null ? intent.getAction() : null);
Logger.v$default(appLog, "OverlayService", L.toString(), null, 4, null);
if (intent != null) {
str = intent.getAction();
}
if (m.areEqual(str, "com.discord.actions.OVERLAY_CLOSE") || !DeviceUtils.INSTANCE.canDrawOverlays(this)) {
stopForeground(true);
stopSelf(i2);
return 2;
}
Observable<Boolean> Z = StoreStream.Companion.isInitializedObservable().x(DiscordOverlayService$onStartCommand$1.INSTANCE).Z(1);
m.checkNotNullExpressionValue(Z, "StoreStream.isInitialize….takeFirst { it == true }");
ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui(Z), DiscordOverlayService.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, new DiscordOverlayService$onStartCommand$2(this, i2, intent), 62, (Object) null);
return 3;
}
}