507 lines
28 KiB
Java
507 lines
28 KiB
Java
package com.discord.utilities.voice;
|
|
|
|
import android.app.Application;
|
|
import android.app.IntentService;
|
|
import android.app.PendingIntent;
|
|
import android.content.Context;
|
|
import android.content.Intent;
|
|
import android.content.ServiceConnection;
|
|
import android.net.wifi.WifiManager;
|
|
import android.os.Binder;
|
|
import android.os.IBinder;
|
|
import android.os.PowerManager;
|
|
import androidx.core.content.ContextCompat;
|
|
import c.a.d.n;
|
|
import c.d.b.a.a;
|
|
import com.discord.app.AppActivity;
|
|
import com.discord.app.AppComponent;
|
|
import com.discord.app.AppLog;
|
|
import com.discord.utilities.extensions.PendingIntentExtensionsKt;
|
|
import com.discord.utilities.logging.Logger;
|
|
import com.discord.utilities.rx.ObservableExtensionsKt;
|
|
import com.discord.utilities.system.SystemServiceExtensionsKt;
|
|
import com.discord.widgets.stage.StageChannelAPI;
|
|
import com.discord.widgets.stage.StageChannelNotifications;
|
|
import com.discord.widgets.voice.fullscreen.WidgetCallFullscreen;
|
|
import d0.z.d.m;
|
|
import kotlin.Unit;
|
|
import kotlin.jvm.functions.Function0;
|
|
import kotlin.jvm.functions.Function1;
|
|
import kotlin.jvm.internal.DefaultConstructorMarker;
|
|
import rx.Observable;
|
|
import rx.subjects.PublishSubject;
|
|
import rx.subjects.Subject;
|
|
/* compiled from: VoiceEngineForegroundService.kt */
|
|
public final class VoiceEngineForegroundService extends IntentService implements AppComponent {
|
|
public static final Companion Companion = new Companion(null);
|
|
private static final String LOG_TAG = "DiscordVoiceService";
|
|
private static final int NOTIFICATION_ID = 101;
|
|
private static final long WAKELOCK_TIMEOUT = 7200000;
|
|
private static Function0<Unit> onDisconnect = VoiceEngineForegroundService$Companion$onDisconnect$1.INSTANCE;
|
|
private static Function0<Unit> onToggleSelfDeafen = VoiceEngineForegroundService$Companion$onToggleSelfDeafen$1.INSTANCE;
|
|
private static Function0<Unit> onToggleSelfMute = VoiceEngineForegroundService$Companion$onToggleSelfMute$1.INSTANCE;
|
|
private final LocalBinder binder = new LocalBinder(this);
|
|
private final CallSoundManager ringManager = new CallSoundManager(this, null, null, 6, null);
|
|
private ScreenShareManager screenShareManager;
|
|
private final Subject<Void, Void> unsubscribeSignal;
|
|
private PowerManager.WakeLock wakeLockPartial;
|
|
private PowerManager.WakeLock wakeLockProximity;
|
|
private WifiManager.WifiLock wakeLockWifi;
|
|
|
|
/* compiled from: VoiceEngineForegroundService.kt */
|
|
public static final class Companion {
|
|
|
|
/* compiled from: VoiceEngineForegroundService.kt */
|
|
public interface ACTION {
|
|
public static final C0177Companion Companion = C0177Companion.$$INSTANCE;
|
|
public static final String DISCONNECT = "com.discord.utilities.voice.action.disconnect";
|
|
public static final String MAIN_ACTION = "com.discord.utilities.voice.action.main";
|
|
public static final String STAGE_INVITE_ACCEPT = "com.discord.utilities.voice.action.stage_invite_accept";
|
|
public static final String STAGE_INVITE_DECLINE = "com.discord.utilities.voice.action.stage_invite_decline";
|
|
public static final String START_FOREGROUND = "com.discord.utilities.voice.action.start_foreground";
|
|
public static final String START_STREAM = "com.discord.utilities.voice.action.start_stream";
|
|
public static final String STOP_SERVICE = "com.discord.utilities.voice.action.stop";
|
|
public static final String STOP_STREAM = "com.discord.utilities.voice.action.stop_stream";
|
|
public static final String TOGGLE_DEAFENED = "com.discord.utilities.voice.action.toggle_deafened";
|
|
public static final String TOGGLE_MUTED = "com.discord.utilities.voice.action.toggle_muted";
|
|
|
|
/* compiled from: VoiceEngineForegroundService.kt */
|
|
/* renamed from: com.discord.utilities.voice.VoiceEngineForegroundService$Companion$ACTION$Companion reason: collision with other inner class name */
|
|
public static final class C0177Companion {
|
|
public static final /* synthetic */ C0177Companion $$INSTANCE = new C0177Companion();
|
|
public static final String DISCONNECT = "com.discord.utilities.voice.action.disconnect";
|
|
public static final String MAIN_ACTION = "com.discord.utilities.voice.action.main";
|
|
public static final String STAGE_INVITE_ACCEPT = "com.discord.utilities.voice.action.stage_invite_accept";
|
|
public static final String STAGE_INVITE_DECLINE = "com.discord.utilities.voice.action.stage_invite_decline";
|
|
public static final String START_FOREGROUND = "com.discord.utilities.voice.action.start_foreground";
|
|
public static final String START_STREAM = "com.discord.utilities.voice.action.start_stream";
|
|
public static final String STOP_SERVICE = "com.discord.utilities.voice.action.stop";
|
|
public static final String STOP_STREAM = "com.discord.utilities.voice.action.stop_stream";
|
|
public static final String TOGGLE_DEAFENED = "com.discord.utilities.voice.action.toggle_deafened";
|
|
public static final String TOGGLE_MUTED = "com.discord.utilities.voice.action.toggle_muted";
|
|
|
|
private C0177Companion() {
|
|
}
|
|
}
|
|
}
|
|
|
|
/* compiled from: VoiceEngineForegroundService.kt */
|
|
public interface EXTRA {
|
|
public static final String CHANNEL_ID = "com.discord.utilities.voice.extra.channel_id";
|
|
public static final C0178Companion Companion = C0178Companion.$$INSTANCE;
|
|
public static final String GUILD_ID = "com.discord.utilities.voice.extra.guild_id";
|
|
public static final String ITEM_CAN_SPEAK = "com.discord.utilities.voice.extra.item_can_speak";
|
|
public static final String ITEM_DEAFENED = "com.discord.utilities.voice.extra.item_deafened";
|
|
public static final String ITEM_MUTED = "com.discord.utilities.voice.extra.item_muted";
|
|
public static final String ITEM_STREAMING = "com.discord.utilities.voice.extra.item_streaming";
|
|
public static final String PROXIMITY_LOCK_ENABLED = "com.discord.utilities.voice.extra.proximity_lock_enabled";
|
|
public static final String TITLE = "com.discord.utilities.voice.extra.title";
|
|
public static final String TITLE_SUBTEXT = "com.discord.utilities.voice.extra.title_subtext";
|
|
|
|
/* compiled from: VoiceEngineForegroundService.kt */
|
|
/* renamed from: com.discord.utilities.voice.VoiceEngineForegroundService$Companion$EXTRA$Companion reason: collision with other inner class name */
|
|
public static final class C0178Companion {
|
|
public static final /* synthetic */ C0178Companion $$INSTANCE = new C0178Companion();
|
|
public static final String CHANNEL_ID = "com.discord.utilities.voice.extra.channel_id";
|
|
public static final String GUILD_ID = "com.discord.utilities.voice.extra.guild_id";
|
|
public static final String ITEM_CAN_SPEAK = "com.discord.utilities.voice.extra.item_can_speak";
|
|
public static final String ITEM_DEAFENED = "com.discord.utilities.voice.extra.item_deafened";
|
|
public static final String ITEM_MUTED = "com.discord.utilities.voice.extra.item_muted";
|
|
public static final String ITEM_STREAMING = "com.discord.utilities.voice.extra.item_streaming";
|
|
public static final String PROXIMITY_LOCK_ENABLED = "com.discord.utilities.voice.extra.proximity_lock_enabled";
|
|
public static final String TITLE = "com.discord.utilities.voice.extra.title";
|
|
public static final String TITLE_SUBTEXT = "com.discord.utilities.voice.extra.title_subtext";
|
|
|
|
private C0178Companion() {
|
|
}
|
|
}
|
|
}
|
|
|
|
private Companion() {
|
|
}
|
|
|
|
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
|
this();
|
|
}
|
|
|
|
public final Function0<Unit> getOnDisconnect() {
|
|
return VoiceEngineForegroundService.access$getOnDisconnect$cp();
|
|
}
|
|
|
|
public final Function0<Unit> getOnToggleSelfDeafen() {
|
|
return VoiceEngineForegroundService.access$getOnToggleSelfDeafen$cp();
|
|
}
|
|
|
|
public final Function0<Unit> getOnToggleSelfMute() {
|
|
return VoiceEngineForegroundService.access$getOnToggleSelfMute$cp();
|
|
}
|
|
|
|
public final void setOnDisconnect(Function0<Unit> function0) {
|
|
m.checkNotNullParameter(function0, "<set-?>");
|
|
VoiceEngineForegroundService.access$setOnDisconnect$cp(function0);
|
|
}
|
|
|
|
public final void setOnToggleSelfDeafen(Function0<Unit> function0) {
|
|
m.checkNotNullParameter(function0, "<set-?>");
|
|
VoiceEngineForegroundService.access$setOnToggleSelfDeafen$cp(function0);
|
|
}
|
|
|
|
public final void setOnToggleSelfMute(Function0<Unit> function0) {
|
|
m.checkNotNullParameter(function0, "<set-?>");
|
|
VoiceEngineForegroundService.access$setOnToggleSelfMute$cp(function0);
|
|
}
|
|
|
|
public final Intent stageInviteAckIntent(Context context, long j, boolean z2) {
|
|
m.checkNotNullParameter(context, "context");
|
|
boolean z3 = ContextCompat.checkSelfPermission(context, "android.permission.RECORD_AUDIO") == 0;
|
|
if (!z2 || z3) {
|
|
Intent intent = new Intent(context, VoiceEngineForegroundService.class);
|
|
intent.setAction(z2 ? "com.discord.utilities.voice.action.stage_invite_accept" : "com.discord.utilities.voice.action.stage_invite_decline");
|
|
intent.putExtra("com.discord.utilities.voice.extra.channel_id", j);
|
|
return intent;
|
|
}
|
|
Intent intent2 = new Intent(context, WidgetCallFullscreen.class);
|
|
intent2.putExtra("com.discord.intent.extra.EXTRA_CHANNEL_ID", j);
|
|
return intent2;
|
|
}
|
|
|
|
public final PendingIntent stageInviteAckPendingIntent(Context context, long j, boolean z2) {
|
|
m.checkNotNullParameter(context, "context");
|
|
PendingIntent service = PendingIntent.getService(context, 0, stageInviteAckIntent(context, j, z2), PendingIntentExtensionsKt.immutablePendingIntentFlag(1207959552));
|
|
m.checkNotNullExpressionValue(service, "PendingIntent.getService…AG_UPDATE_CURRENT),\n )");
|
|
return service;
|
|
}
|
|
|
|
public final void startForegroundAndBind(Connection connection, CharSequence charSequence, CharSequence charSequence2, boolean z2, boolean z3, boolean z4, long j, Long l, boolean z5, boolean z6) {
|
|
m.checkNotNullParameter(connection, "connection");
|
|
m.checkNotNullParameter(charSequence, "title");
|
|
m.checkNotNullParameter(charSequence2, "subtitle");
|
|
try {
|
|
Logger.v$default(AppLog.g, "DiscordVoiceService", "Bind service connection.", null, 4, null);
|
|
Context context = connection.getContext();
|
|
Intent intent = new Intent(connection.getContext(), VoiceEngineForegroundService.class);
|
|
intent.setAction("com.discord.utilities.voice.action.start_foreground");
|
|
intent.putExtra("com.discord.utilities.voice.extra.title", charSequence);
|
|
intent.putExtra("com.discord.utilities.voice.extra.title_subtext", charSequence2);
|
|
intent.putExtra("com.discord.utilities.voice.extra.item_muted", z2);
|
|
intent.putExtra("com.discord.utilities.voice.extra.item_deafened", z3);
|
|
intent.putExtra("com.discord.utilities.voice.extra.item_streaming", z4);
|
|
intent.putExtra("com.discord.utilities.voice.extra.item_can_speak", z6);
|
|
intent.putExtra("com.discord.utilities.voice.extra.proximity_lock_enabled", z5);
|
|
intent.putExtra("com.discord.utilities.voice.extra.channel_id", j);
|
|
intent.putExtra("com.discord.utilities.voice.extra.guild_id", l);
|
|
context.startService(intent);
|
|
connection.getContext().bindService(new Intent(connection.getContext(), VoiceEngineForegroundService.class), connection.getConnection(), 1);
|
|
} catch (Exception e) {
|
|
AppLog.g.v("DiscordVoiceService", "Unable to bind service connection.", e);
|
|
}
|
|
}
|
|
|
|
public final void startStream(Connection connection, Intent intent) {
|
|
m.checkNotNullParameter(connection, "connection");
|
|
m.checkNotNullParameter(intent, "permissionIntent");
|
|
Context context = connection.getContext();
|
|
Intent intent2 = new Intent(context, VoiceEngineForegroundService.class);
|
|
intent2.setAction("com.discord.utilities.voice.action.start_stream");
|
|
intent2.putExtra("android.intent.extra.INTENT", intent);
|
|
context.startService(intent2);
|
|
}
|
|
|
|
public final void stopForegroundAndUnbind(Connection connection) {
|
|
m.checkNotNullParameter(connection, "connection");
|
|
try {
|
|
if (connection.getService() != null && !connection.isUnbinding()) {
|
|
Logger.v$default(AppLog.g, "DiscordVoiceService", "Unbind service connection.", null, 4, null);
|
|
connection.setUnbinding(true);
|
|
Context context = connection.getContext();
|
|
Intent intent = new Intent(connection.getContext(), VoiceEngineForegroundService.class);
|
|
intent.setAction("com.discord.utilities.voice.action.stop");
|
|
context.startService(intent);
|
|
connection.getContext().unbindService(connection.getConnection());
|
|
}
|
|
} catch (Exception e) {
|
|
AppLog.g.v("DiscordVoiceService", "Unable to unbind service connection.", e);
|
|
}
|
|
}
|
|
|
|
public final void stopStream(Connection connection) {
|
|
m.checkNotNullParameter(connection, "connection");
|
|
Context context = connection.getContext();
|
|
Intent intent = new Intent(context, VoiceEngineForegroundService.class);
|
|
intent.setAction("com.discord.utilities.voice.action.stop_stream");
|
|
context.startService(intent);
|
|
}
|
|
}
|
|
|
|
/* compiled from: VoiceEngineForegroundService.kt */
|
|
public static final class Connection {
|
|
private final ServiceConnection connection = new VoiceEngineForegroundService$Connection$connection$1(this);
|
|
private final Context context;
|
|
private boolean isUnbinding;
|
|
private VoiceEngineForegroundService service;
|
|
|
|
public Connection(Context context) {
|
|
m.checkNotNullParameter(context, "context");
|
|
this.context = context;
|
|
}
|
|
|
|
public static final /* synthetic */ VoiceEngineForegroundService access$getService$p(Connection connection) {
|
|
return connection.service;
|
|
}
|
|
|
|
public static final /* synthetic */ void access$setService$p(Connection connection, VoiceEngineForegroundService voiceEngineForegroundService) {
|
|
connection.service = voiceEngineForegroundService;
|
|
}
|
|
|
|
public final ServiceConnection getConnection() {
|
|
return this.connection;
|
|
}
|
|
|
|
public final Context getContext() {
|
|
return this.context;
|
|
}
|
|
|
|
public final VoiceEngineForegroundService getService() {
|
|
return this.service;
|
|
}
|
|
|
|
public final synchronized boolean isUnbinding() {
|
|
return this.isUnbinding;
|
|
}
|
|
|
|
public final synchronized void setUnbinding(boolean z2) {
|
|
this.isUnbinding = z2;
|
|
}
|
|
}
|
|
|
|
/* compiled from: VoiceEngineForegroundService.kt */
|
|
public static final class LocalBinder extends Binder {
|
|
private final VoiceEngineForegroundService service;
|
|
|
|
public LocalBinder(VoiceEngineForegroundService voiceEngineForegroundService) {
|
|
this.service = voiceEngineForegroundService;
|
|
}
|
|
|
|
public final VoiceEngineForegroundService getService() {
|
|
return this.service;
|
|
}
|
|
}
|
|
|
|
public VoiceEngineForegroundService() {
|
|
super("VoiceEngineForegroundService");
|
|
PublishSubject k0 = PublishSubject.k0();
|
|
m.checkNotNullExpressionValue(k0, "PublishSubject.create()");
|
|
this.unsubscribeSignal = k0;
|
|
}
|
|
|
|
public static final /* synthetic */ Function0 access$getOnDisconnect$cp() {
|
|
return onDisconnect;
|
|
}
|
|
|
|
public static final /* synthetic */ Function0 access$getOnToggleSelfDeafen$cp() {
|
|
return onToggleSelfDeafen;
|
|
}
|
|
|
|
public static final /* synthetic */ Function0 access$getOnToggleSelfMute$cp() {
|
|
return onToggleSelfMute;
|
|
}
|
|
|
|
public static final /* synthetic */ void access$setOnDisconnect$cp(Function0 function0) {
|
|
onDisconnect = function0;
|
|
}
|
|
|
|
public static final /* synthetic */ void access$setOnToggleSelfDeafen$cp(Function0 function0) {
|
|
onToggleSelfDeafen = function0;
|
|
}
|
|
|
|
public static final /* synthetic */ void access$setOnToggleSelfMute$cp(Function0 function0) {
|
|
onToggleSelfMute = function0;
|
|
}
|
|
|
|
private final void ackStageInvite(Intent intent, boolean z2) {
|
|
long longExtra = intent.getLongExtra("com.discord.utilities.voice.extra.channel_id", 0);
|
|
Observable<Void> ackInvitationToSpeak = StageChannelAPI.INSTANCE.ackInvitationToSpeak(longExtra, z2);
|
|
if (ackInvitationToSpeak != null) {
|
|
ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui(ObservableExtensionsKt.restSubscribeOn$default(ackInvitationToSpeak, false, 1, null)), VoiceEngineForegroundService.class, (Context) null, (Function1) null, new VoiceEngineForegroundService$ackStageInvite$1(longExtra), (Function0) null, (Function0) null, new VoiceEngineForegroundService$ackStageInvite$2(this, z2, longExtra), 54, (Object) null);
|
|
} else {
|
|
Logger.w$default(AppLog.g, "DiscordVoiceService", a.q("Unable to ack stage invite for unknown channel ", longExtra), null, 4, null);
|
|
}
|
|
}
|
|
|
|
@Override // com.discord.app.AppComponent
|
|
public Subject<Void, Void> getUnsubscribeSignal() {
|
|
return this.unsubscribeSignal;
|
|
}
|
|
|
|
@Override // android.app.IntentService, android.app.Service
|
|
public IBinder onBind(Intent intent) {
|
|
m.checkNotNullParameter(intent, "intent");
|
|
return this.binder;
|
|
}
|
|
|
|
@Override // android.app.IntentService, android.app.Service
|
|
public void onCreate() {
|
|
super.onCreate();
|
|
Logger.v$default(AppLog.g, "DiscordVoiceService", "Service created.", null, 4, null);
|
|
n.f44c.a(this);
|
|
Application application = getApplication();
|
|
m.checkNotNullExpressionValue(application, "application");
|
|
WifiManager.WifiLock createWifiLock$default = SystemServiceExtensionsKt.createWifiLock$default(application, false, 0, null, 7, null);
|
|
this.wakeLockWifi = createWifiLock$default;
|
|
if (createWifiLock$default != null) {
|
|
createWifiLock$default.acquire();
|
|
}
|
|
Application application2 = getApplication();
|
|
m.checkNotNullExpressionValue(application2, "application");
|
|
PowerManager.WakeLock createPartialWakeLock$default = SystemServiceExtensionsKt.createPartialWakeLock$default(application2, false, null, 3, null);
|
|
this.wakeLockPartial = createPartialWakeLock$default;
|
|
if (createPartialWakeLock$default != null) {
|
|
createPartialWakeLock$default.acquire(7200000);
|
|
}
|
|
Application application3 = getApplication();
|
|
m.checkNotNullExpressionValue(application3, "application");
|
|
PowerManager.WakeLock createProximityScreenWakeLock$default = SystemServiceExtensionsKt.createProximityScreenWakeLock$default(application3, false, null, 3, null);
|
|
this.wakeLockProximity = createProximityScreenWakeLock$default;
|
|
if (createProximityScreenWakeLock$default != null) {
|
|
createProximityScreenWakeLock$default.acquire(7200000);
|
|
}
|
|
}
|
|
|
|
@Override // android.app.IntentService, android.app.Service
|
|
public void onDestroy() {
|
|
super.onDestroy();
|
|
Logger.v$default(AppLog.g, "DiscordVoiceService", "Service destroyed.", null, 4, null);
|
|
StageChannelNotifications.Companion.getINSTANCE().onInviteToSpeakRescinded();
|
|
n.f44c.b(this);
|
|
WifiManager.WifiLock wifiLock = this.wakeLockWifi;
|
|
if (wifiLock != null) {
|
|
wifiLock.release();
|
|
}
|
|
PowerManager.WakeLock wakeLock = this.wakeLockPartial;
|
|
if (wakeLock != null) {
|
|
wakeLock.release();
|
|
}
|
|
PowerManager.WakeLock wakeLock2 = this.wakeLockProximity;
|
|
if (wakeLock2 != null) {
|
|
wakeLock2.release();
|
|
}
|
|
}
|
|
|
|
/* JADX WARNING: Code restructure failed: missing block: B:36:0x00af, code lost:
|
|
if ((!d0.z.d.m.areEqual(r0 != null ? r0.getGuildId() : null, r4)) != false) goto L_0x00b1;
|
|
*/
|
|
/* JADX WARNING: Removed duplicated region for block: B:44:0x00ee */
|
|
/* JADX WARNING: Removed duplicated region for block: B:45:0x00f1 */
|
|
/* JADX WARNING: Removed duplicated region for block: B:48:0x00f9 */
|
|
/* JADX WARNING: Removed duplicated region for block: B:49:0x00fe */
|
|
@Override // android.app.IntentService
|
|
public void onHandleIntent(Intent intent) {
|
|
String action;
|
|
ScreenShareManager screenShareManager;
|
|
Intent intent2;
|
|
ScreenShareManager screenShareManager2;
|
|
String str;
|
|
Long l;
|
|
if (intent != null && (action = intent.getAction()) != null) {
|
|
m.checkNotNullExpressionValue(action, "intent?.action ?: return");
|
|
Logger.v$default(AppLog.g, "DiscordVoiceService", a.u("Received action: ", action), null, 4, null);
|
|
switch (action.hashCode()) {
|
|
case -2024885008:
|
|
if (action.equals("com.discord.utilities.voice.action.toggle_deafened")) {
|
|
onToggleSelfDeafen.mo1invoke();
|
|
return;
|
|
}
|
|
return;
|
|
case -1497102229:
|
|
if (action.equals("com.discord.utilities.voice.action.stop")) {
|
|
stopForeground(true);
|
|
stopSelf();
|
|
return;
|
|
}
|
|
return;
|
|
case -1440499724:
|
|
if (action.equals("com.discord.utilities.voice.action.stage_invite_accept")) {
|
|
ackStageInvite(intent, true);
|
|
return;
|
|
}
|
|
return;
|
|
case -712636972:
|
|
if (action.equals("com.discord.utilities.voice.action.stop_stream") && (screenShareManager = this.screenShareManager) != null) {
|
|
screenShareManager.stopStream();
|
|
return;
|
|
}
|
|
return;
|
|
case -702962107:
|
|
if (action.equals("com.discord.utilities.voice.action.disconnect")) {
|
|
onDisconnect.mo1invoke();
|
|
return;
|
|
}
|
|
return;
|
|
case 162053478:
|
|
if (action.equals("com.discord.utilities.voice.action.start_stream") && (intent2 = (Intent) intent.getParcelableExtra("android.intent.extra.INTENT")) != null && (screenShareManager2 = this.screenShareManager) != null) {
|
|
screenShareManager2.startStream(intent2);
|
|
return;
|
|
}
|
|
return;
|
|
case 541488169:
|
|
if (action.equals("com.discord.utilities.voice.action.start_foreground")) {
|
|
if (intent.getBooleanExtra("com.discord.utilities.voice.extra.proximity_lock_enabled", false)) {
|
|
PowerManager.WakeLock wakeLock = this.wakeLockProximity;
|
|
if (wakeLock != null) {
|
|
wakeLock.acquire(7200000);
|
|
}
|
|
} else {
|
|
PowerManager.WakeLock wakeLock2 = this.wakeLockProximity;
|
|
if (wakeLock2 != null) {
|
|
wakeLock2.release();
|
|
}
|
|
}
|
|
Long l2 = (Long) intent.getSerializableExtra("com.discord.utilities.voice.extra.guild_id");
|
|
Long l3 = (Long) intent.getSerializableExtra("com.discord.utilities.voice.extra.channel_id");
|
|
if (l3 != null) {
|
|
this.ringManager.subscribeToStoreState(l3.longValue());
|
|
ScreenShareManager screenShareManager3 = this.screenShareManager;
|
|
if (!(!m.areEqual(screenShareManager3 != null ? Long.valueOf(screenShareManager3.getChannelId()) : null, l3))) {
|
|
ScreenShareManager screenShareManager4 = this.screenShareManager;
|
|
break;
|
|
}
|
|
ScreenShareManager screenShareManager5 = this.screenShareManager;
|
|
if (screenShareManager5 != null) {
|
|
screenShareManager5.release();
|
|
}
|
|
l = l3;
|
|
str = "com.discord.utilities.voice.action.toggle_muted";
|
|
this.screenShareManager = new ScreenShareManager(this, l3.longValue(), l2, null, null, null, null, null, null, null, 1016, null);
|
|
startForeground(101, VoiceEngineNotificationBuilder.INSTANCE.buildNotification(this, "com.discord.utilities.voice.action.main", "com.discord.utilities.voice.action.disconnect", "com.discord.utilities.voice.action.stop_stream", !intent.getBooleanExtra("com.discord.utilities.voice.extra.item_can_speak", true) ? str : null, "com.discord.utilities.voice.action.toggle_deafened", VoiceEngineForegroundService.class, "Media Connections", l == null ? l.longValue() : 0, intent.getCharSequenceExtra("com.discord.utilities.voice.extra.title"), intent.getCharSequenceExtra("com.discord.utilities.voice.extra.title_subtext"), AppActivity.Main.class, intent.getBooleanExtra("com.discord.utilities.voice.extra.item_streaming", false), intent.getBooleanExtra("com.discord.utilities.voice.extra.item_muted", false), intent.getBooleanExtra("com.discord.utilities.voice.extra.item_deafened", false)));
|
|
return;
|
|
}
|
|
l = l3;
|
|
str = "com.discord.utilities.voice.action.toggle_muted";
|
|
if (!intent.getBooleanExtra("com.discord.utilities.voice.extra.item_can_speak", true)) {
|
|
}
|
|
startForeground(101, VoiceEngineNotificationBuilder.INSTANCE.buildNotification(this, "com.discord.utilities.voice.action.main", "com.discord.utilities.voice.action.disconnect", "com.discord.utilities.voice.action.stop_stream", !intent.getBooleanExtra("com.discord.utilities.voice.extra.item_can_speak", true) ? str : null, "com.discord.utilities.voice.action.toggle_deafened", VoiceEngineForegroundService.class, "Media Connections", l == null ? l.longValue() : 0, intent.getCharSequenceExtra("com.discord.utilities.voice.extra.title"), intent.getCharSequenceExtra("com.discord.utilities.voice.extra.title_subtext"), AppActivity.Main.class, intent.getBooleanExtra("com.discord.utilities.voice.extra.item_streaming", false), intent.getBooleanExtra("com.discord.utilities.voice.extra.item_muted", false), intent.getBooleanExtra("com.discord.utilities.voice.extra.item_deafened", false)));
|
|
return;
|
|
}
|
|
break;
|
|
case 1014152586:
|
|
if (action.equals("com.discord.utilities.voice.action.stage_invite_decline")) {
|
|
ackStageInvite(intent, false);
|
|
break;
|
|
}
|
|
break;
|
|
case 1602537513:
|
|
if (action.equals("com.discord.utilities.voice.action.toggle_muted")) {
|
|
onToggleSelfMute.mo1invoke();
|
|
break;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
@Override // android.app.Service
|
|
public boolean onUnbind(Intent intent) {
|
|
getUnsubscribeSignal().onNext(null);
|
|
return super.onUnbind(intent);
|
|
}
|
|
}
|