82.20 - Stable (82020)

This commit is contained in:
Juby210 2021-07-15 00:55:53 +02:00
parent 0f830f2e49
commit 4ebeb8b7d5
16 changed files with 48 additions and 27 deletions

View file

@ -10,8 +10,8 @@ android {
applicationId 'com.discord'
minSdkVersion 21
targetSdkVersion 29
versionCode 82019
versionName "82.19 - Stable"
versionCode 82020
versionName "82.20 - Stable"
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="82019" android:versionName="82.19 - Stable" 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="82020" android:versionName="82.20 - Stable" 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

@ -172,7 +172,7 @@ public class App extends Application {
loggingProvider.init(appLog);
c.i.c.c.e(this);
String str = null;
if (BuildUtils.INSTANCE.isValidBuildVersionName("82.19 - Stable")) {
if (BuildUtils.INSTANCE.isValidBuildVersionName("82.20 - Stable")) {
FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(true);
} else {
FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(false);

View file

@ -15,7 +15,7 @@ public final class StoreClientVersion extends Store {
private int clientMinVersion;
private final String clientMinVersionKey = "CLIENT_OUTDATED_KEY";
private final SerializedSubject<Boolean, Boolean> clientOutdatedSubject = new SerializedSubject<>(BehaviorSubject.l0(Boolean.FALSE));
private final int clientVersion = 82019;
private final int clientVersion = 82020;
public static final /* synthetic */ void access$setClientMinVersion(StoreClientVersion storeClientVersion, int i) {
storeClientVersion.setClientMinVersion(i);

View file

@ -5,6 +5,7 @@ import com.discord.models.domain.emoji.ModelEmojiCustom;
import com.discord.stores.StoreEmoji;
import com.discord.stores.StoreMediaFavorites;
import com.discord.utilities.Quad;
import com.discord.utilities.rx.ObservableExtensionsKt;
import d0.z.d.m;
import j0.k.b;
import java.util.List;
@ -71,6 +72,6 @@ public final class StoreEmoji$getEmojiSet$4<T, R> implements b<Quad<? extends Bo
}
public final Observable<? extends EmojiSet> call(Quad<Boolean, Boolean, ? extends List<Long>, ? extends Set<? extends StoreMediaFavorites.Favorite>> quad) {
return StoreEmoji.access$getCustomEmojiStore$p(this.this$0).observeAllowedGuildEmoji().F(new AnonymousClass1(this, (List) quad.component3(), quad.component1(), quad.component2(), (Set) quad.component4()));
return ObservableExtensionsKt.computationLatest(StoreEmoji.access$getCustomEmojiStore$p(this.this$0).observeAllowedGuildEmoji()).F(new AnonymousClass1(this, (List) quad.component3(), quad.component1(), quad.component2(), (Set) quad.component4()));
}
}

View file

@ -77,7 +77,7 @@ public final class AnalyticSuperProperties {
private final void setBaselineProperties() {
String locale = Locale.getDefault().toString();
m.checkNotNullExpressionValue(locale, "Locale.getDefault().toString()");
updateSuperProperties(h0.mapOf(o.to("browser", "Discord Android"), o.to("browser_user_agent", "Discord-Android/82019"), o.to("client_build_number", 82019), o.to("client_version", "82.19 - Stable"), o.to("device", Build.MODEL + ", " + Build.PRODUCT), o.to("os", "Android"), o.to("os_sdk_version", String.valueOf(Build.VERSION.SDK_INT)), o.to("os_version", Build.VERSION.RELEASE), o.to("system_locale", t.replace$default(locale, "_", "-", false, 4, (Object) null))));
updateSuperProperties(h0.mapOf(o.to("browser", "Discord Android"), o.to("browser_user_agent", "Discord-Android/82020"), o.to("client_build_number", 82020), o.to("client_version", "82.20 - Stable"), o.to("device", Build.MODEL + ", " + Build.PRODUCT), o.to("os", "Android"), o.to("os_sdk_version", String.valueOf(Build.VERSION.SDK_INT)), o.to("os_version", Build.VERSION.RELEASE), o.to("system_locale", t.replace$default(locale, "_", "-", false, 4, (Object) null))));
}
private final void setSuperProperties(Map<String, ? extends Object> map) {

View file

@ -177,7 +177,7 @@ public final class RestAPI implements RestAPIInterface {
@Override // com.discord.restapi.RequiredHeadersInterceptor.HeadersProvider
public String getUserAgent() {
return "Discord-Android/82019";
return "Discord-Android/82020";
}
}

View file

@ -16,10 +16,10 @@ public final class ChatInputAutocompletables$observeChannelAutocompletables$1<T,
/* compiled from: ChatInputAutocompletables.kt */
/* renamed from: com.discord.widgets.chat.input.autocomplete.ChatInputAutocompletables$observeChannelAutocompletables$1$1 reason: invalid class name */
public static final class AnonymousClass1<T1, T2, T3, T4, R> implements Func4<Map<LeadingIdentifier, ? extends TreeSet<Autocompletable>>, Map<LeadingIdentifier, ? extends TreeSet<Autocompletable>>, Map<LeadingIdentifier, ? extends TreeSet<Autocompletable>>, Map<LeadingIdentifier, ? extends TreeSet<Autocompletable>>, Map<LeadingIdentifier, TreeSet<Autocompletable>>> {
public static final class AnonymousClass1<T1, T2, T3, T4, R> implements Func4<Map<LeadingIdentifier, ? extends TreeSet<Autocompletable>>, Map<LeadingIdentifier, ? extends TreeSet<Autocompletable>>, Map<LeadingIdentifier, ? extends TreeSet<Autocompletable>>, Map<LeadingIdentifier, ? extends TreeSet<Autocompletable>>, Map<LeadingIdentifier, ? extends Set<? extends Autocompletable>>> {
public static final AnonymousClass1 INSTANCE = new AnonymousClass1();
public final Map<LeadingIdentifier, TreeSet<Autocompletable>> call(Map<LeadingIdentifier, ? extends TreeSet<Autocompletable>> map, Map<LeadingIdentifier, ? extends TreeSet<Autocompletable>> map2, Map<LeadingIdentifier, ? extends TreeSet<Autocompletable>> map3, Map<LeadingIdentifier, ? extends TreeSet<Autocompletable>> map4) {
public final Map<LeadingIdentifier, Set<Autocompletable>> call(Map<LeadingIdentifier, ? extends TreeSet<Autocompletable>> map, Map<LeadingIdentifier, ? extends TreeSet<Autocompletable>> map2, Map<LeadingIdentifier, ? extends TreeSet<Autocompletable>> map3, Map<LeadingIdentifier, ? extends TreeSet<Autocompletable>> map4) {
LinkedHashMap linkedHashMap = new LinkedHashMap();
m.checkNotNullExpressionValue(map, "commands");
ChatInputAutocompletablesKt.access$merge(linkedHashMap, map);

View file

@ -1,6 +1,7 @@
package com.discord.widgets.chat.input.autocomplete;
import com.discord.stores.StoreStream;
import com.discord.utilities.rx.ObservableExtensionsKt;
import com.discord.utilities.rx.ObservableExtensionsKt$filterNull$1;
import com.discord.utilities.rx.ObservableExtensionsKt$filterNull$2;
import com.discord.widgets.chat.input.autocomplete.sources.ApplicationCommandsAutocompletableSource;
@ -43,8 +44,8 @@ public final class ChatInputAutocompletables {
public final Observable<Map<LeadingIdentifier, Set<Autocompletable>>> observeChannelAutocompletables() {
Observable<R> F = StoreStream.Companion.getChannelsSelected().observeSelectedChannel().x(ObservableExtensionsKt$filterNull$1.INSTANCE).F(ObservableExtensionsKt$filterNull$2.INSTANCE);
m.checkNotNullExpressionValue(F, "filter { it != null }.map { it!! }");
Observable<Map<LeadingIdentifier, Set<Autocompletable>>> Y = F.Y(ChatInputAutocompletables$observeChannelAutocompletables$1.INSTANCE);
m.checkNotNullExpressionValue(Y, "StoreStream.getChannelsS…les\n }\n }");
return Y;
Observable Y = F.Y(ChatInputAutocompletables$observeChannelAutocompletables$1.INSTANCE);
m.checkNotNullExpressionValue(Y, "StoreStream.getChannelsS…e>>\n }\n }");
return ObservableExtensionsKt.computationLatest(Y);
}
}

View file

@ -8,6 +8,7 @@ import com.discord.models.commands.ApplicationCommand;
import com.discord.models.commands.ApplicationCommandOption;
import com.discord.stores.StoreApplicationCommands;
import com.discord.stores.StoreStream;
import com.discord.utilities.rx.ObservableExtensionsKt;
import com.discord.widgets.chat.input.WidgetChatInputDiscoveryCommandsModel;
import com.discord.widgets.chat.input.autocomplete.ApplicationCommandAutocompletable;
import com.discord.widgets.chat.input.autocomplete.ApplicationCommandChoiceAutocompletable;
@ -93,8 +94,10 @@ public final class ApplicationCommandsAutocompletableSource {
public final Observable<Map<LeadingIdentifier, TreeSet<Autocompletable>>> observeApplicationCommandAutocompletables(Channel channel) {
m.checkNotNullParameter(channel, "channel");
Observable<Map<LeadingIdentifier, TreeSet<Autocompletable>>> r = Observable.j(this.storeApplicationCommands.observeGuildApplications(channel.h()), this.storeApplicationCommands.observeQueryCommands(channel.h()), new ApplicationCommandsAutocompletableSource$observeApplicationCommandAutocompletables$1(this)).r();
m.checkNotNullExpressionValue(r, "Observable.combineLatest… }.distinctUntilChanged()");
Observable j = Observable.j(ObservableExtensionsKt.computationLatest(this.storeApplicationCommands.observeGuildApplications(channel.h())), ObservableExtensionsKt.computationLatest(this.storeApplicationCommands.observeQueryCommands(channel.h())), new ApplicationCommandsAutocompletableSource$observeApplicationCommandAutocompletables$1(this));
m.checkNotNullExpressionValue(j, "Observable.combineLatest… TreeSet())\n }\n }");
Observable<Map<LeadingIdentifier, TreeSet<Autocompletable>>> r = ObservableExtensionsKt.computationLatest(j).r();
m.checkNotNullExpressionValue(r, "Observable.combineLatest… .distinctUntilChanged()");
return r;
}
}

View file

@ -31,7 +31,9 @@ public final class ChannelAutocompletableSource {
}
public final Observable<Map<LeadingIdentifier, TreeSet<Autocompletable>>> observeChannelAutocompletables(long j) {
Observable r = Observable.j(StoreChannels.observeChannelsForGuild$default(this.storeChannels, j, null, 2, null), this.storePermissions.observePermissionsForAllChannels(), ChannelAutocompletableSource$observeChannelAutocompletables$1.INSTANCE).r();
Observable j2 = Observable.j(ObservableExtensionsKt.computationLatest(StoreChannels.observeChannelsForGuild$default(this.storeChannels, j, null, 2, null)), ObservableExtensionsKt.computationLatest(this.storePermissions.observePermissionsForAllChannels()), ChannelAutocompletableSource$observeChannelAutocompletables$1.INSTANCE);
m.checkNotNullExpressionValue(j2, "Observable.combineLatest…ANNELS to channels)\n }");
Observable r = ObservableExtensionsKt.computationLatest(j2).r();
m.checkNotNullExpressionValue(r, "Observable.combineLatest… .distinctUntilChanged()");
return ObservableExtensionsKt.leadingEdgeThrottle(r, 500, TimeUnit.MILLISECONDS);
}

View file

@ -6,6 +6,7 @@ import com.discord.models.domain.emoji.Emoji;
import com.discord.models.domain.emoji.EmojiSet;
import com.discord.stores.StoreEmoji;
import com.discord.stores.StoreUserSettings;
import com.discord.utilities.rx.ObservableExtensionsKt;
import com.discord.widgets.chat.input.autocomplete.Autocompletable;
import com.discord.widgets.chat.input.autocomplete.AutocompletableComparator;
import com.discord.widgets.chat.input.autocomplete.EmojiAutocompletable;
@ -68,8 +69,10 @@ public final class EmojiAutocompletableSource {
public final Observable<Map<LeadingIdentifier, TreeSet<Autocompletable>>> observeEmojiAutocompletables(Channel channel) {
m.checkNotNullParameter(channel, "channel");
Observable<Map<LeadingIdentifier, TreeSet<Autocompletable>>> r = Observable.j(this.emojiStore.getEmojiSet(channel.f(), channel.h(), EmojiAutocompletePremiumUpsellFeatureFlag.Companion.getINSTANCE().isEnabled(), false), this.userSettingsStore.observeIsAnimatedEmojisEnabled(true), new EmojiAutocompletableSource$observeEmojiAutocompletables$1(this)).r();
m.checkNotNullExpressionValue(r, "Observable.combineLatest… }.distinctUntilChanged()");
Observable j = Observable.j(ObservableExtensionsKt.computationLatest(this.emojiStore.getEmojiSet(channel.f(), channel.h(), EmojiAutocompletePremiumUpsellFeatureFlag.Companion.getINSTANCE().isEnabled(), false)), ObservableExtensionsKt.computationLatest(this.userSettingsStore.observeIsAnimatedEmojisEnabled(true)), new EmojiAutocompletableSource$observeEmojiAutocompletables$1(this));
m.checkNotNullExpressionValue(j, "Observable.combineLatest… animationsEnabled)\n }");
Observable<Map<LeadingIdentifier, TreeSet<Autocompletable>>> r = ObservableExtensionsKt.computationLatest(j).r();
m.checkNotNullExpressionValue(r, "Observable.combineLatest… .distinctUntilChanged()");
return r;
}
}

View file

@ -174,19 +174,30 @@ public final class UserAutocompletableSource {
m.checkNotNullParameter(channel, "channel");
long f = channel.f();
if (UserMentionableSourceKt.access$isGuildChannelOrThread(channel)) {
Observable<Long> observeMeId = this.storeUsers.observeMeId();
Observable computationLatest = ObservableExtensionsKt.computationLatest(this.storeUsers.observeMeId());
Observable<R> F = this.storeGuilds.observeGuild(f).x(ObservableExtensionsKt$filterNull$1.INSTANCE).F(ObservableExtensionsKt$filterNull$2.INSTANCE);
m.checkNotNullExpressionValue(F, "filter { it != null }.map { it!! }");
Observable r = F.F(UserAutocompletableSource$observeUserAutocompletables$1.INSTANCE).r();
Observable<Map<Long, GuildRole>> observeRoles = this.storeGuilds.observeRoles(f);
m.checkNotNullExpressionValue(r, "storeGuilds.observeGuild… }.distinctUntilChanged()");
Observable computationLatest2 = ObservableExtensionsKt.computationLatest(r);
Observable computationLatest3 = ObservableExtensionsKt.computationLatest(this.storeGuilds.observeRoles(f));
Observable<Map<Long, GuildMember>> observeComputed = this.storeGuilds.observeComputed(f);
TimeUnit timeUnit = TimeUnit.SECONDS;
observable = Observable.d(observeMeId, r, observeRoles, ObservableExtensionsKt.leadingEdgeThrottle(observeComputed, 5, timeUnit), this.storeUsers.observeAllUsers(), ObservableExtensionsKt.leadingEdgeThrottle(this.storePresences.observeAllPresences(), 10, timeUnit), this.storePermissions.observePermissionsForChannel(channel.h()).r(), this.storeChannels.observeChannel(channel.r()).r(), new UserAutocompletableSource$observeUserAutocompletables$2(this, channel));
Observable computationLatest4 = ObservableExtensionsKt.computationLatest(ObservableExtensionsKt.leadingEdgeThrottle(observeComputed, 5, timeUnit));
Observable computationLatest5 = ObservableExtensionsKt.computationLatest(this.storeUsers.observeAllUsers());
Observable computationLatest6 = ObservableExtensionsKt.computationLatest(ObservableExtensionsKt.leadingEdgeThrottle(this.storePresences.observeAllPresences(), 10, timeUnit));
Observable<Long> r2 = this.storePermissions.observePermissionsForChannel(channel.h()).r();
m.checkNotNullExpressionValue(r2, "storePermissions.observe…d).distinctUntilChanged()");
Observable computationLatest7 = ObservableExtensionsKt.computationLatest(r2);
Observable<Channel> r3 = this.storeChannels.observeChannel(channel.r()).r();
m.checkNotNullExpressionValue(r3, "storeChannels.observeCha…d).distinctUntilChanged()");
observable = Observable.d(computationLatest, computationLatest2, computationLatest3, computationLatest4, computationLatest5, computationLatest6, computationLatest7, ObservableExtensionsKt.computationLatest(r3), new UserAutocompletableSource$observeUserAutocompletables$2(this, channel));
} else {
observable = UserMentionableSourceKt.access$isDmOrGroupDm(channel) ? Observable.A(AnimatableValueParser.G0(channel)).F(UserAutocompletableSource$observeUserAutocompletables$3.INSTANCE).f0().Y(new UserAutocompletableSource$observeUserAutocompletables$4(this, channel)) : new j(h0.emptyMap());
}
Observable<Map<LeadingIdentifier, TreeSet<Autocompletable>>> r2 = observable.r();
m.checkNotNullExpressionValue(r2, "when {\n // Guild Ch… .distinctUntilChanged()");
return r2;
m.checkNotNullExpressionValue(observable, "when {\n // Guild Ch…vable.just(mapOf())\n }");
Observable<Map<LeadingIdentifier, TreeSet<Autocompletable>>> r4 = ObservableExtensionsKt.computationLatest(observable).r();
m.checkNotNullExpressionValue(r4, "when {\n // Guild Ch… .distinctUntilChanged()");
return r4;
}
}

View file

@ -100,7 +100,7 @@ public final class WidgetFatalCrash extends AppFragment {
textView2.setText(b.j(this, 2131887892, objArr2, null, 4));
TextView textView3 = getBinding().b;
m.checkNotNullExpressionValue(textView3, "binding.fatalCrashAppVersion");
textView3.setText(b.j(this, 2131887885, new Object[]{"82.19 - Stable"}, null, 4));
textView3.setText(b.j(this, 2131887885, new Object[]{"82.20 - Stable"}, null, 4));
TextView textView4 = getBinding().d;
m.checkNotNullExpressionValue(textView4, "binding.fatalCrashOsVersion");
textView4.setText(b.j(this, 2131887888, new Object[]{String.valueOf(Build.VERSION.SDK_INT)}, null, 4));

View file

@ -332,7 +332,7 @@ public final class WidgetSettings extends AppFragment implements OnTabSelectedLi
TextView textView = binding.f;
m.checkNotNullExpressionValue(textView, "appInfoHeader");
String string = getString(2131886360);
textView.setText(string + " - 82.19 - Stable (82019)");
textView.setText(string + " - 82.20 - Stable (82020)");
binding.f1921y.setOnClickListener(new WidgetSettings$onViewBound$$inlined$with$lambda$2(this));
binding.u.setOnClickListener(WidgetSettings$onViewBound$1$4.INSTANCE);
binding.q.setOnClickListener(WidgetSettings$onViewBound$1$5.INSTANCE);

View file

@ -1341,7 +1341,7 @@
<string name="color_picker_presets">Presets</string>
<string name="color_picker_title">Select a color</string>
<string name="color_picker_transparency">Transparency</string>
<string name="res_2131887421_com_crashlytics_android_build_id">df62e7a584c54bbbb7d0e1b9e39006d6</string>
<string name="res_2131887421_com_crashlytics_android_build_id">0a94dcbb480e438e83ac178feccc81ce</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>