99.10 - Alpha (99210)

This commit is contained in:
Juby210 2021-10-23 09:34:48 +02:00
parent 549b668b5e
commit dfe3450862
18 changed files with 6640 additions and 6464 deletions

View File

@ -10,8 +10,8 @@ android {
applicationId 'com.discord'
minSdkVersion 21
targetSdkVersion 29
versionCode 99205
versionName "99.5 - Alpha"
versionCode 99210
versionName "99.10 - Alpha"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="99205" android:versionName="99.5 - Alpha" android:installLocation="auto" android:compileSdkVersion="30" android:compileSdkVersionCodename="11" package="com.discord" platformBuildVersionCode="30" platformBuildVersionName="11">
<manifest xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="99210" android:versionName="99.10 - Alpha" android:installLocation="auto" android:compileSdkVersion="30" android:compileSdkVersionCodename="11" package="com.discord" platformBuildVersionCode="30" platformBuildVersionName="11">
<uses-sdk android:minSdkVersion="21" android:targetSdkVersion="29"/>
<uses-feature android:name="android.hardware.camera" android:required="false"/>
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>

View File

@ -24,5 +24,6 @@ public enum GuildFeature {
THREE_DAY_THREAD_ARCHIVE,
SEVEN_DAY_THREAD_ARCHIVE,
NEW_THREAD_PERMISSIONS,
ROLE_ICONS
ROLE_ICONS,
TEXT_IN_VOICE_ENABLED
}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,18 @@
package com.discord.widgets.chat.list;
import c0.z.d.o;
import kotlin.jvm.functions.Function0;
/* compiled from: TextInVoiceFeatureFlag.kt */
public final class TextInVoiceFeatureFlag$Companion$INSTANCE$2 extends o implements Function0<TextInVoiceFeatureFlag> {
public static final TextInVoiceFeatureFlag$Companion$INSTANCE$2 INSTANCE = new TextInVoiceFeatureFlag$Companion$INSTANCE$2();
public TextInVoiceFeatureFlag$Companion$INSTANCE$2() {
super(0);
}
@Override // kotlin.jvm.functions.Function0
/* renamed from: invoke */
public final TextInVoiceFeatureFlag mo17invoke() {
return new TextInVoiceFeatureFlag(null, null, 3, null);
}
}

View File

@ -0,0 +1,17 @@
package com.discord.widgets.chat.list;
import com.discord.models.experiments.domain.Experiment;
import com.discord.models.guild.Guild;
import rx.functions.Func2;
/* compiled from: TextInVoiceFeatureFlag.kt */
public final class TextInVoiceFeatureFlag$observeEnabled$1<T1, T2, R> implements Func2<Experiment, Guild, Boolean> {
public final /* synthetic */ TextInVoiceFeatureFlag this$0;
public TextInVoiceFeatureFlag$observeEnabled$1(TextInVoiceFeatureFlag textInVoiceFeatureFlag) {
this.this$0 = textInVoiceFeatureFlag;
}
public final Boolean call(Experiment experiment, Guild guild) {
return Boolean.valueOf(TextInVoiceFeatureFlag.access$isEnabled(this.this$0, experiment, guild));
}
}

View File

@ -0,0 +1,76 @@
package com.discord.widgets.chat.list;
import c0.g;
import c0.z.d.m;
import com.discord.api.guild.GuildFeature;
import com.discord.models.experiments.domain.Experiment;
import com.discord.models.guild.Guild;
import com.discord.stores.StoreExperiments;
import com.discord.stores.StoreGuilds;
import com.discord.stores.StoreStream;
import i0.l.e.j;
import kotlin.Lazy;
import kotlin.jvm.internal.DefaultConstructorMarker;
import rx.Observable;
/* compiled from: TextInVoiceFeatureFlag.kt */
public final class TextInVoiceFeatureFlag {
public static final Companion Companion = new Companion(null);
private static final Lazy INSTANCE$delegate = g.lazy(TextInVoiceFeatureFlag$Companion$INSTANCE$2.INSTANCE);
private final StoreExperiments storeExperiments;
private final StoreGuilds storeGuilds;
/* compiled from: TextInVoiceFeatureFlag.kt */
public static final class Companion {
private Companion() {
}
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
this();
}
public final TextInVoiceFeatureFlag getINSTANCE() {
Lazy access$getINSTANCE$cp = TextInVoiceFeatureFlag.access$getINSTANCE$cp();
Companion companion = TextInVoiceFeatureFlag.Companion;
return (TextInVoiceFeatureFlag) access$getINSTANCE$cp.getValue();
}
}
public TextInVoiceFeatureFlag() {
this(null, null, 3, null);
}
public TextInVoiceFeatureFlag(StoreExperiments storeExperiments, StoreGuilds storeGuilds) {
m.checkNotNullParameter(storeExperiments, "storeExperiments");
m.checkNotNullParameter(storeGuilds, "storeGuilds");
this.storeExperiments = storeExperiments;
this.storeGuilds = storeGuilds;
}
/* JADX INFO: this call moved to the top of the method (can break code semantics) */
public /* synthetic */ TextInVoiceFeatureFlag(StoreExperiments storeExperiments, StoreGuilds storeGuilds, int i, DefaultConstructorMarker defaultConstructorMarker) {
this((i & 1) != 0 ? StoreStream.Companion.getExperiments() : storeExperiments, (i & 2) != 0 ? StoreStream.Companion.getGuilds() : storeGuilds);
}
public static final /* synthetic */ Lazy access$getINSTANCE$cp() {
return INSTANCE$delegate;
}
public static final /* synthetic */ boolean access$isEnabled(TextInVoiceFeatureFlag textInVoiceFeatureFlag, Experiment experiment, Guild guild) {
return textInVoiceFeatureFlag.isEnabled(experiment, guild);
}
private final boolean isEnabled(Experiment experiment, Guild guild) {
return (experiment != null && experiment.getBucket() == 1) && (guild != null && guild.hasFeature(GuildFeature.TEXT_IN_VOICE_ENABLED));
}
public final Observable<Boolean> observeEnabled(Long l) {
if (l == null) {
j jVar = new j(Boolean.FALSE);
m.checkNotNullExpressionValue(jVar, "Observable.just(false)");
return jVar;
}
Observable<Boolean> j = Observable.j(this.storeExperiments.observeUserExperiment("2021-10_android_textinvoice", true), this.storeGuilds.observeGuild(l.longValue()), new TextInVoiceFeatureFlag$observeEnabled$1(this));
m.checkNotNullExpressionValue(j, "Observable.combineLatest…xperiment, guild)\n }");
return j;
}
}

