From ab022f02e894b71badef8b32a367b15bbd42e516 Mon Sep 17 00:00:00 2001 From: Juby210 Date: Tue, 30 Nov 2021 09:30:14 +0100 Subject: [PATCH] 104.6 - Beta (104106) --- app/build.gradle | 4 +- app/src/main/AndroidManifest.xml | 2 +- ...tChannelsListItemGuildRoleSubsBinding.java | 25 ++++++++++ .../stores/StoreMessageAck$init$1.java | 8 +++- .../auditlogs/AuditLogChangeUtils.java | 48 +++++++++---------- .../directories/DirectoryUtilsKt.java | 16 +++---- .../experiments/ExperimentRegistry.java | 2 +- .../com/discord/utilities/icon/IconUtils.java | 4 +- .../channels/list/WidgetChannelListModel.java | 2 +- .../list/WidgetChannelsListAdapter.java | 22 +++++++-- .../widgets/chat/input/WidgetChatInput.java | 8 ++-- ...ollToWithHighlight$animateHighlight$1.java | 2 +- ...ScrollToWithHighlight$scheduleRetry$1.java | 2 +- .../list/adapter/WidgetChatListAdapter.java | 1 - .../directories/WidgetDirectoryCategory.java | 2 +- .../widgets/settings/WidgetSettings.java | 2 +- .../voice/call/WidgetVoiceCallInline.java | 8 ++-- app/src/main/res/values/strings.xml | 2 +- 18 files changed, 102 insertions(+), 58 deletions(-) create mode 100644 app/src/main/java/com/discord/databinding/WidgetChannelsListItemGuildRoleSubsBinding.java diff --git a/app/build.gradle b/app/build.gradle index 3c8d42afd5..78bf54d2a2 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ android { applicationId 'com.discord' minSdkVersion 21 targetSdkVersion 30 - versionCode 104105 - versionName "104.5 - Beta" + versionCode 104106 + versionName "104.6 - Beta" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 999374639c..364fa52ffe 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,5 +1,5 @@ - + diff --git a/app/src/main/java/com/discord/databinding/WidgetChannelsListItemGuildRoleSubsBinding.java b/app/src/main/java/com/discord/databinding/WidgetChannelsListItemGuildRoleSubsBinding.java new file mode 100644 index 0000000000..8491b7578f --- /dev/null +++ b/app/src/main/java/com/discord/databinding/WidgetChannelsListItemGuildRoleSubsBinding.java @@ -0,0 +1,25 @@ +package com.discord.databinding; + +import android.view.View; +import android.widget.ImageView; +import android.widget.LinearLayout; +import android.widget.TextView; +import androidx.annotation.NonNull; +import androidx.viewbinding.ViewBinding; +public final class WidgetChannelsListItemGuildRoleSubsBinding implements ViewBinding { + @NonNull + public final LinearLayout a; + @NonNull + public final TextView b; + + public WidgetChannelsListItemGuildRoleSubsBinding(@NonNull LinearLayout linearLayout, @NonNull ImageView imageView, @NonNull TextView textView) { + this.a = linearLayout; + this.b = textView; + } + + @Override // androidx.viewbinding.ViewBinding + @NonNull + public View getRoot() { + return this.a; + } +} diff --git a/app/src/main/java/com/discord/stores/StoreMessageAck$init$1.java b/app/src/main/java/com/discord/stores/StoreMessageAck$init$1.java index e14ed7b99b..faa2124df8 100644 --- a/app/src/main/java/com/discord/stores/StoreMessageAck$init$1.java +++ b/app/src/main/java/com/discord/stores/StoreMessageAck$init$1.java @@ -51,10 +51,14 @@ public final class StoreMessageAck$init$1 implements b set, Boolean bool, StoreChat.InteractionState interactionState, StoreMessageAck.Ack ack) { long j; - Channel maybeChannel; + Channel maybeChannel = this.$selectedChannel.getMaybeChannel(); + boolean z2 = true; + if (maybeChannel == null || !ChannelUtils.o(maybeChannel)) { + z2 = false; + } if (interactionState.isAtBottomIgnoringTouch()) { m.checkNotNullExpressionValue(bool, "isLoadingSettled"); - if (bool.booleanValue() && !set.contains(Long.valueOf(interactionState.getChannelId())) && (maybeChannel = this.$selectedChannel.getMaybeChannel()) != null && ChannelUtils.o(maybeChannel) && (ack == null || !ack.isLockedAck())) { + if (bool.booleanValue() && !set.contains(Long.valueOf(interactionState.getChannelId())) && !z2 && (ack == null || !ack.isLockedAck())) { j = interactionState.getChannelId(); return Long.valueOf(j); } diff --git a/app/src/main/java/com/discord/utilities/auditlogs/AuditLogChangeUtils.java b/app/src/main/java/com/discord/utilities/auditlogs/AuditLogChangeUtils.java index f976510aeb..8e0f8096d7 100644 --- a/app/src/main/java/com/discord/utilities/auditlogs/AuditLogChangeUtils.java +++ b/app/src/main/java/com/discord/utilities/auditlogs/AuditLogChangeUtils.java @@ -139,7 +139,7 @@ public final class AuditLogChangeUtils { return sb.toString(); } - /* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x00bd: APUT (r15v31 java.lang.Object[]), (0 ??[int, short, byte, char]), (r1v77 java.lang.String) */ + /* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x00be: APUT (r15v31 java.lang.Object[]), (0 ??[int, short, byte, char]), (r1v77 java.lang.String) */ /* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x00ae: APUT (r2v27 java.lang.Object[]) (0 ??[int, short, byte, char]) @@ -147,27 +147,27 @@ public final class AuditLogChangeUtils { (wrap: int : 0x00a9: ARITH (r3v16 int) = (16777215 int) & (wrap: int : 0x00a8: CAST (r4v5 int) = (int) (wrap: long : 0x00a4: INVOKE (r8v10 long) = (wrap: java.lang.Long : 0x00a2: CHECK_CAST (r8v9 java.lang.Long) = (java.lang.Long) (r8v8 java.lang.Object)) type: VIRTUAL call: java.lang.Long.longValue():long))) type: STATIC call: java.lang.Integer.valueOf(int):java.lang.Integer) */ - /* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x00e8: APUT + /* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x00e9: APUT (r15v30 java.lang.Object[]) (0 ??[int, short, byte, char]) - (wrap: java.lang.CharSequence : 0x00e4: INVOKE (r1v74 java.lang.CharSequence) = + (wrap: java.lang.CharSequence : 0x00e5: INVOKE (r1v74 java.lang.CharSequence) = (r11v0 android.content.Context) - (wrap: int : 0x00e3: CAST (r2v26 int) = (int) (wrap: long : 0x00df: INVOKE (r1v73 long) = (wrap: java.lang.Long : 0x00dd: CHECK_CAST (r1v72 java.lang.Long) = (java.lang.Long) (r1v71 java.lang.Object)) type: VIRTUAL call: java.lang.Long.longValue():long)) + (wrap: int : 0x00e4: CAST (r2v26 int) = (int) (wrap: long : 0x00e0: INVOKE (r1v73 long) = (wrap: java.lang.Long : 0x00de: CHECK_CAST (r1v72 java.lang.Long) = (java.lang.Long) (r1v71 java.lang.Object)) type: VIRTUAL call: java.lang.Long.longValue():long)) type: STATIC call: com.discord.utilities.resources.DurationUtilsKt.formatInviteExpireAfterString(android.content.Context, int):java.lang.CharSequence) */ - /* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x01d8: APUT (r1v50 java.lang.Object[]), (0 ??[int, short, byte, char]), (r15v23 java.lang.CharSequence) */ - /* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x01ff: APUT + /* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x01d9: APUT (r1v50 java.lang.Object[]), (0 ??[int, short, byte, char]), (r15v23 java.lang.CharSequence) */ + /* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x0200: APUT (r15v20 java.lang.Object[]) (0 ??[int, short, byte, char]) - (wrap: java.lang.Long : 0x01fb: INVOKE (r1v46 java.lang.Long) = - (wrap: long : 0x01fa: ARITH (r1v45 long) = (wrap: long : 0x01f3: INVOKE (r1v44 long) = (wrap: java.lang.Long : 0x01f1: CHECK_CAST (r1v43 java.lang.Long) = (java.lang.Long) (r1v42 java.lang.Object)) type: VIRTUAL call: java.lang.Long.longValue():long) / (wrap: long : 0x01f9: CAST (r3v14 long) = (long) (1000 int))) + (wrap: java.lang.Long : 0x01fc: INVOKE (r1v46 java.lang.Long) = + (wrap: long : 0x01fb: ARITH (r1v45 long) = (wrap: long : 0x01f4: INVOKE (r1v44 long) = (wrap: java.lang.Long : 0x01f2: CHECK_CAST (r1v43 java.lang.Long) = (java.lang.Long) (r1v42 java.lang.Object)) type: VIRTUAL call: java.lang.Long.longValue():long) / (wrap: long : 0x01fa: CAST (r3v14 long) = (long) (1000 int))) type: STATIC call: java.lang.Long.valueOf(long):java.lang.Long) */ - /* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x0241: APUT (r15v19 java.lang.Object[]), (0 ??[int, short, byte, char]), (r1v38 java.lang.String) */ - /* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x0287: APUT + /* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x0242: APUT (r15v19 java.lang.Object[]), (0 ??[int, short, byte, char]), (r1v38 java.lang.String) */ + /* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x0288: APUT (r15v18 java.lang.Object[]) (0 ??[int, short, byte, char]) - (wrap: java.lang.CharSequence : 0x0283: INVOKE (r1v31 java.lang.CharSequence) = + (wrap: java.lang.CharSequence : 0x0284: INVOKE (r1v31 java.lang.CharSequence) = (r2v9 android.content.res.Resources) (r11v0 android.content.Context) (wrap: ?? : ?: SGET com.discord.R.plurals.guild_settings_audit_log_channel_rate_limit_per_user_change_newValue int) @@ -175,24 +175,24 @@ public final class AuditLogChangeUtils { (r6v3 java.lang.Object[]) type: STATIC call: com.discord.utilities.resources.StringResourceUtilsKt.getQuantityString(android.content.res.Resources, android.content.Context, int, int, java.lang.Object[]):java.lang.CharSequence) */ - /* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x0281: APUT + /* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x0282: APUT (r6v3 java.lang.Object[]) (0 ??[int, short, byte, char]) - (wrap: java.lang.Integer : 0x027d: INVOKE (r4v4 java.lang.Integer) = - (wrap: int : 0x027c: CAST (r4v3 int) = (int) (wrap: long : 0x0278: INVOKE (r8v5 long) = (wrap: java.lang.Long : 0x0276: CHECK_CAST (r8v4 java.lang.Long) = (java.lang.Long) (r8v3 java.lang.Object)) type: VIRTUAL call: java.lang.Long.longValue():long)) + (wrap: java.lang.Integer : 0x027e: INVOKE (r4v4 java.lang.Integer) = + (wrap: int : 0x027d: CAST (r4v3 int) = (int) (wrap: long : 0x0279: INVOKE (r8v5 long) = (wrap: java.lang.Long : 0x0277: CHECK_CAST (r8v4 java.lang.Long) = (java.lang.Long) (r8v3 java.lang.Object)) type: VIRTUAL call: java.lang.Long.longValue():long)) type: STATIC call: java.lang.Integer.valueOf(int):java.lang.Integer) */ - /* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x02ba: APUT + /* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x02bb: APUT (r15v17 java.lang.Object[]) (0 ??[int, short, byte, char]) - (wrap: java.lang.Long : 0x02b6: INVOKE (r1v28 java.lang.Long) = - (wrap: long : 0x02b5: ARITH (r1v27 long) = (wrap: long : 0x02ae: INVOKE (r1v26 long) = (wrap: java.lang.Long : 0x02ac: CHECK_CAST (r1v25 java.lang.Long) = (java.lang.Long) (r1v24 java.lang.Object)) type: VIRTUAL call: java.lang.Long.longValue():long) / (wrap: long : 0x02b4: CAST (r3v9 long) = (long) (60 int))) + (wrap: java.lang.Long : 0x02b7: INVOKE (r1v28 java.lang.Long) = + (wrap: long : 0x02b6: ARITH (r1v27 long) = (wrap: long : 0x02af: INVOKE (r1v26 long) = (wrap: java.lang.Long : 0x02ad: CHECK_CAST (r1v25 java.lang.Long) = (java.lang.Long) (r1v24 java.lang.Object)) type: VIRTUAL call: java.lang.Long.longValue():long) / (wrap: long : 0x02b5: CAST (r3v9 long) = (long) (60 int))) type: STATIC call: java.lang.Long.valueOf(long):java.lang.Long) */ - /* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x02fd: APUT + /* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x02fe: APUT (r15v16 java.lang.Object[]) (0 ??[int, short, byte, char]) - (wrap: java.lang.CharSequence : 0x02f9: INVOKE (r1v22 java.lang.CharSequence) = + (wrap: java.lang.CharSequence : 0x02fa: INVOKE (r1v22 java.lang.CharSequence) = (r2v8 android.content.res.Resources) (r11v0 android.content.Context) (wrap: ?? : ?: SGET com.discord.R.plurals.guild_settings_audit_log_member_prune_delete_days_newValue int) @@ -200,15 +200,15 @@ public final class AuditLogChangeUtils { (r6v2 java.lang.Object[]) type: STATIC call: com.discord.utilities.resources.StringResourceUtilsKt.getQuantityString(android.content.res.Resources, android.content.Context, int, int, java.lang.Object[]):java.lang.CharSequence) */ - /* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x02f7: APUT + /* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x02f8: APUT (r6v2 java.lang.Object[]) (0 ??[int, short, byte, char]) - (wrap: java.lang.Integer : 0x02f5: CHECK_CAST (r8v1 java.lang.Integer) = (java.lang.Integer) (r8v0 java.lang.Object)) + (wrap: java.lang.Integer : 0x02f6: CHECK_CAST (r8v1 java.lang.Integer) = (java.lang.Integer) (r8v0 java.lang.Object)) */ - /* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x0351: APUT + /* JADX DEBUG: Can't convert new array creation: APUT found in different block: 0x0352: APUT (r15v15 java.lang.Object[]) (0 ??[int, short, byte, char]) - (wrap: java.lang.CharSequence : 0x034d: INVOKE (r1v14 java.lang.CharSequence) = + (wrap: java.lang.CharSequence : 0x034e: INVOKE (r1v14 java.lang.CharSequence) = (r10v0 'this' com.discord.utilities.auditlogs.AuditLogChangeUtils A[IMMUTABLE_TYPE, THIS]) (r1v13 com.discord.rtcconnection.MediaSinkWantsManager$VideoQualityMode) (r11v0 android.content.Context) @@ -1575,7 +1575,7 @@ public final class AuditLogChangeUtils { return true; } - /* JADX WARNING: Removed duplicated region for block: B:47:0x017c A[SYNTHETIC] */ + /* JADX WARNING: Removed duplicated region for block: B:47:0x017d A[SYNTHETIC] */ /* JADX WARNING: Removed duplicated region for block: B:48:0x00a0 A[SYNTHETIC] */ public final CharSequence getChangeSummary(Context context, ModelAuditLogEntry modelAuditLogEntry, Map> map) { int i; diff --git a/app/src/main/java/com/discord/utilities/directories/DirectoryUtilsKt.java b/app/src/main/java/com/discord/utilities/directories/DirectoryUtilsKt.java index 557fc5406c..856e49abde 100644 --- a/app/src/main/java/com/discord/utilities/directories/DirectoryUtilsKt.java +++ b/app/src/main/java/com/discord/utilities/directories/DirectoryUtilsKt.java @@ -1,5 +1,6 @@ package com.discord.utilities.directories; +import com.discord.api.directory.DirectoryEntry; import com.discord.widgets.directories.DirectoryEntryData; import d0.t.u; import d0.z.d.m; @@ -13,6 +14,12 @@ public final class DirectoryUtilsKt { private static final int MINIMUM_MEMBER_COUNT = 5; private static final int MINIMUM_SIZE = 5; + public static final boolean hasMinimumMemberCount(DirectoryEntry directoryEntry) { + m.checkNotNullParameter(directoryEntry, "$this$hasMinimumMemberCount"); + Integer a = directoryEntry.e().a(); + return (a != null ? a.intValue() : 0) >= 5; + } + public static final List rank(List list, Integer num) { m.checkNotNullParameter(list, "$this$rank"); return u.sortedWith(list, new DirectoryUtilsKt$rank$$inlined$sortedBy$1(num)); @@ -30,14 +37,7 @@ public final class DirectoryUtilsKt { ArrayList arrayList = new ArrayList(); for (Object obj : list) { DirectoryEntryData directoryEntryData = (DirectoryEntryData) obj; - boolean z2 = false; - if (m.areEqual(directoryEntryData.getEntry().e().e(), Boolean.TRUE)) { - Integer a = directoryEntryData.getEntry().e().a(); - if ((a != null ? a.intValue() : 0) >= 5) { - z2 = true; - } - } - if (z2) { + if (m.areEqual(directoryEntryData.getEntry().e().e(), Boolean.TRUE) && hasMinimumMemberCount(directoryEntryData.getEntry())) { arrayList.add(obj); } } diff --git a/app/src/main/java/com/discord/utilities/experiments/ExperimentRegistry.java b/app/src/main/java/com/discord/utilities/experiments/ExperimentRegistry.java index 49c183b6fb..597057937e 100644 --- a/app/src/main/java/com/discord/utilities/experiments/ExperimentRegistry.java +++ b/app/src/main/java/com/discord/utilities/experiments/ExperimentRegistry.java @@ -15,7 +15,7 @@ public final class ExperimentRegistry { registeredExperiments = linkedHashMap; RegisteredExperiment.Type type = RegisteredExperiment.Type.USER; RegisteredExperiment.Type type2 = RegisteredExperiment.Type.GUILD; - for (Object obj : n.listOf((Object[]) new RegisteredExperiment[]{new RegisteredExperiment("Compact Invite Widget", "2020-01_mobile_invite_suggestion_compact", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Use compact view"}), true), new RegisteredExperiment("Guild Invite Sheet", "2020-12_android_guild_channel_invite_sheet", type, n.listOf((Object[]) new String[]{"Control: Use the full-screen guild invite UI", "Treatment 1: Use the bottom sheet guild invite UI"}), true), new RegisteredExperiment("Disable mentions in landscape", "2020-12_android_disable_landscape_mentions", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Hide mentions in landscape"}), true), new RegisteredExperiment("Invite to GDM Sheet", "2020-12_invite_to_gdm", type, n.listOf((Object[]) new String[]{"Control: Use the full-screen GDM invite UI", "Treatment 1: Use the bottom sheet GDM invite UI"}), true), new RegisteredExperiment("Guild Delete Feedback", "2020-12_guild_delete_feedback", type, n.listOf((Object[]) new String[]{"Control: Do not show the feedback modal", "Treatment 1: Show the feedback modal"}), true), new RegisteredExperiment("View Threads", "2021-02_view_threads", type, n.listOf((Object[]) new String[]{"Control: Do not display anything threads-related, except if receiving a notification", "Treatment 1: Show view-only threads features in channel list, in chat view, etc."}), true), new RegisteredExperiment("Create Threads", "2020-09_threads", type2, n.listOf((Object[]) new String[]{"Control: Do not show thread creation entrypoints, or Thread Browser", "Treatment 1: Show thread creation buttons, and show button to open Thread Browser"}), true), new RegisteredExperiment("Disable Camera 2", "2021-02_android_webrtc_camera2", type, n.listOf((Object[]) new String[]{"Control: Use Camera 2 API if supported", "Treatment 1: Force Camera 1 API"}), true), new RegisteredExperiment("MediaSinkWants", "2021-03_android_media_sink_wants", type, n.listOf((Object[]) new String[]{"Control: disabled", "Treatment 1: use MediaSinkWants"}), true), new RegisteredExperiment("Default Invite Expiration", "2021-03_android_extend_invite_expiration", type2, n.listOf((Object[]) new String[]{"Control: Default Invite Expiration is 1 day", "Treatment 1: Default Invite Expiration is 7 days"}), true), new RegisteredExperiment("Emoji Autocomplete Upsell", "2021-03_nitro_emoji_autocomplete_upsell_android", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Show Emoji Autocomplete Upsell"}), true), new RegisteredExperiment("Application Command Frecency", "2021-09_android_app_commands_frecency", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Show frecent application commands"}), true), new RegisteredExperiment("Attachments Bottom Sheet", "2021-10_android_attachment_bottom_sheet", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Show attachments bottom sheet"}), true), new RegisteredExperiment("Bot UI Kit Components", "2021-03_bot_ui_kit_components_android", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Show Bot UI Kit Components"}), true), new RegisteredExperiment("Select Bot UI Component", "2021-05_bot_ui_kit_select", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Show Select Bot Ui Component"}), true), new RegisteredExperiment("Stage Events Guilds", "2021-06_stage_events", type2, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Enables users to see events in guilds"}), true), new RegisteredExperiment("Contact Sync: Base Experiment", "2021-04_contact_sync_android_main", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Enable core Contact Sync features"}), true), new RegisteredExperiment("Contact Sync: Existing Users w/ Phone Upsell Experiment", "2021-04_contact_sync_android_existing_user_phone_prompt", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Show Contact Sync for existing users with a phone number"}), true), new RegisteredExperiment("Contact Sync: Existing Users without Phone Upsell Experiment", "2021-04_contact_sync_android_existing_user_without_phone_prompt", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Show Contact Sync for existing users without a phone number"}), true), new RegisteredExperiment("Contact Sync: Empty states", "2021-05_contact_sync_android_empty_states", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Show Contact Sync in empty friend lists"}), true), new RegisteredExperiment("Stop Offscreen Video Streams", "2021-03_stop_offscreen_video_streams", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Stop offscreen video streams"}), true), new RegisteredExperiment("Hub Multiple Domains", "2021-08_hub_multi_domain_mobile", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Enable multiple domains for hubs"}), true), new RegisteredExperiment("Enabled Discord Hub Directories", "2021-06_desktop_school_hubs", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: See Discord Hub Directories"}), true), new RegisteredExperiment("Enabled Discord Hub Emails", "2021-06_hub_email_connection", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: See Discord Hub Emails"}), true), new RegisteredExperiment("Enabled Discord Hub Recommendations", "2021-10_hubs_recs_and_rankings", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Hub Ranks Enabled", "Treatment 2: Hub Recommendations Enabled", "Treatment 3: Hub Ranks and Recommendations Enabled"}), true), new RegisteredExperiment("Enabled Discord Hub Study Groups", "2021-10_study_group", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Hub Study Groups Enabled"}), true), new RegisteredExperiment("Enabled Discord Hub Unreads", "2021-11_hub_unreads", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Enabled hub Unreads"}), true), new RegisteredExperiment("Enable Impression Logging", "2021-08_impression_logging_enabled_android", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Enable Impression Logging"}), true), new RegisteredExperiment("AudioManager V2 and OpenSL ES", "2021-05_opensl_default_enable_android", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Default enable OpenSL", "Treatment 2: Use StoreAudioManagerV2 for output routing"}), true), new RegisteredExperiment("Phone Registration - Bailout to Email", "2021-06_reg_bailout_to_email_android", type, n.listOf((Object[]) new String[]{"Control: Just the back button", "Treatment 1: Static button to bailout to the email tab"}), true), new RegisteredExperiment("Enable Network Action Logging", "2021-07_network_action_logging_android", type, n.listOf((Object[]) new String[]{"Off: No Action logging", "On: Enable Action Logging"}), true), new RegisteredExperiment("Preview Promotions", "2021-06_preview_promotions", type, n.listOf((Object[]) new String[]{"Off: Hit normal endpoint", "On: Hit preview endpoint"}), true), new RegisteredExperiment("Route audio to speakerphone by default", "2021-08_android_speakerphone_default", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Always default to speakerphone"}), true), new RegisteredExperiment("New Thread Perms", "2021-08_threads_permissions", type2, n.listOf((Object[]) new String[]{"Control: Use old threads permissions.", "Treatment 1: Use new threads permissions."}), true), new RegisteredExperiment("Longer billing grace periods", "2021-09_longer_billing_grace_periods", type, n.listOf((Object[]) new String[]{"Control: 3-day grace period", "Treatment 1: 7-day grace period"}), true), new RegisteredExperiment("SMS Autofill", "2021-09_android_sms_autofill", type, n.listOf((Object[]) new String[]{"Control: No SMS Autofill", "Treatment 1: SMS Code autofills"}), true), new RegisteredExperiment("Android Text-In-Voice", "2021-10_android_textinvoice", type, n.listOf((Object[]) new String[]{"Control: No Android text-in-voice.", "Treatment 1: Android text-in-voice enabled, if it's enabled for the guild."}), true), new RegisteredExperiment("Guild Member Profiles v2", "2021-10_premium_guild_member_profiles", type, n.listOf((Object[]) new String[]{"Control: No editing of guild member premium profiles.", "Treatment 1: Can edit guild member premium profiles"}), true), new RegisteredExperiment("Animated Guild Banner", "2021-10_animated_guild_banners", type2, n.listOf((Object[]) new String[]{"Control: No Animated Guild Banners", "Treatment 1: Animated Guild Banners"}), true), new RegisteredExperiment("Guild Communication Disabled - Guilds Experiment", "2021-11_guild_communication_disabled_guilds", type2, n.listOf((Object[]) new String[]{"Control: No timing out of malicious users.", "Treatment 1: Can grant the MODERATE_MEMBER permission for timing out malicious users"}), true), new RegisteredExperiment("Guild Communication Disabled - Users Experiment", "2021-11_guild_communication_disabled_users", type, n.listOf((Object[]) new String[]{"Control: No timing out of malicious users.", "Treatment 1: Can grant the MODERATE_MEMBER permission for timing out malicious users"}), true)})) { + for (Object obj : n.listOf((Object[]) new RegisteredExperiment[]{new RegisteredExperiment("Compact Invite Widget", "2020-01_mobile_invite_suggestion_compact", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Use compact view"}), true), new RegisteredExperiment("Guild Invite Sheet", "2020-12_android_guild_channel_invite_sheet", type, n.listOf((Object[]) new String[]{"Control: Use the full-screen guild invite UI", "Treatment 1: Use the bottom sheet guild invite UI"}), true), new RegisteredExperiment("Disable mentions in landscape", "2020-12_android_disable_landscape_mentions", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Hide mentions in landscape"}), true), new RegisteredExperiment("Invite to GDM Sheet", "2020-12_invite_to_gdm", type, n.listOf((Object[]) new String[]{"Control: Use the full-screen GDM invite UI", "Treatment 1: Use the bottom sheet GDM invite UI"}), true), new RegisteredExperiment("Guild Delete Feedback", "2020-12_guild_delete_feedback", type, n.listOf((Object[]) new String[]{"Control: Do not show the feedback modal", "Treatment 1: Show the feedback modal"}), true), new RegisteredExperiment("View Threads", "2021-02_view_threads", type, n.listOf((Object[]) new String[]{"Control: Do not display anything threads-related, except if receiving a notification", "Treatment 1: Show view-only threads features in channel list, in chat view, etc."}), true), new RegisteredExperiment("Create Threads", "2020-09_threads", type2, n.listOf((Object[]) new String[]{"Control: Do not show thread creation entrypoints, or Thread Browser", "Treatment 1: Show thread creation buttons, and show button to open Thread Browser"}), true), new RegisteredExperiment("Disable Camera 2", "2021-02_android_webrtc_camera2", type, n.listOf((Object[]) new String[]{"Control: Use Camera 2 API if supported", "Treatment 1: Force Camera 1 API"}), true), new RegisteredExperiment("MediaSinkWants", "2021-03_android_media_sink_wants", type, n.listOf((Object[]) new String[]{"Control: disabled", "Treatment 1: use MediaSinkWants"}), true), new RegisteredExperiment("Default Invite Expiration", "2021-03_android_extend_invite_expiration", type2, n.listOf((Object[]) new String[]{"Control: Default Invite Expiration is 1 day", "Treatment 1: Default Invite Expiration is 7 days"}), true), new RegisteredExperiment("Emoji Autocomplete Upsell", "2021-03_nitro_emoji_autocomplete_upsell_android", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Show Emoji Autocomplete Upsell"}), true), new RegisteredExperiment("Application Command Frecency", "2021-09_android_app_commands_frecency", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Show frecent application commands"}), true), new RegisteredExperiment("Attachments Bottom Sheet", "2021-10_android_attachment_bottom_sheet", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Show attachments bottom sheet"}), true), new RegisteredExperiment("Bot UI Kit Components", "2021-03_bot_ui_kit_components_android", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Show Bot UI Kit Components"}), true), new RegisteredExperiment("Select Bot UI Component", "2021-05_bot_ui_kit_select", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Show Select Bot Ui Component"}), true), new RegisteredExperiment("Stage Events Guilds", "2021-06_stage_events", type2, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Enables users to see events in guilds"}), true), new RegisteredExperiment("Contact Sync: Base Experiment", "2021-04_contact_sync_android_main", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Enable core Contact Sync features"}), true), new RegisteredExperiment("Contact Sync: Existing Users w/ Phone Upsell Experiment", "2021-04_contact_sync_android_existing_user_phone_prompt", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Show Contact Sync for existing users with a phone number"}), true), new RegisteredExperiment("Contact Sync: Existing Users without Phone Upsell Experiment", "2021-04_contact_sync_android_existing_user_without_phone_prompt", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Show Contact Sync for existing users without a phone number"}), true), new RegisteredExperiment("Contact Sync: Empty states", "2021-05_contact_sync_android_empty_states", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Show Contact Sync in empty friend lists"}), true), new RegisteredExperiment("Stop Offscreen Video Streams", "2021-03_stop_offscreen_video_streams", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Stop offscreen video streams"}), true), new RegisteredExperiment("Hub Multiple Domains", "2021-08_hub_multi_domain_mobile", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Enable multiple domains for hubs"}), true), new RegisteredExperiment("Enabled Discord Hub Directories", "2021-06_desktop_school_hubs", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: See Discord Hub Directories"}), true), new RegisteredExperiment("Enabled Discord Hub Emails", "2021-06_hub_email_connection", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: See Discord Hub Emails"}), true), new RegisteredExperiment("Enabled Discord Hub Recommendations", "2021-10_hubs_recs_and_rankings", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Hub Ranks Enabled", "Treatment 2: Hub Recommendations Enabled", "Treatment 3: Hub Ranks and Recommendations Enabled"}), true), new RegisteredExperiment("Enabled Discord Hub Study Groups", "2021-10_study_group", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Hub Study Groups Enabled"}), true), new RegisteredExperiment("Enabled Discord Hub Unreads", "2021-11_hub_unreads", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Enabled hub Unreads w/ Recommendations", "Treatment 2: Enabled hub Unreads w/ all"}), true), new RegisteredExperiment("Enable Impression Logging", "2021-08_impression_logging_enabled_android", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Enable Impression Logging"}), true), new RegisteredExperiment("AudioManager V2 and OpenSL ES", "2021-05_opensl_default_enable_android", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Default enable OpenSL", "Treatment 2: Use StoreAudioManagerV2 for output routing"}), true), new RegisteredExperiment("Phone Registration - Bailout to Email", "2021-06_reg_bailout_to_email_android", type, n.listOf((Object[]) new String[]{"Control: Just the back button", "Treatment 1: Static button to bailout to the email tab"}), true), new RegisteredExperiment("Enable Network Action Logging", "2021-07_network_action_logging_android", type, n.listOf((Object[]) new String[]{"Off: No Action logging", "On: Enable Action Logging"}), true), new RegisteredExperiment("Preview Promotions", "2021-06_preview_promotions", type, n.listOf((Object[]) new String[]{"Off: Hit normal endpoint", "On: Hit preview endpoint"}), true), new RegisteredExperiment("Route audio to speakerphone by default", "2021-08_android_speakerphone_default", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Always default to speakerphone"}), true), new RegisteredExperiment("New Thread Perms", "2021-08_threads_permissions", type2, n.listOf((Object[]) new String[]{"Control: Use old threads permissions.", "Treatment 1: Use new threads permissions."}), true), new RegisteredExperiment("Longer billing grace periods", "2021-09_longer_billing_grace_periods", type, n.listOf((Object[]) new String[]{"Control: 3-day grace period", "Treatment 1: 7-day grace period"}), true), new RegisteredExperiment("SMS Autofill", "2021-09_android_sms_autofill", type, n.listOf((Object[]) new String[]{"Control: No SMS Autofill", "Treatment 1: SMS Code autofills"}), true), new RegisteredExperiment("Android Text-In-Voice", "2021-10_android_textinvoice", type, n.listOf((Object[]) new String[]{"Control: No Android text-in-voice.", "Treatment 1: Android text-in-voice enabled, if it's enabled for the guild."}), true), new RegisteredExperiment("Guild Member Profiles v2", "2021-10_premium_guild_member_profiles", type, n.listOf((Object[]) new String[]{"Control: No editing of guild member premium profiles.", "Treatment 1: Can edit guild member premium profiles"}), true), new RegisteredExperiment("Animated Guild Banner", "2021-10_animated_guild_banners", type2, n.listOf((Object[]) new String[]{"Control: No Animated Guild Banners", "Treatment 1: Animated Guild Banners"}), true), new RegisteredExperiment("Guild Communication Disabled - Guilds Experiment", "2021-11_guild_communication_disabled_guilds", type2, n.listOf((Object[]) new String[]{"Control: No timing out of malicious users.", "Treatment 1: Can grant the MODERATE_MEMBER permission for timing out malicious users"}), true), new RegisteredExperiment("Guild Communication Disabled - Users Experiment", "2021-11_guild_communication_disabled_users", type, n.listOf((Object[]) new String[]{"Control: No timing out of malicious users.", "Treatment 1: Can grant the MODERATE_MEMBER permission for timing out malicious users"}), true)})) { linkedHashMap.put(((RegisteredExperiment) obj).getName(), obj); } } diff --git a/app/src/main/java/com/discord/utilities/icon/IconUtils.java b/app/src/main/java/com/discord/utilities/icon/IconUtils.java index cb6a8239f6..574698f147 100644 --- a/app/src/main/java/com/discord/utilities/icon/IconUtils.java +++ b/app/src/main/java/com/discord/utilities/icon/IconUtils.java @@ -849,8 +849,8 @@ public final class IconUtils { } } - /* JADX WARNING: Removed duplicated region for block: B:40:0x00b2 A[RETURN, SYNTHETIC] */ - /* JADX WARNING: Removed duplicated region for block: B:43:0x00be A[RETURN, SYNTHETIC] */ + /* JADX WARNING: Removed duplicated region for block: B:40:0x00b3 A[RETURN, SYNTHETIC] */ + /* JADX WARNING: Removed duplicated region for block: B:43:0x00bf A[RETURN, SYNTHETIC] */ @DrawableRes public final int getVoiceRegionIconResourceId(String str) { if (str != null) { diff --git a/app/src/main/java/com/discord/widgets/channels/list/WidgetChannelListModel.java b/app/src/main/java/com/discord/widgets/channels/list/WidgetChannelListModel.java index e039349538..33a48452cb 100644 --- a/app/src/main/java/com/discord/widgets/channels/list/WidgetChannelListModel.java +++ b/app/src/main/java/com/discord/widgets/channels/list/WidgetChannelListModel.java @@ -573,7 +573,7 @@ public final class WidgetChannelListModel { */ private final java.util.List guildListBuilder(long r173, com.discord.utilities.channel.GuildChannelsInfo r175, java.util.Map r176, java.util.Map> r177, java.util.Map r178, java.util.Set r179, com.discord.api.channel.Channel r180, long r181, java.util.Map> r183, java.util.Map r184, java.util.Set r185, java.util.Set r186, java.util.Map r187, java.util.Map r188, java.util.List r189, boolean r190, boolean r191, java.util.Map>> r192, java.util.Map r193) { /* - // Method dump skipped, instructions count: 1544 + // Method dump skipped, instructions count: 1550 */ throw new UnsupportedOperationException("Method not decompiled: com.discord.widgets.channels.list.WidgetChannelListModel.Companion.guildListBuilder(long, com.discord.utilities.channel.GuildChannelsInfo, java.util.Map, java.util.Map, java.util.Map, java.util.Set, com.discord.api.channel.Channel, long, java.util.Map, java.util.Map, java.util.Set, java.util.Set, java.util.Map, java.util.Map, java.util.List, boolean, boolean, java.util.Map, java.util.Map):java.util.List"); } diff --git a/app/src/main/java/com/discord/widgets/channels/list/WidgetChannelsListAdapter.java b/app/src/main/java/com/discord/widgets/channels/list/WidgetChannelsListAdapter.java index a10d377e3d..21243a7124 100644 --- a/app/src/main/java/com/discord/widgets/channels/list/WidgetChannelsListAdapter.java +++ b/app/src/main/java/com/discord/widgets/channels/list/WidgetChannelsListAdapter.java @@ -39,6 +39,7 @@ import com.discord.databinding.WidgetChannelsListItemChannelPrivateBinding; import com.discord.databinding.WidgetChannelsListItemChannelStageVoiceBinding; import com.discord.databinding.WidgetChannelsListItemChannelVoiceBinding; import com.discord.databinding.WidgetChannelsListItemDirectoryBinding; +import com.discord.databinding.WidgetChannelsListItemGuildRoleSubsBinding; import com.discord.databinding.WidgetChannelsListItemGuildScheduledEventsBinding; import com.discord.databinding.WidgetChannelsListItemHeaderBinding; import com.discord.databinding.WidgetChannelsListItemMfaBinding; @@ -1210,15 +1211,26 @@ public final class WidgetChannelsListAdapter extends MGRecyclerAdapterSimple, Object> { public final /* synthetic */ TransitionDrawable $transition; public int label; diff --git a/app/src/main/java/com/discord/widgets/chat/list/adapter/WidgetChatListAdapter$ScrollToWithHighlight$scheduleRetry$1.java b/app/src/main/java/com/discord/widgets/chat/list/adapter/WidgetChatListAdapter$ScrollToWithHighlight$scheduleRetry$1.java index d15c6341a7..d909e2f58b 100644 --- a/app/src/main/java/com/discord/widgets/chat/list/adapter/WidgetChatListAdapter$ScrollToWithHighlight$scheduleRetry$1.java +++ b/app/src/main/java/com/discord/widgets/chat/list/adapter/WidgetChatListAdapter$ScrollToWithHighlight$scheduleRetry$1.java @@ -12,7 +12,7 @@ import kotlin.coroutines.Continuation; import kotlin.jvm.functions.Function2; import kotlinx.coroutines.CoroutineScope; /* compiled from: WidgetChatListAdapter.kt */ -@e(c = "com.discord.widgets.chat.list.adapter.WidgetChatListAdapter$ScrollToWithHighlight$scheduleRetry$1", f = "WidgetChatListAdapter.kt", l = {432}, m = "invokeSuspend") +@e(c = "com.discord.widgets.chat.list.adapter.WidgetChatListAdapter$ScrollToWithHighlight$scheduleRetry$1", f = "WidgetChatListAdapter.kt", l = {431}, m = "invokeSuspend") public final class WidgetChatListAdapter$ScrollToWithHighlight$scheduleRetry$1 extends k implements Function2, Object> { public int label; public final /* synthetic */ WidgetChatListAdapter.ScrollToWithHighlight this$0; diff --git a/app/src/main/java/com/discord/widgets/chat/list/adapter/WidgetChatListAdapter.java b/app/src/main/java/com/discord/widgets/chat/list/adapter/WidgetChatListAdapter.java index 05cec3b986..7c0c7720b5 100644 --- a/app/src/main/java/com/discord/widgets/chat/list/adapter/WidgetChatListAdapter.java +++ b/app/src/main/java/com/discord/widgets/chat/list/adapter/WidgetChatListAdapter.java @@ -810,7 +810,6 @@ public final class WidgetChatListAdapter extends MGRecyclerAdapterSimpleSelect a color Transparency Use Default - c2ceff10ae704b52897f16e03f7b5f08 + 4e8a83e3bc0c46fe9aecf836c91b77a2 Coming Soon Slash command application {applicationName} {applicationName} application