diff --git a/app/build.gradle b/app/build.gradle index 059465b3e9..86dcdfb34f 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ android { applicationId 'com.discord' minSdkVersion 21 targetSdkVersion 30 - versionCode 103205 - versionName "103.5 - Alpha" + versionCode 103206 + versionName "103.6 - Alpha" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 30acf4a821..1682682a33 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,5 +1,5 @@ - + diff --git a/app/src/main/java/c/a/i/b3.java b/app/src/main/java/c/a/i/b3.java index 05eb37ad56..c9142718e1 100644 --- a/app/src/main/java/c/a/i/b3.java +++ b/app/src/main/java/c/a/i/b3.java @@ -1,7 +1,6 @@ package c.a.i; import android.view.View; -import android.widget.ImageView; import android.widget.TextView; import androidx.annotation.NonNull; import androidx.constraintlayout.widget.Barrier; @@ -26,19 +25,16 @@ public final class b3 implements ViewBinding { @NonNull public final GuildView f; @NonNull - public final ImageView g; - @NonNull - public final TextView h; + public final TextView g; - public b3(@NonNull View view, @NonNull Barrier barrier, @NonNull Barrier barrier2, @NonNull MaterialButton materialButton, @NonNull MaterialButton materialButton2, @NonNull ServerMemberCount serverMemberCount, @NonNull TextView textView, @NonNull GuildView guildView, @NonNull ImageView imageView, @NonNull TextView textView2) { + public b3(@NonNull View view, @NonNull Barrier barrier, @NonNull Barrier barrier2, @NonNull MaterialButton materialButton, @NonNull MaterialButton materialButton2, @NonNull ServerMemberCount serverMemberCount, @NonNull TextView textView, @NonNull GuildView guildView, @NonNull TextView textView2) { this.a = view; this.b = materialButton; this.f70c = materialButton2; this.d = serverMemberCount; this.e = textView; this.f = guildView; - this.g = imageView; - this.h = textView2; + this.g = textView2; } @Override // androidx.viewbinding.ViewBinding diff --git a/app/src/main/java/com/discord/analytics/generated/events/TrackMessageDeleted.java b/app/src/main/java/com/discord/analytics/generated/events/TrackMessageDeleted.java index ffe739e191..19fde1d418 100644 --- a/app/src/main/java/com/discord/analytics/generated/events/TrackMessageDeleted.java +++ b/app/src/main/java/com/discord/analytics/generated/events/TrackMessageDeleted.java @@ -12,6 +12,7 @@ import d0.z.d.m; /* compiled from: TrackMessageDeleted.kt */ public final class TrackMessageDeleted implements AnalyticsSchema, TrackBaseReceiver, TrackChannelReceiver, TrackGuildReceiver { private final transient String analyticsSchemaTypeName = "message_deleted"; + private final Long authorId = null; private final Long messageId = null; private final CharSequence reason = null; private TrackBase trackBase; @@ -31,7 +32,7 @@ public final class TrackMessageDeleted implements AnalyticsSchema, TrackBaseRece return false; } TrackMessageDeleted trackMessageDeleted = (TrackMessageDeleted) obj; - return m.areEqual(this.messageId, trackMessageDeleted.messageId) && m.areEqual(this.reason, trackMessageDeleted.reason); + return m.areEqual(this.messageId, trackMessageDeleted.messageId) && m.areEqual(this.reason, trackMessageDeleted.reason) && m.areEqual(this.authorId, trackMessageDeleted.authorId); } public int hashCode() { @@ -39,16 +40,20 @@ public final class TrackMessageDeleted implements AnalyticsSchema, TrackBaseRece int i = 0; int hashCode = (l != null ? l.hashCode() : 0) * 31; CharSequence charSequence = this.reason; - if (charSequence != null) { - i = charSequence.hashCode(); + int hashCode2 = (hashCode + (charSequence != null ? charSequence.hashCode() : 0)) * 31; + Long l2 = this.authorId; + if (l2 != null) { + i = l2.hashCode(); } - return hashCode + i; + return hashCode2 + i; } public String toString() { StringBuilder R = a.R("TrackMessageDeleted(messageId="); R.append(this.messageId); R.append(", reason="); - return a.D(R, this.reason, ")"); + R.append(this.reason); + R.append(", authorId="); + return a.F(R, this.authorId, ")"); } } diff --git a/app/src/main/java/com/discord/api/report/ReportSubmissionBody.java b/app/src/main/java/com/discord/api/report/ReportSubmissionBody.java index f71e1b878f..cadf7a4c6a 100644 --- a/app/src/main/java/com/discord/api/report/ReportSubmissionBody.java +++ b/app/src/main/java/com/discord/api/report/ReportSubmissionBody.java @@ -15,9 +15,10 @@ import kotlin.jvm.internal.DefaultConstructorMarker; public final class ReportSubmissionBody { public static final Companion Companion = new Companion(null); private final List breadcrumbs; - private final long channelId; + private final Long channelId; private final Map> elements; private final Long guildId; + private final Long guildScheduledEventId; private final Long hubId; /* renamed from: id reason: collision with root package name */ @@ -76,11 +77,13 @@ public final class ReportSubmissionBody { } } - public ReportSubmissionBody(long j, Long l, long j2, Long l2, Long l3, String str, String str2, String str3, String str4, List list, Map map, int i) { - Long l4 = null; - Long l5 = (i & 2) != 0 ? null : l; - Long l6 = (i & 8) != 0 ? null : l2; - l4 = (i & 16) == 0 ? l3 : l4; + public ReportSubmissionBody(long j, Long l, Long l2, Long l3, Long l4, Long l5, String str, String str2, String str3, String str4, List list, Map map, int i) { + Long l6 = null; + Long l7 = (i & 2) != 0 ? null : l; + Long l8 = (i & 4) != 0 ? null : l2; + Long l9 = (i & 8) != 0 ? null : l3; + Long l10 = (i & 16) != 0 ? null : l4; + l6 = (i & 32) == 0 ? l5 : l6; m.checkNotNullParameter(str, "language"); m.checkNotNullParameter(str2, "variant"); m.checkNotNullParameter(str3, ModelAuditLogEntry.CHANGE_KEY_NAME); @@ -88,10 +91,11 @@ public final class ReportSubmissionBody { m.checkNotNullParameter(list, "breadcrumbs"); m.checkNotNullParameter(map, "elements"); this.f1625id = j; - this.messageId = l5; - this.channelId = j2; - this.guildId = l6; - this.hubId = l4; + this.messageId = l7; + this.channelId = l8; + this.guildId = l9; + this.hubId = l10; + this.guildScheduledEventId = l6; this.language = str; this.variant = str2; this.name = str3; @@ -108,7 +112,7 @@ public final class ReportSubmissionBody { return false; } ReportSubmissionBody reportSubmissionBody = (ReportSubmissionBody) obj; - return this.f1625id == reportSubmissionBody.f1625id && m.areEqual(this.messageId, reportSubmissionBody.messageId) && this.channelId == reportSubmissionBody.channelId && m.areEqual(this.guildId, reportSubmissionBody.guildId) && m.areEqual(this.hubId, reportSubmissionBody.hubId) && m.areEqual(this.language, reportSubmissionBody.language) && m.areEqual(this.variant, reportSubmissionBody.variant) && m.areEqual(this.name, reportSubmissionBody.name) && m.areEqual(this.version, reportSubmissionBody.version) && m.areEqual(this.breadcrumbs, reportSubmissionBody.breadcrumbs) && m.areEqual(this.elements, reportSubmissionBody.elements); + return this.f1625id == reportSubmissionBody.f1625id && m.areEqual(this.messageId, reportSubmissionBody.messageId) && m.areEqual(this.channelId, reportSubmissionBody.channelId) && m.areEqual(this.guildId, reportSubmissionBody.guildId) && m.areEqual(this.hubId, reportSubmissionBody.hubId) && m.areEqual(this.guildScheduledEventId, reportSubmissionBody.guildScheduledEventId) && m.areEqual(this.language, reportSubmissionBody.language) && m.areEqual(this.variant, reportSubmissionBody.variant) && m.areEqual(this.name, reportSubmissionBody.name) && m.areEqual(this.version, reportSubmissionBody.version) && m.areEqual(this.breadcrumbs, reportSubmissionBody.breadcrumbs) && m.areEqual(this.elements, reportSubmissionBody.elements); } public int hashCode() { @@ -116,28 +120,30 @@ public final class ReportSubmissionBody { int i = ((int) (j ^ (j >>> 32))) * 31; Long l = this.messageId; int i2 = 0; - int hashCode = l != null ? l.hashCode() : 0; - long j2 = this.channelId; - int i3 = (((i + hashCode) * 31) + ((int) (j2 ^ (j2 >>> 32)))) * 31; - Long l2 = this.guildId; - int hashCode2 = (i3 + (l2 != null ? l2.hashCode() : 0)) * 31; - Long l3 = this.hubId; + int hashCode = (i + (l != null ? l.hashCode() : 0)) * 31; + Long l2 = this.channelId; + int hashCode2 = (hashCode + (l2 != null ? l2.hashCode() : 0)) * 31; + Long l3 = this.guildId; int hashCode3 = (hashCode2 + (l3 != null ? l3.hashCode() : 0)) * 31; + Long l4 = this.hubId; + int hashCode4 = (hashCode3 + (l4 != null ? l4.hashCode() : 0)) * 31; + Long l5 = this.guildScheduledEventId; + int hashCode5 = (hashCode4 + (l5 != null ? l5.hashCode() : 0)) * 31; String str = this.language; - int hashCode4 = (hashCode3 + (str != null ? str.hashCode() : 0)) * 31; + int hashCode6 = (hashCode5 + (str != null ? str.hashCode() : 0)) * 31; String str2 = this.variant; - int hashCode5 = (hashCode4 + (str2 != null ? str2.hashCode() : 0)) * 31; + int hashCode7 = (hashCode6 + (str2 != null ? str2.hashCode() : 0)) * 31; String str3 = this.name; - int hashCode6 = (hashCode5 + (str3 != null ? str3.hashCode() : 0)) * 31; + int hashCode8 = (hashCode7 + (str3 != null ? str3.hashCode() : 0)) * 31; String str4 = this.version; - int hashCode7 = (hashCode6 + (str4 != null ? str4.hashCode() : 0)) * 31; + int hashCode9 = (hashCode8 + (str4 != null ? str4.hashCode() : 0)) * 31; List list = this.breadcrumbs; - int hashCode8 = (hashCode7 + (list != null ? list.hashCode() : 0)) * 31; + int hashCode10 = (hashCode9 + (list != null ? list.hashCode() : 0)) * 31; Map> map = this.elements; if (map != null) { i2 = map.hashCode(); } - return hashCode8 + i2; + return hashCode10 + i2; } public String toString() { @@ -151,6 +157,8 @@ public final class ReportSubmissionBody { R.append(this.guildId); R.append(", hubId="); R.append(this.hubId); + R.append(", guildScheduledEventId="); + R.append(this.guildScheduledEventId); R.append(", language="); R.append(this.language); R.append(", variant="); diff --git a/app/src/main/java/com/discord/api/report/ReportType.java b/app/src/main/java/com/discord/api/report/ReportType.java index d9135f3d0b..fd50c9ee0b 100644 --- a/app/src/main/java/com/discord/api/report/ReportType.java +++ b/app/src/main/java/com/discord/api/report/ReportType.java @@ -3,7 +3,8 @@ package com.discord.api.report; public enum ReportType { Message("message"), StageChannel("stage_channel"), - DirectoryServer("guild_directory_entry"); + DirectoryServer("guild_directory_entry"), + GuildScheduledEvent("guild_scheduled_event"); private final String pathValue; diff --git a/app/src/main/java/com/discord/databinding/WidgetGuildScheduledEventDetailsExtrasBottomSheetBinding.java b/app/src/main/java/com/discord/databinding/WidgetGuildScheduledEventDetailsExtrasBottomSheetBinding.java index 41822e8e8c..b6f65361d9 100644 --- a/app/src/main/java/com/discord/databinding/WidgetGuildScheduledEventDetailsExtrasBottomSheetBinding.java +++ b/app/src/main/java/com/discord/databinding/WidgetGuildScheduledEventDetailsExtrasBottomSheetBinding.java @@ -22,8 +22,10 @@ public final class WidgetGuildScheduledEventDetailsExtrasBottomSheetBinding impl public final TextView f; @NonNull public final TextView g; + @NonNull + public final TextView h; - public WidgetGuildScheduledEventDetailsExtrasBottomSheetBinding(@NonNull NestedScrollView nestedScrollView, @NonNull TextView textView, @NonNull TextView textView2, @NonNull TextView textView3, @NonNull TextView textView4, @NonNull TextView textView5, @NonNull TextView textView6) { + public WidgetGuildScheduledEventDetailsExtrasBottomSheetBinding(@NonNull NestedScrollView nestedScrollView, @NonNull TextView textView, @NonNull TextView textView2, @NonNull TextView textView3, @NonNull TextView textView4, @NonNull TextView textView5, @NonNull TextView textView6, @NonNull TextView textView7) { this.a = nestedScrollView; this.b = textView; this.f1913c = textView2; @@ -31,6 +33,7 @@ public final class WidgetGuildScheduledEventDetailsExtrasBottomSheetBinding impl this.e = textView4; this.f = textView5; this.g = textView6; + this.h = textView7; } @Override // androidx.viewbinding.ViewBinding diff --git a/app/src/main/java/com/discord/stores/StoreGuilds.java b/app/src/main/java/com/discord/stores/StoreGuilds.java index 52d1a2aee9..d8288153f0 100644 --- a/app/src/main/java/com/discord/stores/StoreGuilds.java +++ b/app/src/main/java/com/discord/stores/StoreGuilds.java @@ -18,6 +18,7 @@ import com.discord.models.member.GuildMember; import com.discord.models.user.MeUser; import com.discord.stores.updates.ObservationDeck; import com.discord.stores.updates.ObservationDeckProvider; +import com.discord.utilities.collections.CollectionExtensionsKt; import com.discord.utilities.collections.SnowflakePartitionMap; import com.discord.utilities.guilds.GuildUtilsKt; import com.discord.utilities.persister.Persister; @@ -477,7 +478,7 @@ public final class StoreGuilds extends StoreV2 { @Override // com.discord.stores.Store public void init(Context context) { m.checkNotNullParameter(context, "context"); - this.guilds.putAll(this.guildsCache.get()); + this.guilds.putAll(CollectionExtensionsKt.filterNonNullValues(this.guildsCache.get())); LinkedHashMap linkedHashMap = new LinkedHashMap(); Iterator>> it = this.guildRolesCache.get().entrySet().iterator(); while (true) { diff --git a/app/src/main/java/com/discord/stores/StoreUserSettings$updateContactSyncShown$1.java b/app/src/main/java/com/discord/stores/StoreUserSettings$updateContactSyncShown$1.java new file mode 100644 index 0000000000..c37816acb6 --- /dev/null +++ b/app/src/main/java/com/discord/stores/StoreUserSettings$updateContactSyncShown$1.java @@ -0,0 +1,27 @@ +package com.discord.stores; + +import com.discord.models.domain.ModelUserSettings; +import d0.z.d.m; +import d0.z.d.o; +import kotlin.Unit; +import kotlin.jvm.functions.Function1; +/* compiled from: StoreUserSettings.kt */ +public final class StoreUserSettings$updateContactSyncShown$1 extends o implements Function1 { + public static final StoreUserSettings$updateContactSyncShown$1 INSTANCE = new StoreUserSettings$updateContactSyncShown$1(); + + public StoreUserSettings$updateContactSyncShown$1() { + super(1); + } + + /* Return type fixed from 'java.lang.Object' to match base method */ + /* JADX DEBUG: Method arguments types fixed to match base method, original types: [java.lang.Object] */ + @Override // kotlin.jvm.functions.Function1 + public /* bridge */ /* synthetic */ Unit invoke(ModelUserSettings modelUserSettings) { + invoke(modelUserSettings); + return Unit.a; + } + + public final void invoke(ModelUserSettings modelUserSettings) { + m.checkNotNullParameter(modelUserSettings, "it"); + } +} diff --git a/app/src/main/java/com/discord/stores/StoreUserSettings.java b/app/src/main/java/com/discord/stores/StoreUserSettings.java index 842f9b73ce..9e0a559450 100644 --- a/app/src/main/java/com/discord/stores/StoreUserSettings.java +++ b/app/src/main/java/com/discord/stores/StoreUserSettings.java @@ -563,8 +563,8 @@ public final class StoreUserSettings extends Store { } } - public final Observable updateContactSyncShown() { - return RestAPI.Companion.getApi().updateUserSettings(RestAPIParams.UserSettings.Companion.createWithContactSyncUpsellShown()); + public final void updateContactSyncShown() { + ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.restSubscribeOn$default(RestAPI.Companion.getApi().updateUserSettings(RestAPIParams.UserSettings.Companion.createWithContactSyncUpsellShown()), false, 1, null), StoreUserSettings.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, StoreUserSettings$updateContactSyncShown$1.INSTANCE, 62, (Object) null); } public final Observable updateCustomStatus(ModelCustomStatusSetting modelCustomStatusSetting) { diff --git a/app/src/main/java/com/discord/utilities/channel/ChannelSelector$previewVoiceChannel$1.java b/app/src/main/java/com/discord/utilities/channel/ChannelSelector$previewVoiceChannel$1.java new file mode 100644 index 0000000000..ff8060678c --- /dev/null +++ b/app/src/main/java/com/discord/utilities/channel/ChannelSelector$previewVoiceChannel$1.java @@ -0,0 +1,28 @@ +package com.discord.utilities.channel; + +import com.discord.api.channel.Channel; +import com.discord.utilities.permissions.PermissionUtils; +import d0.z.d.o; +import kotlin.jvm.functions.Function0; +/* compiled from: ChannelSelector.kt */ +public final class ChannelSelector$previewVoiceChannel$1 extends o implements Function0 { + public final /* synthetic */ long $channelId; + public final /* synthetic */ ChannelSelector this$0; + + /* JADX INFO: super call moved to the top of the method (can break code semantics) */ + public ChannelSelector$previewVoiceChannel$1(ChannelSelector channelSelector, long j) { + super(0); + this.this$0 = channelSelector; + this.$channelId = j; + } + + @Override // kotlin.jvm.functions.Function0 + /* renamed from: invoke */ + public final Channel mo1invoke() { + Channel findChannelById = this.this$0.getStream().getChannels$app_productionCanaryRelease().findChannelById(this.$channelId); + if (findChannelById != null && PermissionUtils.INSTANCE.hasAccess(findChannelById, this.this$0.getStream().getPermissions$app_productionCanaryRelease().getPermissionsByChannel().get(Long.valueOf(this.$channelId)))) { + return findChannelById; + } + return null; + } +} diff --git a/app/src/main/java/com/discord/utilities/channel/ChannelSelector$previewVoiceChannel$2.java b/app/src/main/java/com/discord/utilities/channel/ChannelSelector$previewVoiceChannel$2.java new file mode 100644 index 0000000000..53214fa1c3 --- /dev/null +++ b/app/src/main/java/com/discord/utilities/channel/ChannelSelector$previewVoiceChannel$2.java @@ -0,0 +1,40 @@ +package com.discord.utilities.channel; + +import androidx.fragment.app.FragmentManager; +import com.discord.api.channel.Channel; +import com.discord.stores.StoreStream; +import com.discord.widgets.voice.sheet.WidgetVoiceBottomSheet; +import d0.z.d.m; +import d0.z.d.o; +import java.lang.ref.WeakReference; +import kotlin.Unit; +import kotlin.jvm.functions.Function1; +/* compiled from: ChannelSelector.kt */ +public final class ChannelSelector$previewVoiceChannel$2 extends o implements Function1 { + public final /* synthetic */ long $channelId; + public final /* synthetic */ WeakReference $fragmentManagerRef; + + /* JADX INFO: super call moved to the top of the method (can break code semantics) */ + public ChannelSelector$previewVoiceChannel$2(WeakReference weakReference, long j) { + super(1); + this.$fragmentManagerRef = weakReference; + this.$channelId = j; + } + + /* Return type fixed from 'java.lang.Object' to match base method */ + /* JADX DEBUG: Method arguments types fixed to match base method, original types: [java.lang.Object] */ + @Override // kotlin.jvm.functions.Function1 + public /* bridge */ /* synthetic */ Unit invoke(Channel channel) { + invoke(channel); + return Unit.a; + } + + public final void invoke(Channel channel) { + FragmentManager fragmentManager = (FragmentManager) this.$fragmentManagerRef.get(); + if (fragmentManager != null) { + m.checkNotNullExpressionValue(fragmentManager, "fragmentManagerRef.get() ?: return@appSubscribe"); + StoreStream.Companion.getGuildSelected().set(channel.f()); + WidgetVoiceBottomSheet.Companion.show(fragmentManager, this.$channelId, true, WidgetVoiceBottomSheet.FeatureContext.HOME); + } + } +} diff --git a/app/src/main/java/com/discord/utilities/channel/ChannelSelector.java b/app/src/main/java/com/discord/utilities/channel/ChannelSelector.java index 21fb757c18..2ecfe764ea 100644 --- a/app/src/main/java/com/discord/utilities/channel/ChannelSelector.java +++ b/app/src/main/java/com/discord/utilities/channel/ChannelSelector.java @@ -1,6 +1,7 @@ package com.discord.utilities.channel; import android.content.Context; +import androidx.fragment.app.FragmentManager; import com.discord.api.channel.Channel; import com.discord.stores.Dispatcher; import com.discord.stores.SelectedChannelAnalyticsLocation; @@ -13,6 +14,7 @@ import com.discord.utilities.rx.ObservableExtensionsKt$filterNull$1; import com.discord.utilities.rx.ObservableExtensionsKt$filterNull$2; import d0.z.d.m; import j0.l.e.j; +import java.lang.ref.WeakReference; import kotlin.jvm.functions.Function0; import kotlin.jvm.functions.Function1; import kotlin.jvm.internal.DefaultConstructorMarker; @@ -142,6 +144,14 @@ public final class ChannelSelector { this.dispatcher.schedule(new ChannelSelector$openCreateThread$1(this, j, j2, l, str)); } + public final void previewVoiceChannel(FragmentManager fragmentManager, long j) { + m.checkNotNullParameter(fragmentManager, "fragmentManager"); + WeakReference weakReference = new WeakReference(fragmentManager); + Observable F = ObservationDeck.connectRx$default(this.observationDeck, new ObservationDeck.UpdateSource[]{this.stream.getChannels$app_productionCanaryRelease(), this.stream.getPermissions$app_productionCanaryRelease()}, false, null, null, new ChannelSelector$previewVoiceChannel$1(this, j), 14, null).x(ObservableExtensionsKt$filterNull$1.INSTANCE).F(ObservableExtensionsKt$filterNull$2.INSTANCE); + m.checkNotNullExpressionValue(F, "filter { it != null }.map { it!! }"); + ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui(ObservableExtensionsKt.takeSingleUntilTimeout$default(F, 0, false, 3, null)), ChannelSelector.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, new ChannelSelector$previewVoiceChannel$2(weakReference, j), 62, (Object) null); + } + public final void selectChannel(long j, long j2, Long l, SelectedChannelAnalyticsLocation selectedChannelAnalyticsLocation) { StoreNavigation.setNavigationPanelAction$default(this.stream.getNavigation$app_productionCanaryRelease(), StoreNavigation.PanelAction.CLOSE, null, 2, null); if (j == 0 || j2 == 0) { 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 1db695d5a1..6b2c2746f8 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 Reporting", "2021-08_hub_reporting", type, n.listOf((Object[]) new String[]{"Control", "Treatment 1: Hub Reporting Enabled"}), 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("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)})) { + 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)})) { linkedHashMap.put(((RegisteredExperiment) obj).getName(), obj); } } diff --git a/app/src/main/java/com/discord/utilities/fcm/NotificationData.java b/app/src/main/java/com/discord/utilities/fcm/NotificationData.java index 40b642bac1..892236af40 100644 --- a/app/src/main/java/com/discord/utilities/fcm/NotificationData.java +++ b/app/src/main/java/com/discord/utilities/fcm/NotificationData.java @@ -108,6 +108,7 @@ public final class NotificationData { private final String messageContent; private final long messageId; private final int messageType; + private final String notificationChannel; private final NotificationType notificationType; private final int relationshipType; private final String stageInstanceTopic; @@ -354,7 +355,7 @@ public final class NotificationData { this(new HashMap()); } - public NotificationData(String str, long j, MessageActivityType messageActivityType, String str2, int i, String str3, Channel channel, List list, long j2, String str4, Integer num, String str5, String str6, int i2, String str7, long j3, String str8, String str9, int i3, String str10, long j4, String str11, String str12, Sticker sticker, String str13, String str14, String str15, String str16, String str17, GuildScheduledEventEntityType guildScheduledEventEntityType, Long l, NotificationType notificationType, String str18) { + public NotificationData(String str, long j, MessageActivityType messageActivityType, String str2, int i, String str3, Channel channel, List list, long j2, String str4, Integer num, String str5, String str6, int i2, String str7, long j3, String str8, String str9, int i3, String str10, long j4, String str11, String str12, Sticker sticker, String str13, String str14, String str15, String str16, String str17, GuildScheduledEventEntityType guildScheduledEventEntityType, Long l, NotificationType notificationType, String str18, String str19) { m.checkNotNullParameter(str, "type"); m.checkNotNullParameter(channel, "channel"); m.checkNotNullParameter(list, "ackChannelIds"); @@ -390,6 +391,7 @@ public final class NotificationData { this.guildScheduledEventId = l; this.notificationType = notificationType; this.trackingType = str18; + this.notificationChannel = str19; Long valueOf = Long.valueOf(j3); boolean z2 = false; long j5 = -1; @@ -411,7 +413,7 @@ public final class NotificationData { /* JADX WARNING: Illegal instructions before constructor call */ public NotificationData(Map map) { - this(r1, r1, r6, r7, r8, r9, r49, r11, r12, r14, r15, r16, r17, r18, r19, r20, r22, r23, r24, r25, r26, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r1 != null ? NotificationType.Companion.parse(r1) : null, map.get("tracking_type")); + this(r1, r1, r6, r7, r8, r9, r49, r11, r12, r14, r15, r16, r17, r18, r19, r20, r22, r23, r24, r25, r26, r28, r29, r30, r31, r32, r33, r34, r35, r36, r37, r1 != null ? NotificationType.Companion.parse(r1) : null, map.get("tracking_type"), map.get("notification_channel")); Integer intOrNull; Long longOrNull; Integer intOrNull2; @@ -629,7 +631,7 @@ public final class NotificationData { String str3 = this.guildName; String str4 = this.guildIcon; List A = message.A(); - return new NotificationData(TYPE_MESSAGE_CREATE, o, b, h, intValue, i, a4, emptyList, i2, str, intOrNull, str2, b3, -1, null, j, str3, str4, -1, null, -1, null, null, A != null ? (Sticker) u.firstOrNull((List) A) : null, null, null, null, null, null, null, null, null, null); + return new NotificationData(TYPE_MESSAGE_CREATE, o, b, h, intValue, i, a4, emptyList, i2, str, intOrNull, str2, b3, -1, null, j, str3, str4, -1, null, -1, null, null, A != null ? (Sticker) u.firstOrNull((List) A) : null, null, null, null, null, null, null, null, null, null, null); } public final List getAckChannelIds() { @@ -1041,7 +1043,8 @@ public final class NotificationData { switch (str.hashCode()) { case -1502317553: if (str.equals(TYPE_GENERIC_PUSH_NOTIFICATION_SENT)) { - return NotificationClient.NOTIF_GENERAL; + String str2 = this.notificationChannel; + return str2 != null ? str2 : NotificationClient.NOTIF_GENERAL; } break; case -1489275252: diff --git a/app/src/main/java/com/discord/utilities/features/GrowthTeamFeatures.java b/app/src/main/java/com/discord/utilities/features/GrowthTeamFeatures.java index 7f07462161..d2a4815cc8 100644 --- a/app/src/main/java/com/discord/utilities/features/GrowthTeamFeatures.java +++ b/app/src/main/java/com/discord/utilities/features/GrowthTeamFeatures.java @@ -1,5 +1,6 @@ package com.discord.utilities.features; +import com.discord.app.AppLog; import com.discord.models.experiments.domain.Experiment; import com.discord.stores.StoreStream; /* compiled from: GrowthTeamFeatures.kt */ @@ -9,75 +10,80 @@ public final class GrowthTeamFeatures { private GrowthTeamFeatures() { } - private final boolean isExperimentEnabled(String str, int i) { - Experiment userExperiment = StoreStream.Companion.getExperiments().getUserExperiment(str, true); - return userExperiment != null && userExperiment.getBucket() == i; + private final boolean isExperimentEnabled(String str, int i, boolean z2) { + Experiment userExperiment = StoreStream.Companion.getExperiments().getUserExperiment(str, z2); + Integer valueOf = userExperiment != null ? Integer.valueOf(userExperiment.getBucket()) : null; + AppLog.i("Experiment triggered: " + str + " | Track Exposure: " + z2 + " | Assigned Bucket: " + valueOf); + return valueOf != null && valueOf.intValue() == i; } - public static /* synthetic */ boolean isExperimentEnabled$default(GrowthTeamFeatures growthTeamFeatures, String str, int i, int i2, Object obj) { + public static /* synthetic */ boolean isExperimentEnabled$default(GrowthTeamFeatures growthTeamFeatures, String str, int i, boolean z2, int i2, Object obj) { if ((i2 & 1) != 0) { i = 1; } - return growthTeamFeatures.isExperimentEnabled(str, i); + if ((i2 & 2) != 0) { + z2 = true; + } + return growthTeamFeatures.isExperimentEnabled(str, i, z2); } public final boolean hubRankingsEnabled() { - return isExperimentEnabled("2021-10_hubs_recs_and_rankings", 1) || isExperimentEnabled("2021-10_hubs_recs_and_rankings", 3); + return isExperimentEnabled$default(this, "2021-10_hubs_recs_and_rankings", 1, false, 2, null) || isExperimentEnabled$default(this, "2021-10_hubs_recs_and_rankings", 3, false, 2, null); } public final boolean hubRecommendationsEnabled() { - return isExperimentEnabled("2021-10_hubs_recs_and_rankings", 2) || isExperimentEnabled("2021-10_hubs_recs_and_rankings", 3); + return isExperimentEnabled$default(this, "2021-10_hubs_recs_and_rankings", 2, false, 2, null) || isExperimentEnabled$default(this, "2021-10_hubs_recs_and_rankings", 3, false, 2, null); } public final boolean hubStudyGroupEnabled() { - return isExperimentEnabled$default(this, "2021-10_study_group", 0, 1, null); + return isExperimentEnabled$default(this, "2021-10_study_group", 0, false, 3, null); + } + + public final boolean hubUnreadsEnabled() { + return isExperimentEnabled$default(this, "2021-11_hub_unreads", 0, false, 3, null); } public final boolean imbalancedAndroidSplashNoop() { - return isExperimentEnabled$default(this, "2021-09_imbalanced_android_splash_noop", 0, 1, null); + return isExperimentEnabled$default(this, "2021-09_imbalanced_android_splash_noop", 0, false, 3, null); } public final boolean isAndroidSmsAutofillEnabled() { - return isExperimentEnabled$default(this, "2021-09_android_sms_autofill", 0, 1, null); + return isExperimentEnabled$default(this, "2021-09_android_sms_autofill", 0, false, 3, null); } public final boolean isHubDiscoveryEnabled() { - return isExperimentEnabled("2021-06_hub_discovery", 1) || isExperimentEnabled("2021-06_hub_discovery", 2); + return isExperimentEnabled$default(this, "2021-06_hub_discovery", 1, false, 2, null) || isExperimentEnabled$default(this, "2021-06_hub_discovery", 2, false, 2, null); } public final boolean isHubDiscoverySparkleEnabled() { - return isExperimentEnabled("2021-06_hub_discovery", 1); + return isExperimentEnabled$default(this, "2021-06_hub_discovery", 1, false, 2, null); } public final boolean isHubEmailConnectionEnabled() { - return isExperimentEnabled$default(this, "2021-06_hub_email_connection", 0, 1, null); + return isExperimentEnabled$default(this, "2021-06_hub_email_connection", 0, false, 3, null); } public final boolean isHubEnabled() { - return isExperimentEnabled$default(this, "2021-06_desktop_school_hubs", 0, 1, null); + return isExperimentEnabled$default(this, "2021-06_desktop_school_hubs", 0, false, 3, null); } public final boolean isHubNameKillSwitchEnabled() { - return isExperimentEnabled$default(this, "2021-09_hub_name_popup_kill_switch", 0, 1, null); + return isExperimentEnabled$default(this, "2021-09_hub_name_popup_kill_switch", 0, false, 3, null); } public final boolean isHubOnboardingEnabled() { - return isExperimentEnabled$default(this, "2021-08_hubs_in_organic_onboarding", 0, 1, null); - } - - public final boolean isHubReportingEnabled() { - return isExperimentEnabled$default(this, "2021-08_hub_reporting", 0, 1, null); + return isExperimentEnabled$default(this, "2021-08_hubs_in_organic_onboarding", 0, false, 3, null); } public final boolean isImpressionLoggingEnabled() { - return isExperimentEnabled$default(this, "2021-08_impression_logging_enabled_android", 0, 1, null); + return isExperimentEnabled$default(this, "2021-08_impression_logging_enabled_android", 0, false, 3, null); } public final boolean isMultiDomainEnabled() { - return isExperimentEnabled$default(this, "2021-08_hub_multi_domain_mobile", 0, 1, null); + return isExperimentEnabled$default(this, "2021-08_hub_multi_domain_mobile", 0, false, 3, null); } public final boolean isNetworkActionLoggingEnabled() { - return isExperimentEnabled$default(this, "2021-07_network_action_logging_android", 0, 1, null); + return isExperimentEnabled$default(this, "2021-07_network_action_logging_android", 0, false, 3, null); } } diff --git a/app/src/main/java/com/discord/utilities/intent/RouteHandlers$selectFeature$settingMap$12.java b/app/src/main/java/com/discord/utilities/intent/RouteHandlers$selectFeature$settingMap$12.java new file mode 100644 index 0000000000..ec50fc2cb8 --- /dev/null +++ b/app/src/main/java/com/discord/utilities/intent/RouteHandlers$selectFeature$settingMap$12.java @@ -0,0 +1,42 @@ +package com.discord.utilities.intent; + +import android.net.Uri; +import androidx.fragment.app.FragmentActivity; +import androidx.fragment.app.FragmentManager; +import com.discord.models.domain.ModelAuditLogEntry; +import com.discord.utilities.channel.ChannelSelector; +import d0.g0.s; +import d0.z.d.m; +import d0.z.d.o; +import kotlin.Unit; +import kotlin.jvm.functions.Function1; +/* compiled from: RouteHandlers.kt */ +public final class RouteHandlers$selectFeature$settingMap$12 extends o implements Function1 { + public final /* synthetic */ Uri $uri; + + /* JADX INFO: super call moved to the top of the method (can break code semantics) */ + public RouteHandlers$selectFeature$settingMap$12(Uri uri) { + super(1); + this.$uri = uri; + } + + /* Return type fixed from 'java.lang.Object' to match base method */ + /* JADX DEBUG: Method arguments types fixed to match base method, original types: [java.lang.Object] */ + @Override // kotlin.jvm.functions.Function1 + public /* bridge */ /* synthetic */ Unit invoke(FragmentActivity fragmentActivity) { + invoke(fragmentActivity); + return Unit.a; + } + + public final void invoke(FragmentActivity fragmentActivity) { + m.checkNotNullParameter(fragmentActivity, "ctx"); + String queryParameter = this.$uri.getQueryParameter(ModelAuditLogEntry.CHANGE_KEY_CHANNEL_ID); + Long longOrNull = queryParameter != null ? s.toLongOrNull(queryParameter) : null; + if (longOrNull != null) { + ChannelSelector instance = ChannelSelector.Companion.getInstance(); + FragmentManager supportFragmentManager = fragmentActivity.getSupportFragmentManager(); + m.checkNotNullExpressionValue(supportFragmentManager, "ctx.supportFragmentManager"); + instance.previewVoiceChannel(supportFragmentManager, longOrNull.longValue()); + } + } +} diff --git a/app/src/main/java/com/discord/utilities/intent/RouteHandlers.java b/app/src/main/java/com/discord/utilities/intent/RouteHandlers.java index 4172429f0d..fad86f31a0 100644 --- a/app/src/main/java/com/discord/utilities/intent/RouteHandlers.java +++ b/app/src/main/java/com/discord/utilities/intent/RouteHandlers.java @@ -378,7 +378,7 @@ public final class RouteHandlers { if (matchResult == null || (groupValues = matchResult.getGroupValues()) == null || (str = (String) u.getOrNull(groupValues, 1)) == null) { str = ""; } - Map mapOf = h0.mapOf(o.to("/account", RouteHandlers$selectFeature$settingMap$1.INSTANCE), o.to("/nitro", RouteHandlers$selectFeature$settingMap$2.INSTANCE), o.to("/voice", RouteHandlers$selectFeature$settingMap$3.INSTANCE), o.to("/createServer", RouteHandlers$selectFeature$settingMap$4.INSTANCE), o.to("/quickSwitcher", RouteHandlers$selectFeature$settingMap$5.INSTANCE), o.to("/friends", RouteHandlers$selectFeature$settingMap$6.INSTANCE), o.to("/mentions", RouteHandlers$selectFeature$settingMap$7.INSTANCE), o.to("/settings", RouteHandlers$selectFeature$settingMap$8.INSTANCE), o.to("/contactSync", RouteHandlers$selectFeature$settingMap$9.INSTANCE), o.to("/addFriends", RouteHandlers$selectFeature$settingMap$10.INSTANCE), o.to("/editProfile", RouteHandlers$selectFeature$settingMap$11.INSTANCE)); + Map mapOf = h0.mapOf(o.to("/account", RouteHandlers$selectFeature$settingMap$1.INSTANCE), o.to("/nitro", RouteHandlers$selectFeature$settingMap$2.INSTANCE), o.to("/voice", RouteHandlers$selectFeature$settingMap$3.INSTANCE), o.to("/createServer", RouteHandlers$selectFeature$settingMap$4.INSTANCE), o.to("/quickSwitcher", RouteHandlers$selectFeature$settingMap$5.INSTANCE), o.to("/friends", RouteHandlers$selectFeature$settingMap$6.INSTANCE), o.to("/mentions", RouteHandlers$selectFeature$settingMap$7.INSTANCE), o.to("/settings", RouteHandlers$selectFeature$settingMap$8.INSTANCE), o.to("/contactSync", RouteHandlers$selectFeature$settingMap$9.INSTANCE), o.to("/addFriends", RouteHandlers$selectFeature$settingMap$10.INSTANCE), o.to("/editProfile", RouteHandlers$selectFeature$settingMap$11.INSTANCE), o.to("/voiceChannel", new RouteHandlers$selectFeature$settingMap$12(uri))); StoreStream.Companion.getNavigation().launchNotice(a.v("ROUTING:", str), new RouteHandlers$selectFeature$1(mapOf, str)); return mapOf.containsKey(str) ? new AnalyticsMetadata(str, null, null, 6, null) : AnalyticsMetadata.Companion.getUNKNOWN(); } diff --git a/app/src/main/java/com/discord/views/directories/ServerDiscoveryItem.java b/app/src/main/java/com/discord/views/directories/ServerDiscoveryItem.java index d5b9ef18e3..5f7ecb7e47 100644 --- a/app/src/main/java/com/discord/views/directories/ServerDiscoveryItem.java +++ b/app/src/main/java/com/discord/views/directories/ServerDiscoveryItem.java @@ -4,7 +4,6 @@ import android.content.Context; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; -import android.widget.ImageView; import android.widget.TextView; import androidx.constraintlayout.widget.Barrier; import androidx.constraintlayout.widget.ConstraintLayout; @@ -45,18 +44,14 @@ public final class ServerDiscoveryItem extends ConstraintLayout { i = R.id.server_discovery_item_image; GuildView guildView = (GuildView) findViewById(R.id.server_discovery_item_image); if (guildView != null) { - i = R.id.server_discovery_item_overflow; - ImageView imageView = (ImageView) findViewById(R.id.server_discovery_item_overflow); - if (imageView != null) { - i = R.id.server_discovery_item_title; - TextView textView2 = (TextView) findViewById(R.id.server_discovery_item_title); - if (textView2 != null) { - b3 b3Var = new b3(this, barrier, barrier2, materialButton, materialButton2, serverMemberCount, textView, guildView, imageView, textView2); - m.checkNotNullExpressionValue(b3Var, "ViewServerDiscoveryItemB…ater.from(context), this)"); - this.i = b3Var; - guildView.b(); - return; - } + i = R.id.server_discovery_item_title; + TextView textView2 = (TextView) findViewById(R.id.server_discovery_item_title); + if (textView2 != null) { + b3 b3Var = new b3(this, barrier, barrier2, materialButton, materialButton2, serverMemberCount, textView, guildView, textView2); + m.checkNotNullExpressionValue(b3Var, "ViewServerDiscoveryItemB…ater.from(context), this)"); + this.i = b3Var; + guildView.b(); + return; } } } @@ -103,19 +98,8 @@ public final class ServerDiscoveryItem extends ConstraintLayout { this.i.d.setOnline(Integer.valueOf(i)); } - public final void setOverflowOnClickListener(View.OnClickListener onClickListener) { - ImageView imageView = this.i.g; - m.checkNotNullExpressionValue(imageView, "binding.serverDiscoveryItemOverflow"); - int i = 0; - if (!(onClickListener != null)) { - i = 8; - } - imageView.setVisibility(i); - this.i.g.setOnClickListener(onClickListener); - } - public final void setTitle(CharSequence charSequence) { - TextView textView = this.i.h; + TextView textView = this.i.g; m.checkNotNullExpressionValue(textView, "binding.serverDiscoveryItemTitle"); textView.setText(charSequence); } 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 13405cef04..05cec3b986 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 @@ -563,7 +563,7 @@ public final class WidgetChatListAdapter extends MGRecyclerAdapterSimple { @MainThread public final void dismissUpsell() { - StoreStream.Companion.getContactSync().dismissUpsell(); + StoreStream.Companion companion = StoreStream.Companion; + companion.getContactSync().dismissUpsell(); + companion.getUserSettings().updateContactSyncShown(); } public final ContactSyncFlowAnalytics getTracker() { diff --git a/app/src/main/java/com/discord/widgets/directories/DirectoryEntryViewHolder$bind$$inlined$apply$lambda$4.java b/app/src/main/java/com/discord/widgets/directories/DirectoryEntryViewHolder$bind$$inlined$apply$lambda$4.java deleted file mode 100644 index 0935e970a7..0000000000 --- a/app/src/main/java/com/discord/widgets/directories/DirectoryEntryViewHolder$bind$$inlined$apply$lambda$4.java +++ /dev/null @@ -1,23 +0,0 @@ -package com.discord.widgets.directories; - -import android.view.View; -import com.discord.api.directory.DirectoryEntry; -/* compiled from: WidgetDirectoryEntryViewHolder.kt */ -public final class DirectoryEntryViewHolder$bind$$inlined$apply$lambda$4 implements View.OnClickListener { - public final /* synthetic */ DirectoryEntry $data$inlined; - public final /* synthetic */ DirectoryEntryData $entryData$inlined; - public final /* synthetic */ DirectoryChannelItemClickInterface $listener$inlined; - - public DirectoryEntryViewHolder$bind$$inlined$apply$lambda$4(DirectoryEntry directoryEntry, DirectoryEntryData directoryEntryData, DirectoryChannelItemClickInterface directoryChannelItemClickInterface) { - this.$data$inlined = directoryEntry; - this.$entryData$inlined = directoryEntryData; - this.$listener$inlined = directoryChannelItemClickInterface; - } - - @Override // android.view.View.OnClickListener - public final void onClick(View view) { - DirectoryChannelItemClickInterface directoryChannelItemClickInterface = this.$listener$inlined; - DirectoryEntry directoryEntry = this.$data$inlined; - directoryChannelItemClickInterface.onOverflowClicked(directoryEntry, directoryEntry.b(), this.$entryData$inlined.getHasEditPermissions()); - } -} diff --git a/app/src/main/java/com/discord/widgets/directories/DirectoryEntryViewHolder.java b/app/src/main/java/com/discord/widgets/directories/DirectoryEntryViewHolder.java index 244c76b933..132e2cc20a 100644 --- a/app/src/main/java/com/discord/widgets/directories/DirectoryEntryViewHolder.java +++ b/app/src/main/java/com/discord/widgets/directories/DirectoryEntryViewHolder.java @@ -2,7 +2,6 @@ package com.discord.widgets.directories; import com.discord.api.directory.DirectoryEntry; import com.discord.databinding.DirectoryEntryListItemBinding; -import com.discord.utilities.features.GrowthTeamFeatures; import com.discord.utilities.guilds.GuildUtilsKt; import com.discord.utilities.icon.IconUtils; import com.discord.views.directories.ServerDiscoveryItem; @@ -26,7 +25,6 @@ public final class DirectoryEntryViewHolder extends DirectoryChannelViewHolder { DirectoryEntryData directoryEntryData; m.checkNotNullParameter(directoryChannelItem, "item"); m.checkNotNullParameter(directoryChannelItemClickInterface, "listener"); - DirectoryEntryViewHolder$bind$$inlined$apply$lambda$4 directoryEntryViewHolder$bind$$inlined$apply$lambda$4 = null; if (!(directoryChannelItem instanceof DirectoryChannelItem.DirectoryItem)) { directoryChannelItem = null; } @@ -55,14 +53,7 @@ public final class DirectoryEntryViewHolder extends DirectoryChannelViewHolder { serverDiscoveryItem.setJoinButtonOnClickListener(null); serverDiscoveryItem.setJoinedButtonOnClickListener(new DirectoryEntryViewHolder$bind$$inlined$apply$lambda$2(entry, directoryEntryData, directoryChannelItemClickInterface)); } - if (GrowthTeamFeatures.INSTANCE.isHubReportingEnabled()) { - serverDiscoveryItem.setOnLongClickListener(new DirectoryEntryViewHolder$bind$$inlined$apply$lambda$3(entry, directoryEntryData, directoryChannelItemClickInterface)); - } else { - if (directoryEntryData.getHasEditPermissions()) { - directoryEntryViewHolder$bind$$inlined$apply$lambda$4 = new DirectoryEntryViewHolder$bind$$inlined$apply$lambda$4(entry, directoryEntryData, directoryChannelItemClickInterface); - } - serverDiscoveryItem.setOverflowOnClickListener(directoryEntryViewHolder$bind$$inlined$apply$lambda$4); - } + serverDiscoveryItem.setOnLongClickListener(new DirectoryEntryViewHolder$bind$$inlined$apply$lambda$3(entry, directoryEntryData, directoryChannelItemClickInterface)); serverDiscoveryItem.setJoinedGuild(directoryEntryData.getHasJoinedGuild()); } } diff --git a/app/src/main/java/com/discord/widgets/guilds/list/WidgetGuildsListViewModel.java b/app/src/main/java/com/discord/widgets/guilds/list/WidgetGuildsListViewModel.java index baed31f78d..4095bb88e0 100644 --- a/app/src/main/java/com/discord/widgets/guilds/list/WidgetGuildsListViewModel.java +++ b/app/src/main/java/com/discord/widgets/guilds/list/WidgetGuildsListViewModel.java @@ -1250,16 +1250,19 @@ public final class WidgetGuildsListViewModel extends AppViewModel { } boolean shouldDisplayVideoIconOnGuild = shouldDisplayVideoIconOnGuild(id2, modelNotificationSettings, map4, map5); boolean contains2 = set2.contains(Long.valueOf(guild.getId())); + boolean z6 = !shouldShowUnread(guild) && contains; boolean contains3 = set3.contains(Long.valueOf(guild.getId())); Channel channel = map3.get(Long.valueOf(j2)); - return new GuildListItem.GuildItem(guild, i, contains2, contains, z5, l, z3, shouldDisplayVideoIconOnGuild, false, bool, applicationStatus, z2, contains3, channel == null && ChannelUtils.z(channel), set4.contains(Long.valueOf(guild.getId())), 256, null); + return new GuildListItem.GuildItem(guild, i, contains2, z6, z5, l, z3, shouldDisplayVideoIconOnGuild, false, bool, applicationStatus, z2, contains3, channel == null && ChannelUtils.z(channel), set4.contains(Long.valueOf(guild.getId())), 256, null); } z3 = false; boolean shouldDisplayVideoIconOnGuild = shouldDisplayVideoIconOnGuild(id2, modelNotificationSettings, map4, map5); boolean contains2 = set2.contains(Long.valueOf(guild.getId())); + if (!shouldShowUnread(guild)) { + } boolean contains3 = set3.contains(Long.valueOf(guild.getId())); Channel channel = map3.get(Long.valueOf(j2)); - return new GuildListItem.GuildItem(guild, i, contains2, contains, z5, l, z3, shouldDisplayVideoIconOnGuild, false, bool, applicationStatus, z2, contains3, channel == null && ChannelUtils.z(channel), set4.contains(Long.valueOf(guild.getId())), 256, null); + return new GuildListItem.GuildItem(guild, i, contains2, z6, z5, l, z3, shouldDisplayVideoIconOnGuild, false, bool, applicationStatus, z2, contains3, channel == null && ChannelUtils.z(channel), set4.contains(Long.valueOf(guild.getId())), 256, null); } public static /* synthetic */ GuildListItem.GuildItem createGuildItem$default(WidgetGuildsListViewModel widgetGuildsListViewModel, Guild guild, long j, long j2, Set set, Map map, int i, Map map2, Map map3, Set set2, Set set3, Set set4, Long l, Boolean bool, Map map4, Map map5, ApplicationStatus applicationStatus, boolean z2, int i2, Object obj) { @@ -1293,16 +1296,16 @@ public final class WidgetGuildsListViewModel extends AppViewModel { /* JADX WARNING: Code restructure failed: missing block: B:53:0x0247, code lost: if (com.discord.api.channel.ChannelUtils.z(r6) == true) goto L_0x024e; */ - /* JADX WARNING: Removed duplicated region for block: B:110:0x0416 */ - /* JADX WARNING: Removed duplicated region for block: B:111:0x045c */ - /* JADX WARNING: Removed duplicated region for block: B:114:0x047b */ - /* JADX WARNING: Removed duplicated region for block: B:117:0x0498 */ - /* JADX WARNING: Removed duplicated region for block: B:126:0x04b5 */ - /* JADX WARNING: Removed duplicated region for block: B:153:0x028d A[SYNTHETIC] */ + /* JADX WARNING: Removed duplicated region for block: B:113:0x0426 */ + /* JADX WARNING: Removed duplicated region for block: B:114:0x046c */ + /* JADX WARNING: Removed duplicated region for block: B:117:0x048b */ + /* JADX WARNING: Removed duplicated region for block: B:120:0x04a8 */ + /* JADX WARNING: Removed duplicated region for block: B:129:0x04c5 */ + /* JADX WARNING: Removed duplicated region for block: B:156:0x0295 A[SYNTHETIC] */ /* JADX WARNING: Removed duplicated region for block: B:50:0x022e */ /* JADX WARNING: Removed duplicated region for block: B:56:0x024d */ - /* JADX WARNING: Removed duplicated region for block: B:59:0x0251 */ - /* JADX WARNING: Removed duplicated region for block: B:69:0x028b */ + /* JADX WARNING: Removed duplicated region for block: B:60:0x0253 */ + /* JADX WARNING: Removed duplicated region for block: B:72:0x0293 */ private final void handleStoreState(StoreState storeState) { boolean z2; ArrayList arrayList; @@ -1403,7 +1406,7 @@ public final class WidgetGuildsListViewModel extends AppViewModel { } z11 = false; if (!z8) { - z8 = storeState.getUnreadGuildIds().contains(Long.valueOf(guild3.getId())) && ((modelNotificationSettings = (ModelNotificationSettings) a.d(guild3, storeState.getGuildSettings())) == null || modelNotificationSettings.isMuted() != z7); + z8 = shouldShowUnread(guild3) && storeState.getUnreadGuildIds().contains(Long.valueOf(guild3.getId())) && ((modelNotificationSettings = (ModelNotificationSettings) a.d(guild3, storeState.getGuildSettings())) == null || modelNotificationSettings.isMuted() != z7); } num = (Integer) hashMap2.get(Long.valueOf(guild3.getId())); if (num == null) { @@ -1715,6 +1718,10 @@ public final class WidgetGuildsListViewModel extends AppViewModel { return false; } + private final boolean shouldShowUnread(Guild guild) { + return !guild.isHub() || GrowthTeamFeatures.INSTANCE.hubUnreadsEnabled(); + } + private final int sumMentionCountsForGuild(long j, Map> map, Map map2) { Collection collection = (Collection) map.get(Long.valueOf(j)); if (collection == null) { diff --git a/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventDetailsExtrasBottomSheet$binding$2.java b/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventDetailsExtrasBottomSheet$binding$2.java index 4e4e1c8775..fd8c7ad4ed 100644 --- a/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventDetailsExtrasBottomSheet$binding$2.java +++ b/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventDetailsExtrasBottomSheet$binding$2.java @@ -33,10 +33,14 @@ public final /* synthetic */ class WidgetGuildScheduledEventDetailsExtrasBottomS i = R.id.interested_toggle; TextView textView5 = (TextView) view.findViewById(R.id.interested_toggle); if (textView5 != null) { - i = R.id.start_event; - TextView textView6 = (TextView) view.findViewById(R.id.start_event); + i = R.id.report_event; + TextView textView6 = (TextView) view.findViewById(R.id.report_event); if (textView6 != null) { - return new WidgetGuildScheduledEventDetailsExtrasBottomSheetBinding((NestedScrollView) view, textView, textView2, textView3, textView4, textView5, textView6); + i = R.id.start_event; + TextView textView7 = (TextView) view.findViewById(R.id.start_event); + if (textView7 != null) { + return new WidgetGuildScheduledEventDetailsExtrasBottomSheetBinding((NestedScrollView) view, textView, textView2, textView3, textView4, textView5, textView6, textView7); + } } } } diff --git a/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventDetailsExtrasBottomSheet$configureUi$6.java b/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventDetailsExtrasBottomSheet$configureUi$6.java index 861fa19ba2..6d3d290ead 100644 --- a/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventDetailsExtrasBottomSheet$configureUi$6.java +++ b/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventDetailsExtrasBottomSheet$configureUi$6.java @@ -3,6 +3,7 @@ package com.discord.widgets.guildscheduledevent; import android.content.Context; import android.view.View; import com.discord.widgets.guildscheduledevent.GuildScheduledEventDetailsViewModel; +import com.discord.widgets.mobile_reports.WidgetMobileReports; import d0.z.d.m; /* compiled from: WidgetGuildScheduledEventDetailsExtrasBottomSheet.kt */ public final class WidgetGuildScheduledEventDetailsExtrasBottomSheet$configureUi$6 implements View.OnClickListener { @@ -17,8 +18,9 @@ public final class WidgetGuildScheduledEventDetailsExtrasBottomSheet$configureUi @Override // android.view.View.OnClickListener public final void onClick(View view) { WidgetGuildScheduledEventDetailsExtrasBottomSheet.access$dismissWithActionTaken(this.this$0); + WidgetMobileReports.Companion companion = WidgetMobileReports.Companion; Context requireContext = this.this$0.requireContext(); m.checkNotNullExpressionValue(requireContext, "requireContext()"); - c.a.d.m.c(requireContext, String.valueOf(((GuildScheduledEventDetailsViewModel.ViewState.Initialized) this.$viewState).getGuildScheduledEvent().h()), 0, 4); + companion.launchGuildScheduledEventReport(requireContext, ((GuildScheduledEventDetailsViewModel.ViewState.Initialized) this.$viewState).getGuildScheduledEvent().g(), ((GuildScheduledEventDetailsViewModel.ViewState.Initialized) this.$viewState).getGuildScheduledEvent().h()); } } diff --git a/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventDetailsExtrasBottomSheet$configureUi$7.java b/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventDetailsExtrasBottomSheet$configureUi$7.java new file mode 100644 index 0000000000..90e2df888a --- /dev/null +++ b/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventDetailsExtrasBottomSheet$configureUi$7.java @@ -0,0 +1,24 @@ +package com.discord.widgets.guildscheduledevent; + +import android.content.Context; +import android.view.View; +import com.discord.widgets.guildscheduledevent.GuildScheduledEventDetailsViewModel; +import d0.z.d.m; +/* compiled from: WidgetGuildScheduledEventDetailsExtrasBottomSheet.kt */ +public final class WidgetGuildScheduledEventDetailsExtrasBottomSheet$configureUi$7 implements View.OnClickListener { + public final /* synthetic */ GuildScheduledEventDetailsViewModel.ViewState $viewState; + public final /* synthetic */ WidgetGuildScheduledEventDetailsExtrasBottomSheet this$0; + + public WidgetGuildScheduledEventDetailsExtrasBottomSheet$configureUi$7(WidgetGuildScheduledEventDetailsExtrasBottomSheet widgetGuildScheduledEventDetailsExtrasBottomSheet, GuildScheduledEventDetailsViewModel.ViewState viewState) { + this.this$0 = widgetGuildScheduledEventDetailsExtrasBottomSheet; + this.$viewState = viewState; + } + + @Override // android.view.View.OnClickListener + public final void onClick(View view) { + WidgetGuildScheduledEventDetailsExtrasBottomSheet.access$dismissWithActionTaken(this.this$0); + Context requireContext = this.this$0.requireContext(); + m.checkNotNullExpressionValue(requireContext, "requireContext()"); + c.a.d.m.c(requireContext, String.valueOf(((GuildScheduledEventDetailsViewModel.ViewState.Initialized) this.$viewState).getGuildScheduledEvent().h()), 0, 4); + } +} diff --git a/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventDetailsExtrasBottomSheet.java b/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventDetailsExtrasBottomSheet.java index 07e97d38b2..73eff28d12 100644 --- a/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventDetailsExtrasBottomSheet.java +++ b/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventDetailsExtrasBottomSheet.java @@ -111,10 +111,10 @@ public final class WidgetGuildScheduledEventDetailsExtrasBottomSheet extends App } textView.setText(str); textView.setOnClickListener(new WidgetGuildScheduledEventDetailsExtrasBottomSheet$configureUi$$inlined$apply$lambda$1(this, canStartEvent, eventTiming, viewState)); - TextView textView2 = getBinding().g; + TextView textView2 = getBinding().h; m.checkNotNullExpressionValue(textView2, "binding.startEvent"); textView2.setVisibility(canStartEvent && eventTiming.isLongStartable() ? 0 : 8); - getBinding().g.setOnClickListener(new WidgetGuildScheduledEventDetailsExtrasBottomSheet$configureUi$2(this, viewState)); + getBinding().h.setOnClickListener(new WidgetGuildScheduledEventDetailsExtrasBottomSheet$configureUi$2(this, viewState)); TextView textView3 = getBinding().d; m.checkNotNullExpressionValue(textView3, "binding.editEvent"); textView3.setVisibility(canStartEvent ? 0 : 8); @@ -131,13 +131,14 @@ public final class WidgetGuildScheduledEventDetailsExtrasBottomSheet extends App } textView5.setVisibility(z2 ? 0 : 8); getBinding().b.setOnClickListener(new WidgetGuildScheduledEventDetailsExtrasBottomSheet$configureUi$5(this, viewState)); + getBinding().g.setOnClickListener(new WidgetGuildScheduledEventDetailsExtrasBottomSheet$configureUi$6(this, viewState)); TextView textView6 = getBinding().f1913c; m.checkNotNullExpressionValue(textView6, "binding.copyId"); if (!initialized.isDeveloperMode()) { i = 8; } textView6.setVisibility(i); - getBinding().f1913c.setOnClickListener(new WidgetGuildScheduledEventDetailsExtrasBottomSheet$configureUi$6(this, viewState)); + getBinding().f1913c.setOnClickListener(new WidgetGuildScheduledEventDetailsExtrasBottomSheet$configureUi$7(this, viewState)); } private final void dismissWithActionTaken() { diff --git a/app/src/main/java/com/discord/widgets/mobile_reports/MobileReportArgs.java b/app/src/main/java/com/discord/widgets/mobile_reports/MobileReportArgs.java index d6aad0bb34..09bcf3babd 100644 --- a/app/src/main/java/com/discord/widgets/mobile_reports/MobileReportArgs.java +++ b/app/src/main/java/com/discord/widgets/mobile_reports/MobileReportArgs.java @@ -125,6 +125,99 @@ public abstract class MobileReportArgs implements Parcelable { } } + /* compiled from: WidgetMobileReports.kt */ + public static final class GuildScheduledEvent extends MobileReportArgs { + public static final Parcelable.Creator CREATOR = new Creator(); + private final long eventId; + private final long guildId; + + public static class Creator implements Parcelable.Creator { + @Override // android.os.Parcelable.Creator + public final GuildScheduledEvent createFromParcel(Parcel parcel) { + m.checkNotNullParameter(parcel, "in"); + return new GuildScheduledEvent(parcel.readLong(), parcel.readLong()); + } + + @Override // android.os.Parcelable.Creator + public final GuildScheduledEvent[] newArray(int i) { + return new GuildScheduledEvent[i]; + } + } + + public GuildScheduledEvent(long j, long j2) { + super(ReportType.GuildScheduledEvent, -1, null); + this.guildId = j; + this.eventId = j2; + } + + public static /* synthetic */ GuildScheduledEvent copy$default(GuildScheduledEvent guildScheduledEvent, long j, long j2, int i, Object obj) { + if ((i & 1) != 0) { + j = guildScheduledEvent.guildId; + } + if ((i & 2) != 0) { + j2 = guildScheduledEvent.eventId; + } + return guildScheduledEvent.copy(j, j2); + } + + public final long component1() { + return this.guildId; + } + + public final long component2() { + return this.eventId; + } + + public final GuildScheduledEvent copy(long j, long j2) { + return new GuildScheduledEvent(j, j2); + } + + @Override // android.os.Parcelable + public int describeContents() { + return 0; + } + + @Override // java.lang.Object + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (!(obj instanceof GuildScheduledEvent)) { + return false; + } + GuildScheduledEvent guildScheduledEvent = (GuildScheduledEvent) obj; + return this.guildId == guildScheduledEvent.guildId && this.eventId == guildScheduledEvent.eventId; + } + + public final long getEventId() { + return this.eventId; + } + + public final long getGuildId() { + return this.guildId; + } + + @Override // java.lang.Object + public int hashCode() { + return b.a(this.eventId) + (b.a(this.guildId) * 31); + } + + @Override // java.lang.Object + public String toString() { + StringBuilder R = a.R("GuildScheduledEvent(guildId="); + R.append(this.guildId); + R.append(", eventId="); + return a.B(R, this.eventId, ")"); + } + + @Override // android.os.Parcelable + public void writeToParcel(Parcel parcel, int i) { + m.checkNotNullParameter(parcel, "parcel"); + parcel.writeLong(this.guildId); + parcel.writeLong(this.eventId); + } + } + /* compiled from: WidgetMobileReports.kt */ public static final class Message extends MobileReportArgs { public static final Parcelable.Creator CREATOR = new Creator(); diff --git a/app/src/main/java/com/discord/widgets/mobile_reports/MobileReportsViewModel$Companion$getStoreState$1.java b/app/src/main/java/com/discord/widgets/mobile_reports/MobileReportsViewModel$Companion$getStoreState$1.java index 671f34deb1..ee3f44ae1f 100644 --- a/app/src/main/java/com/discord/widgets/mobile_reports/MobileReportsViewModel$Companion$getStoreState$1.java +++ b/app/src/main/java/com/discord/widgets/mobile_reports/MobileReportsViewModel$Companion$getStoreState$1.java @@ -2,6 +2,7 @@ package com.discord.widgets.mobile_reports; import com.discord.api.channel.Channel; import com.discord.api.directory.DirectoryEntry; +import com.discord.api.guildscheduledevent.GuildScheduledEvent; import com.discord.api.stageinstance.StageInstance; import com.discord.models.guild.Guild; import com.discord.models.message.Message; @@ -12,9 +13,9 @@ import d0.z.d.m; import java.util.Iterator; import java.util.List; import java.util.Map; -import rx.functions.Func6; +import rx.functions.Func8; /* compiled from: MobileReportsViewModel.kt */ -public final class MobileReportsViewModel$Companion$getStoreState$1 implements Func6, RestCallState>, MobileReportsViewModel.StoreState> { +public final class MobileReportsViewModel$Companion$getStoreState$1 implements Func8, RestCallState>, GuildScheduledEvent, Guild, MobileReportsViewModel.StoreState> { public final /* synthetic */ MobileReportArgs $args; public MobileReportsViewModel$Companion$getStoreState$1(MobileReportArgs mobileReportArgs) { @@ -23,7 +24,7 @@ public final class MobileReportsViewModel$Companion$getStoreState$1 map, RestCallState> restCallState) { + public final MobileReportsViewModel.StoreState call(Message message, Channel channel, Guild guild, StageInstance stageInstance, Map map, RestCallState> restCallState, GuildScheduledEvent guildScheduledEvent, Guild guild2) { List list; boolean z2; MobileReportArgs mobileReportArgs = this.$args; @@ -33,6 +34,7 @@ public final class MobileReportsViewModel$Companion$getStoreState$1 map, RestCallState> restCallState) { - return call(message, channel, guild, stageInstance, (Map) map, (RestCallState>) restCallState); + /* JADX DEBUG: Method arguments types fixed to match base method, original types: [java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object] */ + @Override // rx.functions.Func8 + public /* bridge */ /* synthetic */ MobileReportsViewModel.StoreState call(Message message, Channel channel, Guild guild, StageInstance stageInstance, Map map, RestCallState> restCallState, GuildScheduledEvent guildScheduledEvent, Guild guild2) { + return call(message, channel, guild, stageInstance, (Map) map, (RestCallState>) restCallState, guildScheduledEvent, guild2); } } diff --git a/app/src/main/java/com/discord/widgets/mobile_reports/MobileReportsViewModel$handleSubmit$2.java b/app/src/main/java/com/discord/widgets/mobile_reports/MobileReportsViewModel$handleSubmit$2.java index dedad702db..98980580d4 100644 --- a/app/src/main/java/com/discord/widgets/mobile_reports/MobileReportsViewModel$handleSubmit$2.java +++ b/app/src/main/java/com/discord/widgets/mobile_reports/MobileReportsViewModel$handleSubmit$2.java @@ -28,6 +28,6 @@ public final class MobileReportsViewModel$handleSubmit$2 extends o implements Fu public final void invoke(Error error) { m.checkNotNullParameter(error, "it"); - MobileReportsViewModel.access$updateViewState(this.this$0, MobileReportsViewModel.ViewState.Menu.copy$default(this.$currentViewState, null, null, null, null, null, MobileReportsViewModel.SubmitState.Error.INSTANCE, null, null, 223, null)); + MobileReportsViewModel.access$updateViewState(this.this$0, MobileReportsViewModel.ViewState.Menu.copy$default(this.$currentViewState, null, null, null, null, null, null, MobileReportsViewModel.SubmitState.Error.INSTANCE, null, null, 447, null)); } } diff --git a/app/src/main/java/com/discord/widgets/mobile_reports/MobileReportsViewModel.java b/app/src/main/java/com/discord/widgets/mobile_reports/MobileReportsViewModel.java index 18f951e46d..9921c05e68 100644 --- a/app/src/main/java/com/discord/widgets/mobile_reports/MobileReportsViewModel.java +++ b/app/src/main/java/com/discord/widgets/mobile_reports/MobileReportsViewModel.java @@ -6,6 +6,7 @@ import c.d.b.a.a; import com.discord.R; import com.discord.api.channel.Channel; import com.discord.api.directory.DirectoryEntry; +import com.discord.api.guildscheduledevent.GuildScheduledEvent; import com.discord.api.report.MenuAPIResponse; import com.discord.api.report.NodeElementResult; import com.discord.api.report.NodeResult; @@ -23,8 +24,11 @@ import com.discord.models.guild.Guild; import com.discord.models.member.GuildMember; import com.discord.models.message.Message; import com.discord.models.user.User; +import com.discord.stores.StoreGuildScheduledEvents; +import com.discord.stores.StoreGuilds; import com.discord.stores.StoreMessages; import com.discord.stores.StoreStream; +import com.discord.stores.utilities.RestCallState; import com.discord.utilities.SnowflakeUtils; import com.discord.utilities.color.ColorCompat; import com.discord.utilities.error.Error; @@ -39,7 +43,6 @@ import com.discord.utilities.time.Clock; import com.discord.utilities.time.ClockFactory; import com.discord.widgets.mobile_reports.MobileReportArgs; import com.facebook.drawee.span.DraweeSpanStringBuilder; -import com.google.android.material.behavior.HideBottomViewOnScrollBehavior; import d0.o; import d0.t.n; import d0.t.u; @@ -124,7 +127,7 @@ public final class MobileReportsViewModel extends AppViewModel { if (access$parseMessagePreview != null) { blockUserElement = new BlockUserElement(component1.getBlockedUsers().containsKey(Long.valueOf(access$parseMessagePreview.getAuthor().getId())), access$parseMessagePreview.getAuthor()); } - access$getViewState$p = new ViewState.Menu(component2, access$parseMessagePreview, access$parseChannelPreview, MobileReportsViewModel.access$parseDirectoryServerPreview(this.this$0, component1), initial, null, emptyList, blockUserElement, 32, null); + access$getViewState$p = new ViewState.Menu(component2, access$parseMessagePreview, access$parseChannelPreview, MobileReportsViewModel.access$parseDirectoryServerPreview(this.this$0, component1), MobileReportsViewModel.access$parseEventPreview(this.this$0, component1), initial, null, emptyList, blockUserElement, 64, null); } MobileReportsViewModel.access$updateViewState(mobileReportsViewModel2, access$getViewState$p); } @@ -430,10 +433,32 @@ public final class MobileReportsViewModel extends AppViewModel { StoreStream.Companion companion = StoreStream.Companion; StoreMessages messages = companion.getMessages(); long channelId = mobileReportArgs.getChannelId(); + MobileReportArgs.GuildScheduledEvent guildScheduledEvent = null; MobileReportArgs.Message message = (MobileReportArgs.Message) (!(mobileReportArgs instanceof MobileReportArgs.Message) ? null : mobileReportArgs); - Observable f = Observable.f(messages.observeMessagesForChannel(channelId, message != null ? message.getMessageId() : -1), companion.getChannels().observeChannel(mobileReportArgs.getChannelId()), companion.getGuilds().observeFromChannelId(mobileReportArgs.getChannelId()), companion.getStageInstances().observeStageInstanceForChannel(mobileReportArgs.getChannelId()), companion.getUserRelationships().observeForType(2), companion.getDirectories().observeDirectoriesForChannel(mobileReportArgs.getChannelId()), new MobileReportsViewModel$Companion$getStoreState$1(mobileReportArgs)); - m.checkNotNullExpressionValue(f, "Observable.combineLatest…ryEntryId }\n )\n }"); - return f; + long j = -1; + Observable observeMessagesForChannel = messages.observeMessagesForChannel(channelId, message != null ? message.getMessageId() : -1); + Observable observeChannel = companion.getChannels().observeChannel(mobileReportArgs.getChannelId()); + Observable observeFromChannelId = companion.getGuilds().observeFromChannelId(mobileReportArgs.getChannelId()); + Observable observeStageInstanceForChannel = companion.getStageInstances().observeStageInstanceForChannel(mobileReportArgs.getChannelId()); + Observable> observeForType = companion.getUserRelationships().observeForType(2); + Observable>> observeDirectoriesForChannel = companion.getDirectories().observeDirectoriesForChannel(mobileReportArgs.getChannelId()); + StoreGuildScheduledEvents guildScheduledEvents = companion.getGuildScheduledEvents(); + boolean z2 = mobileReportArgs instanceof MobileReportArgs.GuildScheduledEvent; + MobileReportArgs.GuildScheduledEvent guildScheduledEvent2 = (MobileReportArgs.GuildScheduledEvent) (!z2 ? null : mobileReportArgs); + Long valueOf = guildScheduledEvent2 != null ? Long.valueOf(guildScheduledEvent2.getEventId()) : null; + MobileReportArgs.GuildScheduledEvent guildScheduledEvent3 = (MobileReportArgs.GuildScheduledEvent) (!z2 ? null : mobileReportArgs); + Observable observeGuildScheduledEvent = guildScheduledEvents.observeGuildScheduledEvent(valueOf, guildScheduledEvent3 != null ? Long.valueOf(guildScheduledEvent3.getGuildId()) : null); + StoreGuilds guilds = companion.getGuilds(); + if (z2) { + guildScheduledEvent = mobileReportArgs; + } + MobileReportArgs.GuildScheduledEvent guildScheduledEvent4 = guildScheduledEvent; + if (guildScheduledEvent4 != null) { + j = guildScheduledEvent4.getGuildId(); + } + Observable d = Observable.d(observeMessagesForChannel, observeChannel, observeFromChannelId, observeStageInstanceForChannel, observeForType, observeDirectoriesForChannel, observeGuildScheduledEvent, guilds.observeGuild(j), new MobileReportsViewModel$Companion$getStoreState$1(mobileReportArgs)); + m.checkNotNullExpressionValue(d, "Observable.combineLatest…nt = event,\n )\n }"); + return d; } } @@ -513,6 +538,82 @@ public final class MobileReportsViewModel extends AppViewModel { } } + /* compiled from: MobileReportsViewModel.kt */ + public static final class GuildScheduledEventPreview { + private final GuildScheduledEvent event; + private final Guild guild; + + public GuildScheduledEventPreview(Guild guild, GuildScheduledEvent guildScheduledEvent) { + m.checkNotNullParameter(guild, "guild"); + m.checkNotNullParameter(guildScheduledEvent, "event"); + this.guild = guild; + this.event = guildScheduledEvent; + } + + public static /* synthetic */ GuildScheduledEventPreview copy$default(GuildScheduledEventPreview guildScheduledEventPreview, Guild guild, GuildScheduledEvent guildScheduledEvent, int i, Object obj) { + if ((i & 1) != 0) { + guild = guildScheduledEventPreview.guild; + } + if ((i & 2) != 0) { + guildScheduledEvent = guildScheduledEventPreview.event; + } + return guildScheduledEventPreview.copy(guild, guildScheduledEvent); + } + + public final Guild component1() { + return this.guild; + } + + public final GuildScheduledEvent component2() { + return this.event; + } + + public final GuildScheduledEventPreview copy(Guild guild, GuildScheduledEvent guildScheduledEvent) { + m.checkNotNullParameter(guild, "guild"); + m.checkNotNullParameter(guildScheduledEvent, "event"); + return new GuildScheduledEventPreview(guild, guildScheduledEvent); + } + + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (!(obj instanceof GuildScheduledEventPreview)) { + return false; + } + GuildScheduledEventPreview guildScheduledEventPreview = (GuildScheduledEventPreview) obj; + return m.areEqual(this.guild, guildScheduledEventPreview.guild) && m.areEqual(this.event, guildScheduledEventPreview.event); + } + + public final GuildScheduledEvent getEvent() { + return this.event; + } + + public final Guild getGuild() { + return this.guild; + } + + public int hashCode() { + Guild guild = this.guild; + int i = 0; + int hashCode = (guild != null ? guild.hashCode() : 0) * 31; + GuildScheduledEvent guildScheduledEvent = this.event; + if (guildScheduledEvent != null) { + i = guildScheduledEvent.hashCode(); + } + return hashCode + i; + } + + public String toString() { + StringBuilder R = a.R("GuildScheduledEventPreview(guild="); + R.append(this.guild); + R.append(", event="); + R.append(this.event); + R.append(")"); + return R.toString(); + } + } + /* compiled from: MobileReportsViewModel.kt */ public static final class MessagePreview { private final User author; @@ -824,18 +925,20 @@ public final class MobileReportsViewModel extends AppViewModel { private final ChannelPreview channelPreviewElement; private final CheckboxElement checkboxElement; private final DirectoryServerPreview directoryServerPreviewElement; + private final GuildScheduledEventPreview eventPreviewElement; private final MessagePreview messagePreviewElement; private final ReportNode node; private final SubmitState submitState; private final boolean successElement; - public NodeState(ReportNode reportNode, CheckboxElement checkboxElement, MessagePreview messagePreview, ChannelPreview channelPreview, DirectoryServerPreview directoryServerPreview, BlockUserElement blockUserElement, List list, boolean z2, SubmitState submitState, ReportNodeBottomButton reportNodeBottomButton) { + public NodeState(ReportNode reportNode, CheckboxElement checkboxElement, MessagePreview messagePreview, ChannelPreview channelPreview, DirectoryServerPreview directoryServerPreview, GuildScheduledEventPreview guildScheduledEventPreview, BlockUserElement blockUserElement, List list, boolean z2, SubmitState submitState, ReportNodeBottomButton reportNodeBottomButton) { m.checkNotNullParameter(reportNode, "node"); this.node = reportNode; this.checkboxElement = checkboxElement; this.messagePreviewElement = messagePreview; this.channelPreviewElement = channelPreview; this.directoryServerPreviewElement = directoryServerPreview; + this.eventPreviewElement = guildScheduledEventPreview; this.blockUserElement = blockUserElement; this.breadcrumbsElement = list; this.successElement = z2; @@ -843,15 +946,19 @@ public final class MobileReportsViewModel extends AppViewModel { this.bottomButton = reportNodeBottomButton; } - public static /* synthetic */ NodeState copy$default(NodeState nodeState, ReportNode reportNode, CheckboxElement checkboxElement, MessagePreview messagePreview, ChannelPreview channelPreview, DirectoryServerPreview directoryServerPreview, BlockUserElement blockUserElement, List list, boolean z2, SubmitState submitState, ReportNodeBottomButton reportNodeBottomButton, int i, Object obj) { - return nodeState.copy((i & 1) != 0 ? nodeState.node : reportNode, (i & 2) != 0 ? nodeState.checkboxElement : checkboxElement, (i & 4) != 0 ? nodeState.messagePreviewElement : messagePreview, (i & 8) != 0 ? nodeState.channelPreviewElement : channelPreview, (i & 16) != 0 ? nodeState.directoryServerPreviewElement : directoryServerPreview, (i & 32) != 0 ? nodeState.blockUserElement : blockUserElement, (i & 64) != 0 ? nodeState.breadcrumbsElement : list, (i & 128) != 0 ? nodeState.successElement : z2, (i & 256) != 0 ? nodeState.submitState : submitState, (i & 512) != 0 ? nodeState.bottomButton : reportNodeBottomButton); + public static /* synthetic */ NodeState copy$default(NodeState nodeState, ReportNode reportNode, CheckboxElement checkboxElement, MessagePreview messagePreview, ChannelPreview channelPreview, DirectoryServerPreview directoryServerPreview, GuildScheduledEventPreview guildScheduledEventPreview, BlockUserElement blockUserElement, List list, boolean z2, SubmitState submitState, ReportNodeBottomButton reportNodeBottomButton, int i, Object obj) { + return nodeState.copy((i & 1) != 0 ? nodeState.node : reportNode, (i & 2) != 0 ? nodeState.checkboxElement : checkboxElement, (i & 4) != 0 ? nodeState.messagePreviewElement : messagePreview, (i & 8) != 0 ? nodeState.channelPreviewElement : channelPreview, (i & 16) != 0 ? nodeState.directoryServerPreviewElement : directoryServerPreview, (i & 32) != 0 ? nodeState.eventPreviewElement : guildScheduledEventPreview, (i & 64) != 0 ? nodeState.blockUserElement : blockUserElement, (i & 128) != 0 ? nodeState.breadcrumbsElement : list, (i & 256) != 0 ? nodeState.successElement : z2, (i & 512) != 0 ? nodeState.submitState : submitState, (i & 1024) != 0 ? nodeState.bottomButton : reportNodeBottomButton); } public final ReportNode component1() { return this.node; } - public final ReportNodeBottomButton component10() { + public final SubmitState component10() { + return this.submitState; + } + + public final ReportNodeBottomButton component11() { return this.bottomButton; } @@ -871,25 +978,25 @@ public final class MobileReportsViewModel extends AppViewModel { return this.directoryServerPreviewElement; } - public final BlockUserElement component6() { + public final GuildScheduledEventPreview component6() { + return this.eventPreviewElement; + } + + public final BlockUserElement component7() { return this.blockUserElement; } - public final List component7() { + public final List component8() { return this.breadcrumbsElement; } - public final boolean component8() { + public final boolean component9() { return this.successElement; } - public final SubmitState component9() { - return this.submitState; - } - - public final NodeState copy(ReportNode reportNode, CheckboxElement checkboxElement, MessagePreview messagePreview, ChannelPreview channelPreview, DirectoryServerPreview directoryServerPreview, BlockUserElement blockUserElement, List list, boolean z2, SubmitState submitState, ReportNodeBottomButton reportNodeBottomButton) { + public final NodeState copy(ReportNode reportNode, CheckboxElement checkboxElement, MessagePreview messagePreview, ChannelPreview channelPreview, DirectoryServerPreview directoryServerPreview, GuildScheduledEventPreview guildScheduledEventPreview, BlockUserElement blockUserElement, List list, boolean z2, SubmitState submitState, ReportNodeBottomButton reportNodeBottomButton) { m.checkNotNullParameter(reportNode, "node"); - return new NodeState(reportNode, checkboxElement, messagePreview, channelPreview, directoryServerPreview, blockUserElement, list, z2, submitState, reportNodeBottomButton); + return new NodeState(reportNode, checkboxElement, messagePreview, channelPreview, directoryServerPreview, guildScheduledEventPreview, blockUserElement, list, z2, submitState, reportNodeBottomButton); } public boolean equals(Object obj) { @@ -900,7 +1007,7 @@ public final class MobileReportsViewModel extends AppViewModel { return false; } NodeState nodeState = (NodeState) obj; - return m.areEqual(this.node, nodeState.node) && m.areEqual(this.checkboxElement, nodeState.checkboxElement) && m.areEqual(this.messagePreviewElement, nodeState.messagePreviewElement) && m.areEqual(this.channelPreviewElement, nodeState.channelPreviewElement) && m.areEqual(this.directoryServerPreviewElement, nodeState.directoryServerPreviewElement) && m.areEqual(this.blockUserElement, nodeState.blockUserElement) && m.areEqual(this.breadcrumbsElement, nodeState.breadcrumbsElement) && this.successElement == nodeState.successElement && m.areEqual(this.submitState, nodeState.submitState) && m.areEqual(this.bottomButton, nodeState.bottomButton); + return m.areEqual(this.node, nodeState.node) && m.areEqual(this.checkboxElement, nodeState.checkboxElement) && m.areEqual(this.messagePreviewElement, nodeState.messagePreviewElement) && m.areEqual(this.channelPreviewElement, nodeState.channelPreviewElement) && m.areEqual(this.directoryServerPreviewElement, nodeState.directoryServerPreviewElement) && m.areEqual(this.eventPreviewElement, nodeState.eventPreviewElement) && m.areEqual(this.blockUserElement, nodeState.blockUserElement) && m.areEqual(this.breadcrumbsElement, nodeState.breadcrumbsElement) && this.successElement == nodeState.successElement && m.areEqual(this.submitState, nodeState.submitState) && m.areEqual(this.bottomButton, nodeState.bottomButton); } public final BlockUserElement getBlockUserElement() { @@ -927,6 +1034,10 @@ public final class MobileReportsViewModel extends AppViewModel { return this.directoryServerPreviewElement; } + public final GuildScheduledEventPreview getEventPreviewElement() { + return this.eventPreviewElement; + } + public final MessagePreview getMessagePreviewElement() { return this.messagePreviewElement; } @@ -955,10 +1066,12 @@ public final class MobileReportsViewModel extends AppViewModel { int hashCode4 = (hashCode3 + (channelPreview != null ? channelPreview.hashCode() : 0)) * 31; DirectoryServerPreview directoryServerPreview = this.directoryServerPreviewElement; int hashCode5 = (hashCode4 + (directoryServerPreview != null ? directoryServerPreview.hashCode() : 0)) * 31; + GuildScheduledEventPreview guildScheduledEventPreview = this.eventPreviewElement; + int hashCode6 = (hashCode5 + (guildScheduledEventPreview != null ? guildScheduledEventPreview.hashCode() : 0)) * 31; BlockUserElement blockUserElement = this.blockUserElement; - int hashCode6 = (hashCode5 + (blockUserElement != null ? blockUserElement.hashCode() : 0)) * 31; + int hashCode7 = (hashCode6 + (blockUserElement != null ? blockUserElement.hashCode() : 0)) * 31; List list = this.breadcrumbsElement; - int hashCode7 = (hashCode6 + (list != null ? list.hashCode() : 0)) * 31; + int hashCode8 = (hashCode7 + (list != null ? list.hashCode() : 0)) * 31; boolean z2 = this.successElement; if (z2) { z2 = true; @@ -966,14 +1079,14 @@ public final class MobileReportsViewModel extends AppViewModel { int i2 = z2 ? 1 : 0; int i3 = z2 ? 1 : 0; int i4 = z2 ? 1 : 0; - int i5 = (hashCode7 + i2) * 31; + int i5 = (hashCode8 + i2) * 31; SubmitState submitState = this.submitState; - int hashCode8 = (i5 + (submitState != null ? submitState.hashCode() : 0)) * 31; + int hashCode9 = (i5 + (submitState != null ? submitState.hashCode() : 0)) * 31; ReportNodeBottomButton reportNodeBottomButton = this.bottomButton; if (reportNodeBottomButton != null) { i = reportNodeBottomButton.hashCode(); } - return hashCode8 + i; + return hashCode9 + i; } public String toString() { @@ -987,6 +1100,8 @@ public final class MobileReportsViewModel extends AppViewModel { R.append(this.channelPreviewElement); R.append(", directoryServerPreviewElement="); R.append(this.directoryServerPreviewElement); + R.append(", eventPreviewElement="); + R.append(this.eventPreviewElement); R.append(", blockUserElement="); R.append(this.blockUserElement); R.append(", breadcrumbsElement="); @@ -1007,11 +1122,12 @@ public final class MobileReportsViewModel extends AppViewModel { private final Map blockedUsers; private final Channel channel; private final DirectoryEntry directoryEntry; + private final GuildScheduledEvent event; private final Guild guild; private final Message message; private final StageInstance stageInstance; - public StoreState(Message message, Channel channel, Guild guild, DirectoryEntry directoryEntry, StageInstance stageInstance, Map map) { + public StoreState(Message message, Channel channel, Guild guild, DirectoryEntry directoryEntry, StageInstance stageInstance, Map map, GuildScheduledEvent guildScheduledEvent) { m.checkNotNullParameter(map, "blockedUsers"); this.message = message; this.channel = channel; @@ -1019,11 +1135,12 @@ public final class MobileReportsViewModel extends AppViewModel { this.directoryEntry = directoryEntry; this.stageInstance = stageInstance; this.blockedUsers = map; + this.event = guildScheduledEvent; } - /* JADX DEBUG: Multi-variable search result rejected for r4v0, resolved type: com.discord.widgets.mobile_reports.MobileReportsViewModel$StoreState */ + /* JADX DEBUG: Multi-variable search result rejected for r5v0, resolved type: com.discord.widgets.mobile_reports.MobileReportsViewModel$StoreState */ /* JADX WARN: Multi-variable type inference failed */ - public static /* synthetic */ StoreState copy$default(StoreState storeState, Message message, Channel channel, Guild guild, DirectoryEntry directoryEntry, StageInstance stageInstance, Map map, int i, Object obj) { + public static /* synthetic */ StoreState copy$default(StoreState storeState, Message message, Channel channel, Guild guild, DirectoryEntry directoryEntry, StageInstance stageInstance, Map map, GuildScheduledEvent guildScheduledEvent, int i, Object obj) { if ((i & 1) != 0) { message = storeState.message; } @@ -1042,7 +1159,10 @@ public final class MobileReportsViewModel extends AppViewModel { if ((i & 32) != 0) { map = storeState.blockedUsers; } - return storeState.copy(message, channel, guild, directoryEntry, stageInstance, map); + if ((i & 64) != 0) { + guildScheduledEvent = storeState.event; + } + return storeState.copy(message, channel, guild, directoryEntry, stageInstance, map, guildScheduledEvent); } public final Message component1() { @@ -1069,9 +1189,13 @@ public final class MobileReportsViewModel extends AppViewModel { return this.blockedUsers; } - public final StoreState copy(Message message, Channel channel, Guild guild, DirectoryEntry directoryEntry, StageInstance stageInstance, Map map) { + public final GuildScheduledEvent component7() { + return this.event; + } + + public final StoreState copy(Message message, Channel channel, Guild guild, DirectoryEntry directoryEntry, StageInstance stageInstance, Map map, GuildScheduledEvent guildScheduledEvent) { m.checkNotNullParameter(map, "blockedUsers"); - return new StoreState(message, channel, guild, directoryEntry, stageInstance, map); + return new StoreState(message, channel, guild, directoryEntry, stageInstance, map, guildScheduledEvent); } public boolean equals(Object obj) { @@ -1082,7 +1206,7 @@ public final class MobileReportsViewModel extends AppViewModel { return false; } StoreState storeState = (StoreState) obj; - return m.areEqual(this.message, storeState.message) && m.areEqual(this.channel, storeState.channel) && m.areEqual(this.guild, storeState.guild) && m.areEqual(this.directoryEntry, storeState.directoryEntry) && m.areEqual(this.stageInstance, storeState.stageInstance) && m.areEqual(this.blockedUsers, storeState.blockedUsers); + return m.areEqual(this.message, storeState.message) && m.areEqual(this.channel, storeState.channel) && m.areEqual(this.guild, storeState.guild) && m.areEqual(this.directoryEntry, storeState.directoryEntry) && m.areEqual(this.stageInstance, storeState.stageInstance) && m.areEqual(this.blockedUsers, storeState.blockedUsers) && m.areEqual(this.event, storeState.event); } public final Map getBlockedUsers() { @@ -1097,6 +1221,10 @@ public final class MobileReportsViewModel extends AppViewModel { return this.directoryEntry; } + public final GuildScheduledEvent getEvent() { + return this.event; + } + public final Guild getGuild() { return this.guild; } @@ -1122,10 +1250,12 @@ public final class MobileReportsViewModel extends AppViewModel { StageInstance stageInstance = this.stageInstance; int hashCode5 = (hashCode4 + (stageInstance != null ? stageInstance.hashCode() : 0)) * 31; Map map = this.blockedUsers; - if (map != null) { - i = map.hashCode(); + int hashCode6 = (hashCode5 + (map != null ? map.hashCode() : 0)) * 31; + GuildScheduledEvent guildScheduledEvent = this.event; + if (guildScheduledEvent != null) { + i = guildScheduledEvent.hashCode(); } - return hashCode5 + i; + return hashCode6 + i; } public String toString() { @@ -1140,7 +1270,11 @@ public final class MobileReportsViewModel extends AppViewModel { R.append(", stageInstance="); R.append(this.stageInstance); R.append(", blockedUsers="); - return a.K(R, this.blockedUsers, ")"); + R.append(this.blockedUsers); + R.append(", event="); + R.append(this.event); + R.append(")"); + return R.toString(); } } @@ -1199,6 +1333,7 @@ public final class MobileReportsViewModel extends AppViewModel { private final BlockUserElement blockUserElement; private final ChannelPreview channelPreview; private final DirectoryServerPreview directoryServerPreview; + private final GuildScheduledEventPreview eventPreview; private final List history; private final MenuAPIResponse menu; private final MessagePreview messagePreview; @@ -1206,7 +1341,7 @@ public final class MobileReportsViewModel extends AppViewModel { private final SubmitState submitState; /* JADX INFO: super call moved to the top of the method (can break code semantics) */ - public Menu(MenuAPIResponse menuAPIResponse, MessagePreview messagePreview, ChannelPreview channelPreview, DirectoryServerPreview directoryServerPreview, NodeNavigationType nodeNavigationType, SubmitState submitState, List list, BlockUserElement blockUserElement) { + public Menu(MenuAPIResponse menuAPIResponse, MessagePreview messagePreview, ChannelPreview channelPreview, DirectoryServerPreview directoryServerPreview, GuildScheduledEventPreview guildScheduledEventPreview, NodeNavigationType nodeNavigationType, SubmitState submitState, List list, BlockUserElement blockUserElement) { super(null); m.checkNotNullParameter(menuAPIResponse, "menu"); m.checkNotNullParameter(nodeNavigationType, "nodeNavigationType"); @@ -1216,6 +1351,7 @@ public final class MobileReportsViewModel extends AppViewModel { this.messagePreview = messagePreview; this.channelPreview = channelPreview; this.directoryServerPreview = directoryServerPreview; + this.eventPreview = guildScheduledEventPreview; this.nodeNavigationType = nodeNavigationType; this.submitState = submitState; this.history = list; @@ -1223,12 +1359,12 @@ public final class MobileReportsViewModel extends AppViewModel { } /* JADX INFO: this call moved to the top of the method (can break code semantics) */ - public /* synthetic */ Menu(MenuAPIResponse menuAPIResponse, MessagePreview messagePreview, ChannelPreview channelPreview, DirectoryServerPreview directoryServerPreview, NodeNavigationType nodeNavigationType, SubmitState submitState, List list, BlockUserElement blockUserElement, int i, DefaultConstructorMarker defaultConstructorMarker) { - this(menuAPIResponse, messagePreview, channelPreview, directoryServerPreview, nodeNavigationType, (i & 32) != 0 ? SubmitState.None.INSTANCE : submitState, list, blockUserElement); + public /* synthetic */ Menu(MenuAPIResponse menuAPIResponse, MessagePreview messagePreview, ChannelPreview channelPreview, DirectoryServerPreview directoryServerPreview, GuildScheduledEventPreview guildScheduledEventPreview, NodeNavigationType nodeNavigationType, SubmitState submitState, List list, BlockUserElement blockUserElement, int i, DefaultConstructorMarker defaultConstructorMarker) { + this(menuAPIResponse, messagePreview, channelPreview, directoryServerPreview, guildScheduledEventPreview, nodeNavigationType, (i & 64) != 0 ? SubmitState.None.INSTANCE : submitState, list, blockUserElement); } - public static /* synthetic */ Menu copy$default(Menu menu, MenuAPIResponse menuAPIResponse, MessagePreview messagePreview, ChannelPreview channelPreview, DirectoryServerPreview directoryServerPreview, NodeNavigationType nodeNavigationType, SubmitState submitState, List list, BlockUserElement blockUserElement, int i, Object obj) { - return menu.copy((i & 1) != 0 ? menu.menu : menuAPIResponse, (i & 2) != 0 ? menu.messagePreview : messagePreview, (i & 4) != 0 ? menu.channelPreview : channelPreview, (i & 8) != 0 ? menu.directoryServerPreview : directoryServerPreview, (i & 16) != 0 ? menu.nodeNavigationType : nodeNavigationType, (i & 32) != 0 ? menu.submitState : submitState, (i & 64) != 0 ? menu.history : list, (i & 128) != 0 ? menu.blockUserElement : blockUserElement); + public static /* synthetic */ Menu copy$default(Menu menu, MenuAPIResponse menuAPIResponse, MessagePreview messagePreview, ChannelPreview channelPreview, DirectoryServerPreview directoryServerPreview, GuildScheduledEventPreview guildScheduledEventPreview, NodeNavigationType nodeNavigationType, SubmitState submitState, List list, BlockUserElement blockUserElement, int i, Object obj) { + return menu.copy((i & 1) != 0 ? menu.menu : menuAPIResponse, (i & 2) != 0 ? menu.messagePreview : messagePreview, (i & 4) != 0 ? menu.channelPreview : channelPreview, (i & 8) != 0 ? menu.directoryServerPreview : directoryServerPreview, (i & 16) != 0 ? menu.eventPreview : guildScheduledEventPreview, (i & 32) != 0 ? menu.nodeNavigationType : nodeNavigationType, (i & 64) != 0 ? menu.submitState : submitState, (i & 128) != 0 ? menu.history : list, (i & 256) != 0 ? menu.blockUserElement : blockUserElement); } public final MenuAPIResponse component1() { @@ -1247,28 +1383,32 @@ public final class MobileReportsViewModel extends AppViewModel { return this.directoryServerPreview; } - public final NodeNavigationType component5() { + public final GuildScheduledEventPreview component5() { + return this.eventPreview; + } + + public final NodeNavigationType component6() { return this.nodeNavigationType; } - public final SubmitState component6() { + public final SubmitState component7() { return this.submitState; } - public final List component7() { + public final List component8() { return this.history; } - public final BlockUserElement component8() { + public final BlockUserElement component9() { return this.blockUserElement; } - public final Menu copy(MenuAPIResponse menuAPIResponse, MessagePreview messagePreview, ChannelPreview channelPreview, DirectoryServerPreview directoryServerPreview, NodeNavigationType nodeNavigationType, SubmitState submitState, List list, BlockUserElement blockUserElement) { + public final Menu copy(MenuAPIResponse menuAPIResponse, MessagePreview messagePreview, ChannelPreview channelPreview, DirectoryServerPreview directoryServerPreview, GuildScheduledEventPreview guildScheduledEventPreview, NodeNavigationType nodeNavigationType, SubmitState submitState, List list, BlockUserElement blockUserElement) { m.checkNotNullParameter(menuAPIResponse, "menu"); m.checkNotNullParameter(nodeNavigationType, "nodeNavigationType"); m.checkNotNullParameter(submitState, "submitState"); m.checkNotNullParameter(list, "history"); - return new Menu(menuAPIResponse, messagePreview, channelPreview, directoryServerPreview, nodeNavigationType, submitState, list, blockUserElement); + return new Menu(menuAPIResponse, messagePreview, channelPreview, directoryServerPreview, guildScheduledEventPreview, nodeNavigationType, submitState, list, blockUserElement); } public boolean equals(Object obj) { @@ -1279,7 +1419,7 @@ public final class MobileReportsViewModel extends AppViewModel { return false; } Menu menu = (Menu) obj; - return m.areEqual(this.menu, menu.menu) && m.areEqual(this.messagePreview, menu.messagePreview) && m.areEqual(this.channelPreview, menu.channelPreview) && m.areEqual(this.directoryServerPreview, menu.directoryServerPreview) && m.areEqual(this.nodeNavigationType, menu.nodeNavigationType) && m.areEqual(this.submitState, menu.submitState) && m.areEqual(this.history, menu.history) && m.areEqual(this.blockUserElement, menu.blockUserElement); + return m.areEqual(this.menu, menu.menu) && m.areEqual(this.messagePreview, menu.messagePreview) && m.areEqual(this.channelPreview, menu.channelPreview) && m.areEqual(this.directoryServerPreview, menu.directoryServerPreview) && m.areEqual(this.eventPreview, menu.eventPreview) && m.areEqual(this.nodeNavigationType, menu.nodeNavigationType) && m.areEqual(this.submitState, menu.submitState) && m.areEqual(this.history, menu.history) && m.areEqual(this.blockUserElement, menu.blockUserElement); } public final NodeState genNodeState() { @@ -1291,6 +1431,7 @@ public final class MobileReportsViewModel extends AppViewModel { Object obj5; Object obj6; Object obj7; + Object obj8; ReportNode node = this.nodeNavigationType.getNode(); List c2 = node.c(); ReportNodeElement.Companion companion = ReportNodeElement.Companion; @@ -1379,11 +1520,11 @@ public final class MobileReportsViewModel extends AppViewModel { ReportNodeElement reportNodeElement6 = (ReportNodeElement) obj6; Objects.requireNonNull(companion5); m.checkNotNullParameter(reportNodeElement6, "element"); - if (m.areEqual(reportNodeElement6.c(), "block_users")) { + if (m.areEqual(reportNodeElement6.c(), "guild_scheduled_event_preview")) { break; } } - BlockUserElement blockUserElement = ((ReportNodeElement) obj6) != null ? this.blockUserElement : null; + GuildScheduledEventPreview guildScheduledEventPreview = ((ReportNodeElement) obj6) != null ? this.eventPreview : null; List c7 = node.c(); ReportNodeElement.Companion companion6 = ReportNodeElement.Companion; Iterator it6 = c7.iterator(); @@ -1396,28 +1537,45 @@ public final class MobileReportsViewModel extends AppViewModel { ReportNodeElement reportNodeElement7 = (ReportNodeElement) obj7; Objects.requireNonNull(companion6); m.checkNotNullParameter(reportNodeElement7, "element"); - if (m.areEqual(reportNodeElement7.c(), "breadcrumbs")) { + if (m.areEqual(reportNodeElement7.c(), "block_users")) { break; } } - List list = ((ReportNodeElement) obj7) != null ? this.history : null; + BlockUserElement blockUserElement = ((ReportNodeElement) obj7) != null ? this.blockUserElement : null; List c8 = node.c(); ReportNodeElement.Companion companion7 = ReportNodeElement.Companion; Iterator it7 = c8.iterator(); while (true) { if (!it7.hasNext()) { + obj8 = null; break; } - Object next = it7.next(); - ReportNodeElement reportNodeElement8 = (ReportNodeElement) next; + obj8 = it7.next(); + ReportNodeElement reportNodeElement8 = (ReportNodeElement) obj8; Objects.requireNonNull(companion7); m.checkNotNullParameter(reportNodeElement8, "element"); - if (m.areEqual(reportNodeElement8.c(), "success")) { + if (m.areEqual(reportNodeElement8.c(), "breadcrumbs")) { + break; + } + } + List list = ((ReportNodeElement) obj8) != null ? this.history : null; + List c9 = node.c(); + ReportNodeElement.Companion companion8 = ReportNodeElement.Companion; + Iterator it8 = c9.iterator(); + while (true) { + if (!it8.hasNext()) { + break; + } + Object next = it8.next(); + ReportNodeElement reportNodeElement9 = (ReportNodeElement) next; + Objects.requireNonNull(companion8); + m.checkNotNullParameter(reportNodeElement9, "element"); + if (m.areEqual(reportNodeElement9.c(), "success")) { obj = next; break; } } - return new NodeState(node, checkboxElement, messagePreview, channelPreview, directoryServerPreview, blockUserElement, list, obj != null, this.submitState, node.a()); + return new NodeState(node, checkboxElement, messagePreview, channelPreview, directoryServerPreview, guildScheduledEventPreview, blockUserElement, list, obj != null, this.submitState, node.a()); } public final BlockUserElement getBlockUserElement() { @@ -1432,6 +1590,10 @@ public final class MobileReportsViewModel extends AppViewModel { return this.directoryServerPreview; } + public final GuildScheduledEventPreview getEventPreview() { + return this.eventPreview; + } + public final List getHistory() { return this.history; } @@ -1462,17 +1624,19 @@ public final class MobileReportsViewModel extends AppViewModel { int hashCode3 = (hashCode2 + (channelPreview != null ? channelPreview.hashCode() : 0)) * 31; DirectoryServerPreview directoryServerPreview = this.directoryServerPreview; int hashCode4 = (hashCode3 + (directoryServerPreview != null ? directoryServerPreview.hashCode() : 0)) * 31; + GuildScheduledEventPreview guildScheduledEventPreview = this.eventPreview; + int hashCode5 = (hashCode4 + (guildScheduledEventPreview != null ? guildScheduledEventPreview.hashCode() : 0)) * 31; NodeNavigationType nodeNavigationType = this.nodeNavigationType; - int hashCode5 = (hashCode4 + (nodeNavigationType != null ? nodeNavigationType.hashCode() : 0)) * 31; + int hashCode6 = (hashCode5 + (nodeNavigationType != null ? nodeNavigationType.hashCode() : 0)) * 31; SubmitState submitState = this.submitState; - int hashCode6 = (hashCode5 + (submitState != null ? submitState.hashCode() : 0)) * 31; + int hashCode7 = (hashCode6 + (submitState != null ? submitState.hashCode() : 0)) * 31; List list = this.history; - int hashCode7 = (hashCode6 + (list != null ? list.hashCode() : 0)) * 31; + int hashCode8 = (hashCode7 + (list != null ? list.hashCode() : 0)) * 31; BlockUserElement blockUserElement = this.blockUserElement; if (blockUserElement != null) { i = blockUserElement.hashCode(); } - return hashCode7 + i; + return hashCode8 + i; } public final boolean shouldHideBackArrow() { @@ -1488,6 +1652,8 @@ public final class MobileReportsViewModel extends AppViewModel { R.append(this.channelPreview); R.append(", directoryServerPreview="); R.append(this.directoryServerPreview); + R.append(", eventPreview="); + R.append(this.eventPreview); R.append(", nodeNavigationType="); R.append(this.nodeNavigationType); R.append(", submitState="); @@ -1543,6 +1709,10 @@ public final class MobileReportsViewModel extends AppViewModel { return mobileReportsViewModel.parseDirectoryServerPreview(storeState); } + public static final /* synthetic */ GuildScheduledEventPreview access$parseEventPreview(MobileReportsViewModel mobileReportsViewModel, StoreState storeState) { + return mobileReportsViewModel.parseEventPreview(storeState); + } + public static final /* synthetic */ MessagePreview access$parseMessagePreview(MobileReportsViewModel mobileReportsViewModel, StoreState storeState) { return mobileReportsViewModel.parseMessagePreview(storeState); } @@ -1569,6 +1739,15 @@ public final class MobileReportsViewModel extends AppViewModel { return new DirectoryServerPreview(guild, directoryEntry); } + private final GuildScheduledEventPreview parseEventPreview(StoreState storeState) { + Guild guild; + GuildScheduledEvent event = storeState.getEvent(); + if (event == null || (guild = storeState.getGuild()) == null) { + return null; + } + return new GuildScheduledEventPreview(guild, event); + } + private final MessagePreview parseMessagePreview(StoreState storeState) { Message message; Map map; @@ -1643,7 +1822,7 @@ public final class MobileReportsViewModel extends AppViewModel { if (reportNode == null || menu2.d() == node.e()) { return false; } - updateViewState(ViewState.Menu.copy$default(menu, null, null, null, null, new NodeNavigationType.Back(reportNode), null, u.dropLast(menu.getHistory(), 1), null, HideBottomViewOnScrollBehavior.EXIT_ANIMATION_DURATION, null)); + updateViewState(ViewState.Menu.copy$default(menu, null, null, null, null, null, new NodeNavigationType.Back(reportNode), null, u.dropLast(menu.getHistory(), 1), null, 351, null)); } return true; } @@ -1658,7 +1837,7 @@ public final class MobileReportsViewModel extends AppViewModel { ReportNode node = menu.getNodeNavigationType().getNode(); BlockUserElement blockUserElement = menu.getBlockUserElement(); if (blockUserElement != null) { - updateViewState(ViewState.Menu.copy$default(menu, null, null, null, null, null, null, null, BlockUserElement.copy$default(blockUserElement, true, null, 2, null), 127, null)); + updateViewState(ViewState.Menu.copy$default(menu, null, null, null, null, null, null, null, null, BlockUserElement.copy$default(blockUserElement, true, null, 2, null), 255, null)); ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui$default(ObservableExtensionsKt.restSubscribeOn$default(RestAPI.addRelationship$default(this.restAPI, Companion.access$getLocation(Companion, node), blockUserElement.getUser().getId(), 2, null, 8, null), false, 1, null), this, null, 2, null), MobileReportsViewModel.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, MobileReportsViewModel$handleBlockUser$1.INSTANCE, 62, (Object) null); } } @@ -1673,7 +1852,7 @@ public final class MobileReportsViewModel extends AppViewModel { } ViewState.Menu menu = (ViewState.Menu) viewState; if (menu != null && (reportNode = menu.getMenu().c().get(Integer.valueOf(reportNodeChild.b()))) != null) { - updateViewState(ViewState.Menu.copy$default(menu, null, null, null, null, new NodeNavigationType.Next(reportNode), SubmitState.None.INSTANCE, u.plus((Collection) menu.getHistory(), new NodeResult(menu.getNodeNavigationType().getNode(), reportNodeChild, nodeElementResult)), null, 143, null)); + updateViewState(ViewState.Menu.copy$default(menu, null, null, null, null, null, new NodeNavigationType.Next(reportNode), SubmitState.None.INSTANCE, u.plus((Collection) menu.getHistory(), new NodeResult(menu.getNodeNavigationType().getNode(), reportNodeChild, nodeElementResult)), null, 287, null)); } } @@ -1686,7 +1865,7 @@ public final class MobileReportsViewModel extends AppViewModel { } ViewState.Menu menu = (ViewState.Menu) viewState; if (menu != null && !(menu.getSubmitState() instanceof SubmitState.Loading)) { - updateViewState(ViewState.Menu.copy$default(menu, null, null, null, null, null, SubmitState.Loading.INSTANCE, null, null, 223, null)); + updateViewState(ViewState.Menu.copy$default(menu, null, null, null, null, null, null, SubmitState.Loading.INSTANCE, null, null, 447, null)); MobileReportArgs mobileReportArgs = this.args; if (mobileReportArgs instanceof MobileReportArgs.Message) { ReportSubmissionBody.Companion companion = ReportSubmissionBody.Companion; @@ -1702,9 +1881,10 @@ public final class MobileReportsViewModel extends AppViewModel { List component1 = a.component1(); Map> component2 = a.component2(); Long valueOf = Long.valueOf(messageId); + Long valueOf2 = Long.valueOf(channelId); String b = menu2.b(); String a2 = menu2.a(); - reportSubmissionBody = new ReportSubmissionBody(currentTimeMillis, valueOf, channelId, null, null, a2 != null ? a2 : "en", menu2.f(), b, menu2.g(), component1, component2, 24); + reportSubmissionBody = new ReportSubmissionBody(currentTimeMillis, valueOf, valueOf2, null, null, null, a2 != null ? a2 : "en", menu2.f(), b, menu2.g(), component1, component2, 56); } else if (mobileReportArgs instanceof MobileReportArgs.StageChannel) { ChannelPreview channelPreview = menu.getChannelPreview(); if (channelPreview == null || (guild = channelPreview.getGuild()) == null) { @@ -1723,10 +1903,11 @@ public final class MobileReportsViewModel extends AppViewModel { Pair, Map>> a3 = companion2.a(history2); List component12 = a3.component1(); Map> component22 = a3.component2(); - Long valueOf2 = Long.valueOf(id2); + Long valueOf3 = Long.valueOf(id2); + Long valueOf4 = Long.valueOf(channelId2); String b2 = menu3.b(); String a4 = menu3.a(); - reportSubmissionBody = new ReportSubmissionBody(currentTimeMillis2, null, channelId2, valueOf2, null, a4 != null ? a4 : "en", menu3.f(), b2, menu3.g(), component12, component22, 18); + reportSubmissionBody = new ReportSubmissionBody(currentTimeMillis2, null, valueOf4, valueOf3, null, null, a4 != null ? a4 : "en", menu3.f(), b2, menu3.g(), component12, component22, 50); } else if (mobileReportArgs instanceof MobileReportArgs.DirectoryServer) { ReportSubmissionBody.Companion companion3 = ReportSubmissionBody.Companion; long currentTimeMillis3 = (this.clock.currentTimeMillis() - SnowflakeUtils.DISCORD_EPOCH) << 22; @@ -1741,11 +1922,30 @@ public final class MobileReportsViewModel extends AppViewModel { Pair, Map>> a5 = companion3.a(history3); List component13 = a5.component1(); Map> component23 = a5.component2(); - Long valueOf3 = Long.valueOf(guildId); - Long valueOf4 = Long.valueOf(hubId); + Long valueOf5 = Long.valueOf(guildId); + Long valueOf6 = Long.valueOf(channelId3); + Long valueOf7 = Long.valueOf(hubId); String b3 = menu4.b(); String a6 = menu4.a(); - reportSubmissionBody = new ReportSubmissionBody(currentTimeMillis3, null, channelId3, valueOf3, valueOf4, a6 != null ? a6 : "en", menu4.f(), b3, menu4.g(), component13, component23, 2); + reportSubmissionBody = new ReportSubmissionBody(currentTimeMillis3, null, valueOf6, valueOf5, valueOf7, null, a6 != null ? a6 : "en", menu4.f(), b3, menu4.g(), component13, component23, 34); + } else if (mobileReportArgs instanceof MobileReportArgs.GuildScheduledEvent) { + ReportSubmissionBody.Companion companion4 = ReportSubmissionBody.Companion; + long currentTimeMillis4 = (this.clock.currentTimeMillis() - SnowflakeUtils.DISCORD_EPOCH) << 22; + long guildId2 = ((MobileReportArgs.GuildScheduledEvent) this.args).getGuildId(); + long eventId = ((MobileReportArgs.GuildScheduledEvent) this.args).getEventId(); + MenuAPIResponse menu5 = menu.getMenu(); + List history4 = menu.getHistory(); + Objects.requireNonNull(companion4); + m.checkNotNullParameter(menu5, "menu"); + m.checkNotNullParameter(history4, "results"); + Pair, Map>> a7 = companion4.a(history4); + List component14 = a7.component1(); + Map> component24 = a7.component2(); + Long valueOf8 = Long.valueOf(guildId2); + Long valueOf9 = Long.valueOf(eventId); + String b4 = menu5.b(); + String a8 = menu5.a(); + reportSubmissionBody = new ReportSubmissionBody(currentTimeMillis4, null, null, valueOf8, null, valueOf9, a8 != null ? a8 : "en", menu5.f(), b4, menu5.g(), component14, component24, 22); } else { throw new NoWhenBranchMatchedException(); } diff --git a/app/src/main/java/com/discord/widgets/mobile_reports/ReportsMenuNode.java b/app/src/main/java/com/discord/widgets/mobile_reports/ReportsMenuNode.java index 1e7f9fcdeb..ea76fa5899 100644 --- a/app/src/main/java/com/discord/widgets/mobile_reports/ReportsMenuNode.java +++ b/app/src/main/java/com/discord/widgets/mobile_reports/ReportsMenuNode.java @@ -316,6 +316,28 @@ public final class ReportsMenuNode extends ConstraintLayout { } } + private final void setupEventPreview(MobileReportsViewModel.NodeState nodeState) { + MobileReportsViewModel.GuildScheduledEventPreview eventPreviewElement = nodeState.getEventPreviewElement(); + ViewReportsMenuNodeBinding viewReportsMenuNodeBinding = this.binding; + j2 j2Var = viewReportsMenuNodeBinding.b; + if (eventPreviewElement != null) { + TextView textView = j2Var.f113c; + m.checkNotNullExpressionValue(textView, "kicker"); + textView.setText(eventPreviewElement.getGuild().getName()); + LinkifiedTextView linkifiedTextView = j2Var.d; + m.checkNotNullExpressionValue(linkifiedTextView, NotificationCompat.MessagingStyle.Message.KEY_TEXT); + linkifiedTextView.setText(eventPreviewElement.getEvent().i()); + j2Var.b.a(IconUtils.getForGuild$default(eventPreviewElement.getGuild(), null, false, null, 14, null), eventPreviewElement.getGuild().getShortName()); + MaterialCardView materialCardView = this.binding.i; + m.checkNotNullExpressionValue(materialCardView, "binding.mobileReportsNodeChannelPreview"); + materialCardView.setVisibility(0); + return; + } + MaterialCardView materialCardView2 = viewReportsMenuNodeBinding.i; + m.checkNotNullExpressionValue(materialCardView2, "binding.mobileReportsNodeChannelPreview"); + materialCardView2.setVisibility(8); + } + private final void setupMessagePreview(MobileReportsViewModel.NodeState nodeState) { MobileReportsViewModel.MessagePreview messagePreviewElement = nodeState.getMessagePreviewElement(); ViewReportsMenuNodeBinding viewReportsMenuNodeBinding = this.binding; @@ -435,6 +457,7 @@ public final class ReportsMenuNode extends ConstraintLayout { setupMessagePreview(nodeState); setupChannelPreview(nodeState); setupDirectoryServerPreview(nodeState); + setupEventPreview(nodeState); setupBreadCrumbs(nodeState); setupTextElements(nodeState); setupChildren(nodeState); diff --git a/app/src/main/java/com/discord/widgets/mobile_reports/WidgetMobileReports.java b/app/src/main/java/com/discord/widgets/mobile_reports/WidgetMobileReports.java index 486627d575..78f1081a7d 100644 --- a/app/src/main/java/com/discord/widgets/mobile_reports/WidgetMobileReports.java +++ b/app/src/main/java/com/discord/widgets/mobile_reports/WidgetMobileReports.java @@ -48,6 +48,11 @@ public final class WidgetMobileReports extends AppFragment { j.d(context, WidgetMobileReports.class, new MobileReportArgs.DirectoryServer(j, j2, j3)); } + public final void launchGuildScheduledEventReport(Context context, long j, long j2) { + m.checkNotNullParameter(context, "context"); + j.d(context, WidgetMobileReports.class, new MobileReportArgs.GuildScheduledEvent(j, j2)); + } + public final void launchMessageReport(Context context, long j, long j2) { m.checkNotNullParameter(context, "context"); j.d(context, WidgetMobileReports.class, new MobileReportArgs.Message(j, j2)); diff --git a/app/src/main/java/com/discord/widgets/servers/WidgetServerSettingsEditRole.java b/app/src/main/java/com/discord/widgets/servers/WidgetServerSettingsEditRole.java index 9b84143f7a..651fa6cb28 100644 --- a/app/src/main/java/com/discord/widgets/servers/WidgetServerSettingsEditRole.java +++ b/app/src/main/java/com/discord/widgets/servers/WidgetServerSettingsEditRole.java @@ -571,135 +571,135 @@ public final class WidgetServerSettingsEditRole extends AppFragment { for (CheckedSetting checkedSetting : n.listOf((Object[]) new CheckedSetting[]{getBinding().g, getBinding().h, getBinding().i, getBinding().j, getBinding().m, getBinding().r, getBinding().u, getBinding().v, getBinding().f1856y, getBinding().C, getBinding().f1857z, getBinding().w, getBinding().A, getBinding().B, getBinding().D, getBinding().E, getBinding().H, getBinding().I, getBinding().N, getBinding().O, getBinding().o, getBinding().n, getBinding().P, getBinding().Q, getBinding().R, getBinding().S, getBinding().f, getBinding().T, getBinding().V, getBinding().Z, getBinding().f1852b0, getBinding().Y, getBinding().W, getBinding().X, getBinding().f1851a0, getBinding().G, getBinding().U, getBinding().J, getBinding().f1855x})) { m.checkNotNullExpressionValue(checkedSetting, "setting"); switch (checkedSetting.getId()) { - case R.id.role_settings_add_reactions /* 2131364812 */: + case R.id.role_settings_add_reactions /* 2131364813 */: j = 64; break; - case R.id.role_settings_administrator /* 2131364813 */: + case R.id.role_settings_administrator /* 2131364814 */: j = 8; break; - case R.id.role_settings_attach_files /* 2131364814 */: + case R.id.role_settings_attach_files /* 2131364815 */: j = Permission.ATTACH_FILES; break; - case R.id.role_settings_ban_members /* 2131364815 */: + case R.id.role_settings_ban_members /* 2131364816 */: j = 4; break; - case R.id.role_settings_change_nickname /* 2131364816 */: + case R.id.role_settings_change_nickname /* 2131364817 */: j = Permission.CHANGE_NICKNAME; break; - case R.id.role_settings_color_disabled_overlay /* 2131364817 */: - case R.id.role_settings_color_selector_container /* 2131364818 */: - case R.id.role_settings_current_color_display /* 2131364822 */: - case R.id.role_settings_edit_name_disabled_overlay /* 2131364823 */: - case R.id.role_settings_hoist_checkedsetting /* 2131364825 */: - case R.id.role_settings_icon_container /* 2131364826 */: - case R.id.role_settings_mentionable_checkedsetting /* 2131364838 */: - case R.id.role_settings_overview_scroll /* 2131364839 */: - case R.id.role_settings_role_icon /* 2131364844 */: - case R.id.role_settings_role_icon_divider /* 2131364845 */: - case R.id.role_settings_role_icon_header /* 2131364846 */: + case R.id.role_settings_color_disabled_overlay /* 2131364818 */: + case R.id.role_settings_color_selector_container /* 2131364819 */: + case R.id.role_settings_current_color_display /* 2131364823 */: + case R.id.role_settings_edit_name_disabled_overlay /* 2131364824 */: + case R.id.role_settings_hoist_checkedsetting /* 2131364826 */: + case R.id.role_settings_icon_container /* 2131364827 */: + case R.id.role_settings_mentionable_checkedsetting /* 2131364839 */: + case R.id.role_settings_overview_scroll /* 2131364840 */: + case R.id.role_settings_role_icon /* 2131364845 */: + case R.id.role_settings_role_icon_divider /* 2131364846 */: + case R.id.role_settings_role_icon_header /* 2131364847 */: default: j = 0; break; - case R.id.role_settings_create_instant_invite /* 2131364819 */: + case R.id.role_settings_create_instant_invite /* 2131364820 */: j = 1; break; - case R.id.role_settings_create_private_threads /* 2131364820 */: + case R.id.role_settings_create_private_threads /* 2131364821 */: j = Permission.CREATE_PRIVATE_THREADS; break; - case R.id.role_settings_create_public_threads /* 2131364821 */: + case R.id.role_settings_create_public_threads /* 2131364822 */: j = Permission.CREATE_PUBLIC_THREADS; break; - case R.id.role_settings_embed_links /* 2131364824 */: + case R.id.role_settings_embed_links /* 2131364825 */: j = Permission.EMBED_LINKS; break; - case R.id.role_settings_kick_members /* 2131364827 */: + case R.id.role_settings_kick_members /* 2131364828 */: j = 2; break; - case R.id.role_settings_manage_channels /* 2131364828 */: + case R.id.role_settings_manage_channels /* 2131364829 */: j = 16; break; - case R.id.role_settings_manage_emojis_and_stickers /* 2131364829 */: + case R.id.role_settings_manage_emojis_and_stickers /* 2131364830 */: j = Permission.MANAGE_EMOJIS_AND_STICKERS; break; - case R.id.role_settings_manage_events /* 2131364830 */: + case R.id.role_settings_manage_events /* 2131364831 */: j = Permission.MANAGE_EVENTS; break; - case R.id.role_settings_manage_messages /* 2131364831 */: + case R.id.role_settings_manage_messages /* 2131364832 */: j = Permission.MANAGE_MESSAGES; break; - case R.id.role_settings_manage_nicknames /* 2131364832 */: + case R.id.role_settings_manage_nicknames /* 2131364833 */: j = Permission.MANAGE_NICKNAMES; break; - case R.id.role_settings_manage_roles /* 2131364833 */: + case R.id.role_settings_manage_roles /* 2131364834 */: j = Permission.MANAGE_ROLES; break; - case R.id.role_settings_manage_server /* 2131364834 */: + case R.id.role_settings_manage_server /* 2131364835 */: j = 32; break; - case R.id.role_settings_manage_threads /* 2131364835 */: + case R.id.role_settings_manage_threads /* 2131364836 */: j = Permission.MANAGE_THREADS; break; - case R.id.role_settings_manage_webhooks /* 2131364836 */: + case R.id.role_settings_manage_webhooks /* 2131364837 */: j = Permission.MANAGE_WEBHOOKS; break; - case R.id.role_settings_mention_everyone /* 2131364837 */: + case R.id.role_settings_mention_everyone /* 2131364838 */: j = Permission.MENTION_EVERYONE; break; - case R.id.role_settings_priority_speaker /* 2131364840 */: + case R.id.role_settings_priority_speaker /* 2131364841 */: j = 256; break; - case R.id.role_settings_read_message_history /* 2131364841 */: + case R.id.role_settings_read_message_history /* 2131364842 */: j = Permission.READ_MESSAGE_HISTORY; break; - case R.id.role_settings_read_messages /* 2131364842 */: + case R.id.role_settings_read_messages /* 2131364843 */: j = Permission.VIEW_CHANNEL; break; - case R.id.role_settings_request_to_speak /* 2131364843 */: + case R.id.role_settings_request_to_speak /* 2131364844 */: j = Permission.REQUEST_TO_SPEAK; break; - case R.id.role_settings_send_messages /* 2131364847 */: + case R.id.role_settings_send_messages /* 2131364848 */: j = Permission.SEND_MESSAGES; break; - case R.id.role_settings_send_messages_in_threads /* 2131364848 */: + case R.id.role_settings_send_messages_in_threads /* 2131364849 */: j = Permission.SEND_MESSAGES_IN_THREADS; break; - case R.id.role_settings_send_tts_messages /* 2131364849 */: + case R.id.role_settings_send_tts_messages /* 2131364850 */: j = Permission.SEND_TTS_MESSAGES; break; - case R.id.role_settings_use_application_commands /* 2131364850 */: + case R.id.role_settings_use_application_commands /* 2131364851 */: j = Permission.USE_APPLICATION_COMMANDS; break; - case R.id.role_settings_use_external_emojis /* 2131364851 */: + case R.id.role_settings_use_external_emojis /* 2131364852 */: j = Permission.USE_EXTERNAL_EMOJIS; break; - case R.id.role_settings_use_external_stickers /* 2131364852 */: + case R.id.role_settings_use_external_stickers /* 2131364853 */: j = Permission.USE_EXTERNAL_STICKERS; break; - case R.id.role_settings_view_audit_log /* 2131364853 */: + case R.id.role_settings_view_audit_log /* 2131364854 */: j = 128; break; - case R.id.role_settings_view_guild_analytics /* 2131364854 */: + case R.id.role_settings_view_guild_analytics /* 2131364855 */: j = Permission.VIEW_GUILD_ANALYTICS; break; - case R.id.role_settings_voice_connect /* 2131364855 */: + case R.id.role_settings_voice_connect /* 2131364856 */: j = Permission.CONNECT; break; - case R.id.role_settings_voice_deafen_members /* 2131364856 */: + case R.id.role_settings_voice_deafen_members /* 2131364857 */: j = Permission.DEAFEN_MEMBERS; break; - case R.id.role_settings_voice_move_members /* 2131364857 */: + case R.id.role_settings_voice_move_members /* 2131364858 */: j = Permission.MOVE_MEMBERS; break; - case R.id.role_settings_voice_mute_members /* 2131364858 */: + case R.id.role_settings_voice_mute_members /* 2131364859 */: j = Permission.MUTE_MEMBERS; break; - case R.id.role_settings_voice_speak /* 2131364859 */: + case R.id.role_settings_voice_speak /* 2131364860 */: j = Permission.SPEAK; break; - case R.id.role_settings_voice_use_voice_activity /* 2131364860 */: + case R.id.role_settings_voice_use_voice_activity /* 2131364861 */: j = Permission.USE_VAD; break; - case R.id.role_settings_voice_video /* 2131364861 */: + case R.id.role_settings_voice_video /* 2131364862 */: j = 512; break; } diff --git a/app/src/main/java/com/discord/widgets/settings/WidgetSettings.java b/app/src/main/java/com/discord/widgets/settings/WidgetSettings.java index c7c8ce2562..db02157a52 100644 --- a/app/src/main/java/com/discord/widgets/settings/WidgetSettings.java +++ b/app/src/main/java/com/discord/widgets/settings/WidgetSettings.java @@ -346,7 +346,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 + " - 103.5 - Alpha (103205)"); + textView.setText(string + " - 103.6 - Alpha (103206)"); binding.B.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); diff --git a/app/src/main/res/layout/view_server_discovery_item.xml b/app/src/main/res/layout/view_server_discovery_item.xml index b8ee592ee7..eeba24eef4 100644 --- a/app/src/main/res/layout/view_server_discovery_item.xml +++ b/app/src/main/res/layout/view_server_discovery_item.xml @@ -2,8 +2,7 @@ - - + diff --git a/app/src/main/res/layout/widget_guild_scheduled_event_details_extras_bottom_sheet.xml b/app/src/main/res/layout/widget_guild_scheduled_event_details_extras_bottom_sheet.xml index 5f076fd639..de5e3d644a 100644 --- a/app/src/main/res/layout/widget_guild_scheduled_event_details_extras_bottom_sheet.xml +++ b/app/src/main/res/layout/widget_guild_scheduled_event_details_extras_bottom_sheet.xml @@ -6,6 +6,7 @@ + diff --git a/app/src/main/res/values-ar-rXB/strings.xml b/app/src/main/res/values-ar-rXB/strings.xml index 3042db0866..9bbeb98ebe 100644 --- a/app/src/main/res/values-ar-rXB/strings.xml +++ b/app/src/main/res/values-ar-rXB/strings.xml @@ -1174,7 +1174,7 @@ ‏‮Turn‬‏ ‏‮on‬‏ ‏‮camera‬‏ ‏‮Ready‬‏ ‏‮to‬‏ ‏‮video‬‏ ‏‮chat?‬‏ ‏‮Here’s‬‏ ‏‮a‬‏ ‏‮preview‬‏ ‏‮of‬‏ ‏‮your‬‏ ‏‮camera:‬‏ - ‏‮Hide‬‏ ‏‮your‬‏ ‏‮laundry‬‏ ‏‮or‬‏ ‏‮express‬‏ ‏‮a‬‏ ‏‮mood.‬‏ ‏‮Nitro‬‏ ‏‮subscribers‬‏ ‏‮can‬‏ ‏‮upload‬‏ ‏‮custom‬‏ ‏‮images.‬‏ + ‏‮Express‬‏ ‏‮a‬‏ ‏‮mood‬‏ ‏‮or‬‏ ‏‮hide‬‏ ‏‮your‬‏ ‏‮messy‬‏ ‏‮room.‬‏ ‏‮Nitro‬‏ ‏‮subscribers‬‏ ‏‮can‬‏ ‏‮upload‬‏ ‏‮custom‬‏ ‏‮images.‬‏ ‏‮Video‬‏ ‏‮Background‬‏ ‏‮Setting‬‏ ‏‮a‬‏ ‏‮video‬‏ ‏‮background‬‏ ‏‮is‬‏ ‏‮currently‬‏ ‏‮available‬‏ ‏‮to‬‏ ‏‮a‬‏ ‏‮limited‬‏ ‏‮number‬‏ ‏‮of‬‏ ‏‮people.‬‏ ‏‮Blur‬‏ @@ -1473,6 +1473,7 @@ ‏‮Thanks!‬‏ ‏‮We\'ve‬‏ ‏‮sent‬‏ ‏‮a‬‏ ‏‮confirmation‬‏ ‏‮link‬‏ ‏‮to‬‏ ‏‮**!!‬‏‏‮{email}‬‏‏‮!!**.‬‏ ‏‮Please‬‏ ‏‮click‬‏ ‏‮the‬‏ ‏‮link‬‏ ‏‮to‬‏ ‏‮verify‬‏ ‏‮your‬‏ ‏‮account.‬‏ ‏‮Claim‬‏ ‏‮Claim‬‏ ‏‮your‬‏ ‏‮account‬‏ + ‏‮Clear‬‏ ‏‮Clear‬‏ ‏‮Attachments‬‏ ‏‮Clear‬‏ ‏‮Role‬‏ ‏‮Permissions‬‏ ‏‮Clear‬‏ ‏‮text‬‏ @@ -3633,6 +3634,7 @@ ‏‮Be‬‏ ‏‮who‬‏ ‏‮you‬‏ ‏‮want‬‏ ‏‮and‬‏ ‏‮use‬‏ ‏‮a‬‏ ‏‮different‬‏ ‏‮avatar‬‏ ‏‮in‬‏ ‏‮each‬‏ ‏‮of‬‏ ‏‮your‬‏ ‏‮servers,‬‏ ‏‮upgrade‬‏ ‏‮your‬‏ ‏‮profile,‬‏ ‏‮[and‬‏ ‏‮more‬‏ ‏‮with‬‏ ‏‮Discord‬‏ ‏‮Nitro!](onAndMore)‬‏ ‏‮Be‬‏ ‏‮who‬‏ ‏‮you‬‏ ‏‮want‬‏ ‏‮and‬‏ ‏‮use‬‏ ‏‮a‬‏ ‏‮different‬‏ ‏‮avatar‬‏ ‏‮in‬‏ ‏‮each‬‏ ‏‮of‬‏ ‏‮your‬‏ ‏‮servers,‬‏ ‏‮upgrade‬‏ ‏‮your‬‏ ‏‮profile,‬‏ ‏‮and‬‏ ‏‮more‬‏ ‏‮with‬‏ ‏‮Discord‬‏ ‏‮Nitro!‬‏ ‏‮Wanna‬‏ ‏‮use‬‏ ‏‮a‬‏ ‏‮different‬‏ ‏‮avatar?‬‏ + ‏‮You‬‏ ‏‮must‬‏ ‏‮join‬‏ ‏‮the‬‏ ‏‮server‬‏ ‏‮first.‬‏ ‏‮!!‬‏‏‮{guild}‬‏‏‮!!‬‏ ‏‮members‬‏ ‏‮No‬‏ ‏‮members‬‏ ‏‮were‬‏ ‏‮found.‬‏ ‏‮Verification‬‏ ‏‮link‬‏ ‏‮has‬‏ ‏‮expired.‬‏ @@ -3862,9 +3864,11 @@ ‏‮Monetize‬‏ ‏‮your‬‏ ‏‮server‬‏ ‏‮by‬‏ ‏‮offering‬‏ ‏‮exclusive‬‏ ‏‮channels‬‏ ‏‮and‬‏ ‏‮benefits.‬‏ ‏‮Get‬‏ ‏‮Started‬‏ ‏‮Basic‬‏ ‏‮Info‬‏ + ‏‮Enable‬‏ ‏‮monetization‬‏ ‏‮first!‬‏ ‏‮Payment‬‏ ‏‮Preview‬‏ ‏‮Tiers‬‏ + ‏‮Fill‬‏ ‏‮out‬‏ ‏‮Basic‬‏ ‏‮Info‬‏ ‏‮first!‬‏ ‏‮Premium‬‏ ‏‮Membership‬‏ ‏‮Add‬‏ ‏‮a‬‏ ‏‮channel‬‏ ‏‮Create‬‏ ‏‮a‬‏ ‏‮new‬‏ ‏‮premium‬‏ ‏‮channel‬‏ ‏‮or‬‏ ‏‮convert‬‏ ‏‮an‬‏ ‏‮existing‬‏ ‏‮channel.‬‏ @@ -4479,6 +4483,8 @@ ‏‮{boosts}‬‏ ‏‮to‬‏ ‏‮unlock‬‏ ‏‮Tier‬‏ ‏‮{tier}‬‏ ‏‮perk‬‏ ‏‮unlocked‬‏ ‏‮This‬‏ ‏‮is‬‏ ‏‮a‬‏ ‏‮Tier‬‏ ‏‮{tier}‬‏ ‏‮Nitro‬‏ ‏‮Feature.‬‏ ‏‮[Check‬‏ ‏‮your‬‏ ‏‮tier‬‏ ‏‮status](‬‏‏‮{tierStatusUrl}‬‏‏‮)‬‏ + ‏‮The‬‏ ‏‮server‬‏ ‏‮owner‬‏ ‏‮must‬‏ ‏‮enable‬‏ ‏‮monetization‬‏ ‏‮before‬‏ ‏‮you‬‏ ‏‮can‬‏ ‏‮get‬‏ ‏‮started!‬‏ + ‏‮Monetization‬‏ ‏‮not‬‏ ‏‮enabled‬‏ ‏‮Are‬‏ ‏‮you‬‏ ‏‮sure?‬‏ ‏‮This‬‏ ‏‮will‬‏ ‏‮remove‬‏ ‏‮the‬‏ ‏‮server‬‏ ‏‮from‬‏ ‏‮the‬‏ ‏‮Partner‬‏ ‏‮Program‬‏ ‏‮and‬‏ ‏‮Server‬‏ ‏‮Discovery.‬‏ ‏‮Your‬‏ ‏‮server‬‏ ‏‮must‬‏ ‏‮be‬‏ ‏‮at‬‏ ‏‮least‬‏ ‏‮{minimumGuildAge}‬‏ ‏‮old.‬‏ ‏‮Your‬‏ ‏‮server‬‏ ‏‮must‬‏ ‏‮be‬‏ ‏‮at‬‏ ‏‮least‬‏ ‏‮{minimumGuildAge}‬‏ ‏‮old.‬‏ ‏‮Please‬‏ ‏‮check‬‏ ‏‮back‬‏ ‏‮on‬‏ ‏‮{passDate}‬‏‏‮.‬‏ @@ -6162,8 +6168,8 @@ ‏‮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.‬‏ ‏‮Move‬‏ ‏‮To‬‏ ‏‮User‬‏ ‏‮has‬‏ ‏‮been‬‏ ‏‮moved‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮selected‬‏ ‏‮channel.‬‏ - ‏‮Alert‬‏ ‏‮Cleared‬‏ - ‏‮No‬‏ ‏‮Alert‬‏ ‏‮Showing‬‏ + ‏‮Alert‬‏ ‏‮Cleared‬‏ + ‏‮No‬‏ ‏‮Alert‬‏ ‏‮Showing‬‏ ‏‮New‬‏ ‏‮notification‬‏ ‏‮Remove‬‏ ‏‮%1$s‬‏ ‏‮More‬‏ ‏‮than‬‏ %1$d ‏‮new‬‏ ‏‮notifications‬‏ @@ -10065,7 +10071,8 @@ ‏‮Wanna‬‏ ‏‮change‬‏ ‏‮your‬‏ ‏‮background?‬‏ ‏‮Yay!‬‏ ‏‮You’re‬‏ ‏‮using‬‏ ‏‮an‬‏ ‏‮awesome‬‏ ‏‮background‬‏ ‏‮No‬‏ ‏‮background‬‏ ‏‮right‬‏ ‏‮now?‬‏ ‏‮No‬‏ ‏‮worries!‬‏ - ‏‮Uh‬‏ ‏‮oh!‬‏ ‏‮Something‬‏ ‏‮went‬‏ ‏‮wrong‬‏ ‏‮when‬‏ ‏‮setting‬‏ ‏‮your‬‏ ‏‮background.‬‏ ‏‮Please‬‏ ‏‮try‬‏ ‏‮again‬‏ ‏‮or‬‏ ‏‮use‬‏ ‏‮a‬‏ ‏‮different‬‏ ‏‮background.‬‏ + ‏‮Uh‬‏ ‏‮oh!‬‏ ‏‮Something‬‏ ‏‮went‬‏ ‏‮wrong‬‏ ‏‮when‬‏ ‏‮setting‬‏ ‏‮your‬‏ ‏‮background.‬‏ ‏‮Please‬‏ ‏‮try‬‏ ‏‮again‬‏ ‏‮or‬‏ ‏‮use‬‏ ‏‮a‬‏ ‏‮different‬‏ ‏‮background.‬‏ + ‏‮Uh‬‏ ‏‮oh!‬‏ ‏‮Something‬‏ ‏‮went‬‏ ‏‮wrong‬‏ ‏‮when‬‏ ‏‮uploading‬‏ ‏‮your‬‏ ‏‮background.‬‏ ‏‮Please‬‏ ‏‮try‬‏ ‏‮again‬‏ ‏‮or‬‏ ‏‮use‬‏ ‏‮a‬‏ ‏‮different‬‏ ‏‮image.‬‏ ‏‮Tell‬‏ ‏‮us‬‏ ‏‮about‬‏ ‏‮your‬‏ ‏‮video‬‏ ‏‮backgrounds‬‏ ‏‮experience.‬‏ ‏‮How‬‏ ‏‮were‬‏ ‏‮video‬‏ ‏‮backgrounds?‬‏ ‏‮The‬‏ ‏‮background‬‏ ‏‮detection‬‏ ‏‮was‬‏ ‏‮not‬‏ ‏‮accurate‬‏ @@ -10076,7 +10083,7 @@ ‏‮Had‬‏ ‏‮an‬‏ ‏‮issue?‬‏ ‏‮Thanks‬‏ ‏‮for‬‏ ‏‮reporting‬‏ ‏‮your‬‏ ‏‮issue!‬‏ ‏‮Feedback‬‏ ‏‮like‬‏ ‏‮yours‬‏ ‏‮helps‬‏ ‏‮us‬‏ ‏‮improve‬‏ ‏‮Video‬‏ ‏‮Backgrounds‬‏ ‏‮Remove‬‏ ‏‮Background‬‏ - ‏‮Upload‬‏ ‏‮custom‬‏ ‏‮video‬‏ ‏‮backgrounds,‬‏ ‏‮stream‬‏ ‏‮HD‬‏ ‏‮resolutions‬‏ ‏‮at‬‏ ‏‮60‬‏ ‏‮fps,‬‏ ‏‮[and‬‏ ‏‮more‬‏ ‏‮with‬‏ ‏‮Discord‬‏ ‏‮Nitro!](onLearnMore)‬‏ + ‏‮Get‬‏ ‏‮more‬‏ ‏‮customization‬‏ ‏‮by‬‏ ‏‮uploading‬‏ ‏‮your‬‏ ‏‮own‬‏ ‏‮video‬‏ ‏‮background,‬‏ ‏‮custom‬‏ ‏‮global‬‏ ‏‮emojis,‬‏ ‏‮[and‬‏ ‏‮more‬‏ ‏‮with‬‏ ‏‮Discord‬‏ ‏‮Nitro!](onLearnMore)‬‏ ‏‮Wanna‬‏ ‏‮upload‬‏ ‏‮your‬‏ ‏‮own‬‏ ‏‮background?‬‏ ‏‮Focus‬‏ ‏‮Hide‬‏ ‏‮Chat‬‏ diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml index 5d0ef1e151..6b1522e749 100644 --- a/app/src/main/res/values-bg/strings.xml +++ b/app/src/main/res/values-bg/strings.xml @@ -1145,7 +1145,6 @@ Включи камерата Готов ли си за видео чат? Ето визуализация на твоята камера: - Скрий прането си или изрази настроение. Абонатите на Nitro могат да качват персонализирани изображения. Камерата ти е включена! Ето как изглеждаш: Видеофон В момента задаването на видео фон се предлага само за ограничен брой хора. Замъгляване @@ -3636,8 +3635,8 @@ $[**!!{user}!!**](userHook) изключи {count} от гласов канал $[**!!{user}!!**](userHook) изрита $[**!!{target}!!**](targetHook) $[**!!{user}!!**](userHook) премести {count} към $[**!!{channel}!!**](channelHook) - **** включи микрофона им - **** изключи микрофона им + **включи микрофона** им + **изключи микрофона** им Промени своят псевдоним от **!!{oldValue}!!** на **!!{newValue}!!** Зададе своят псевдоним като **!!{newValue}!!** **Премахна** своя псевдоним от **!!{oldValue}!!** diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index 1e3eafe883..4cd5a8f17b 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -1145,7 +1145,6 @@ Zapnout kameru Připraven/a na video chat? Tady je náhled tvé kamery: - Schovej hromadu oblečení nebo ukaž svou náladu. Předplatitelé Nitra mohou nahrávat vlastní obrázky. Tvá kamera je zapnutá! Takhle tě teď vidí ostatní: Pozadí videa Možnost nastavit pozadí videa je momentálně dostupná jen omezenému počtu lidí. Rozostření @@ -1193,7 +1192,7 @@ Nová kategorie Oprávnění kategorie Využij různá oprávnění k vlastnímu nastavení toho, co kdo může v této kategorii dělat. - Nastaveni kategorie + Nastavení kategorie Nastavení kategorie bylo aktualizováno. Certifikováno Discord našel certifikované zvukové zařízení s názvem **{vendorName} {modelName}**. Pro lepší zážitek na něj doporučujeme přepnout. @@ -6254,7 +6253,7 @@ Uživatelé s oprávněním „spravovat zprávy“ mohou připnout zprávu v nabídce kolečka. Ty a !!{other}!! můžete připnout zprávu z její nabídky. Jakýkoliv člen skupiny může připnout zprávu z její nabídky. - Připínáčky + Připnuté Tento kanál je NSFW a s ohledem na jeho obsah by jeho připnuté zprávy neměl nikdo vidět. Připnuto, nepřečteno Polština diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index 4709cf1253..35751456e4 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -1145,7 +1145,6 @@ Tænd kameraet Er du oppe i gear til en video-chat? Her kan du se en forhåndsvisning af dit kamera: - Skjul dit vasketøj eller udtryk en stemning. Nitro-abonnenter kan uploade brugerdefinerede billeder. Dit kamera er tændt! Og sådan ser du ud: Videobaggrund Indstilling af videobaggrund er i øjeblikket kun tilgængelig for et begrænset antal personer. Slør diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index a163dbc2b4..07a08e8fd7 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -1145,7 +1145,6 @@ Kamera anschalten Bereit für den Videochat? Hier ist eine Vorschau deines Kamerabilds: - Versteck das Chaos hinter dir oder zeig, wie du dich fühlst. Mit einem Nitro-Abonnement kannst du eigene Bilder hochladen. Deine Kamera ist an, sag mal „Spaghetti“! Video-Hintergrund Video-Hintergründe stehen derzeit nur einer begrenzten Anzahl an Nutzern zur Verfügung. Unschärfe diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index 3c02ff2f4b..a4db8a8aa3 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -1145,7 +1145,6 @@ Ενεργοποίηση κάμερας Όλα έτοιμα για συνομιλία με βίντεο; Εδώ μπορείς να δεις την προεπισκόπηση της κάμεράς σου: - Κρύψε τα άπλυτά σου ή δείξε τη διάθεσή σου. Οι συνδρομητές του Nitro μπορούν να μεταφορτώσουν προσαρμοσμένες εικόνες. Η κάμερά σου είναι ανοιχτή! Έτσι φαίνεσαι: Φόντο βίντεο Ο ορισμός φόντου βίντεο προς το παρόν είναι διαθέσιμος σε περιορισμένο αριθμό ατόμων. Θάμπωμα diff --git a/app/src/main/res/values-en-rXA/strings.xml b/app/src/main/res/values-en-rXA/strings.xml index 04eedc3f85..85197237e6 100644 --- a/app/src/main/res/values-en-rXA/strings.xml +++ b/app/src/main/res/values-en-rXA/strings.xml @@ -1174,7 +1174,7 @@ [Ţûŕñ öñ çåḿéŕå one two three] [Ŕéåðý ţö Vîðéö çĥåţ¿ one two three] [Ĥéŕé’š å þŕéVîéŵ öƒ ýöûŕ çåḿéŕå: one two three four] - [Ĥîðé ýöûŕ ļåûñðŕý öŕ éхþŕéšš å ḿööð. Ñîţŕö šûɓšçŕîɓéŕš çåñ ûþļöåð çûšţöḿ îḿåĝéš. one two three four five six seven eight nine] + [Éхþŕéšš å ḿööð öŕ ĥîðé ýöûŕ ḿéššý ŕööḿ. Ñîţŕö šûɓšçŕîɓéŕš çåñ ûþļöåð çûšţöḿ îḿåĝéš. one two three four five six seven eight nine] [νîðéö βåçķĝŕöûñð one two three] [Šéţţîñĝ å Vîðéö ɓåçķĝŕöûñð îš çûŕŕéñţļý åVåîļåɓļé ţö å ļîḿîţéð ñûḿɓéŕ öƒ þéöþļé. one two three four five six seven eight nine] [βļûŕ one] @@ -1473,6 +1473,7 @@ [Ţĥåñķš¡ Ŵé\'Vé šéñţ å çöñƒîŕḿåţîöñ ļîñķ ţö **¡¡»{email}«¡¡**. Þļéåšé çļîçķ ţĥé ļîñķ ţö Véŕîƒý ýöûŕ åççöûñţ. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen] [Çļåîḿ one] [Çļåîḿ ýöûŕ åççöûñţ one two three] + [Çļéåŕ one] [Çļéåŕ Åţţåçĥḿéñţš one two three] [Çļéåŕ Ŕöļé Þéŕḿîššîöñš one two three] [Çļéåŕ ţéхţ one two] @@ -3633,6 +3634,7 @@ [βé ŵĥö ýöû ŵåñţ åñð ûšé å ðéŕéñţ åVåţåŕ îñ éåçĥ öƒ ýöûŕ šéŕVéŕš, ûþĝŕåðé ýöûŕ þŕöƒîļé, [åñð ḿöŕé ŵîţĥ Ðîšçöŕð Ñîţŕö¡](öñÅñðḾöŕé) one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three] [βé ŵĥö ýöû ŵåñţ åñð ûšé å ðéŕéñţ åVåţåŕ îñ éåçĥ öƒ ýöûŕ šéŕVéŕš, ûþĝŕåðé ýöûŕ þŕöƒîļé, åñð ḿöŕé ŵîţĥ Ðîšçöŕð Ñîţŕö¡ one two three four five six seven eight nine ten eleven twelve] [Ŵåññå ûšé å ðéŕéñţ åVåţåŕ¿ one two three four] + [Ýöû ḿûšţ ĵöîñ ţĥé šéŕVéŕ ƒîŕšţ. one two three four] [¡¡»{guild}«¡¡ ḿéḿɓéŕš one two] [Ñö ḿéḿɓéŕš ŵéŕé ƒöûñð. one two three] [νéŕîƒîçåţîöñ ļîñķ ĥåš éхþîŕéð. one two three four] @@ -3862,9 +3864,11 @@ [Ḿöñéţîžé ýöûŕ šéŕVéŕ ɓý öƒƒéŕîñĝ éхçļûšîVé çĥåññéļš åñð ɓéñéƒîţš. one two three four five six seven] [Ĝéţ Šţåŕţéð one two] [βåšîç Îñƒö one two] + [Éñåɓļé ḿöñéţîžåţîöñ ƒîŕšţ¡ one two three four] [Þåýḿéñţ one two] [ÞŕéVîéŵ one two] [Ţîéŕš one] + [Fîļļ öûţ βåšîç Îñƒö ƒîŕšţ¡ one two three four] [Þŕéḿîûḿ Ḿéḿɓéŕšĥîþ one two three] [Åðð å çĥåññéļ one two] [Çŕéåţé å ñéŵ þŕéḿîûḿ çĥåññéļ öŕ çöñVéŕţ åñ éхîšţîñĝ çĥåññéļ. one two three four five six seven] @@ -4479,6 +4483,8 @@ [»{boosts}« ţö ûñļöçķ one two] [Ţîéŕ »{tier}« þéŕķ ûñļöçķéð one two three] [Ţĥîš îš å Ţîéŕ »{tier}« Ñîţŕö Féåţûŕé. [Çĥéçķ ýöûŕ ţîéŕ šţåţûš](»{tierStatusUrl}«) one two three four five six seven eight nine ten eleven twelve] + [Ţĥé šéŕVéŕ öŵñéŕ ḿûšţ éñåɓļé ḿöñéţîžåţîöñ ɓéƒöŕé ýöû çåñ ĝéţ šţåŕţéð¡ one two three four five six seven eight] + [Ḿöñéţîžåţîöñ ñöţ éñåɓļéð one two three] [Åŕé ýöû šûŕé¿ Ţĥîš ŵîļļ ŕéḿöVé ţĥé šéŕVéŕ ƒŕöḿ ţĥé Þåŕţñéŕ Þŕöĝŕåḿ åñð ŠéŕVéŕ ÐîšçöVéŕý. one two three four five six seven eight nine ten] [Ýöûŕ šéŕVéŕ ḿûšţ ɓé åţ ļéåšţ »{minimumGuildAge}« öļð. one two three four] [Ýöûŕ šéŕVéŕ ḿûšţ ɓé åţ ļéåšţ »{minimumGuildAge}« öļð. Þļéåšé çĥéçķ ɓåçķ öñ »{passDate}«. one two three four five six seven] @@ -6162,8 +6168,8 @@ [Ḿéḿɓéŕš ŵîţĥ ţĥîš þéŕḿîššîöñ çåñ ðŕåĝ öţĥéŕ ḿéḿɓéŕš öûţ öƒ ţĥîš çĥåññéļ. Ţĥéý çåñ öñļý ḿöVé ḿéḿɓéŕš ɓéţŵééñ çĥåññéļš ɓöţĥ ţĥéý åñð ţĥé ḿéḿɓéŕ ţĥéý åŕé ḿöVîñĝ ĥåVé åççéšš. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen] [ḾöVé Ţö one two] [Ûšéŕ ĥåš ɓééñ ḿöVéð ţö ţĥé šéļéçţéð çĥåññéļ. one two three four five] - [Åļéŕţ Çļéåŕéð one two] - [Ñö Åļéŕţ Šĥöŵîñĝ one two three] + [Åļéŕţ Çļéåŕéð one two] + [Ñö Åļéŕţ Šĥöŵîñĝ one two three] [Ñéŵ ñöţîƒîçåţîöñ one two three] [ŔéḿöVé »%1$s« one two] [Ḿöŕé ţĥåñ %1$d ñéŵ ñöţîƒîçåţîöñš one two three four] @@ -10065,7 +10071,8 @@ [Ŵåññå çĥåñĝé ýöûŕ ɓåçķĝŕöûñð¿ one two three four] [Ýåý¡ Ýöû’ŕé ûšîñĝ åñ åŵéšöḿé ɓåçķĝŕöûñð one two three four five] [Ñö ɓåçķĝŕöûñð ŕîĝĥţ ñöŵ¿ Ñö ŵöŕŕîéš¡ one two three four five] - [Ûĥ öĥ¡ Šöḿéţĥîñĝ ŵéñţ ŵŕöñĝ ŵĥéñ šéţţîñĝ ýöûŕ ɓåçķĝŕöûñð. Þļéåšé ţŕý åĝåîñ öŕ ûšé å ðéŕéñţ ɓåçķĝŕöûñð. one two three four five six seven eight nine ten eleven] + [Ûĥ öĥ¡ Šöḿéţĥîñĝ ŵéñţ ŵŕöñĝ ŵĥéñ šéţţîñĝ ýöûŕ ɓåçķĝŕöûñð. Þļéåšé ţŕý åĝåîñ öŕ ûšé å ðéŕéñţ ɓåçķĝŕöûñð. one two three four five six seven eight nine ten eleven] + [Ûĥ öĥ¡ Šöḿéţĥîñĝ ŵéñţ ŵŕöñĝ ŵĥéñ ûþļöåðîñĝ ýöûŕ ɓåçķĝŕöûñð. Þļéåšé ţŕý åĝåîñ öŕ ûšé å ðéŕéñţ îḿåĝé. one two three four five six seven eight nine ten eleven] [Ţéļļ ûš åɓöûţ ýöûŕ Vîðéö ɓåçķĝŕöûñðš éхþéŕîéñçé. one two three four five six] [Ĥöŵ ŵéŕé Vîðéö ɓåçķĝŕöûñðš¿ one two three four] [Ţĥé ɓåçķĝŕöûñð ðéţéçţîöñ ŵåš ñöţ åççûŕåţé one two three four five] @@ -10076,7 +10083,7 @@ [Ĥåð åñ îššûé¿ one two] [Ţĥåñķš ƒöŕ ŕéþöŕţîñĝ ýöûŕ îššûé¡ Fééðɓåçķ ļîķé ýöûŕš ĥéļþš ûš îḿþŕöVé νîðéö βåçķĝŕöûñðš one two three four five six seven eight nine] [ŔéḿöVé βåçķĝŕöûñð one two three] - [Ûþļöåð çûšţöḿ Vîðéö ɓåçķĝŕöûñðš, šţŕéåḿ ĤÐ ŕéšöļûţîöñš åţ 60 ƒþš, [åñð ḿöŕé ŵîţĥ Ðîšçöŕð Ñîţŕö¡](öñĻéåŕñḾöŕé) one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen] + [Ĝéţ ḿöŕé çûšţöḿîžåţîöñ ɓý ûþļöåðîñĝ ýöûŕ öŵñ Vîðéö ɓåçķĝŕöûñð, çûšţöḿ ĝļöɓåļ éḿöĵîš, [åñð ḿöŕé ŵîţĥ Ðîšçöŕð Ñîţŕö¡](öñĻéåŕñḾöŕé) one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two] [Ŵåññå ûþļöåð ýöûŕ öŵñ ɓåçķĝŕöûñð¿ one two three four] [Föçûš one] [Ĥîðé Çĥåţ one two] diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml index 63e566cb7a..69d053ffb5 100644 --- a/app/src/main/res/values-es-rES/strings.xml +++ b/app/src/main/res/values-es-rES/strings.xml @@ -1117,7 +1117,6 @@ Activar cámara ¿Listo para un chat de vídeo? Aquí tienes una vista previa de tu cámara: - Esconde la colada o expresa tu estado de ánimo. Los suscriptores a Nitro pueden subir imágenes personalizadas. ¡Tu cámara está encendida! Así te van a ver: Fondo del vídeo Establecer un fondo de vídeo está disponible para un número limitado de personas. Difuminar @@ -8049,7 +8048,7 @@ Invisible No aparecerás en línea, pero tendrás acceso total a Discord. Desconectado - Conectado + En línea En línea con móvil Transmitiendo Desconocido diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index 1a37b74477..b682037cc3 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -1145,7 +1145,6 @@ Kytke kamera päälle Oletko valmis videokeskusteluun? Tässä on esikatselukuva kameraltasi: - Piilota pyykkikori tai kerro tunnelmistasi vaihtamalla taustakuvasi. Nitron tilaajat voivat ladata omia kuviaan taustakuviksi. Kamerasi on päällä! Lähettämäsi kuva näyttää tältä: Videokuvan tausta Videokuvan taustan asettaminen on tällä hetkellä rajoitetun käyttäjäjoukon käytettävissä. Sumennus diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 591cfd8f9e..ec6d0430f6 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -1145,7 +1145,6 @@ Allumer la caméra Prêt à discuter par vidéo ? Voici un aperçu de ta caméra : - Cache ton linge ou crée une ambiance. Les abonnés Nitro peuvent uploader des images personnalisées. Ta caméra est allumée ! Voici à quoi tu ressembles : Arrière-plan de la vidéo La possibilité de sélectionner un arrière-plan de vidéo est accessible à un nombre limité de personnes pour le moment. Flou diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml index febe0f0f3c..86d6ccc59f 100644 --- a/app/src/main/res/values-hi/strings.xml +++ b/app/src/main/res/values-hi/strings.xml @@ -1145,7 +1145,6 @@ कैमरा को ऑन करें वीडियो चैट के लिए तैयार हैं? आपके कैमरे का प्रीव्यू ऐसा है: - अपनी लॉन्ड्री को छिपाएं या मूड एक्सप्रेस करें. Nitro के सब्सक्राइबर्स कस्टम इमेज अपलोड कर सकते हैं. आपका कैमरा ऑन है! यहां देखिए आप कैसे लग रहे हैं: वीडियो बैकग्राउंड वीडियो बैकग्राउंड सेट करना फ़िलहाल कुछ लोगों के लिए ही उपलब्ध है. ब्लर diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index fa2bd2d599..3f4ee1f920 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -1145,7 +1145,6 @@ Uključi kameru Spreman/na za video chat? Ovdje imaš pretpregled tvoje kamere: - Sakrij svoje rublje ili pokaži kako se osjećaj. Oni koji su pretplaćeni na Nitro, oni mogu prenijeti slike koje su sami odabrali ili uredili. Kamera kreće! Evo, ovako ti izgledaš: Video pozadina Postavljanje video pozadine trenutačno je omogućeno tek za ograničeni broj ljudi Zamućenje diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index 01330facba..586565e8d9 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -1145,7 +1145,6 @@ Kamera bekapcsolása Készen állsz a videocsevegésre? Íme a kamerád előnézete: - Rejtsd el a szennyest, vagy fejezd ki a hangulatodat! A Nitro-előfizetők egyéni képeket tölthetnek fel. A kamera be van kapcsolva! Így nézel ki: Videóháttér A videóháttér beállítása jelenleg korlátozott számú felhasználó számára érhető el. Elmosás diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 608a675544..8b1871a18f 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -856,7 +856,7 @@ Le transazioni !!{paymentGatewayName}!! non saranno elencate qui in basso. Se vuoi visualizzare la cronologia transazioni di !!{paymentGatewayName}!! o cambiare il tuo metodo di pagamento !!{paymentGatewayName}!!, [vai alle tue impostazioni di fatturazione !!{paymentGatewayName}!!]({billingHistoryLink}). Ti sei abbonato tramite !!{paymentGatewayName}!! Questo non è supportato per abbonamenti !!{paymentGatewayName}!!. Per gestire il tuo abbonamento, ti preghiamo di [andare nelle tue impostazioni di fatturazione !!{paymentGatewayName}!!]({subscriptionManagementLink}). - Il costo e la valuta finali si baseranno sul metodo di pagamento selezionato e sul paese che lo emetterà. [Scopri di più qui]({documentationLink}). + Il costo e la valuta finali si baseranno sul metodo di pagamento selezionato e sul paese che lo emetterà. [Scopri di più]({documentationLink}). Copiato! Link regalo Questo era un regalo @@ -1145,7 +1145,6 @@ Attiva la webcam Pronto a video chattare? Ecco l\'anteprima della tua webcam: - Nascondi i panni stesi sullo sfondo o esprimi il tuo stato d\'animo. Gli abbonati a Nitro possono caricare immagini personalizzate. La tua webcam è accesa! Guardati un po\': Sfondo video Lo sfondo video è al momento disponibile per un numero limitato di persone. Sfocatura diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index f8d26a173e..c962870e1d 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -1145,7 +1145,6 @@ カメラをオン ビデオチャットの準備はよろしいですか? カメラのプレビュー: - 洗濯物を隠すもよし、感情表現するもよし。Nitro 登録者ならカスタム画像をアップロードできます。 カメラがオンになっています! みんなにはこう表示されています: ビデオ背景 ビデオ背景設定は現在、一部のユーザー限定の機能となっています。 ぼかし @@ -2813,7 +2812,7 @@ プレビューを利用するために、Discordに[カメラのアクセスを許可](onEnableClick)してください。 フォーラムチャンネル フランス語 - よく使うスタンプ + よく使うスラッシュコマンド フレンドを削除しました。 フレンド追加が手軽になりました。ユーザー名のゴタゴタは忘れて、サクッとリンクを送りましょう! フレンドのニックネーム @@ -6031,7 +6030,7 @@ コードは {endDate}までにご使用ください。[詳細を閉じる](onClickDetails) コードは {endDate}までにご使用ください。[詳細](onClickDetails) ギフトは {endDate}になるまで入手できません。[詳細を閉じる](onClickDetails) - ギフトは {endDate}になるまで入手できません。[詳細](onClickDetails) + {endDate}までの期間限定です。[詳しくはこちら](onClickDetails) このコードは、先ほどお送りした確認メールに記載されています。 [詳細を閉じる](onClick) [詳細](onClick) diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index ca41328ce2..c694550ec9 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -1145,7 +1145,6 @@ 카메라 켜기 영상 채팅할 준비가 되셨나요? 여기에서 카메라 미리 보기를 확인하세요. - 어질러진 옷가지를 가리거나 기분 전환을 해보세요. Nitro를 구독하면 사용자 정의 이미지를 올릴 수 있답니다. 카메라가 켜졌어요! 화면에 이렇게 보여요. 영상 배경 영상 배경 설정은 현재 일부 사용자들만 사용할 수 있어요. 흐리게 @@ -3353,7 +3352,7 @@ 지금 시작하는 중: 예약된 이벤트 확인해보세요 - 행사 + 이벤트 만들기 이벤트 {count} {number} @@ -5060,7 +5059,7 @@ 추방하기 멤버 추방하기 !!{user}!!님 추방하기 - 정말로 !!{user}!! 님을 서버에서 추방하시겠어요? !!{user}!! 님이 새 초대를 받으면 다시 참가할 수 있어요. + 정말로 !!{user}!! 님을 서버에서 추방하시겠어요? 님이 새 초대를 받으면 다시 참가할 수 있어요. \'!!{user}!!\' 님이 서버에서 추방되었어요. 이런… !!{user}!! 님을 추방할 수 없어요. 다시 시도해 주세요! !!{user}!! 님을 서버에서 추방하기 @@ -5715,7 +5714,7 @@ 카테고리 없음 이모티콘을 업로드하여 이 서버에 생기를 불어 넣으세요! 없음 - 검색과 일치하는 이모티콘가 없음 + 검색과 일치하는 이모티콘이 없음 이모티콘 없음 제발 즐겨찾기에 추가해 보세요. 왜 아직도 여기 계신 거죠? diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index c639dfce5e..99b89ea927 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -1145,7 +1145,6 @@ Įjungti kamerą Pasiruošęs (-usi) vaizdo pokalbiui? Čia pateikiama kameros peržiūra: - Paslėpk neskalbtus drabužius arba išreikšk savo nuotaiką. Nitro prenumeratoriai turi galimybę įkelti tinkintus vaizdus. Tavo vaizdo kamera įjungta! Atrodai štai taip: Vaizdo įrašo fonas Šiuo metu galimybė nustatyti vaizdo įrašo foną prieinama ribotam žmonių skaičiui. Fono suliejimas diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index ad1222d7f0..1f5066d4ca 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -1145,7 +1145,6 @@ Zet de camera aan Klaar om te videochatten? Dit is een voorproefje van je camera: - Verstop je vuile was of laat zien in wat voor stemming je bent. Nitro-abonnees kunnen persoonlijke afbeeldingen uploaden. Je camera staat aan! Zo zie je eruit: Videoachtergrond Een beperkt aantal mensen kan nu een videoachtergrond instellen. Onscherpte @@ -8482,7 +8481,7 @@ Een wilde $[!!{username}!!](usernameHook) is verschenen. [!!{username}!!](usernameOnClick) is zojuist geland. $[!!{username}!!](usernameHook) is zojuist geland. - [!!{username}!!](usernameOnClick) schoof in de server. + [!!{username}!!](usernameOnClick) schuift aan bij de server. $[!!{username}!!](usernameHook) schoof in de server. [!!{username}!!](usernameOnClick) is zojuist verschenen! $[!!{username}!!](usernameHook) is zojuist verschenen! diff --git a/app/src/main/res/values-no/strings.xml b/app/src/main/res/values-no/strings.xml index 7b06641e5e..7db25ef1a8 100644 --- a/app/src/main/res/values-no/strings.xml +++ b/app/src/main/res/values-no/strings.xml @@ -1117,7 +1117,6 @@ Slå på kamera Klar for å videochatte? Slik vil du se ut på kameraet: - Gjem skittentøyet eller skap en viss stemning. Nitro-abonnenter kan låse opp egendefinerte bilder. Kameraet ditt er på! Slik kommer du til å se ut: Videobakgrunn Det å angi videobakgrunn er foreløpig tilgjengelig for et begrenset antall personer. Uklar diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index dcaff31b4d..23687a8e71 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -1145,7 +1145,6 @@ Włącz kamerę Gotów na czat wideo? Oto podgląd Twojej kamery: - Ukryj suszące się pranie lub wyraź swój nastrój. Abonenci Nitro mogą przesyłać niestandardowe obrazy. Twoja kamera jest włączona i wyglądasz w niej tak: Tło filmu Ustawienie tła wideo jest obecnie dostępne tylko dla ograniczonej liczby osób. Rozmycie diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index bc554c1701..91428e6f7b 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -1145,7 +1145,6 @@ Ligar câmera Vamos ligar a câmera? Aqui está uma prévia da sua câmera: - Esconda sua roupa suja ou expresse um humor. Assinantes Nitro podem enviar imagens personalizadas. Sua Câmera está ligada! É assim que os outros vão ver você: Fundo do vídeo No momento, vídeos de fundo estão disponíveis para um número limitado de pessoas. Borrar @@ -3257,7 +3256,7 @@ Insira uma localização Coloque a localização, um link ou algo assim. Em outro lugar - Canal de texto, link esterno, ou local em pessoa. + Canal de texto, link externo, ou local em pessoa. Coloque a localização, um link ou algo assim. Ótimo para eventos de áudio de comunidades maiores. Encontrem-se com voz, vídeo, compartilhamento de tela e Go Live. @@ -3431,7 +3430,7 @@ Permissões de canais atualizadas Canais atualizados Emojis criados - Emojis excluídos + Excluir emoji Emojis atualizados Criar evento Cancelar evento diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index e414eef3cd..74a70fea9a 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -1145,7 +1145,6 @@ Pornește camera Ești gata de chat video? Iată previzualizarea camerei tale: - Ascunde-ți dezastrul din cameră sau exprimă-ți starea de spirit. Abonații Nitro pot încărca imagini personalizate. Ai camera pornită! Uite ce se vede pe ecran: Fundal video Configurarea fundalurilor video este momentan disponibilă doar pentru un număr limitat de persoane. Estompat diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 573dee8954..dc6458e53f 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -1145,7 +1145,6 @@ Включить камеру Готовы к видеочату? Вот что показывает ваша камера: - Прикройте беспорядок или поделитесь настроением. Подписчики Nitro могут загружать свои изображения. Ваша камера включена! Вот как вы выглядите: Фон видео На текущий момент выбор фона видео доступен ограниченному кругу пользователей. Размытие diff --git a/app/src/main/res/values-sv-rSE/strings.xml b/app/src/main/res/values-sv-rSE/strings.xml index e9bafa389d..3997d987ad 100644 --- a/app/src/main/res/values-sv-rSE/strings.xml +++ b/app/src/main/res/values-sv-rSE/strings.xml @@ -1117,7 +1117,6 @@ Sätt igång kamera Redo att videochatta? Här är en förhandsgranskning av din kamera: - Göm din smutstvätt eller ge uttryck för hur du känner. Nitro-prenumeranter kan ladda upp personliga bilder. Kameran är på! Så här ser du ut: Videobakgrund Funktionen att välja videobakgrund finns för närvarande bara för ett begränsat antal personer. Suddig diff --git a/app/src/main/res/values-th/strings.xml b/app/src/main/res/values-th/strings.xml index e46398448d..a906eb2ff2 100644 --- a/app/src/main/res/values-th/strings.xml +++ b/app/src/main/res/values-th/strings.xml @@ -1145,7 +1145,6 @@ เปิดกล้อง พร้อมที่จะวิดีโอแชทแล้วหรือยัง นี่คือตัวอย่างกล้องของคุณ: - ซ่อนเสื้อผ้าของคุณหรือแสดงอารมณ์ สมาชิก Nitro สามารถอัปโหลดรูปภาพแบบกำหนดเองได้ กล้องของคุณเปิดอยู่! นี่คือภาพของคุณ: พื้นหลังวิดีโอ ขณะนี้การตั้งค่าพื้นหลังวิดีโอเปิดให้ใช้งานแล้ว แต่ยังจำกัดจำนวนผู้ใช้ เบลอ diff --git a/app/src/main/res/values-tr/plurals.xml b/app/src/main/res/values-tr/plurals.xml index cb391c0041..8418f93ddf 100644 --- a/app/src/main/res/values-tr/plurals.xml +++ b/app/src/main/res/values-tr/plurals.xml @@ -225,7 +225,7 @@ {#} dakika - **1** topluluk**''{query}''** için + **1** topluluk **{numResults}**topluluklar diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 2272cacf68..a54c064de1 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -1145,7 +1145,6 @@ Kamerayı aç Görüntülü sohbete hazır mısın? Kameranın önizlemesi: - Odanın dağınıklığını gizle ya da hislerini paylaş. Nitro aboneleri özel görseller yükleyebilir. Kameran açık! Böyle görünüyorsun: Video Arka Planı Video arka planı ayarlama şimdilik sınırlı sayıda kişi tarafından kullanılabilir. Bulanık @@ -2134,7 +2133,7 @@ Başka bir arama yap veya [bir sunucu ekle](addServerHook). Eşleşme bulunamadı Sunucuları keşfet - {numResults} + {numResults} **\'\'{query}\'\'** için Devre dışı bırak Hesabı Devre Dışı Bırak Hesabını devre dışı bırakmak istediğinden emin misin? Bu işlem, oturumunu derhal kapatacak ve hesabına hiç kimse erişemeyecek. diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index 955fea081f..1f98ccfd70 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -1145,7 +1145,6 @@ Увімкнути камеру Готовий до відеочату? Ось як попередньо виглядає твоя камера: - Більше не потрібно наводити лад перед кожним відеодзвінком, адже передплатники Nitro можуть завантажити користувацьке тло для відео. Камеру увімкнено! Ось так ви виглядатимете: Тло відео Встановлення тла для відео наразі доступне обмеженій кількості людей. Розмити @@ -8708,7 +8707,7 @@ Для обраного каналу Ніколи Зрозуміло! - Твітні нам + Твітни нам Twitter Двофакторна аутентифікація Активувати diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index 713f62e395..44e6f424fb 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -1145,7 +1145,6 @@ Bật camera Bạn đã sẵn sàng để trò chuyện video chưa? Hãy thử xem trước camera của bạn: - Giấu quần áo chờ giặt hoặc thể hiện tâm trạng. Người đăng ký Nitro có thể tải lên hình ảnh tùy chỉnh. Camera của bạn đã bật! Khung cảnh trông sẽ như thế này: Video Nền Tính năng Đặt video nền hiện chỉ được cung cấp cho một số lượng người dùng có hạn. Làm mờ diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index c954cd0b86..cb4233c21a 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -1145,7 +1145,6 @@ 打开相机 准备好进行视频聊天了吗? 这是您的相机预览: - 藏好您的脏衣篓或者秀出自己的情绪。Nitro 订阅者可以上传自定义图片。 您的摄像头已开启!这就是您将会展示的形象: 视频背景图片 设置视频背景当前仅对部分用户开放。 模糊 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 9e40053173..6a1cf6fe7f 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -1145,7 +1145,6 @@ 開啟向機 準備好視訊通話了嗎? 您的相機預覽畫面: - 稍微遮醜,或展現您的風格。Nitro 訂閱者可上傳自訂圖片。 您的視訊攝影機開啟了!這是您的樣子: 視訊背景 目前僅開放部分使用者設定視訊背景。 模糊 diff --git a/app/src/main/res/values/public.xml b/app/src/main/res/values/public.xml index 4c61a43a4d..d73491b22b 100644 --- a/app/src/main/res/values/public.xml +++ b/app/src/main/res/values/public.xml @@ -8118,210 +8118,210 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -14758,1186 +14758,1187 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -18111,6648 +18112,6654 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 71ce5be335..5c05f9abbe 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1176,7 +1176,7 @@ Turn on camera Ready to video chat? Here’s a preview of your camera: - Hide your laundry or express a mood. Nitro subscribers can upload custom images. + Express a mood or hide your messy room. Nitro subscribers can upload custom images. Video Background Setting a video background is currently available to a limited number of people. Blur @@ -1476,6 +1476,7 @@ Thanks! We\'ve sent a confirmation link to **!!{email}!!**. Please click the link to verify your account. Claim Claim your account + Clear Clear Attachments Clear Role Permissions Clear text @@ -1513,7 +1514,7 @@ Select a color Transparency Use Default - 5ee41821a9884982aea3dde485c810c4 + d662fbfaeee84bc6b81cf72797de41be Coming Soon Slash command application {applicationName} {applicationName} application @@ -3649,6 +3650,7 @@ Be who you want and use a different avatar in each of your servers, upgrade your profile, [and more with Discord Nitro!](onAndMore) Be who you want and use a different avatar in each of your servers, upgrade your profile, and more with Discord Nitro! Wanna use a different avatar? + You must join the server first. !!{guild}!! members No members were found. Verification link has expired. @@ -3878,9 +3880,11 @@ Monetize your server by offering exclusive channels and benefits. Get Started Basic Info + Enable monetization first! Payment Preview Tiers + Fill out Basic Info first! Premium Membership Add a channel Create a new premium channel or convert an existing channel. @@ -4495,6 +4499,8 @@ {boosts} to unlock Tier {tier} perk unlocked This is a Tier {tier} Nitro Feature. [Check your tier status]({tierStatusUrl}) + The server owner must enable monetization before you can get started! + Monetization not enabled Are you sure? This will remove the server from the Partner Program and Server Discovery. Your server must be at least {minimumGuildAge} old. Your server must be at least {minimumGuildAge} old. Please check back on {passDate}. @@ -6181,8 +6187,8 @@ 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. Move To User has been moved to the selected channel. - Alert Cleared - No Alert Showing + Alert Cleared + No Alert Showing New notification Remove %1$s More than %1$d new notifications @@ -10094,7 +10100,8 @@ Wanna change your background? Yay! You’re using an awesome background No background right now? No worries! - Uh oh! Something went wrong when setting your background. Please try again or use a different background. + Uh oh! Something went wrong when setting your background. Please try again or use a different background. + Uh oh! Something went wrong when uploading your background. Please try again or use a different image. Tell us about your video backgrounds experience. How were video backgrounds? The background detection was not accurate @@ -10105,7 +10112,7 @@ Had an issue? Thanks for reporting your issue! Feedback like yours helps us improve Video Backgrounds Remove Background - Upload custom video backgrounds, stream HD resolutions at 60 fps, [and more with Discord Nitro!](onLearnMore) + Get more customization by uploading your own video background, custom global emojis, [and more with Discord Nitro!](onLearnMore) Wanna upload your own background? Focus Hide Chat