View File

@ -313,7 +313,7 @@ public final class WidgetSettings extends AppFragment implements OnTabSelectedLi
TextView textView = binding.f;
m.checkNotNullExpressionValue(textView, "appInfoHeader");
String string = getString(R.string.app_information);
textView.setText(string + " - 99.5 - Alpha (99205)");
textView.setText(string + " - 99.10 - Alpha (99210)");
binding.A.setOnClickListener(new WidgetSettings$onViewBound$$inlined$with$lambda$3(this));
binding.u.setOnClickListener(WidgetSettings$onViewBound$1$5.INSTANCE);
binding.q.setOnClickListener(WidgetSettings$onViewBound$1$6.INSTANCE);

View File

@ -17,6 +17,6 @@ public final class WidgetVoiceBottomSheet$viewModel$2 extends o implements Funct
@Override // kotlin.jvm.functions.Function0
/* renamed from: invoke */
public final AppViewModel<WidgetVoiceBottomSheetViewModel.ViewState> mo17invoke() {
return new WidgetVoiceBottomSheetViewModel(WidgetVoiceBottomSheet.access$getChannelId$p(this.this$0), WidgetVoiceBottomSheet.access$getForwardToFullscreenIfVideoActivated$p(this.this$0), null, null, null, null, null, null, null, null, null, null, null, null, null, 32764, null);
return new WidgetVoiceBottomSheetViewModel(WidgetVoiceBottomSheet.access$getChannelId$p(this.this$0), WidgetVoiceBottomSheet.access$getForwardToFullscreenIfVideoActivated$p(this.this$0), null, null, null, null, null, null, null, null, null, null, null, null, null, null, 65532, null);
}
}

View File

@ -1,24 +1,48 @@
package com.discord.widgets.voice.sheet;
import c0.t.n0;
import c0.z.d.m;
import com.discord.api.channel.Channel;
import com.discord.stores.StoreMediaSettings;
import com.discord.stores.StorePermissions;
import com.discord.widgets.chat.list.TextInVoiceFeatureFlag;
import com.discord.widgets.voice.model.CallModel;
import com.discord.widgets.voice.sheet.WidgetVoiceBottomSheetViewModel;
import rx.functions.Func2;
import i0.k.b;
import rx.Observable;
import rx.functions.Func3;
/* compiled from: WidgetVoiceBottomSheetViewModel.kt */
public final class WidgetVoiceBottomSheetViewModel$Companion$observeStoreState$1<T1, T2, R> implements Func2<CallModel, Long, WidgetVoiceBottomSheetViewModel.StoreState> {
public static final WidgetVoiceBottomSheetViewModel$Companion$observeStoreState$1 INSTANCE = new WidgetVoiceBottomSheetViewModel$Companion$observeStoreState$1();
public final class WidgetVoiceBottomSheetViewModel$Companion$observeStoreState$1<T, R> implements b<Channel, Observable<? extends WidgetVoiceBottomSheetViewModel.StoreState>> {
public final /* synthetic */ long $channelId;
public final /* synthetic */ StorePermissions $permissionsStore;
public final WidgetVoiceBottomSheetViewModel.StoreState call(CallModel callModel, Long l) {
if (callModel != null) {
boolean z2 = false;
if (n0.setOf((Object[]) new Integer[]{2, 13, 1, 3}).contains(Integer.valueOf(callModel.getChannel().A()))) {
if (callModel.getVoiceSettings().getNoiseProcessing() == StoreMediaSettings.NoiseProcessing.Cancellation) {
z2 = true;
/* compiled from: WidgetVoiceBottomSheetViewModel.kt */
/* renamed from: com.discord.widgets.voice.sheet.WidgetVoiceBottomSheetViewModel$Companion$observeStoreState$1$1 reason: invalid class name */
public static final class AnonymousClass1<T1, T2, T3, R> implements Func3<CallModel, Long, Boolean, WidgetVoiceBottomSheetViewModel.StoreState> {
public static final AnonymousClass1 INSTANCE = new AnonymousClass1();
public final WidgetVoiceBottomSheetViewModel.StoreState call(CallModel callModel, Long l, Boolean bool) {
if (callModel != null) {
boolean z2 = false;
if (n0.setOf((Object[]) new Integer[]{2, 13, 1, 3}).contains(Integer.valueOf(callModel.getChannel().A()))) {
if (callModel.getVoiceSettings().getNoiseProcessing() == StoreMediaSettings.NoiseProcessing.Cancellation) {
z2 = true;
}
Boolean valueOf = Boolean.valueOf(z2);
m.checkNotNullExpressionValue(bool, "textInVoiceEnabled");
return new WidgetVoiceBottomSheetViewModel.StoreState.Valid(callModel, valueOf, l, bool.booleanValue());
}
return new WidgetVoiceBottomSheetViewModel.StoreState.Valid(callModel, Boolean.valueOf(z2), l);
}
return WidgetVoiceBottomSheetViewModel.StoreState.Invalid.INSTANCE;
}
return WidgetVoiceBottomSheetViewModel.StoreState.Invalid.INSTANCE;
}
public WidgetVoiceBottomSheetViewModel$Companion$observeStoreState$1(long j, StorePermissions storePermissions) {
this.$channelId = j;
this.$permissionsStore = storePermissions;
}
public final Observable<? extends WidgetVoiceBottomSheetViewModel.StoreState> call(Channel channel) {
return Observable.i(CallModel.Companion.get(this.$channelId), this.$permissionsStore.observePermissionsForChannel(this.$channelId), TextInVoiceFeatureFlag.Companion.getINSTANCE().observeEnabled(channel != null ? Long.valueOf(channel.f()) : null), AnonymousClass1.INSTANCE);
}
}

View File

@ -13,7 +13,7 @@ import kotlin.jvm.functions.Function2;
import kotlinx.coroutines.CoroutineScope;
import rx.subjects.PublishSubject;
/* compiled from: WidgetVoiceBottomSheetViewModel.kt */
@e(c = "com.discord.widgets.voice.sheet.WidgetVoiceBottomSheetViewModel$tryConnectToVoice$1", f = "WidgetVoiceBottomSheetViewModel.kt", l = {165, 173}, m = "invokeSuspend")
@e(c = "com.discord.widgets.voice.sheet.WidgetVoiceBottomSheetViewModel$tryConnectToVoice$1", f = "WidgetVoiceBottomSheetViewModel.kt", l = {169, 177}, m = "invokeSuspend")
public final class WidgetVoiceBottomSheetViewModel$tryConnectToVoice$1 extends k implements Function2<CoroutineScope, Continuation<? super Unit>, Object> {
public final /* synthetic */ StoreMediaEngine $mediaEngine;
public int label;

View File

@ -23,6 +23,7 @@ import com.discord.rtcconnection.RtcConnection;
import com.discord.stores.StoreApplicationStreamPreviews;
import com.discord.stores.StoreApplicationStreaming;
import com.discord.stores.StoreCalls;
import com.discord.stores.StoreChannels;
import com.discord.stores.StoreGuilds;
import com.discord.stores.StoreMediaEngine;
import com.discord.stores.StoreMediaSettings;
@ -67,6 +68,7 @@ public final class WidgetVoiceBottomSheetViewModel extends AppViewModel<ViewStat
public static final Companion Companion = new Companion(null);
private final StoreCalls callsStore;
private final long channelId;
private final StoreChannels channelStore;
private final Clock clock;
private final PublishSubject<Event> eventSubject;
private Set<String> fetchedPreviews;
@ -120,14 +122,14 @@ public final class WidgetVoiceBottomSheetViewModel extends AppViewModel<ViewStat
this();
}
public static final /* synthetic */ Observable access$observeStoreState(Companion companion, long j, StorePermissions storePermissions) {
return companion.observeStoreState(j, storePermissions);
public static final /* synthetic */ Observable access$observeStoreState(Companion companion, long j, StorePermissions storePermissions, StoreChannels storeChannels) {
return companion.observeStoreState(j, storePermissions, storeChannels);
}
private final Observable<StoreState> observeStoreState(long j, StorePermissions storePermissions) {
Observable<StoreState> j2 = Observable.j(CallModel.Companion.get(j), storePermissions.observePermissionsForChannel(j), WidgetVoiceBottomSheetViewModel$Companion$observeStoreState$1.INSTANCE);
m.checkNotNullExpressionValue(j2, "Observable.combineLatest…Invalid\n }\n }");
return j2;
private final Observable<StoreState> observeStoreState(long j, StorePermissions storePermissions, StoreChannels storeChannels) {
Observable<R> Y = storeChannels.observeChannel(j).Y(new WidgetVoiceBottomSheetViewModel$Companion$observeStoreState$1(j, storePermissions));
m.checkNotNullExpressionValue(Y, "storeChannels.observeCha… }\n }\n }");
return Y;
}
}
@ -674,17 +676,19 @@ public final class WidgetVoiceBottomSheetViewModel extends AppViewModel<ViewStat
private final CallModel callModel;
private final Long myPermissions;
private final Boolean noiseCancellation;
private final boolean textInVoiceEnabled;
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
public Valid(CallModel callModel, Boolean bool, Long l) {
public Valid(CallModel callModel, Boolean bool, Long l, boolean z2) {
super(null);
m.checkNotNullParameter(callModel, "callModel");
this.callModel = callModel;
this.noiseCancellation = bool;
this.myPermissions = l;
this.textInVoiceEnabled = z2;
}
public static /* synthetic */ Valid copy$default(Valid valid, CallModel callModel, Boolean bool, Long l, int i, Object obj) {
public static /* synthetic */ Valid copy$default(Valid valid, CallModel callModel, Boolean bool, Long l, boolean z2, int i, Object obj) {
if ((i & 1) != 0) {
callModel = valid.callModel;
}
@ -694,7 +698,10 @@ public final class WidgetVoiceBottomSheetViewModel extends AppViewModel<ViewStat
if ((i & 4) != 0) {
l = valid.myPermissions;
}
return valid.copy(callModel, bool, l);
if ((i & 8) != 0) {
z2 = valid.textInVoiceEnabled;
}
return valid.copy(callModel, bool, l, z2);
}
public final CallModel component1() {
@ -709,9 +716,13 @@ public final class WidgetVoiceBottomSheetViewModel extends AppViewModel<ViewStat
return this.myPermissions;
}
public final Valid copy(CallModel callModel, Boolean bool, Long l) {
public final boolean component4() {
return this.textInVoiceEnabled;
}
public final Valid copy(CallModel callModel, Boolean bool, Long l, boolean z2) {
m.checkNotNullParameter(callModel, "callModel");
return new Valid(callModel, bool, l);
return new Valid(callModel, bool, l, z2);
}
public boolean equals(Object obj) {
@ -722,7 +733,7 @@ public final class WidgetVoiceBottomSheetViewModel extends AppViewModel<ViewStat
return false;
}
Valid valid = (Valid) obj;
return m.areEqual(this.callModel, valid.callModel) && m.areEqual(this.noiseCancellation, valid.noiseCancellation) && m.areEqual(this.myPermissions, valid.myPermissions);
return m.areEqual(this.callModel, valid.callModel) && m.areEqual(this.noiseCancellation, valid.noiseCancellation) && m.areEqual(this.myPermissions, valid.myPermissions) && this.textInVoiceEnabled == valid.textInVoiceEnabled;
}
public final CallModel getCallModel() {
@ -737,6 +748,10 @@ public final class WidgetVoiceBottomSheetViewModel extends AppViewModel<ViewStat
return this.noiseCancellation;
}
public final boolean getTextInVoiceEnabled() {
return this.textInVoiceEnabled;
}
public int hashCode() {
CallModel callModel = this.callModel;
int i = 0;
@ -747,7 +762,15 @@ public final class WidgetVoiceBottomSheetViewModel extends AppViewModel<ViewStat
if (l != null) {
i = l.hashCode();
}
return hashCode2 + i;
int i2 = (hashCode2 + i) * 31;
boolean z2 = this.textInVoiceEnabled;
if (z2) {
z2 = true;
}
int i3 = z2 ? 1 : 0;
int i4 = z2 ? 1 : 0;
int i5 = z2 ? 1 : 0;
return i2 + i3;
}
public String toString() {
@ -756,7 +779,9 @@ public final class WidgetVoiceBottomSheetViewModel extends AppViewModel<ViewStat
O.append(", noiseCancellation=");
O.append(this.noiseCancellation);
O.append(", myPermissions=");
return a.E(O, this.myPermissions, ")");
O.append(this.myPermissions);
O.append(", textInVoiceEnabled=");
return a.K(O, this.textInVoiceEnabled, ")");
}
}
@ -954,8 +979,9 @@ public final class WidgetVoiceBottomSheetViewModel extends AppViewModel<ViewStat
}
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
public WidgetVoiceBottomSheetViewModel(long j, boolean z2, StorePermissions storePermissions, StoreVoiceChannelSelected storeVoiceChannelSelected, StoreMediaSettings storeMediaSettings, StoreMediaEngine storeMediaEngine, StoreUserSettings storeUserSettings, StoreCalls storeCalls, StoreGuilds storeGuilds, VideoPermissionsManager videoPermissionsManager, StoreApplicationStreamPreviews storeApplicationStreamPreviews, VoiceEngineServiceController voiceEngineServiceController, Clock clock, TooltipManager tooltipManager, Observable<StoreState> observable) {
public WidgetVoiceBottomSheetViewModel(long j, boolean z2, StoreChannels storeChannels, StorePermissions storePermissions, StoreVoiceChannelSelected storeVoiceChannelSelected, StoreMediaSettings storeMediaSettings, StoreMediaEngine storeMediaEngine, StoreUserSettings storeUserSettings, StoreCalls storeCalls, StoreGuilds storeGuilds, VideoPermissionsManager videoPermissionsManager, StoreApplicationStreamPreviews storeApplicationStreamPreviews, VoiceEngineServiceController voiceEngineServiceController, Clock clock, TooltipManager tooltipManager, Observable<StoreState> observable) {
super(null, 1, null);
m.checkNotNullParameter(storeChannels, "channelStore");
m.checkNotNullParameter(storePermissions, "permissionsStore");
m.checkNotNullParameter(storeVoiceChannelSelected, "selectedVoiceChannelStore");
m.checkNotNullParameter(storeMediaSettings, "mediaSettingsStore");
@ -971,6 +997,7 @@ public final class WidgetVoiceBottomSheetViewModel extends AppViewModel<ViewStat
m.checkNotNullParameter(observable, "storeStateObservable");
this.channelId = j;
this.forwardToFullscreenIfVideoActivated = z2;
this.channelStore = storeChannels;
this.permissionsStore = storePermissions;
this.selectedVoiceChannelStore = storeVoiceChannelSelected;
this.mediaSettingsStore = storeMediaSettings;
@ -989,23 +1016,24 @@ public final class WidgetVoiceBottomSheetViewModel extends AppViewModel<ViewStat
}
/* JADX WARNING: Illegal instructions before constructor call */
public WidgetVoiceBottomSheetViewModel(long j, boolean z2, StorePermissions storePermissions, StoreVoiceChannelSelected storeVoiceChannelSelected, StoreMediaSettings storeMediaSettings, StoreMediaEngine storeMediaEngine, StoreUserSettings storeUserSettings, StoreCalls storeCalls, StoreGuilds storeGuilds, VideoPermissionsManager videoPermissionsManager, StoreApplicationStreamPreviews storeApplicationStreamPreviews, VoiceEngineServiceController voiceEngineServiceController, Clock clock, TooltipManager tooltipManager, Observable observable, int i, DefaultConstructorMarker defaultConstructorMarker) {
this(j, z2, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, (i & 16384) != 0 ? Companion.access$observeStoreState(Companion, j, r6) : observable);
public WidgetVoiceBottomSheetViewModel(long j, boolean z2, StoreChannels storeChannels, StorePermissions storePermissions, StoreVoiceChannelSelected storeVoiceChannelSelected, StoreMediaSettings storeMediaSettings, StoreMediaEngine storeMediaEngine, StoreUserSettings storeUserSettings, StoreCalls storeCalls, StoreGuilds storeGuilds, VideoPermissionsManager videoPermissionsManager, StoreApplicationStreamPreviews storeApplicationStreamPreviews, VoiceEngineServiceController voiceEngineServiceController, Clock clock, TooltipManager tooltipManager, Observable observable, int i, DefaultConstructorMarker defaultConstructorMarker) {
this(j, z2, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, r18, (i & 32768) != 0 ? Companion.access$observeStoreState(Companion, j, r7, r6) : observable);
TooltipManager tooltipManager2;
TooltipManager tooltipManager3;
StorePermissions permissions = (i & 4) != 0 ? StoreStream.Companion.getPermissions() : storePermissions;
StoreVoiceChannelSelected voiceChannelSelected = (i & 8) != 0 ? StoreStream.Companion.getVoiceChannelSelected() : storeVoiceChannelSelected;
StoreMediaSettings mediaSettings = (i & 16) != 0 ? StoreStream.Companion.getMediaSettings() : storeMediaSettings;
StoreMediaEngine mediaEngine = (i & 32) != 0 ? StoreStream.Companion.getMediaEngine() : storeMediaEngine;
StoreUserSettings userSettings = (i & 64) != 0 ? StoreStream.Companion.getUserSettings() : storeUserSettings;
StoreCalls calls = (i & 128) != 0 ? StoreStream.Companion.getCalls() : storeCalls;
StoreGuilds guilds = (i & 256) != 0 ? StoreStream.Companion.getGuilds() : storeGuilds;
StoreChannels channels = (i & 4) != 0 ? StoreStream.Companion.getChannels() : storeChannels;
StorePermissions permissions = (i & 8) != 0 ? StoreStream.Companion.getPermissions() : storePermissions;
StoreVoiceChannelSelected voiceChannelSelected = (i & 16) != 0 ? StoreStream.Companion.getVoiceChannelSelected() : storeVoiceChannelSelected;
StoreMediaSettings mediaSettings = (i & 32) != 0 ? StoreStream.Companion.getMediaSettings() : storeMediaSettings;
StoreMediaEngine mediaEngine = (i & 64) != 0 ? StoreStream.Companion.getMediaEngine() : storeMediaEngine;
StoreUserSettings userSettings = (i & 128) != 0 ? StoreStream.Companion.getUserSettings() : storeUserSettings;
StoreCalls calls = (i & 256) != 0 ? StoreStream.Companion.getCalls() : storeCalls;
StoreGuilds guilds = (i & 512) != 0 ? StoreStream.Companion.getGuilds() : storeGuilds;
TooltipManager tooltipManager4 = null;
VideoPermissionsManager videoPermissionsManager2 = (i & 512) != 0 ? new VideoPermissionsManager(null, 1, null) : videoPermissionsManager;
StoreApplicationStreamPreviews applicationStreamPreviews = (i & 1024) != 0 ? StoreStream.Companion.getApplicationStreamPreviews() : storeApplicationStreamPreviews;
VoiceEngineServiceController instance = (i & 2048) != 0 ? VoiceEngineServiceController.Companion.getINSTANCE() : voiceEngineServiceController;
Clock clock2 = (i & 4096) != 0 ? ClockFactory.get() : clock;
if ((i & 8192) != 0) {
VideoPermissionsManager videoPermissionsManager2 = (i & 1024) != 0 ? new VideoPermissionsManager(null, 1, null) : videoPermissionsManager;
StoreApplicationStreamPreviews applicationStreamPreviews = (i & 2048) != 0 ? StoreStream.Companion.getApplicationStreamPreviews() : storeApplicationStreamPreviews;
VoiceEngineServiceController instance = (i & 4096) != 0 ? VoiceEngineServiceController.Companion.getINSTANCE() : voiceEngineServiceController;
Clock clock2 = (i & 8192) != 0 ? ClockFactory.get() : clock;
if ((i & 16384) != 0) {
AppLog appLog = AppLog.g;
m.checkNotNullParameter(appLog, "logger");
WeakReference<c.a.j.a> weakReference = a.b.a;
@ -1143,7 +1171,7 @@ public final class WidgetVoiceBottomSheetViewModel extends AppViewModel<ViewStat
this.mostRecentStoreState = storeState;
if (storeState instanceof StoreState.Valid) {
StoreState.Valid valid = (StoreState.Valid) storeState;
boolean z2 = valid.getCallModel().isConnected() && valid.getCallModel().isVideoCall() && this.forwardToFullscreenIfVideoActivated;
boolean z2 = valid.getCallModel().isConnected() && this.forwardToFullscreenIfVideoActivated && (valid.getCallModel().isVideoCall() || valid.getTextInVoiceEnabled());
if (valid.getCallModel().isConnected() && ChannelUtils.z(valid.getCallModel().getChannel())) {
this.eventSubject.j.onNext(new Event.LaunchStageChannel(valid.getCallModel().getChannel().h()));
}

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<com.discord.widgets.botuikit.views.ButtonComponentView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="wrap_content" android:layout_height="wrap_content" android:minWidth="56dp">
<com.discord.widgets.botuikit.views.ButtonComponentView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="wrap_content" android:layout_height="wrap_content" android:minWidth="52dp">
<com.google.android.material.button.MaterialButton android:id="@+id/button" android:layout_width="0dp" android:layout_height="wrap_content" android:minHeight="36dp" android:insetLeft="0dp" android:insetRight="0dp" android:insetTop="0dp" android:insetBottom="0dp" app:layout_constraintEnd_toEndOf="0" app:layout_constraintStart_toStartOf="0" style="@style/UiKit_Material_Button_Secondary"/>
<com.facebook.drawee.view.SimpleDraweeView android:id="@+id/emoji" android:visibility="visible" android:layout_width="20dp" android:layout_height="20dp" android:layout_marginStart="16dp" android:elevation="12dp" app:actualImageScaleType="2" app:layout_constraintBottom_toBottomOf="0" app:layout_constraintEnd_toStartOf="@+id/label" app:layout_constraintStart_toStartOf="0" app:layout_constraintTop_toTopOf="0"/>
<com.google.android.material.textview.MaterialTextView android:textAppearance="@style/UiKit_TextAppearance_Button" android:textColor="@color/white" android:ellipsize="end" android:id="@+id/label" android:paddingLeft="16dp" android:paddingRight="16dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:maxLines="1" android:elevation="12dp" android:paddingHorizontal="16dp" app:layout_constrainedWidth="true" app:layout_constraintBottom_toBottomOf="0" app:layout_constraintEnd_toStartOf="@+id/link_icon" app:layout_constraintStart_toEndOf="@+id/emoji" app:layout_constraintTop_toTopOf="0"/>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<com.discord.widgets.botuikit.views.ButtonComponentView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="wrap_content" android:layout_height="wrap_content" android:minWidth="56dp">
<com.discord.widgets.botuikit.views.ButtonComponentView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="wrap_content" android:layout_height="wrap_content" android:minWidth="52dp">
<com.google.android.material.button.MaterialButton android:id="@+id/button" android:layout_width="0dp" android:layout_height="wrap_content" android:minHeight="36dp" android:insetLeft="0dp" android:insetRight="0dp" android:insetTop="0dp" android:insetBottom="0dp" app:layout_constraintEnd_toEndOf="0" app:layout_constraintStart_toStartOf="0" style="@style/UiKit_Material_Button_Secondary"/>
<com.facebook.drawee.view.SimpleDraweeView android:id="@+id/emoji" android:visibility="visible" android:layout_width="20dp" android:layout_height="20dp" android:layout_marginStart="16dp" android:elevation="12dp" app:actualImageScaleType="2" app:layout_constraintBottom_toBottomOf="0" app:layout_constraintEnd_toStartOf="@+id/label" app:layout_constraintStart_toStartOf="0" app:layout_constraintTop_toTopOf="0"/>
<com.google.android.material.textview.MaterialTextView android:textAppearance="@style/UiKit_TextAppearance_Button" android:textColor="@color/white" android:ellipsize="end" android:id="@+id/label" android:paddingLeft="16dp" android:paddingRight="16dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:maxLines="1" android:elevation="12dp" app:layout_constrainedWidth="true" app:layout_constraintBottom_toBottomOf="0" app:layout_constraintEnd_toStartOf="@+id/link_icon" app:layout_constraintStart_toEndOf="@+id/emoji" app:layout_constraintTop_toTopOf="0"/>

View File

@ -3606,10 +3606,10 @@
<string name="guild_role_manage_subscription_payment_method_label">Payment Method</string>
<string name="guild_role_subscription_amount_per_period">per {period}</string>
<string name="guild_role_subscription_benefit">Benefit</string>
<string name="guild_role_subscription_benefit_channel_description_placeholder">What can subscribers do in this channel?</string>
<string name="guild_role_subscription_benefit_channel_modal_title">Exclusive Channel</string>
<string name="guild_role_subscription_benefit_channel_modal_warning">Adding a channel to a premium tier will remove access to server members who are not premium subscribers.</string>
<string name="guild_role_subscription_benefit_channel_select_create_label">Create a new channel</string>
<string name="guild_role_subscription_benefit_channel_select_placeholder">What can subscribers do in this channel?</string>
<string name="guild_role_subscription_benefit_edit_aria_label">Edit benefit</string>
<string name="guild_role_subscription_benefit_emoji_placeholder">Type or select an emoji</string>
<string name="guild_role_subscription_benefit_import_button">Import</string>
@ -3617,6 +3617,7 @@
<string name="guild_role_subscription_benefit_import_header_title">Import Perks</string>
<string name="guild_role_subscription_benefit_import_num_benefits">{channels} &amp; {benefits}</string>
<string name="guild_role_subscription_benefit_import_select_role">Select a role</string>
<string name="guild_role_subscription_benefit_intangible_description_placeholder">What do subscribers get?</string>
<string name="guild_role_subscription_benefit_intangible_modal_title">Additional Benefit</string>
<string name="guild_role_subscription_benefit_intangible_name_title">Perk</string>
<string name="guild_role_subscription_channel_benefit_description_placeholder">What can members do in this channel?</string>
@ -5970,8 +5971,8 @@
<string name="move_members_description">Members with this permission can drag other members out of this channel. They can only move members between channels both they and the member they are moving have access.</string>
<string name="move_to">Move To</string>
<string name="move_to_success">User has been moved to the selected channel.</string>
<string name="res_2131892070_msg_alert_cleared">Alert Cleared</string>
<string name="res_2131892071_msg_no_alert_showing">No Alert Showing</string>
<string name="res_2131892071_msg_alert_cleared">Alert Cleared</string>
<string name="res_2131892072_msg_no_alert_showing">No Alert Showing</string>
<string name="mtrl_badge_numberless_content_description">New notification</string>
<string name="mtrl_chip_close_icon_content_description">Remove %1$s</string>
<string name="mtrl_exceed_max_badge_number_content_description">More than %1$d new notifications</string>
@ -9496,8 +9497,10 @@
<string name="user_activity_user_playing_for_minutes">for {time} {time}</string>
<string name="user_activity_watch_along">Watch Along</string>
<string name="user_dm_settings">Server Privacy Defaults</string>
<string name="user_dm_settings_description">Do you want to also apply this change to all your existing servers? You can also disable direct messages on individual servers by visiting that servers settings page.</string>
<string name="user_dm_settings_help">This setting is applied when you join a new server. It does not apply retroactively to your existing servers.</string>
<string name="user_dm_settings_question">Do you want to also apply this change to all your existing servers?</string>
<string name="user_dm_settings_title">Server Privacy</string>
<string name="user_explicit_content_filter">Safe Direct Messaging</string>
<string name="user_explicit_content_filter_disabled">Do not scan</string>
<string name="user_explicit_content_filter_disabled_help">Direct messages will not be scanned for explicit content.</string>

View File

@ -3606,10 +3606,10 @@
<string name="guild_role_manage_subscription_payment_method_label">[Þåýḿéñţ Ḿéţĥöð one two three]</string>
<string name="guild_role_subscription_amount_per_period">[þéŕ »{period}« one]</string>
<string name="guild_role_subscription_benefit">[βéñéƒîţ one two]</string>
<string name="guild_role_subscription_benefit_channel_description_placeholder">[Ŵĥåţ çåñ šûɓšçŕîɓéŕš ðö îñ ţĥîš çĥåññéļ¿ one two three four five]</string>
<string name="guild_role_subscription_benefit_channel_modal_title">хçļûšîVé Çĥåññéļ one two three]</string>
<string name="guild_role_subscription_benefit_channel_modal_warning">[Åððîñĝ å çĥåññéļ ţö å þŕéḿîûḿ ţîéŕ ŵîļļ ŕéḿöVé åççéšš ţö šéŕVéŕ ḿéḿɓéŕš ŵĥö åŕé ñöţ þŕéḿîûḿ šûɓšçŕîɓéŕš. one two three four five six seven eight nine ten eleven]</string>
<string name="guild_role_subscription_benefit_channel_select_create_label">[Çŕéåţé å ñéŵ çĥåññéļ one two three]</string>
<string name="guild_role_subscription_benefit_channel_select_placeholder">[Ŵĥåţ çåñ šûɓšçŕîɓéŕš ðö îñ ţĥîš çĥåññéļ¿ one two three four five]</string>
<string name="guild_role_subscription_benefit_edit_aria_label">[Éðîţ ɓéñéƒîţ one two]</string>
<string name="guild_role_subscription_benefit_emoji_placeholder">[Ţýþé öŕ šéļéçţ åñ éḿöĵî one two three]</string>
<string name="guild_role_subscription_benefit_import_button">[Îḿþöŕţ one two]</string>
@ -3617,6 +3617,7 @@
<string name="guild_role_subscription_benefit_import_header_title">[Îḿþöŕţ Þéŕķš one two]</string>
<string name="guild_role_subscription_benefit_import_num_benefits">[»{channels}« &amp; »{benefits}« one]</string>
<string name="guild_role_subscription_benefit_import_select_role">[Šéļéçţ å ŕöļé one two]</string>
<string name="guild_role_subscription_benefit_intangible_description_placeholder">[Ŵĥåţ ðö šûɓšçŕîɓéŕš ĝéţ¿ one two three]</string>
<string name="guild_role_subscription_benefit_intangible_modal_title">[Åððîţîöñåļ βéñéƒîţ one two three]</string>
<string name="guild_role_subscription_benefit_intangible_name_title">[Þéŕķ one]</string>
<string name="guild_role_subscription_channel_benefit_description_placeholder">[Ŵĥåţ çåñ ḿéḿɓéŕš ðö îñ ţĥîš çĥåññéļ¿ one two three four five]</string>
@ -5970,8 +5971,8 @@
<string name="move_members_description">[Ḿéḿɓéŕš ŵîţĥ ţĥîš þéŕḿîššîöñ çåñ ðŕåĝ öţĥéŕ ḿéḿɓéŕš öûţ öƒ ţĥîš çĥåññéļ. Ţĥéý çåñ öñļý ḿöVé ḿéḿɓéŕš ɓéţŵééñ çĥåññéļš ɓöţĥ ţĥéý åñð ţĥé ḿéḿɓéŕ ţĥéý åŕé ḿöVîñĝ ĥåVé åççéšš. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen]</string>
<string name="move_to">[ḾöVé Ţö one two]</string>
<string name="move_to_success">[Ûšéŕ ĥåš ɓééñ ḿöVéð ţö ţĥé šéļéçţéð çĥåññéļ. one two three four five]</string>
<string name="res_2131892070_msg_alert_cleared">[Åļéŕţ Çļéåŕéð one two]</string>
<string name="res_2131892071_msg_no_alert_showing">[Ñö Åļéŕţ Šĥöŵîñĝ one two three]</string>
<string name="res_2131892071_msg_alert_cleared">[Åļéŕţ Çļéåŕéð one two]</string>
<string name="res_2131892072_msg_no_alert_showing">[Ñö Åļéŕţ Šĥöŵîñĝ one two three]</string>
<string name="mtrl_badge_numberless_content_description">[Ñéŵ ñöţîƒîçåţîöñ one two three]</string>
<string name="mtrl_chip_close_icon_content_description">[ŔéḿöVé »%1$s« one two]</string>
<string name="mtrl_exceed_max_badge_number_content_description">[Ḿöŕé ţĥåñ %1$d ñéŵ ñöţîƒîçåţîöñš one two three four]</string>
@ -9496,8 +9497,10 @@
<string name="user_activity_user_playing_for_minutes">[ƒöŕ »{time}« »{time}« one]</string>
<string name="user_activity_watch_along">[Ŵåţçĥ Åļöñĝ one two]</string>
<string name="user_dm_settings">[ŠéŕVéŕ ÞŕîVåçý Ðéƒåûļţš one two three]</string>
<string name="user_dm_settings_description">[Ðö ýöû ŵåñţ ţö åļšö åþþļý ţĥîš çĥåñĝé ţö åļļ ýöûŕ éхîšţîñĝ šéŕVéŕš¿ Ýöû çåñ åļšö ðîšåɓļé ðîŕéçţ ḿéššåĝéš öñ îñðîVîðûåļ šéŕVéŕš ɓý Vîšîţîñĝ ţĥåţ šéŕVéŕš šéţţîñĝš þåĝé. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen]</string>
<string name="user_dm_settings_help">[Ţĥîš šéţţîñĝ îš åþþļîéð ŵĥéñ ýöû ĵöîñ å ñéŵ šéŕVéŕ. Îţ ðöéš ñöţ åþþļý ŕéţŕöåçţîVéļý ţö ýöûŕ éхîšţîñĝ šéŕVéŕš. one two three four five six seven eight nine ten eleven]</string>
<string name="user_dm_settings_question">[Ðö ýöû ŵåñţ ţö åļšö åþþļý ţĥîš çĥåñĝé ţö åļļ ýöûŕ éхîšţîñĝ šéŕVéŕš¿ one two three four five six seven eight]</string>
<string name="user_dm_settings_title">[ŠéŕVéŕ ÞŕîVåçý one two three]</string>
<string name="user_explicit_content_filter">[Šåƒé Ðîŕéçţ Ḿéššåĝîñĝ one two three]</string>
<string name="user_explicit_content_filter_disabled">[Ðö ñöţ šçåñ one two]</string>
<string name="user_explicit_content_filter_disabled_help">[Ðîŕéçţ ḿéššåĝéš ŵîļļ ñöţ ɓé šçåññéð ƒöŕ éхþļîçîţ çöñţéñţ. one two three four five six seven]</string>

File diff suppressed because it is too large Load Diff

View File

@ -1446,7 +1446,7 @@
<string name="color_picker_title">Select a color</string>
<string name="color_picker_transparency">Transparency</string>
<string name="color_picker_use_default">Use Default</string>
<string name="res_2131887527_com_crashlytics_android_build_id">7852a530ec9543719c9290dd0237123c</string>
<string name="res_2131887527_com_crashlytics_android_build_id">5d755f33c77f405688dab4f5133c426c</string>
<string name="coming_soon">Coming Soon</string>
<string name="command_accessibility_desc_app_header_item">Slash command application {applicationName}</string>
<string name="command_accessibility_desc_app_item">{applicationName} application</string>
@ -3622,10 +3622,10 @@
<string name="guild_role_manage_subscription_payment_method_label">Payment Method</string>
<string name="guild_role_subscription_amount_per_period">per {period}</string>
<string name="guild_role_subscription_benefit">Benefit</string>
<string name="guild_role_subscription_benefit_channel_description_placeholder">What can subscribers do in this channel?</string>
<string name="guild_role_subscription_benefit_channel_modal_title">Exclusive Channel</string>
<string name="guild_role_subscription_benefit_channel_modal_warning">Adding a channel to a premium tier will remove access to server members who are not premium subscribers.</string>
<string name="guild_role_subscription_benefit_channel_select_create_label">Create a new channel</string>
<string name="guild_role_subscription_benefit_channel_select_placeholder">What can subscribers do in this channel?</string>
<string name="guild_role_subscription_benefit_edit_aria_label">Edit benefit</string>
<string name="guild_role_subscription_benefit_emoji_placeholder">Type or select an emoji</string>
<string name="guild_role_subscription_benefit_import_button">Import</string>
@ -3633,6 +3633,7 @@
<string name="guild_role_subscription_benefit_import_header_title">Import Perks</string>
<string name="guild_role_subscription_benefit_import_num_benefits">{channels} &amp; {benefits}</string>
<string name="guild_role_subscription_benefit_import_select_role">Select a role</string>
<string name="guild_role_subscription_benefit_intangible_description_placeholder">What do subscribers get?</string>
<string name="guild_role_subscription_benefit_intangible_modal_title">Additional Benefit</string>
<string name="guild_role_subscription_benefit_intangible_name_title">Perk</string>
<string name="guild_role_subscription_channel_benefit_description_placeholder">What can members do in this channel?</string>
@ -5989,8 +5990,8 @@
<string name="move_members_description">Members with this permission can drag other members out of this channel. They can only move members between channels both they and the member they are moving have access.</string>
<string name="move_to">Move To</string>
<string name="move_to_success">User has been moved to the selected channel.</string>
<string name="res_2131892070_msg_alert_cleared">Alert Cleared</string>
<string name="res_2131892071_msg_no_alert_showing">No Alert Showing</string>
<string name="res_2131892071_msg_alert_cleared">Alert Cleared</string>
<string name="res_2131892072_msg_no_alert_showing">No Alert Showing</string>
<string name="mtrl_badge_numberless_content_description">New notification</string>
<string name="mtrl_chip_close_icon_content_description">Remove %1$s</string>
<string name="mtrl_exceed_max_badge_number_content_description">More than %1$d new notifications</string>
@ -9525,8 +9526,10 @@
<string name="user_activity_user_playing_for_minutes">for {time} {time}</string>
<string name="user_activity_watch_along">Watch Along</string>
<string name="user_dm_settings">Server Privacy Defaults</string>
<string name="user_dm_settings_description">Do you want to also apply this change to all your existing servers? You can also disable direct messages on individual servers by visiting that servers settings page.</string>
<string name="user_dm_settings_help">This setting is applied when you join a new server. It does not apply retroactively to your existing servers.</string>
<string name="user_dm_settings_question">Do you want to also apply this change to all your existing servers?</string>
<string name="user_dm_settings_title">Server Privacy</string>
<string name="user_explicit_content_filter">Safe Direct Messaging</string>
<string name="user_explicit_content_filter_disabled">Do not scan</string>
<string name="user_explicit_content_filter_disabled_help">Direct messages will not be scanned for explicit content.</string>