diff --git a/app/build.gradle b/app/build.gradle index 575107eb0c..12ed806a85 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,8 +10,8 @@ android { applicationId 'com.discord' minSdkVersion 21 targetSdkVersion 29 - versionCode 92203 - versionName "92.3 - Alpha" + versionCode 92204 + versionName "92.4 - Alpha" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 8de151d35d..7789f42744 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,5 +1,5 @@ - + diff --git a/app/src/main/java/com/discord/analytics/generated/events/TrackAddReaction.java b/app/src/main/java/com/discord/analytics/generated/events/TrackAddReaction.java index 1acb31c520..0500289877 100644 --- a/app/src/main/java/com/discord/analytics/generated/events/TrackAddReaction.java +++ b/app/src/main/java/com/discord/analytics/generated/events/TrackAddReaction.java @@ -16,6 +16,7 @@ public final class TrackAddReaction implements AnalyticsSchema, TrackBaseReceive private final Long guildId = null; private final Long messageId = null; private TrackBase trackBase; + private final Integer uniqueReactionCount = null; @Override // com.discord.api.science.AnalyticsSchema public String b() { @@ -30,7 +31,7 @@ public final class TrackAddReaction implements AnalyticsSchema, TrackBaseReceive return false; } TrackAddReaction trackAddReaction = (TrackAddReaction) obj; - return m.areEqual(this.guildId, trackAddReaction.guildId) && m.areEqual(this.channelId, trackAddReaction.channelId) && m.areEqual(this.channelType, trackAddReaction.channelType) && m.areEqual(this.messageId, trackAddReaction.messageId) && m.areEqual(this.emojiId, trackAddReaction.emojiId) && m.areEqual(this.emojiName, trackAddReaction.emojiName) && m.areEqual(this.emojiAnimated, trackAddReaction.emojiAnimated); + return m.areEqual(this.guildId, trackAddReaction.guildId) && m.areEqual(this.channelId, trackAddReaction.channelId) && m.areEqual(this.channelType, trackAddReaction.channelType) && m.areEqual(this.messageId, trackAddReaction.messageId) && m.areEqual(this.emojiId, trackAddReaction.emojiId) && m.areEqual(this.emojiName, trackAddReaction.emojiName) && m.areEqual(this.emojiAnimated, trackAddReaction.emojiAnimated) && m.areEqual(this.uniqueReactionCount, trackAddReaction.uniqueReactionCount); } public int hashCode() { @@ -48,10 +49,12 @@ public final class TrackAddReaction implements AnalyticsSchema, TrackBaseReceive CharSequence charSequence = this.emojiName; int hashCode6 = (hashCode5 + (charSequence != null ? charSequence.hashCode() : 0)) * 31; Boolean bool = this.emojiAnimated; - if (bool != null) { - i = bool.hashCode(); + int hashCode7 = (hashCode6 + (bool != null ? bool.hashCode() : 0)) * 31; + Integer num2 = this.uniqueReactionCount; + if (num2 != null) { + i = num2.hashCode(); } - return hashCode6 + i; + return hashCode7 + i; } public String toString() { @@ -68,6 +71,8 @@ public final class TrackAddReaction implements AnalyticsSchema, TrackBaseReceive P.append(", emojiName="); P.append(this.emojiName); P.append(", emojiAnimated="); - return a.C(P, this.emojiAnimated, ")"); + P.append(this.emojiAnimated); + P.append(", uniqueReactionCount="); + return a.E(P, this.uniqueReactionCount, ")"); } } diff --git a/app/src/main/java/com/discord/analytics/generated/events/TrackContextMenuImageCopied.java b/app/src/main/java/com/discord/analytics/generated/events/TrackContextMenuImageCopied.java new file mode 100644 index 0000000000..11b5b4129a --- /dev/null +++ b/app/src/main/java/com/discord/analytics/generated/events/TrackContextMenuImageCopied.java @@ -0,0 +1,48 @@ +package com.discord.analytics.generated.events; + +import c.d.b.a.a; +import com.discord.analytics.generated.traits.TrackBase; +import com.discord.analytics.generated.traits.TrackBaseReceiver; +import com.discord.api.science.AnalyticsSchema; +import d0.z.d.m; +/* compiled from: TrackContextMenuImageCopied.kt */ +public final class TrackContextMenuImageCopied implements AnalyticsSchema, TrackBaseReceiver { + private final transient String analyticsSchemaTypeName = "context_menu_image_copied"; + private final Long channelId = null; + private TrackBase trackBase; + private final CharSequence url = null; + + @Override // com.discord.api.science.AnalyticsSchema + public String b() { + return this.analyticsSchemaTypeName; + } + + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (!(obj instanceof TrackContextMenuImageCopied)) { + return false; + } + TrackContextMenuImageCopied trackContextMenuImageCopied = (TrackContextMenuImageCopied) obj; + return m.areEqual(this.channelId, trackContextMenuImageCopied.channelId) && m.areEqual(this.url, trackContextMenuImageCopied.url); + } + + public int hashCode() { + Long l = this.channelId; + int i = 0; + int hashCode = (l != null ? l.hashCode() : 0) * 31; + CharSequence charSequence = this.url; + if (charSequence != null) { + i = charSequence.hashCode(); + } + return hashCode + i; + } + + public String toString() { + StringBuilder P = a.P("TrackContextMenuImageCopied(channelId="); + P.append(this.channelId); + P.append(", url="); + return a.D(P, this.url, ")"); + } +} diff --git a/app/src/main/java/com/discord/analytics/generated/events/TrackContextMenuImageCopiedReceiver.java b/app/src/main/java/com/discord/analytics/generated/events/TrackContextMenuImageCopiedReceiver.java new file mode 100644 index 0000000000..4cbebf20f7 --- /dev/null +++ b/app/src/main/java/com/discord/analytics/generated/events/TrackContextMenuImageCopiedReceiver.java @@ -0,0 +1,6 @@ +package com.discord.analytics.generated.events; + +import com.discord.api.science.AnalyticsSchema; +/* compiled from: TrackContextMenuImageCopied.kt */ +public interface TrackContextMenuImageCopiedReceiver extends AnalyticsSchema { +} diff --git a/app/src/main/java/com/discord/analytics/generated/events/TrackContextMenuImageCopyFailed.java b/app/src/main/java/com/discord/analytics/generated/events/TrackContextMenuImageCopyFailed.java new file mode 100644 index 0000000000..cd864ae113 --- /dev/null +++ b/app/src/main/java/com/discord/analytics/generated/events/TrackContextMenuImageCopyFailed.java @@ -0,0 +1,48 @@ +package com.discord.analytics.generated.events; + +import c.d.b.a.a; +import com.discord.analytics.generated.traits.TrackBase; +import com.discord.analytics.generated.traits.TrackBaseReceiver; +import com.discord.api.science.AnalyticsSchema; +import d0.z.d.m; +/* compiled from: TrackContextMenuImageCopyFailed.kt */ +public final class TrackContextMenuImageCopyFailed implements AnalyticsSchema, TrackBaseReceiver { + private final transient String analyticsSchemaTypeName = "context_menu_image_copy_failed"; + private final Long channelId = null; + private TrackBase trackBase; + private final CharSequence url = null; + + @Override // com.discord.api.science.AnalyticsSchema + public String b() { + return this.analyticsSchemaTypeName; + } + + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (!(obj instanceof TrackContextMenuImageCopyFailed)) { + return false; + } + TrackContextMenuImageCopyFailed trackContextMenuImageCopyFailed = (TrackContextMenuImageCopyFailed) obj; + return m.areEqual(this.channelId, trackContextMenuImageCopyFailed.channelId) && m.areEqual(this.url, trackContextMenuImageCopyFailed.url); + } + + public int hashCode() { + Long l = this.channelId; + int i = 0; + int hashCode = (l != null ? l.hashCode() : 0) * 31; + CharSequence charSequence = this.url; + if (charSequence != null) { + i = charSequence.hashCode(); + } + return hashCode + i; + } + + public String toString() { + StringBuilder P = a.P("TrackContextMenuImageCopyFailed(channelId="); + P.append(this.channelId); + P.append(", url="); + return a.D(P, this.url, ")"); + } +} diff --git a/app/src/main/java/com/discord/analytics/generated/events/TrackContextMenuImageCopyFailedReceiver.java b/app/src/main/java/com/discord/analytics/generated/events/TrackContextMenuImageCopyFailedReceiver.java new file mode 100644 index 0000000000..f5a65bca71 --- /dev/null +++ b/app/src/main/java/com/discord/analytics/generated/events/TrackContextMenuImageCopyFailedReceiver.java @@ -0,0 +1,6 @@ +package com.discord.analytics.generated.events; + +import com.discord.api.science.AnalyticsSchema; +/* compiled from: TrackContextMenuImageCopyFailed.kt */ +public interface TrackContextMenuImageCopyFailedReceiver extends AnalyticsSchema { +} diff --git a/app/src/main/java/com/discord/analytics/generated/events/TrackContextMenuImageSaveFailed.java b/app/src/main/java/com/discord/analytics/generated/events/TrackContextMenuImageSaveFailed.java new file mode 100644 index 0000000000..e664682598 --- /dev/null +++ b/app/src/main/java/com/discord/analytics/generated/events/TrackContextMenuImageSaveFailed.java @@ -0,0 +1,48 @@ +package com.discord.analytics.generated.events; + +import c.d.b.a.a; +import com.discord.analytics.generated.traits.TrackBase; +import com.discord.analytics.generated.traits.TrackBaseReceiver; +import com.discord.api.science.AnalyticsSchema; +import d0.z.d.m; +/* compiled from: TrackContextMenuImageSaveFailed.kt */ +public final class TrackContextMenuImageSaveFailed implements AnalyticsSchema, TrackBaseReceiver { + private final transient String analyticsSchemaTypeName = "context_menu_image_save_failed"; + private final Long channelId = null; + private TrackBase trackBase; + private final CharSequence url = null; + + @Override // com.discord.api.science.AnalyticsSchema + public String b() { + return this.analyticsSchemaTypeName; + } + + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (!(obj instanceof TrackContextMenuImageSaveFailed)) { + return false; + } + TrackContextMenuImageSaveFailed trackContextMenuImageSaveFailed = (TrackContextMenuImageSaveFailed) obj; + return m.areEqual(this.channelId, trackContextMenuImageSaveFailed.channelId) && m.areEqual(this.url, trackContextMenuImageSaveFailed.url); + } + + public int hashCode() { + Long l = this.channelId; + int i = 0; + int hashCode = (l != null ? l.hashCode() : 0) * 31; + CharSequence charSequence = this.url; + if (charSequence != null) { + i = charSequence.hashCode(); + } + return hashCode + i; + } + + public String toString() { + StringBuilder P = a.P("TrackContextMenuImageSaveFailed(channelId="); + P.append(this.channelId); + P.append(", url="); + return a.D(P, this.url, ")"); + } +} diff --git a/app/src/main/java/com/discord/analytics/generated/events/TrackContextMenuImageSaveFailedReceiver.java b/app/src/main/java/com/discord/analytics/generated/events/TrackContextMenuImageSaveFailedReceiver.java new file mode 100644 index 0000000000..167425d7d3 --- /dev/null +++ b/app/src/main/java/com/discord/analytics/generated/events/TrackContextMenuImageSaveFailedReceiver.java @@ -0,0 +1,6 @@ +package com.discord.analytics.generated.events; + +import com.discord.api.science.AnalyticsSchema; +/* compiled from: TrackContextMenuImageSaveFailed.kt */ +public interface TrackContextMenuImageSaveFailedReceiver extends AnalyticsSchema { +} diff --git a/app/src/main/java/com/discord/analytics/generated/events/TrackContextMenuImageSaved.java b/app/src/main/java/com/discord/analytics/generated/events/TrackContextMenuImageSaved.java new file mode 100644 index 0000000000..b1912f533e --- /dev/null +++ b/app/src/main/java/com/discord/analytics/generated/events/TrackContextMenuImageSaved.java @@ -0,0 +1,48 @@ +package com.discord.analytics.generated.events; + +import c.d.b.a.a; +import com.discord.analytics.generated.traits.TrackBase; +import com.discord.analytics.generated.traits.TrackBaseReceiver; +import com.discord.api.science.AnalyticsSchema; +import d0.z.d.m; +/* compiled from: TrackContextMenuImageSaved.kt */ +public final class TrackContextMenuImageSaved implements AnalyticsSchema, TrackBaseReceiver { + private final transient String analyticsSchemaTypeName = "context_menu_image_saved"; + private final Long channelId = null; + private TrackBase trackBase; + private final CharSequence url = null; + + @Override // com.discord.api.science.AnalyticsSchema + public String b() { + return this.analyticsSchemaTypeName; + } + + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (!(obj instanceof TrackContextMenuImageSaved)) { + return false; + } + TrackContextMenuImageSaved trackContextMenuImageSaved = (TrackContextMenuImageSaved) obj; + return m.areEqual(this.channelId, trackContextMenuImageSaved.channelId) && m.areEqual(this.url, trackContextMenuImageSaved.url); + } + + public int hashCode() { + Long l = this.channelId; + int i = 0; + int hashCode = (l != null ? l.hashCode() : 0) * 31; + CharSequence charSequence = this.url; + if (charSequence != null) { + i = charSequence.hashCode(); + } + return hashCode + i; + } + + public String toString() { + StringBuilder P = a.P("TrackContextMenuImageSaved(channelId="); + P.append(this.channelId); + P.append(", url="); + return a.D(P, this.url, ")"); + } +} diff --git a/app/src/main/java/com/discord/analytics/generated/events/TrackContextMenuImageSavedReceiver.java b/app/src/main/java/com/discord/analytics/generated/events/TrackContextMenuImageSavedReceiver.java new file mode 100644 index 0000000000..0f79d39e0a --- /dev/null +++ b/app/src/main/java/com/discord/analytics/generated/events/TrackContextMenuImageSavedReceiver.java @@ -0,0 +1,6 @@ +package com.discord.analytics.generated.events; + +import com.discord.api.science.AnalyticsSchema; +/* compiled from: TrackContextMenuImageSaved.kt */ +public interface TrackContextMenuImageSavedReceiver extends AnalyticsSchema { +} diff --git a/app/src/main/java/com/discord/analytics/generated/events/TrackContextMenuLinkCopied.java b/app/src/main/java/com/discord/analytics/generated/events/TrackContextMenuLinkCopied.java new file mode 100644 index 0000000000..6ce4bf452c --- /dev/null +++ b/app/src/main/java/com/discord/analytics/generated/events/TrackContextMenuLinkCopied.java @@ -0,0 +1,48 @@ +package com.discord.analytics.generated.events; + +import c.d.b.a.a; +import com.discord.analytics.generated.traits.TrackBase; +import com.discord.analytics.generated.traits.TrackBaseReceiver; +import com.discord.api.science.AnalyticsSchema; +import d0.z.d.m; +/* compiled from: TrackContextMenuLinkCopied.kt */ +public final class TrackContextMenuLinkCopied implements AnalyticsSchema, TrackBaseReceiver { + private final transient String analyticsSchemaTypeName = "context_menu_link_copied"; + private final Long channelId = null; + private final CharSequence href = null; + private TrackBase trackBase; + + @Override // com.discord.api.science.AnalyticsSchema + public String b() { + return this.analyticsSchemaTypeName; + } + + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (!(obj instanceof TrackContextMenuLinkCopied)) { + return false; + } + TrackContextMenuLinkCopied trackContextMenuLinkCopied = (TrackContextMenuLinkCopied) obj; + return m.areEqual(this.channelId, trackContextMenuLinkCopied.channelId) && m.areEqual(this.href, trackContextMenuLinkCopied.href); + } + + public int hashCode() { + Long l = this.channelId; + int i = 0; + int hashCode = (l != null ? l.hashCode() : 0) * 31; + CharSequence charSequence = this.href; + if (charSequence != null) { + i = charSequence.hashCode(); + } + return hashCode + i; + } + + public String toString() { + StringBuilder P = a.P("TrackContextMenuLinkCopied(channelId="); + P.append(this.channelId); + P.append(", href="); + return a.D(P, this.href, ")"); + } +} diff --git a/app/src/main/java/com/discord/analytics/generated/events/TrackContextMenuLinkCopiedReceiver.java b/app/src/main/java/com/discord/analytics/generated/events/TrackContextMenuLinkCopiedReceiver.java new file mode 100644 index 0000000000..446b0b03aa --- /dev/null +++ b/app/src/main/java/com/discord/analytics/generated/events/TrackContextMenuLinkCopiedReceiver.java @@ -0,0 +1,6 @@ +package com.discord.analytics.generated.events; + +import com.discord.api.science.AnalyticsSchema; +/* compiled from: TrackContextMenuLinkCopied.kt */ +public interface TrackContextMenuLinkCopiedReceiver extends AnalyticsSchema { +} diff --git a/app/src/main/java/com/discord/analytics/generated/events/TrackContextMenuLinkOpened.java b/app/src/main/java/com/discord/analytics/generated/events/TrackContextMenuLinkOpened.java new file mode 100644 index 0000000000..fa719b69a9 --- /dev/null +++ b/app/src/main/java/com/discord/analytics/generated/events/TrackContextMenuLinkOpened.java @@ -0,0 +1,48 @@ +package com.discord.analytics.generated.events; + +import c.d.b.a.a; +import com.discord.analytics.generated.traits.TrackBase; +import com.discord.analytics.generated.traits.TrackBaseReceiver; +import com.discord.api.science.AnalyticsSchema; +import d0.z.d.m; +/* compiled from: TrackContextMenuLinkOpened.kt */ +public final class TrackContextMenuLinkOpened implements AnalyticsSchema, TrackBaseReceiver { + private final transient String analyticsSchemaTypeName = "context_menu_link_opened"; + private final Long channelId = null; + private final CharSequence href = null; + private TrackBase trackBase; + + @Override // com.discord.api.science.AnalyticsSchema + public String b() { + return this.analyticsSchemaTypeName; + } + + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (!(obj instanceof TrackContextMenuLinkOpened)) { + return false; + } + TrackContextMenuLinkOpened trackContextMenuLinkOpened = (TrackContextMenuLinkOpened) obj; + return m.areEqual(this.channelId, trackContextMenuLinkOpened.channelId) && m.areEqual(this.href, trackContextMenuLinkOpened.href); + } + + public int hashCode() { + Long l = this.channelId; + int i = 0; + int hashCode = (l != null ? l.hashCode() : 0) * 31; + CharSequence charSequence = this.href; + if (charSequence != null) { + i = charSequence.hashCode(); + } + return hashCode + i; + } + + public String toString() { + StringBuilder P = a.P("TrackContextMenuLinkOpened(channelId="); + P.append(this.channelId); + P.append(", href="); + return a.D(P, this.href, ")"); + } +} diff --git a/app/src/main/java/com/discord/analytics/generated/events/TrackContextMenuLinkOpenedReceiver.java b/app/src/main/java/com/discord/analytics/generated/events/TrackContextMenuLinkOpenedReceiver.java new file mode 100644 index 0000000000..ee0df4ef5f --- /dev/null +++ b/app/src/main/java/com/discord/analytics/generated/events/TrackContextMenuLinkOpenedReceiver.java @@ -0,0 +1,6 @@ +package com.discord.analytics.generated.events; + +import com.discord.api.science.AnalyticsSchema; +/* compiled from: TrackContextMenuLinkOpened.kt */ +public interface TrackContextMenuLinkOpenedReceiver extends AnalyticsSchema { +} diff --git a/app/src/main/java/com/discord/analytics/generated/events/TrackRemoveReaction.java b/app/src/main/java/com/discord/analytics/generated/events/TrackRemoveReaction.java index 3a1b29e908..3906118a0f 100644 --- a/app/src/main/java/com/discord/analytics/generated/events/TrackRemoveReaction.java +++ b/app/src/main/java/com/discord/analytics/generated/events/TrackRemoveReaction.java @@ -16,6 +16,7 @@ public final class TrackRemoveReaction implements AnalyticsSchema, TrackBaseRece private final Long guildId = null; private final Long messageId = null; private TrackBase trackBase; + private final Integer uniqueReactionCount = null; @Override // com.discord.api.science.AnalyticsSchema public String b() { @@ -30,7 +31,7 @@ public final class TrackRemoveReaction implements AnalyticsSchema, TrackBaseRece return false; } TrackRemoveReaction trackRemoveReaction = (TrackRemoveReaction) obj; - return m.areEqual(this.guildId, trackRemoveReaction.guildId) && m.areEqual(this.channelId, trackRemoveReaction.channelId) && m.areEqual(this.channelType, trackRemoveReaction.channelType) && m.areEqual(this.messageId, trackRemoveReaction.messageId) && m.areEqual(this.emojiId, trackRemoveReaction.emojiId) && m.areEqual(this.emojiName, trackRemoveReaction.emojiName) && m.areEqual(this.emojiAnimated, trackRemoveReaction.emojiAnimated); + return m.areEqual(this.guildId, trackRemoveReaction.guildId) && m.areEqual(this.channelId, trackRemoveReaction.channelId) && m.areEqual(this.channelType, trackRemoveReaction.channelType) && m.areEqual(this.messageId, trackRemoveReaction.messageId) && m.areEqual(this.emojiId, trackRemoveReaction.emojiId) && m.areEqual(this.emojiName, trackRemoveReaction.emojiName) && m.areEqual(this.emojiAnimated, trackRemoveReaction.emojiAnimated) && m.areEqual(this.uniqueReactionCount, trackRemoveReaction.uniqueReactionCount); } public int hashCode() { @@ -48,10 +49,12 @@ public final class TrackRemoveReaction implements AnalyticsSchema, TrackBaseRece CharSequence charSequence = this.emojiName; int hashCode6 = (hashCode5 + (charSequence != null ? charSequence.hashCode() : 0)) * 31; Boolean bool = this.emojiAnimated; - if (bool != null) { - i = bool.hashCode(); + int hashCode7 = (hashCode6 + (bool != null ? bool.hashCode() : 0)) * 31; + Integer num2 = this.uniqueReactionCount; + if (num2 != null) { + i = num2.hashCode(); } - return hashCode6 + i; + return hashCode7 + i; } public String toString() { @@ -68,6 +71,8 @@ public final class TrackRemoveReaction implements AnalyticsSchema, TrackBaseRece P.append(", emojiName="); P.append(this.emojiName); P.append(", emojiAnimated="); - return a.C(P, this.emojiAnimated, ")"); + P.append(this.emojiAnimated); + P.append(", uniqueReactionCount="); + return a.E(P, this.uniqueReactionCount, ")"); } } diff --git a/app/src/main/java/com/discord/analytics/generated/events/TrackSubscriptionPaymentSourceAdded.java b/app/src/main/java/com/discord/analytics/generated/events/TrackSubscriptionPaymentSourceAdded.java index 53dff0eeed..e1917e77a0 100644 --- a/app/src/main/java/com/discord/analytics/generated/events/TrackSubscriptionPaymentSourceAdded.java +++ b/app/src/main/java/com/discord/analytics/generated/events/TrackSubscriptionPaymentSourceAdded.java @@ -13,6 +13,7 @@ public final class TrackSubscriptionPaymentSourceAdded implements AnalyticsSchem private final UtcDateTime currentPeriodStart = null; private final Long paymentGateway = null; private final CharSequence paymentGatewayPlanId = null; + private final Long paymentSourceGateway = null; private final Long paymentSourceId = null; private final Long planId = null; private final Long subscriptionId = null; @@ -32,7 +33,7 @@ public final class TrackSubscriptionPaymentSourceAdded implements AnalyticsSchem return false; } TrackSubscriptionPaymentSourceAdded trackSubscriptionPaymentSourceAdded = (TrackSubscriptionPaymentSourceAdded) obj; - return m.areEqual(this.subscriptionId, trackSubscriptionPaymentSourceAdded.subscriptionId) && m.areEqual(this.subscriptionType, trackSubscriptionPaymentSourceAdded.subscriptionType) && m.areEqual(this.paymentGatewayPlanId, trackSubscriptionPaymentSourceAdded.paymentGatewayPlanId) && m.areEqual(this.planId, trackSubscriptionPaymentSourceAdded.planId) && m.areEqual(this.paymentGateway, trackSubscriptionPaymentSourceAdded.paymentGateway) && m.areEqual(this.paymentSourceId, trackSubscriptionPaymentSourceAdded.paymentSourceId) && m.areEqual(this.currentPeriodStart, trackSubscriptionPaymentSourceAdded.currentPeriodStart) && m.areEqual(this.currentPeriodEnd, trackSubscriptionPaymentSourceAdded.currentPeriodEnd); + return m.areEqual(this.subscriptionId, trackSubscriptionPaymentSourceAdded.subscriptionId) && m.areEqual(this.subscriptionType, trackSubscriptionPaymentSourceAdded.subscriptionType) && m.areEqual(this.paymentGatewayPlanId, trackSubscriptionPaymentSourceAdded.paymentGatewayPlanId) && m.areEqual(this.planId, trackSubscriptionPaymentSourceAdded.planId) && m.areEqual(this.paymentGateway, trackSubscriptionPaymentSourceAdded.paymentGateway) && m.areEqual(this.paymentSourceGateway, trackSubscriptionPaymentSourceAdded.paymentSourceGateway) && m.areEqual(this.paymentSourceId, trackSubscriptionPaymentSourceAdded.paymentSourceId) && m.areEqual(this.currentPeriodStart, trackSubscriptionPaymentSourceAdded.currentPeriodStart) && m.areEqual(this.currentPeriodEnd, trackSubscriptionPaymentSourceAdded.currentPeriodEnd); } public int hashCode() { @@ -47,15 +48,17 @@ public final class TrackSubscriptionPaymentSourceAdded implements AnalyticsSchem int hashCode4 = (hashCode3 + (l3 != null ? l3.hashCode() : 0)) * 31; Long l4 = this.paymentGateway; int hashCode5 = (hashCode4 + (l4 != null ? l4.hashCode() : 0)) * 31; - Long l5 = this.paymentSourceId; + Long l5 = this.paymentSourceGateway; int hashCode6 = (hashCode5 + (l5 != null ? l5.hashCode() : 0)) * 31; + Long l6 = this.paymentSourceId; + int hashCode7 = (hashCode6 + (l6 != null ? l6.hashCode() : 0)) * 31; UtcDateTime utcDateTime = this.currentPeriodStart; - int hashCode7 = (hashCode6 + (utcDateTime != null ? utcDateTime.hashCode() : 0)) * 31; + int hashCode8 = (hashCode7 + (utcDateTime != null ? utcDateTime.hashCode() : 0)) * 31; UtcDateTime utcDateTime2 = this.currentPeriodEnd; if (utcDateTime2 != null) { i = utcDateTime2.hashCode(); } - return hashCode7 + i; + return hashCode8 + i; } public String toString() { @@ -69,6 +72,8 @@ public final class TrackSubscriptionPaymentSourceAdded implements AnalyticsSchem P.append(this.planId); P.append(", paymentGateway="); P.append(this.paymentGateway); + P.append(", paymentSourceGateway="); + P.append(this.paymentSourceGateway); P.append(", paymentSourceId="); P.append(this.paymentSourceId); P.append(", currentPeriodStart="); diff --git a/app/src/main/java/com/discord/analytics/generated/events/TrackSubscriptionPaymentSourceUpdated.java b/app/src/main/java/com/discord/analytics/generated/events/TrackSubscriptionPaymentSourceUpdated.java new file mode 100644 index 0000000000..4519ee7e3b --- /dev/null +++ b/app/src/main/java/com/discord/analytics/generated/events/TrackSubscriptionPaymentSourceUpdated.java @@ -0,0 +1,104 @@ +package com.discord.analytics.generated.events; + +import c.d.b.a.a; +import com.discord.analytics.generated.traits.TrackBase; +import com.discord.analytics.generated.traits.TrackBaseReceiver; +import com.discord.api.science.AnalyticsSchema; +import com.discord.api.utcdatetime.UtcDateTime; +import d0.z.d.m; +/* compiled from: TrackSubscriptionPaymentSourceUpdated.kt */ +public final class TrackSubscriptionPaymentSourceUpdated implements AnalyticsSchema, TrackBaseReceiver { + private final transient String analyticsSchemaTypeName = "subscription_payment_source_updated"; + private final UtcDateTime currentPeriodEnd = null; + private final UtcDateTime currentPeriodStart = null; + private final Long paymentGateway = null; + private final CharSequence paymentGatewayPlanId = null; + private final CharSequence paymentSourceCountry = null; + private final Long paymentSourceGateway = null; + private final Long paymentSourceId = null; + private final Long planId = null; + private final CharSequence previousPaymentSourceCountry = null; + private final Long previousPaymentSourceGateway = null; + private final Long previousPaymentSourceId = null; + private final Long subscriptionId = null; + private final Long subscriptionType = null; + private TrackBase trackBase; + + @Override // com.discord.api.science.AnalyticsSchema + public String b() { + return this.analyticsSchemaTypeName; + } + + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (!(obj instanceof TrackSubscriptionPaymentSourceUpdated)) { + return false; + } + TrackSubscriptionPaymentSourceUpdated trackSubscriptionPaymentSourceUpdated = (TrackSubscriptionPaymentSourceUpdated) obj; + return m.areEqual(this.subscriptionId, trackSubscriptionPaymentSourceUpdated.subscriptionId) && m.areEqual(this.subscriptionType, trackSubscriptionPaymentSourceUpdated.subscriptionType) && m.areEqual(this.paymentGatewayPlanId, trackSubscriptionPaymentSourceUpdated.paymentGatewayPlanId) && m.areEqual(this.planId, trackSubscriptionPaymentSourceUpdated.planId) && m.areEqual(this.paymentGateway, trackSubscriptionPaymentSourceUpdated.paymentGateway) && m.areEqual(this.previousPaymentSourceId, trackSubscriptionPaymentSourceUpdated.previousPaymentSourceId) && m.areEqual(this.previousPaymentSourceGateway, trackSubscriptionPaymentSourceUpdated.previousPaymentSourceGateway) && m.areEqual(this.previousPaymentSourceCountry, trackSubscriptionPaymentSourceUpdated.previousPaymentSourceCountry) && m.areEqual(this.paymentSourceId, trackSubscriptionPaymentSourceUpdated.paymentSourceId) && m.areEqual(this.paymentSourceGateway, trackSubscriptionPaymentSourceUpdated.paymentSourceGateway) && m.areEqual(this.paymentSourceCountry, trackSubscriptionPaymentSourceUpdated.paymentSourceCountry) && m.areEqual(this.currentPeriodStart, trackSubscriptionPaymentSourceUpdated.currentPeriodStart) && m.areEqual(this.currentPeriodEnd, trackSubscriptionPaymentSourceUpdated.currentPeriodEnd); + } + + public int hashCode() { + Long l = this.subscriptionId; + int i = 0; + int hashCode = (l != null ? l.hashCode() : 0) * 31; + Long l2 = this.subscriptionType; + int hashCode2 = (hashCode + (l2 != null ? l2.hashCode() : 0)) * 31; + CharSequence charSequence = this.paymentGatewayPlanId; + int hashCode3 = (hashCode2 + (charSequence != null ? charSequence.hashCode() : 0)) * 31; + Long l3 = this.planId; + int hashCode4 = (hashCode3 + (l3 != null ? l3.hashCode() : 0)) * 31; + Long l4 = this.paymentGateway; + int hashCode5 = (hashCode4 + (l4 != null ? l4.hashCode() : 0)) * 31; + Long l5 = this.previousPaymentSourceId; + int hashCode6 = (hashCode5 + (l5 != null ? l5.hashCode() : 0)) * 31; + Long l6 = this.previousPaymentSourceGateway; + int hashCode7 = (hashCode6 + (l6 != null ? l6.hashCode() : 0)) * 31; + CharSequence charSequence2 = this.previousPaymentSourceCountry; + int hashCode8 = (hashCode7 + (charSequence2 != null ? charSequence2.hashCode() : 0)) * 31; + Long l7 = this.paymentSourceId; + int hashCode9 = (hashCode8 + (l7 != null ? l7.hashCode() : 0)) * 31; + Long l8 = this.paymentSourceGateway; + int hashCode10 = (hashCode9 + (l8 != null ? l8.hashCode() : 0)) * 31; + CharSequence charSequence3 = this.paymentSourceCountry; + int hashCode11 = (hashCode10 + (charSequence3 != null ? charSequence3.hashCode() : 0)) * 31; + UtcDateTime utcDateTime = this.currentPeriodStart; + int hashCode12 = (hashCode11 + (utcDateTime != null ? utcDateTime.hashCode() : 0)) * 31; + UtcDateTime utcDateTime2 = this.currentPeriodEnd; + if (utcDateTime2 != null) { + i = utcDateTime2.hashCode(); + } + return hashCode12 + i; + } + + public String toString() { + StringBuilder P = a.P("TrackSubscriptionPaymentSourceUpdated(subscriptionId="); + P.append(this.subscriptionId); + P.append(", subscriptionType="); + P.append(this.subscriptionType); + P.append(", paymentGatewayPlanId="); + P.append(this.paymentGatewayPlanId); + P.append(", planId="); + P.append(this.planId); + P.append(", paymentGateway="); + P.append(this.paymentGateway); + P.append(", previousPaymentSourceId="); + P.append(this.previousPaymentSourceId); + P.append(", previousPaymentSourceGateway="); + P.append(this.previousPaymentSourceGateway); + P.append(", previousPaymentSourceCountry="); + P.append(this.previousPaymentSourceCountry); + P.append(", paymentSourceId="); + P.append(this.paymentSourceId); + P.append(", paymentSourceGateway="); + P.append(this.paymentSourceGateway); + P.append(", paymentSourceCountry="); + P.append(this.paymentSourceCountry); + P.append(", currentPeriodStart="); + P.append(this.currentPeriodStart); + P.append(", currentPeriodEnd="); + return a.B(P, this.currentPeriodEnd, ")"); + } +} diff --git a/app/src/main/java/com/discord/analytics/generated/events/TrackSubscriptionPaymentSourceUpdatedReceiver.java b/app/src/main/java/com/discord/analytics/generated/events/TrackSubscriptionPaymentSourceUpdatedReceiver.java new file mode 100644 index 0000000000..6a84c51778 --- /dev/null +++ b/app/src/main/java/com/discord/analytics/generated/events/TrackSubscriptionPaymentSourceUpdatedReceiver.java @@ -0,0 +1,6 @@ +package com.discord.analytics.generated.events; + +import com.discord.api.science.AnalyticsSchema; +/* compiled from: TrackSubscriptionPaymentSourceUpdated.kt */ +public interface TrackSubscriptionPaymentSourceUpdatedReceiver extends AnalyticsSchema { +} diff --git a/app/src/main/java/com/discord/analytics/generated/traits/TrackPriceByCurrency.java b/app/src/main/java/com/discord/analytics/generated/traits/TrackPriceByCurrency.java index b4df3ab044..b29afbd1d5 100644 --- a/app/src/main/java/com/discord/analytics/generated/traits/TrackPriceByCurrency.java +++ b/app/src/main/java/com/discord/analytics/generated/traits/TrackPriceByCurrency.java @@ -5,20 +5,26 @@ import d0.z.d.m; /* compiled from: TrackPriceByCurrency.kt */ public final class TrackPriceByCurrency { private final Long priceAud = null; + private final Long priceBrl = null; private final Long priceCad = null; private final Long priceEur = null; private final Long priceGbp = null; private final Long priceJpy = null; private final Long priceNok = null; + private final Long pricePln = null; private final Long priceRub = null; + private final Long priceTry = null; private final Long priceUsd = null; private final Long regularPriceAud = null; + private final Long regularPriceBrl = null; private final Long regularPriceCad = null; private final Long regularPriceEur = null; private final Long regularPriceGbp = null; private final Long regularPriceJpy = null; private final Long regularPriceNok = null; + private final Long regularPricePln = null; private final Long regularPriceRub = null; + private final Long regularPriceTry = null; private final Long regularPriceUsd = null; public boolean equals(Object obj) { @@ -29,7 +35,7 @@ public final class TrackPriceByCurrency { return false; } TrackPriceByCurrency trackPriceByCurrency = (TrackPriceByCurrency) obj; - return m.areEqual(this.priceUsd, trackPriceByCurrency.priceUsd) && m.areEqual(this.priceCad, trackPriceByCurrency.priceCad) && m.areEqual(this.priceAud, trackPriceByCurrency.priceAud) && m.areEqual(this.priceEur, trackPriceByCurrency.priceEur) && m.areEqual(this.priceJpy, trackPriceByCurrency.priceJpy) && m.areEqual(this.priceRub, trackPriceByCurrency.priceRub) && m.areEqual(this.priceGbp, trackPriceByCurrency.priceGbp) && m.areEqual(this.priceNok, trackPriceByCurrency.priceNok) && m.areEqual(this.regularPriceUsd, trackPriceByCurrency.regularPriceUsd) && m.areEqual(this.regularPriceCad, trackPriceByCurrency.regularPriceCad) && m.areEqual(this.regularPriceAud, trackPriceByCurrency.regularPriceAud) && m.areEqual(this.regularPriceEur, trackPriceByCurrency.regularPriceEur) && m.areEqual(this.regularPriceJpy, trackPriceByCurrency.regularPriceJpy) && m.areEqual(this.regularPriceRub, trackPriceByCurrency.regularPriceRub) && m.areEqual(this.regularPriceGbp, trackPriceByCurrency.regularPriceGbp) && m.areEqual(this.regularPriceNok, trackPriceByCurrency.regularPriceNok); + return m.areEqual(this.priceUsd, trackPriceByCurrency.priceUsd) && m.areEqual(this.priceCad, trackPriceByCurrency.priceCad) && m.areEqual(this.priceAud, trackPriceByCurrency.priceAud) && m.areEqual(this.priceEur, trackPriceByCurrency.priceEur) && m.areEqual(this.priceJpy, trackPriceByCurrency.priceJpy) && m.areEqual(this.priceRub, trackPriceByCurrency.priceRub) && m.areEqual(this.priceGbp, trackPriceByCurrency.priceGbp) && m.areEqual(this.priceNok, trackPriceByCurrency.priceNok) && m.areEqual(this.priceBrl, trackPriceByCurrency.priceBrl) && m.areEqual(this.pricePln, trackPriceByCurrency.pricePln) && m.areEqual(this.priceTry, trackPriceByCurrency.priceTry) && m.areEqual(this.regularPriceUsd, trackPriceByCurrency.regularPriceUsd) && m.areEqual(this.regularPriceCad, trackPriceByCurrency.regularPriceCad) && m.areEqual(this.regularPriceAud, trackPriceByCurrency.regularPriceAud) && m.areEqual(this.regularPriceEur, trackPriceByCurrency.regularPriceEur) && m.areEqual(this.regularPriceJpy, trackPriceByCurrency.regularPriceJpy) && m.areEqual(this.regularPriceRub, trackPriceByCurrency.regularPriceRub) && m.areEqual(this.regularPriceGbp, trackPriceByCurrency.regularPriceGbp) && m.areEqual(this.regularPriceNok, trackPriceByCurrency.regularPriceNok) && m.areEqual(this.regularPriceBrl, trackPriceByCurrency.regularPriceBrl) && m.areEqual(this.regularPricePln, trackPriceByCurrency.regularPricePln) && m.areEqual(this.regularPriceTry, trackPriceByCurrency.regularPriceTry); } public int hashCode() { @@ -50,25 +56,37 @@ public final class TrackPriceByCurrency { int hashCode7 = (hashCode6 + (l7 != null ? l7.hashCode() : 0)) * 31; Long l8 = this.priceNok; int hashCode8 = (hashCode7 + (l8 != null ? l8.hashCode() : 0)) * 31; - Long l9 = this.regularPriceUsd; + Long l9 = this.priceBrl; int hashCode9 = (hashCode8 + (l9 != null ? l9.hashCode() : 0)) * 31; - Long l10 = this.regularPriceCad; + Long l10 = this.pricePln; int hashCode10 = (hashCode9 + (l10 != null ? l10.hashCode() : 0)) * 31; - Long l11 = this.regularPriceAud; + Long l11 = this.priceTry; int hashCode11 = (hashCode10 + (l11 != null ? l11.hashCode() : 0)) * 31; - Long l12 = this.regularPriceEur; + Long l12 = this.regularPriceUsd; int hashCode12 = (hashCode11 + (l12 != null ? l12.hashCode() : 0)) * 31; - Long l13 = this.regularPriceJpy; + Long l13 = this.regularPriceCad; int hashCode13 = (hashCode12 + (l13 != null ? l13.hashCode() : 0)) * 31; - Long l14 = this.regularPriceRub; + Long l14 = this.regularPriceAud; int hashCode14 = (hashCode13 + (l14 != null ? l14.hashCode() : 0)) * 31; - Long l15 = this.regularPriceGbp; + Long l15 = this.regularPriceEur; int hashCode15 = (hashCode14 + (l15 != null ? l15.hashCode() : 0)) * 31; - Long l16 = this.regularPriceNok; - if (l16 != null) { - i = l16.hashCode(); + Long l16 = this.regularPriceJpy; + int hashCode16 = (hashCode15 + (l16 != null ? l16.hashCode() : 0)) * 31; + Long l17 = this.regularPriceRub; + int hashCode17 = (hashCode16 + (l17 != null ? l17.hashCode() : 0)) * 31; + Long l18 = this.regularPriceGbp; + int hashCode18 = (hashCode17 + (l18 != null ? l18.hashCode() : 0)) * 31; + Long l19 = this.regularPriceNok; + int hashCode19 = (hashCode18 + (l19 != null ? l19.hashCode() : 0)) * 31; + Long l20 = this.regularPriceBrl; + int hashCode20 = (hashCode19 + (l20 != null ? l20.hashCode() : 0)) * 31; + Long l21 = this.regularPricePln; + int hashCode21 = (hashCode20 + (l21 != null ? l21.hashCode() : 0)) * 31; + Long l22 = this.regularPriceTry; + if (l22 != null) { + i = l22.hashCode(); } - return hashCode15 + i; + return hashCode21 + i; } public String toString() { @@ -88,6 +106,12 @@ public final class TrackPriceByCurrency { P.append(this.priceGbp); P.append(", priceNok="); P.append(this.priceNok); + P.append(", priceBrl="); + P.append(this.priceBrl); + P.append(", pricePln="); + P.append(this.pricePln); + P.append(", priceTry="); + P.append(this.priceTry); P.append(", regularPriceUsd="); P.append(this.regularPriceUsd); P.append(", regularPriceCad="); @@ -103,6 +127,12 @@ public final class TrackPriceByCurrency { P.append(", regularPriceGbp="); P.append(this.regularPriceGbp); P.append(", regularPriceNok="); - return a.F(P, this.regularPriceNok, ")"); + P.append(this.regularPriceNok); + P.append(", regularPriceBrl="); + P.append(this.regularPriceBrl); + P.append(", regularPricePln="); + P.append(this.regularPricePln); + P.append(", regularPriceTry="); + return a.F(P, this.regularPriceTry, ")"); } } diff --git a/app/src/main/java/com/discord/api/guildrolesubscription/GuildRoleSubscriptionGroupListing.java b/app/src/main/java/com/discord/api/guildrolesubscription/GuildRoleSubscriptionGroupListing.java index fa05ad8aa0..b13d131666 100644 --- a/app/src/main/java/com/discord/api/guildrolesubscription/GuildRoleSubscriptionGroupListing.java +++ b/app/src/main/java/com/discord/api/guildrolesubscription/GuildRoleSubscriptionGroupListing.java @@ -16,7 +16,6 @@ public final class GuildRoleSubscriptionGroupListing { private final List subscriptionListings; public GuildRoleSubscriptionGroupListing(long j, long j2, long j3, String str, List list, List list2) { - m.checkNotNullParameter(list, "subscriptionListingIds"); this.f1577id = j; this.guildId = j2; this.imageAssetId = j3; @@ -36,7 +35,6 @@ public final class GuildRoleSubscriptionGroupListing { } List list4 = (i & 32) != 0 ? guildRoleSubscriptionGroupListing.subscriptionListings : list2; Objects.requireNonNull(guildRoleSubscriptionGroupListing); - m.checkNotNullParameter(list3, "subscriptionListingIds"); return new GuildRoleSubscriptionGroupListing(j4, j5, j6, str2, list3, list4); } diff --git a/app/src/main/java/com/discord/databinding/WidgetEndStageBottomSheetBinding.java b/app/src/main/java/com/discord/databinding/WidgetEndStageBottomSheetBinding.java index 6307317df8..d5b6e367ab 100644 --- a/app/src/main/java/com/discord/databinding/WidgetEndStageBottomSheetBinding.java +++ b/app/src/main/java/com/discord/databinding/WidgetEndStageBottomSheetBinding.java @@ -4,6 +4,8 @@ import android.view.View; import androidx.annotation.NonNull; import androidx.core.widget.NestedScrollView; import androidx.viewbinding.ViewBinding; +import com.discord.R; +import com.discord.views.ScreenTitleView; import com.google.android.material.button.MaterialButton; public final class WidgetEndStageBottomSheetBinding implements ViewBinding { @NonNull @@ -14,11 +16,32 @@ public final class WidgetEndStageBottomSheetBinding implements ViewBinding { /* renamed from: c reason: collision with root package name */ public final MaterialButton f1825c; + @NonNull + public final ScreenTitleView d; - public WidgetEndStageBottomSheetBinding(@NonNull NestedScrollView nestedScrollView, @NonNull MaterialButton materialButton, @NonNull MaterialButton materialButton2) { + public WidgetEndStageBottomSheetBinding(@NonNull NestedScrollView nestedScrollView, @NonNull MaterialButton materialButton, @NonNull MaterialButton materialButton2, @NonNull ScreenTitleView screenTitleView) { this.a = nestedScrollView; this.b = materialButton; this.f1825c = materialButton2; + this.d = screenTitleView; + } + + @NonNull + public static WidgetEndStageBottomSheetBinding a(@NonNull View view) { + int i = R.id.cancel; + MaterialButton materialButton = (MaterialButton) view.findViewById(R.id.cancel); + if (materialButton != null) { + i = R.id.confirm; + MaterialButton materialButton2 = (MaterialButton) view.findViewById(R.id.confirm); + if (materialButton2 != null) { + i = R.id.title; + ScreenTitleView screenTitleView = (ScreenTitleView) view.findViewById(R.id.title); + if (screenTitleView != null) { + return new WidgetEndStageBottomSheetBinding((NestedScrollView) view, materialButton, materialButton2, screenTitleView); + } + } + } + throw new NullPointerException("Missing required view with ID: ".concat(view.getResources().getResourceName(i))); } @Override // androidx.viewbinding.ViewBinding diff --git a/app/src/main/java/com/discord/databinding/WidgetHubDomainSearchBinding.java b/app/src/main/java/com/discord/databinding/WidgetHubDomainSearchBinding.java index 6302fe7ffb..b92d59a814 100644 --- a/app/src/main/java/com/discord/databinding/WidgetHubDomainSearchBinding.java +++ b/app/src/main/java/com/discord/databinding/WidgetHubDomainSearchBinding.java @@ -23,22 +23,25 @@ public final class WidgetHubDomainSearchBinding implements ViewBinding { /* renamed from: c reason: collision with root package name */ public final LinearLayout f1892c; @NonNull - public final RecyclerView d; + public final TextView d; @NonNull - public final FloatingActionButton e; + public final RecyclerView e; @NonNull - public final TextInputLayout f; + public final FloatingActionButton f; @NonNull - public final TextInputEditText g; + public final TextInputLayout g; + @NonNull + public final TextInputEditText h; public WidgetHubDomainSearchBinding(@NonNull ConstraintLayout constraintLayout, @NonNull AppBarLayout appBarLayout, @NonNull Barrier barrier, @NonNull LinkifiedTextView linkifiedTextView, @NonNull LinearLayout linearLayout, @NonNull TextView textView, @NonNull RecyclerView recyclerView, @NonNull FloatingActionButton floatingActionButton, @NonNull TextInputLayout textInputLayout, @NonNull TextInputEditText textInputEditText) { this.a = constraintLayout; this.b = linkifiedTextView; this.f1892c = linearLayout; - this.d = recyclerView; - this.e = floatingActionButton; - this.f = textInputLayout; - this.g = textInputEditText; + this.d = textView; + this.e = recyclerView; + this.f = floatingActionButton; + this.g = textInputLayout; + this.h = textInputEditText; } @Override // androidx.viewbinding.ViewBinding diff --git a/app/src/main/java/com/discord/stores/StoreGuildRoleSubscriptions$handleGuildRoleSubscriptionGroupFetch$1.java b/app/src/main/java/com/discord/stores/StoreGuildRoleSubscriptions$handleGuildRoleSubscriptionGroupFetch$1.java index be349a120e..85e04dfcf1 100644 --- a/app/src/main/java/com/discord/stores/StoreGuildRoleSubscriptions$handleGuildRoleSubscriptionGroupFetch$1.java +++ b/app/src/main/java/com/discord/stores/StoreGuildRoleSubscriptions$handleGuildRoleSubscriptionGroupFetch$1.java @@ -31,7 +31,8 @@ public final class StoreGuildRoleSubscriptions$handleGuildRoleSubscriptionGroupF StoreGuildRoleSubscriptions.access$getGuildRoleSubscriptionTiers$p(this.this$0).remove(Long.valueOf(this.$guildId)); } else { StoreGuildRoleSubscriptions.access$getGuildRoleSubscriptionGroups$p(this.this$0).put(Long.valueOf(this.$guildId), new StoreGuildRoleSubscriptions.GuildRoleSubscriptionGroupState.Loaded(GuildRoleSubscriptionGroupListing.a(this.$guildRoleSubscriptionGroupListing, 0, 0, 0, null, null, null, 31))); - if (this.$guildRoleSubscriptionGroupListing.e().isEmpty()) { + List e = this.$guildRoleSubscriptionGroupListing.e(); + if (e == null || e.isEmpty()) { StoreGuildRoleSubscriptions.access$getGuildRoleSubscriptionTiers$p(this.this$0).remove(Long.valueOf(this.$guildId)); } else { Map map = (Map) StoreGuildRoleSubscriptions.access$getGuildRoleSubscriptionTiers$p(this.this$0).get(Long.valueOf(this.$guildId)); diff --git a/app/src/main/java/com/discord/utilities/guildscheduledevent/GuildScheduledEventUtilities.java b/app/src/main/java/com/discord/utilities/guildscheduledevent/GuildScheduledEventUtilities.java index 6634bb012a..5d29142eb2 100644 --- a/app/src/main/java/com/discord/utilities/guildscheduledevent/GuildScheduledEventUtilities.java +++ b/app/src/main/java/com/discord/utilities/guildscheduledevent/GuildScheduledEventUtilities.java @@ -3,17 +3,21 @@ package com.discord.utilities.guildscheduledevent; import c.d.b.a.a; import com.airbnb.lottie.parser.AnimatableValueParser; import com.discord.api.channel.Channel; +import com.discord.api.guildscheduledevent.GuildScheduledEvent; import com.discord.api.permission.Permission; import com.discord.api.role.GuildRole; +import com.discord.models.guild.Guild; import com.discord.models.member.GuildMember; import com.discord.stores.StoreChannels; import com.discord.stores.StoreGuilds; import com.discord.stores.StorePermissions; import com.discord.stores.StoreStream; import com.discord.stores.StoreUser; +import com.discord.stores.StoreVoiceParticipants; import com.discord.stores.updates.ObservationDeck; import com.discord.stores.updates.ObservationDeckProvider; import com.discord.utilities.permissions.PermissionUtils; +import com.discord.widgets.voice.model.CallModel; import d0.t.h0; import d0.z.d.m; import java.util.ArrayList; @@ -80,6 +84,13 @@ public final class GuildScheduledEventUtilities { return companion.getGuildScheduledEventCreatableChannelsForGuild(j, storeChannels, storePermissions); } + public static /* synthetic */ GuildScheduledEvent getGuildScheduledEventToEndForCall$default(Companion companion, CallModel callModel, Long l, StoreGuilds storeGuilds, int i, Object obj) { + if ((i & 4) != 0) { + storeGuilds = StoreStream.Companion.getGuilds(); + } + return companion.getGuildScheduledEventToEndForCall(callModel, l, storeGuilds); + } + public static /* synthetic */ Observable observeGuildScheduledEventCreatableChannelsForGuild$default(Companion companion, long j, ObservationDeck observationDeck, StoreChannels storeChannels, StorePermissions storePermissions, int i, Object obj) { if ((i & 2) != 0) { observationDeck = ObservationDeckProvider.get(); @@ -106,6 +117,10 @@ public final class GuildScheduledEventUtilities { return !getGuildScheduledEventCreatableChannelsForGuild(j, storeChannels, storePermissions).isEmpty(); } + public final boolean canCreateExternalEvent(Long l) { + return PermissionUtils.can(Permission.MANAGE_EVENTS, l); + } + public final boolean canShareEvent(Long l, StoreChannels storeChannels, StoreGuilds storeGuilds, StoreUser storeUser) { GuildMember member; m.checkNotNullParameter(storeChannels, "channelsStore"); @@ -170,6 +185,25 @@ public final class GuildScheduledEventUtilities { return arrayList; } + public final GuildScheduledEvent getGuildScheduledEventToEndForCall(CallModel callModel, Long l, StoreGuilds storeGuilds) { + GuildScheduledEvent liveEvent; + m.checkNotNullParameter(callModel, "callModel"); + m.checkNotNullParameter(storeGuilds, "guildsStore"); + Channel channel = callModel.getChannel(); + Guild guild = storeGuilds.getGuild(channel.f()); + if (guild == null || (liveEvent = GuildScheduledEventUtilitiesKt.getLiveEvent(callModel.getGuildScheduledEvents())) == null || !canStartEventInChannel(channel, l)) { + return null; + } + Map map = (Map) a.d(guild, storeGuilds.getRoles()); + for (Map.Entry entry : callModel.getParticipants().entrySet()) { + long longValue = entry.getKey().longValue(); + if (!entry.getValue().isMe() && !canStartEventInChannel(channel, Long.valueOf(PermissionUtils.computeNonThreadPermissions(longValue, guild.getId(), guild.getOwnerId(), entry.getValue().getGuildMember(), map, channel.s())))) { + return null; + } + } + return liveEvent; + } + public final Observable> observeGuildScheduledEventCreatableChannelsForGuild(long j, ObservationDeck observationDeck, StoreChannels storeChannels, StorePermissions storePermissions) { m.checkNotNullParameter(observationDeck, "observationDeck"); m.checkNotNullParameter(storeChannels, "channelsStore"); diff --git a/app/src/main/java/com/discord/utilities/guildscheduledevent/GuildScheduledEventUtilitiesKt.java b/app/src/main/java/com/discord/utilities/guildscheduledevent/GuildScheduledEventUtilitiesKt.java index 4060befb14..d09de17192 100644 --- a/app/src/main/java/com/discord/utilities/guildscheduledevent/GuildScheduledEventUtilitiesKt.java +++ b/app/src/main/java/com/discord/utilities/guildscheduledevent/GuildScheduledEventUtilitiesKt.java @@ -69,10 +69,10 @@ public final class GuildScheduledEventUtilitiesKt { return guildScheduledEvent.k() == GuildScheduledEventStatus.ACTIVE ? GuildScheduledEventTiming.LIVE : getEventTiming(guildScheduledEvent.j().g()); } - public static final boolean hasLiveEvent(Collection collection) { + public static final GuildScheduledEvent getLiveEvent(Collection collection) { Object obj; boolean z2; - m.checkNotNullParameter(collection, "$this$hasLiveEvent"); + m.checkNotNullParameter(collection, "$this$getLiveEvent"); Iterator it = collection.iterator(); while (true) { if (!it.hasNext()) { @@ -91,7 +91,12 @@ public final class GuildScheduledEventUtilitiesKt { break; } } - return obj != null; + return (GuildScheduledEvent) obj; + } + + public static final boolean hasLiveEvent(Collection collection) { + m.checkNotNullParameter(collection, "$this$hasLiveEvent"); + return getLiveEvent(collection) != null; } public static final int minutesRelativeToTime(long j) { diff --git a/app/src/main/java/com/discord/views/ScreenTitleView.java b/app/src/main/java/com/discord/views/ScreenTitleView.java index df185ba751..91ff3af596 100644 --- a/app/src/main/java/com/discord/views/ScreenTitleView.java +++ b/app/src/main/java/com/discord/views/ScreenTitleView.java @@ -37,8 +37,9 @@ public final class ScreenTitleView extends LinearLayout { CharSequence text = obtainStyledAttributes.getText(1); CharSequence text2 = obtainStyledAttributes.getText(0); obtainStyledAttributes.recycle(); - m.checkNotNullExpressionValue(text, "titleText"); - setTitle(text); + if (text != null) { + setTitle(text); + } setSubtitle(text2); return; } diff --git a/app/src/main/java/com/discord/widgets/channels/WidgetChannelSelector.java b/app/src/main/java/com/discord/widgets/channels/WidgetChannelSelector.java index be58a49be3..0cfc360903 100644 --- a/app/src/main/java/com/discord/widgets/channels/WidgetChannelSelector.java +++ b/app/src/main/java/com/discord/widgets/channels/WidgetChannelSelector.java @@ -33,6 +33,7 @@ import d0.z.d.m; import java.io.Serializable; import java.util.List; import java.util.Objects; +import java.util.Set; import kotlin.Lazy; import kotlin.Unit; import kotlin.jvm.functions.Function0; @@ -154,7 +155,7 @@ public final class WidgetChannelSelector extends AppBottomSheet { } public static /* synthetic */ void launch$default(Companion companion, Fragment fragment, long j, String str, boolean z2, int i, FilterFunction filterFunction, int i2, Object obj) { - companion.launch(fragment, j, str, z2, i, (i2 & 32) != 0 ? null : filterFunction); + companion.launch(fragment, j, str, (i2 & 8) != 0 ? false : z2, (i2 & 16) != 0 ? R.string.none : i, (i2 & 32) != 0 ? null : filterFunction); } public static /* synthetic */ void launchForInactiveStages$default(Companion companion, Fragment fragment, long j, String str, boolean z2, int i, int i2, Object obj) { @@ -380,6 +381,65 @@ public final class WidgetChannelSelector extends AppBottomSheet { } } + /* compiled from: WidgetChannelSelector.kt */ + public static final class SetFilterFunction implements FilterFunction { + private final Set channelIds; + + public SetFilterFunction(Set set) { + m.checkNotNullParameter(set, "channelIds"); + this.channelIds = set; + } + + private final Set component1() { + return this.channelIds; + } + + /* JADX DEBUG: Multi-variable search result rejected for r0v0, resolved type: com.discord.widgets.channels.WidgetChannelSelector$SetFilterFunction */ + /* JADX WARN: Multi-variable type inference failed */ + public static /* synthetic */ SetFilterFunction copy$default(SetFilterFunction setFilterFunction, Set set, int i, Object obj) { + if ((i & 1) != 0) { + set = setFilterFunction.channelIds; + } + return setFilterFunction.copy(set); + } + + public final SetFilterFunction copy(Set set) { + m.checkNotNullParameter(set, "channelIds"); + return new SetFilterFunction(set); + } + + @Override // java.lang.Object + public boolean equals(Object obj) { + if (this != obj) { + return (obj instanceof SetFilterFunction) && m.areEqual(this.channelIds, ((SetFilterFunction) obj).channelIds); + } + return true; + } + + @Override // java.lang.Object + public int hashCode() { + Set set = this.channelIds; + if (set != null) { + return set.hashCode(); + } + return 0; + } + + @Override // com.discord.widgets.channels.WidgetChannelSelector.FilterFunction + public boolean includeChannel(Channel channel) { + m.checkNotNullParameter(channel, "channel"); + return this.channelIds.contains(Long.valueOf(channel.h())); + } + + @Override // java.lang.Object + public String toString() { + StringBuilder P = a.P("SetFilterFunction(channelIds="); + P.append(this.channelIds); + P.append(")"); + return P.toString(); + } + } + /* compiled from: WidgetChannelSelector.kt */ public static final class TypeFilterFunction implements FilterFunction { private final int type; diff --git a/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetEndGuildScheduledEventBottomSheet$Companion$registerForResult$1.java b/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetEndGuildScheduledEventBottomSheet$Companion$registerForResult$1.java new file mode 100644 index 0000000000..f1082c984b --- /dev/null +++ b/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetEndGuildScheduledEventBottomSheet$Companion$registerForResult$1.java @@ -0,0 +1,36 @@ +package com.discord.widgets.guildscheduledevent; + +import android.os.Bundle; +import d0.z.d.m; +import d0.z.d.o; +import kotlin.Unit; +import kotlin.jvm.functions.Function0; +import kotlin.jvm.functions.Function2; +/* compiled from: WidgetEndGuildScheduledEventBottomSheet.kt */ +public final class WidgetEndGuildScheduledEventBottomSheet$Companion$registerForResult$1 extends o implements Function2 { + public final /* synthetic */ Function0 $onActionTaken; + public final /* synthetic */ String $requestKey; + + /* JADX INFO: super call moved to the top of the method (can break code semantics) */ + public WidgetEndGuildScheduledEventBottomSheet$Companion$registerForResult$1(String str, Function0 function0) { + super(2); + this.$requestKey = str; + this.$onActionTaken = function0; + } + + /* 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, java.lang.Object] */ + @Override // kotlin.jvm.functions.Function2 + public /* bridge */ /* synthetic */ Unit invoke(String str, Bundle bundle) { + invoke(str, bundle); + return Unit.a; + } + + public final void invoke(String str, Bundle bundle) { + m.checkNotNullParameter(str, "resultRequestKey"); + m.checkNotNullParameter(bundle, ""); + if (m.areEqual(this.$requestKey, str)) { + this.$onActionTaken.mo1invoke(); + } + } +} diff --git a/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetEndGuildScheduledEventBottomSheet$binding$2.java b/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetEndGuildScheduledEventBottomSheet$binding$2.java new file mode 100644 index 0000000000..aea58bd99a --- /dev/null +++ b/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetEndGuildScheduledEventBottomSheet$binding$2.java @@ -0,0 +1,20 @@ +package com.discord.widgets.guildscheduledevent; + +import android.view.View; +import com.discord.databinding.WidgetEndStageBottomSheetBinding; +import d0.z.d.k; +import d0.z.d.m; +import kotlin.jvm.functions.Function1; +/* compiled from: WidgetEndGuildScheduledEventBottomSheet.kt */ +public final /* synthetic */ class WidgetEndGuildScheduledEventBottomSheet$binding$2 extends k implements Function1 { + public static final WidgetEndGuildScheduledEventBottomSheet$binding$2 INSTANCE = new WidgetEndGuildScheduledEventBottomSheet$binding$2(); + + public WidgetEndGuildScheduledEventBottomSheet$binding$2() { + super(1, WidgetEndStageBottomSheetBinding.class, "bind", "bind(Landroid/view/View;)Lcom/discord/databinding/WidgetEndStageBottomSheetBinding;", 0); + } + + public final WidgetEndStageBottomSheetBinding invoke(View view) { + m.checkNotNullParameter(view, "p1"); + return WidgetEndStageBottomSheetBinding.a(view); + } +} diff --git a/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetEndGuildScheduledEventBottomSheet$guildScheduledEventId$2.java b/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetEndGuildScheduledEventBottomSheet$guildScheduledEventId$2.java new file mode 100644 index 0000000000..8b5621d28a --- /dev/null +++ b/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetEndGuildScheduledEventBottomSheet$guildScheduledEventId$2.java @@ -0,0 +1,22 @@ +package com.discord.widgets.guildscheduledevent; + +import d0.z.d.o; +import kotlin.jvm.functions.Function0; +/* compiled from: WidgetEndGuildScheduledEventBottomSheet.kt */ +public final class WidgetEndGuildScheduledEventBottomSheet$guildScheduledEventId$2 extends o implements Function0 { + public final /* synthetic */ WidgetEndGuildScheduledEventBottomSheet this$0; + + /* JADX INFO: super call moved to the top of the method (can break code semantics) */ + public WidgetEndGuildScheduledEventBottomSheet$guildScheduledEventId$2(WidgetEndGuildScheduledEventBottomSheet widgetEndGuildScheduledEventBottomSheet) { + super(0); + this.this$0 = widgetEndGuildScheduledEventBottomSheet; + } + + /* Return type fixed from 'long' to match base method */ + /* JADX WARNING: Unknown variable types count: 1 */ + @Override // kotlin.jvm.functions.Function0 + /* renamed from: invoke */ + public final Long mo1invoke() { + return this.this$0.requireArguments().getLong("com.discord.intent.extra.EXTRA_GUILD_SCHEDULED_EVENT_ID"); + } +} diff --git a/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetEndGuildScheduledEventBottomSheet$onConfirmEnd$1.java b/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetEndGuildScheduledEventBottomSheet$onConfirmEnd$1.java new file mode 100644 index 0000000000..f6867e0666 --- /dev/null +++ b/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetEndGuildScheduledEventBottomSheet$onConfirmEnd$1.java @@ -0,0 +1,26 @@ +package com.discord.widgets.guildscheduledevent; + +import d0.z.d.m; +import d0.z.d.o; +import kotlin.Unit; +import kotlin.jvm.functions.Function1; +/* compiled from: WidgetEndGuildScheduledEventBottomSheet.kt */ +public final class WidgetEndGuildScheduledEventBottomSheet$onConfirmEnd$1 extends o implements Function1 { + public static final WidgetEndGuildScheduledEventBottomSheet$onConfirmEnd$1 INSTANCE = new WidgetEndGuildScheduledEventBottomSheet$onConfirmEnd$1(); + + public WidgetEndGuildScheduledEventBottomSheet$onConfirmEnd$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(Unit unit) { + invoke(unit); + return Unit.a; + } + + public final void invoke(Unit unit) { + m.checkNotNullParameter(unit, "it"); + } +} diff --git a/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetEndGuildScheduledEventBottomSheet$onViewCreated$1.java b/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetEndGuildScheduledEventBottomSheet$onViewCreated$1.java new file mode 100644 index 0000000000..4c94a145a6 --- /dev/null +++ b/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetEndGuildScheduledEventBottomSheet$onViewCreated$1.java @@ -0,0 +1,17 @@ +package com.discord.widgets.guildscheduledevent; + +import android.view.View; +/* compiled from: WidgetEndGuildScheduledEventBottomSheet.kt */ +public final class WidgetEndGuildScheduledEventBottomSheet$onViewCreated$1 implements View.OnClickListener { + public final /* synthetic */ WidgetEndGuildScheduledEventBottomSheet this$0; + + public WidgetEndGuildScheduledEventBottomSheet$onViewCreated$1(WidgetEndGuildScheduledEventBottomSheet widgetEndGuildScheduledEventBottomSheet) { + this.this$0 = widgetEndGuildScheduledEventBottomSheet; + } + + @Override // android.view.View.OnClickListener + public final void onClick(View view) { + this.this$0.dismiss(); + WidgetEndGuildScheduledEventBottomSheet.access$callOnActionTaken(this.this$0); + } +} diff --git a/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetEndGuildScheduledEventBottomSheet$onViewCreated$2.java b/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetEndGuildScheduledEventBottomSheet$onViewCreated$2.java new file mode 100644 index 0000000000..f506bcd8b3 --- /dev/null +++ b/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetEndGuildScheduledEventBottomSheet$onViewCreated$2.java @@ -0,0 +1,18 @@ +package com.discord.widgets.guildscheduledevent; + +import android.view.View; +/* compiled from: WidgetEndGuildScheduledEventBottomSheet.kt */ +public final class WidgetEndGuildScheduledEventBottomSheet$onViewCreated$2 implements View.OnClickListener { + public final /* synthetic */ WidgetEndGuildScheduledEventBottomSheet this$0; + + public WidgetEndGuildScheduledEventBottomSheet$onViewCreated$2(WidgetEndGuildScheduledEventBottomSheet widgetEndGuildScheduledEventBottomSheet) { + this.this$0 = widgetEndGuildScheduledEventBottomSheet; + } + + @Override // android.view.View.OnClickListener + public final void onClick(View view) { + this.this$0.dismiss(); + WidgetEndGuildScheduledEventBottomSheet.access$onConfirmEnd(this.this$0); + WidgetEndGuildScheduledEventBottomSheet.access$callOnActionTaken(this.this$0); + } +} diff --git a/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetEndGuildScheduledEventBottomSheet$requestKey$2.java b/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetEndGuildScheduledEventBottomSheet$requestKey$2.java new file mode 100644 index 0000000000..f48afc0e3f --- /dev/null +++ b/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetEndGuildScheduledEventBottomSheet$requestKey$2.java @@ -0,0 +1,20 @@ +package com.discord.widgets.guildscheduledevent; + +import d0.z.d.o; +import kotlin.jvm.functions.Function0; +/* compiled from: WidgetEndGuildScheduledEventBottomSheet.kt */ +public final class WidgetEndGuildScheduledEventBottomSheet$requestKey$2 extends o implements Function0 { + public final /* synthetic */ WidgetEndGuildScheduledEventBottomSheet this$0; + + /* JADX INFO: super call moved to the top of the method (can break code semantics) */ + public WidgetEndGuildScheduledEventBottomSheet$requestKey$2(WidgetEndGuildScheduledEventBottomSheet widgetEndGuildScheduledEventBottomSheet) { + super(0); + this.this$0 = widgetEndGuildScheduledEventBottomSheet; + } + + @Override // kotlin.jvm.functions.Function0 + /* renamed from: invoke */ + public final String mo1invoke() { + return this.this$0.requireArguments().getString("INTENT_EXTRA_REQUEST_KEY", ""); + } +} diff --git a/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetEndGuildScheduledEventBottomSheet.java b/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetEndGuildScheduledEventBottomSheet.java new file mode 100644 index 0000000000..eac3c4bca2 --- /dev/null +++ b/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetEndGuildScheduledEventBottomSheet.java @@ -0,0 +1,119 @@ +package com.discord.widgets.guildscheduledevent; + +import android.content.Context; +import android.os.Bundle; +import android.view.View; +import androidx.core.os.BundleKt; +import androidx.fragment.app.Fragment; +import androidx.fragment.app.FragmentKt; +import androidx.fragment.app.FragmentManager; +import c.d.b.a.a; +import com.discord.R; +import com.discord.app.AppBottomSheet; +import com.discord.databinding.WidgetEndStageBottomSheetBinding; +import com.discord.utilities.rx.ObservableExtensionsKt; +import com.discord.utilities.viewbinding.FragmentViewBindingDelegate; +import com.discord.utilities.viewbinding.FragmentViewBindingDelegateKt; +import com.discord.views.ScreenTitleView; +import com.google.android.material.button.MaterialButton; +import d0.g; +import d0.o; +import d0.z.d.m; +import kotlin.Lazy; +import kotlin.Unit; +import kotlin.jvm.functions.Function0; +import kotlin.jvm.functions.Function1; +import kotlin.jvm.internal.DefaultConstructorMarker; +import kotlin.reflect.KProperty; +/* compiled from: WidgetEndGuildScheduledEventBottomSheet.kt */ +public final class WidgetEndGuildScheduledEventBottomSheet extends AppBottomSheet { + public static final /* synthetic */ KProperty[] $$delegatedProperties = {a.a0(WidgetEndGuildScheduledEventBottomSheet.class, "binding", "getBinding()Lcom/discord/databinding/WidgetEndStageBottomSheetBinding;", 0)}; + public static final Companion Companion = new Companion(null); + private static final String EXTRA_REQUEST_KEY = "INTENT_EXTRA_REQUEST_KEY"; + private final FragmentViewBindingDelegate binding$delegate = FragmentViewBindingDelegateKt.viewBinding$default(this, WidgetEndGuildScheduledEventBottomSheet$binding$2.INSTANCE, null, 2, null); + private final Lazy guildScheduledEventId$delegate = g.lazy(new WidgetEndGuildScheduledEventBottomSheet$guildScheduledEventId$2(this)); + private final Lazy requestKey$delegate = g.lazy(new WidgetEndGuildScheduledEventBottomSheet$requestKey$2(this)); + + /* compiled from: WidgetEndGuildScheduledEventBottomSheet.kt */ + public static final class Companion { + private Companion() { + } + + public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) { + this(); + } + + public final void registerForResult(Fragment fragment, String str, Function0 function0) { + m.checkNotNullParameter(fragment, "fragment"); + m.checkNotNullParameter(str, "requestKey"); + m.checkNotNullParameter(function0, "onActionTaken"); + FragmentKt.setFragmentResultListener(fragment, str, new WidgetEndGuildScheduledEventBottomSheet$Companion$registerForResult$1(str, function0)); + } + + public final void show(FragmentManager fragmentManager, String str, long j) { + m.checkNotNullParameter(fragmentManager, "fragmentManager"); + m.checkNotNullParameter(str, "requestKey"); + WidgetEndGuildScheduledEventBottomSheet widgetEndGuildScheduledEventBottomSheet = new WidgetEndGuildScheduledEventBottomSheet(); + widgetEndGuildScheduledEventBottomSheet.setArguments(BundleKt.bundleOf(o.to("com.discord.intent.extra.EXTRA_GUILD_SCHEDULED_EVENT_ID", Long.valueOf(j)), o.to(WidgetEndGuildScheduledEventBottomSheet.EXTRA_REQUEST_KEY, str))); + widgetEndGuildScheduledEventBottomSheet.show(fragmentManager, WidgetEndGuildScheduledEventBottomSheet.class.getSimpleName()); + } + } + + public WidgetEndGuildScheduledEventBottomSheet() { + super(false, 1, null); + } + + public static final /* synthetic */ void access$callOnActionTaken(WidgetEndGuildScheduledEventBottomSheet widgetEndGuildScheduledEventBottomSheet) { + widgetEndGuildScheduledEventBottomSheet.callOnActionTaken(); + } + + public static final /* synthetic */ void access$onConfirmEnd(WidgetEndGuildScheduledEventBottomSheet widgetEndGuildScheduledEventBottomSheet) { + widgetEndGuildScheduledEventBottomSheet.onConfirmEnd(); + } + + private final void callOnActionTaken() { + String requestKey = getRequestKey(); + m.checkNotNullExpressionValue(requestKey, "requestKey"); + FragmentKt.setFragmentResult(this, requestKey, new Bundle()); + } + + private final WidgetEndStageBottomSheetBinding getBinding() { + return (WidgetEndStageBottomSheetBinding) this.binding$delegate.getValue((Fragment) this, $$delegatedProperties[0]); + } + + private final long getGuildScheduledEventId() { + return ((Number) this.guildScheduledEventId$delegate.getValue()).longValue(); + } + + private final String getRequestKey() { + return (String) this.requestKey$delegate.getValue(); + } + + private final void onConfirmEnd() { + ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.restSubscribeOn$default(GuildScheduledEventAPI.INSTANCE.endEvent(getGuildScheduledEventId()), false, 1, null), WidgetEndGuildScheduledEventBottomSheet.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, WidgetEndGuildScheduledEventBottomSheet$onConfirmEnd$1.INSTANCE, 62, (Object) null); + } + + @Override // com.discord.app.AppBottomSheet + public int getContentViewResId() { + return R.layout.widget_end_stage_bottom_sheet; + } + + @Override // com.discord.app.AppBottomSheet, androidx.fragment.app.Fragment + public void onViewCreated(View view, Bundle bundle) { + m.checkNotNullParameter(view, "view"); + super.onViewCreated(view, bundle); + ScreenTitleView screenTitleView = getBinding().d; + String string = requireContext().getString(R.string.guild_event_end_prompt_title); + m.checkNotNullExpressionValue(string, "requireContext().getStri…d_event_end_prompt_title)"); + screenTitleView.setTitle(string); + getBinding().d.setSubtitle(null); + MaterialButton materialButton = getBinding().b; + m.checkNotNullExpressionValue(materialButton, "binding.cancel"); + materialButton.setText(requireContext().getString(R.string.guild_event_end_prompt_cancel)); + MaterialButton materialButton2 = getBinding().f1825c; + m.checkNotNullExpressionValue(materialButton2, "binding.confirm"); + materialButton2.setText(requireContext().getString(R.string.guild_event_end_prompt_confirm)); + getBinding().b.setOnClickListener(new WidgetEndGuildScheduledEventBottomSheet$onViewCreated$1(this)); + getBinding().f1825c.setOnClickListener(new WidgetEndGuildScheduledEventBottomSheet$onViewCreated$2(this)); + } +} diff --git a/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventLocationSelect$onViewBound$3.java b/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventLocationSelect$onViewBound$3.java index 43dac1abaf..943609e37b 100644 --- a/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventLocationSelect$onViewBound$3.java +++ b/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventLocationSelect$onViewBound$3.java @@ -19,11 +19,11 @@ public final class WidgetGuildScheduledEventLocationSelect$onViewBound$3 impleme if (ordinal == 1) { WidgetChannelSelector.Companion companion = WidgetChannelSelector.Companion; WidgetGuildScheduledEventLocationSelect widgetGuildScheduledEventLocationSelect = this.this$0; - WidgetChannelSelector.Companion.launchForInactiveStages$default(companion, widgetGuildScheduledEventLocationSelect, WidgetGuildScheduledEventLocationSelect.access$getGuildId$p(widgetGuildScheduledEventLocationSelect), "GUILD_SCHEDULED_EVENT_LOCATION_SELECT_REQUEST_KEY", false, 0, 24, null); + WidgetChannelSelector.Companion.launch$default(companion, widgetGuildScheduledEventLocationSelect, WidgetGuildScheduledEventLocationSelect.access$getGuildId$p(widgetGuildScheduledEventLocationSelect), "GUILD_SCHEDULED_EVENT_LOCATION_SELECT_REQUEST_KEY", false, 0, new WidgetChannelSelector.SetFilterFunction(access$getCurrentViewState$p.getAvailableStageChannelIds()), 24, null); } else if (ordinal == 2) { WidgetChannelSelector.Companion companion2 = WidgetChannelSelector.Companion; WidgetGuildScheduledEventLocationSelect widgetGuildScheduledEventLocationSelect2 = this.this$0; - WidgetChannelSelector.Companion.launchForVoice$default(companion2, widgetGuildScheduledEventLocationSelect2, WidgetGuildScheduledEventLocationSelect.access$getGuildId$p(widgetGuildScheduledEventLocationSelect2), "GUILD_SCHEDULED_EVENT_LOCATION_SELECT_REQUEST_KEY", false, 0, 24, null); + WidgetChannelSelector.Companion.launch$default(companion2, widgetGuildScheduledEventLocationSelect2, WidgetGuildScheduledEventLocationSelect.access$getGuildId$p(widgetGuildScheduledEventLocationSelect2), "GUILD_SCHEDULED_EVENT_LOCATION_SELECT_REQUEST_KEY", false, 0, new WidgetChannelSelector.SetFilterFunction(access$getCurrentViewState$p.getAvailableVoiceChannelIds()), 24, null); } } } diff --git a/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventLocationSelect$viewModel$2.java b/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventLocationSelect$viewModel$2.java index 6acd48b94f..eccbaa99c6 100644 --- a/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventLocationSelect$viewModel$2.java +++ b/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventLocationSelect$viewModel$2.java @@ -18,6 +18,6 @@ public final class WidgetGuildScheduledEventLocationSelect$viewModel$2 extends o @Override // kotlin.jvm.functions.Function0 /* renamed from: invoke */ public final AppViewModel mo1invoke() { - return new WidgetGuildScheduledEventLocationSelectViewModal(WidgetGuildScheduledEventLocationSelect.access$getGuildId$p(this.this$0), IntentUtilsKt.getLongExtraOrNull(this.this$0.getMostRecentIntent(), "com.discord.intent.extra.EXTRA_CHANNEL_ID"), null, 4, null); + return new WidgetGuildScheduledEventLocationSelectViewModal(WidgetGuildScheduledEventLocationSelect.access$getGuildId$p(this.this$0), IntentUtilsKt.getLongExtraOrNull(this.this$0.getMostRecentIntent(), "com.discord.intent.extra.EXTRA_CHANNEL_ID"), null, null, null, 28, null); } } diff --git a/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventLocationSelect.java b/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventLocationSelect.java index d7f2664d60..7c6b80e0af 100644 --- a/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventLocationSelect.java +++ b/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventLocationSelect.java @@ -32,6 +32,7 @@ import com.google.android.material.textfield.TextInputLayout; import d0.g; import d0.z.d.a0; import d0.z.d.m; +import java.util.Set; import kotlin.Lazy; import kotlin.jvm.functions.Function0; import kotlin.jvm.functions.Function1; @@ -136,9 +137,13 @@ public final class WidgetGuildScheduledEventLocationSelect extends AppFragment { widgetGuildScheduledEventLocationSelect.currentViewState = valid; } - private final void configureLocationOption(WidgetGuildScheduledEventLocationSelectViewModal.ViewState.Valid valid, CheckedSetting checkedSetting, GuildScheduledEventEntityType guildScheduledEventEntityType) { + private final void configureLocationOption(WidgetGuildScheduledEventLocationSelectViewModal.ViewState.Valid valid, CheckedSetting checkedSetting, GuildScheduledEventEntityType guildScheduledEventEntityType, CharSequence charSequence) { checkedSetting.setChecked(valid.getSelectedLocationOption() == guildScheduledEventEntityType); - checkedSetting.e(new WidgetGuildScheduledEventLocationSelect$configureLocationOption$1(this, guildScheduledEventEntityType)); + if (charSequence != null) { + checkedSetting.c(charSequence); + } else { + checkedSetting.e(new WidgetGuildScheduledEventLocationSelect$configureLocationOption$1(this, guildScheduledEventEntityType)); + } } private final void configureUI(WidgetGuildScheduledEventLocationSelectViewModal.ViewState viewState) { @@ -147,13 +152,13 @@ public final class WidgetGuildScheduledEventLocationSelect extends AppFragment { this.currentViewState = valid; CheckedSetting checkedSetting = getBinding().j; m.checkNotNullExpressionValue(checkedSetting, "binding.stageChannelOption"); - configureLocationOption(valid, checkedSetting, GuildScheduledEventEntityType.STAGE_INSTANCE); + configureLocationOption(valid, checkedSetting, GuildScheduledEventEntityType.STAGE_INSTANCE, getDisabledMessageForChannelOption(valid.getAvailableStageChannelIds())); CheckedSetting checkedSetting2 = getBinding().l; m.checkNotNullExpressionValue(checkedSetting2, "binding.voiceChannelOption"); - configureLocationOption(valid, checkedSetting2, GuildScheduledEventEntityType.VOICE); + configureLocationOption(valid, checkedSetting2, GuildScheduledEventEntityType.VOICE, getDisabledMessageForChannelOption(valid.getAvailableVoiceChannelIds())); CheckedSetting checkedSetting3 = getBinding().g; m.checkNotNullExpressionValue(checkedSetting3, "binding.externalOption"); - configureLocationOption(valid, checkedSetting3, GuildScheduledEventEntityType.EXTERNAL); + configureLocationOption(valid, checkedSetting3, GuildScheduledEventEntityType.EXTERNAL, getDisabledMessageForExternalOption(valid.getCanCreateExternalEvent())); int ordinal = valid.getSelectedLocationOption().ordinal(); if (ordinal == 1 || ordinal == 2) { TextView textView = getBinding().h; @@ -213,6 +218,20 @@ public final class WidgetGuildScheduledEventLocationSelect extends AppFragment { return (WidgetGuildScheduledEventLocationSelectBinding) this.binding$delegate.getValue((Fragment) this, $$delegatedProperties[0]); } + private final CharSequence getDisabledMessageForChannelOption(Set set) { + if (set.isEmpty()) { + return getString(R.string.guild_event_location_disabled_no_available_channel); + } + return null; + } + + private final CharSequence getDisabledMessageForExternalOption(boolean z2) { + if (!z2) { + return getString(R.string.guild_event_location_disabled_external_no_permission); + } + return null; + } + private final long getGuildId() { return ((Number) this.guildId$delegate.getValue()).longValue(); } diff --git a/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventLocationSelectViewModal$Companion$observeStores$1.java b/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventLocationSelectViewModal$Companion$observeStores$1.java new file mode 100644 index 0000000000..a175a7bfec --- /dev/null +++ b/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventLocationSelectViewModal$Companion$observeStores$1.java @@ -0,0 +1,27 @@ +package com.discord.widgets.guildscheduledevent; + +import com.discord.stores.StoreChannels; +import com.discord.stores.StorePermissions; +import com.discord.widgets.guildscheduledevent.WidgetGuildScheduledEventLocationSelectViewModal; +import d0.z.d.o; +import kotlin.jvm.functions.Function0; +/* compiled from: WidgetGuildScheduledEventLocationSelectViewModal.kt */ +public final class WidgetGuildScheduledEventLocationSelectViewModal$Companion$observeStores$1 extends o implements Function0 { + public final /* synthetic */ StoreChannels $channelsStore; + public final /* synthetic */ long $guildId; + public final /* synthetic */ StorePermissions $permissionsStore; + + /* JADX INFO: super call moved to the top of the method (can break code semantics) */ + public WidgetGuildScheduledEventLocationSelectViewModal$Companion$observeStores$1(StoreChannels storeChannels, long j, StorePermissions storePermissions) { + super(0); + this.$channelsStore = storeChannels; + this.$guildId = j; + this.$permissionsStore = storePermissions; + } + + @Override // kotlin.jvm.functions.Function0 + /* renamed from: invoke */ + public final WidgetGuildScheduledEventLocationSelectViewModal.StoreState mo1invoke() { + return new WidgetGuildScheduledEventLocationSelectViewModal.StoreState(this.$channelsStore.getChannelsForGuild(this.$guildId), this.$permissionsStore.getPermissionsByChannel(), this.$permissionsStore.getGuildPermissions().get(Long.valueOf(this.$guildId))); + } +} diff --git a/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventLocationSelectViewModal.java b/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventLocationSelectViewModal.java index 32107072f6..ce85c380a3 100644 --- a/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventLocationSelectViewModal.java +++ b/app/src/main/java/com/discord/widgets/guildscheduledevent/WidgetGuildScheduledEventLocationSelectViewModal.java @@ -1,18 +1,62 @@ package com.discord.widgets.guildscheduledevent; +import android.content.Context; +import androidx.annotation.MainThread; import c.d.b.a.a; +import com.airbnb.lottie.parser.AnimatableValueParser; import com.discord.api.channel.Channel; import com.discord.api.guildscheduledevent.GuildScheduledEventEntityType; import com.discord.app.AppViewModel; import com.discord.stores.StoreChannels; +import com.discord.stores.StorePermissions; import com.discord.stores.StoreStream; +import com.discord.stores.updates.ObservationDeck; +import com.discord.stores.updates.ObservationDeckProvider; +import com.discord.utilities.guildscheduledevent.GuildScheduledEventUtilities; +import com.discord.utilities.rx.ObservableExtensionsKt; import d0.z.d.m; +import d0.z.d.o; +import java.util.HashSet; +import java.util.LinkedHashMap; +import java.util.Map; +import java.util.Set; +import kotlin.Unit; +import kotlin.jvm.functions.Function0; +import kotlin.jvm.functions.Function1; import kotlin.jvm.internal.DefaultConstructorMarker; +import rx.Observable; /* compiled from: WidgetGuildScheduledEventLocationSelectViewModal.kt */ public final class WidgetGuildScheduledEventLocationSelectViewModal extends AppViewModel { public static final Companion Companion = new Companion(null); - private static final ViewState.Valid DEFAULT_VIEW_STATE = new ViewState.Valid(GuildScheduledEventEntityType.NONE, null, ""); private final StoreChannels channelsStore; + private StoreState currentStoreState; + private final Long initialChannelId; + + /* compiled from: WidgetGuildScheduledEventLocationSelectViewModal.kt */ + /* renamed from: com.discord.widgets.guildscheduledevent.WidgetGuildScheduledEventLocationSelectViewModal$1 reason: invalid class name */ + public static final class AnonymousClass1 extends o implements Function1 { + public final /* synthetic */ WidgetGuildScheduledEventLocationSelectViewModal this$0; + + /* JADX INFO: super call moved to the top of the method (can break code semantics) */ + public AnonymousClass1(WidgetGuildScheduledEventLocationSelectViewModal widgetGuildScheduledEventLocationSelectViewModal) { + super(1); + this.this$0 = widgetGuildScheduledEventLocationSelectViewModal; + } + + /* 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(StoreState storeState) { + invoke(storeState); + return Unit.a; + } + + public final void invoke(StoreState storeState) { + WidgetGuildScheduledEventLocationSelectViewModal widgetGuildScheduledEventLocationSelectViewModal = this.this$0; + m.checkNotNullExpressionValue(storeState, "it"); + WidgetGuildScheduledEventLocationSelectViewModal.access$handleStoreState(widgetGuildScheduledEventLocationSelectViewModal, storeState); + } + } /* compiled from: WidgetGuildScheduledEventLocationSelectViewModal.kt */ public static final class Companion { @@ -22,6 +66,107 @@ public final class WidgetGuildScheduledEventLocationSelectViewModal extends AppV public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) { this(); } + + public static final /* synthetic */ Observable access$observeStores(Companion companion, long j, StoreChannels storeChannels, StorePermissions storePermissions) { + return companion.observeStores(j, storeChannels, storePermissions); + } + + private final Observable observeStores(long j, StoreChannels storeChannels, StorePermissions storePermissions) { + return ObservationDeck.connectRx$default(ObservationDeckProvider.get(), new ObservationDeck.UpdateSource[]{storeChannels, storePermissions}, false, null, null, new WidgetGuildScheduledEventLocationSelectViewModal$Companion$observeStores$1(storeChannels, j, storePermissions), 14, null); + } + } + + /* compiled from: WidgetGuildScheduledEventLocationSelectViewModal.kt */ + public static final class StoreState { + private final Map channelPermissions; + private final Map channels; + private final Long guildPermissions; + + public StoreState(Map map, Map map2, Long l) { + m.checkNotNullParameter(map, "channels"); + m.checkNotNullParameter(map2, "channelPermissions"); + this.channels = map; + this.channelPermissions = map2; + this.guildPermissions = l; + } + + /* JADX DEBUG: Multi-variable search result rejected for r0v0, resolved type: com.discord.widgets.guildscheduledevent.WidgetGuildScheduledEventLocationSelectViewModal$StoreState */ + /* JADX WARN: Multi-variable type inference failed */ + public static /* synthetic */ StoreState copy$default(StoreState storeState, Map map, Map map2, Long l, int i, Object obj) { + if ((i & 1) != 0) { + map = storeState.channels; + } + if ((i & 2) != 0) { + map2 = storeState.channelPermissions; + } + if ((i & 4) != 0) { + l = storeState.guildPermissions; + } + return storeState.copy(map, map2, l); + } + + public final Map component1() { + return this.channels; + } + + public final Map component2() { + return this.channelPermissions; + } + + public final Long component3() { + return this.guildPermissions; + } + + public final StoreState copy(Map map, Map map2, Long l) { + m.checkNotNullParameter(map, "channels"); + m.checkNotNullParameter(map2, "channelPermissions"); + return new StoreState(map, map2, l); + } + + public boolean equals(Object obj) { + if (this == obj) { + return true; + } + if (!(obj instanceof StoreState)) { + return false; + } + StoreState storeState = (StoreState) obj; + return m.areEqual(this.channels, storeState.channels) && m.areEqual(this.channelPermissions, storeState.channelPermissions) && m.areEqual(this.guildPermissions, storeState.guildPermissions); + } + + public final Map getChannelPermissions() { + return this.channelPermissions; + } + + public final Map getChannels() { + return this.channels; + } + + public final Long getGuildPermissions() { + return this.guildPermissions; + } + + public int hashCode() { + Map map = this.channels; + int i = 0; + int hashCode = (map != null ? map.hashCode() : 0) * 31; + Map map2 = this.channelPermissions; + int hashCode2 = (hashCode + (map2 != null ? map2.hashCode() : 0)) * 31; + Long l = this.guildPermissions; + if (l != null) { + i = l.hashCode(); + } + return hashCode2 + i; + } + + public String toString() { + StringBuilder P = a.P("StoreState(channels="); + P.append(this.channels); + P.append(", channelPermissions="); + P.append(this.channelPermissions); + P.append(", guildPermissions="); + return a.F(P, this.guildPermissions, ")"); + } } /* compiled from: WidgetGuildScheduledEventLocationSelectViewModal.kt */ @@ -38,21 +183,34 @@ public final class WidgetGuildScheduledEventLocationSelectViewModal extends AppV /* compiled from: WidgetGuildScheduledEventLocationSelectViewModal.kt */ public static final class Valid extends ViewState { + private final Map availableChannels; + private final Set availableStageChannelIds; + private final Set availableVoiceChannelIds; + private final boolean canCreateExternalEvent; private final String externalLocation; private final Channel selectedChannel; private final GuildScheduledEventEntityType selectedLocationOption; /* JADX INFO: super call moved to the top of the method (can break code semantics) */ - public Valid(GuildScheduledEventEntityType guildScheduledEventEntityType, Channel channel, String str) { + public Valid(GuildScheduledEventEntityType guildScheduledEventEntityType, Channel channel, String str, Map map, Set set, Set set2, boolean z2) { super(null); m.checkNotNullParameter(guildScheduledEventEntityType, "selectedLocationOption"); m.checkNotNullParameter(str, "externalLocation"); + m.checkNotNullParameter(map, "availableChannels"); + m.checkNotNullParameter(set, "availableVoiceChannelIds"); + m.checkNotNullParameter(set2, "availableStageChannelIds"); this.selectedLocationOption = guildScheduledEventEntityType; this.selectedChannel = channel; this.externalLocation = str; + this.availableChannels = map; + this.availableVoiceChannelIds = set; + this.availableStageChannelIds = set2; + this.canCreateExternalEvent = z2; } - public static /* synthetic */ Valid copy$default(Valid valid, GuildScheduledEventEntityType guildScheduledEventEntityType, Channel channel, String str, int i, Object obj) { + /* JADX DEBUG: Multi-variable search result rejected for r5v0, resolved type: com.discord.widgets.guildscheduledevent.WidgetGuildScheduledEventLocationSelectViewModal$ViewState$Valid */ + /* JADX WARN: Multi-variable type inference failed */ + public static /* synthetic */ Valid copy$default(Valid valid, GuildScheduledEventEntityType guildScheduledEventEntityType, Channel channel, String str, Map map, Set set, Set set2, boolean z2, int i, Object obj) { if ((i & 1) != 0) { guildScheduledEventEntityType = valid.selectedLocationOption; } @@ -62,7 +220,19 @@ public final class WidgetGuildScheduledEventLocationSelectViewModal extends AppV if ((i & 4) != 0) { str = valid.externalLocation; } - return valid.copy(guildScheduledEventEntityType, channel, str); + if ((i & 8) != 0) { + map = valid.availableChannels; + } + if ((i & 16) != 0) { + set = valid.availableVoiceChannelIds; + } + if ((i & 32) != 0) { + set2 = valid.availableStageChannelIds; + } + if ((i & 64) != 0) { + z2 = valid.canCreateExternalEvent; + } + return valid.copy(guildScheduledEventEntityType, channel, str, map, set, set2, z2); } public final GuildScheduledEventEntityType component1() { @@ -77,10 +247,29 @@ public final class WidgetGuildScheduledEventLocationSelectViewModal extends AppV return this.externalLocation; } - public final Valid copy(GuildScheduledEventEntityType guildScheduledEventEntityType, Channel channel, String str) { + public final Map component4() { + return this.availableChannels; + } + + public final Set component5() { + return this.availableVoiceChannelIds; + } + + public final Set component6() { + return this.availableStageChannelIds; + } + + public final boolean component7() { + return this.canCreateExternalEvent; + } + + public final Valid copy(GuildScheduledEventEntityType guildScheduledEventEntityType, Channel channel, String str, Map map, Set set, Set set2, boolean z2) { m.checkNotNullParameter(guildScheduledEventEntityType, "selectedLocationOption"); m.checkNotNullParameter(str, "externalLocation"); - return new Valid(guildScheduledEventEntityType, channel, str); + m.checkNotNullParameter(map, "availableChannels"); + m.checkNotNullParameter(set, "availableVoiceChannelIds"); + m.checkNotNullParameter(set2, "availableStageChannelIds"); + return new Valid(guildScheduledEventEntityType, channel, str, map, set, set2, z2); } public boolean equals(Object obj) { @@ -91,7 +280,23 @@ public final class WidgetGuildScheduledEventLocationSelectViewModal extends AppV return false; } Valid valid = (Valid) obj; - return m.areEqual(this.selectedLocationOption, valid.selectedLocationOption) && m.areEqual(this.selectedChannel, valid.selectedChannel) && m.areEqual(this.externalLocation, valid.externalLocation); + return m.areEqual(this.selectedLocationOption, valid.selectedLocationOption) && m.areEqual(this.selectedChannel, valid.selectedChannel) && m.areEqual(this.externalLocation, valid.externalLocation) && m.areEqual(this.availableChannels, valid.availableChannels) && m.areEqual(this.availableVoiceChannelIds, valid.availableVoiceChannelIds) && m.areEqual(this.availableStageChannelIds, valid.availableStageChannelIds) && this.canCreateExternalEvent == valid.canCreateExternalEvent; + } + + public final Map getAvailableChannels() { + return this.availableChannels; + } + + public final Set getAvailableStageChannelIds() { + return this.availableStageChannelIds; + } + + public final Set getAvailableVoiceChannelIds() { + return this.availableVoiceChannelIds; + } + + public final boolean getCanCreateExternalEvent() { + return this.canCreateExternalEvent; } public final String getExternalLocation() { @@ -113,10 +318,24 @@ public final class WidgetGuildScheduledEventLocationSelectViewModal extends AppV Channel channel = this.selectedChannel; int hashCode2 = (hashCode + (channel != null ? channel.hashCode() : 0)) * 31; String str = this.externalLocation; - if (str != null) { - i = str.hashCode(); + int hashCode3 = (hashCode2 + (str != null ? str.hashCode() : 0)) * 31; + Map map = this.availableChannels; + int hashCode4 = (hashCode3 + (map != null ? map.hashCode() : 0)) * 31; + Set set = this.availableVoiceChannelIds; + int hashCode5 = (hashCode4 + (set != null ? set.hashCode() : 0)) * 31; + Set set2 = this.availableStageChannelIds; + if (set2 != null) { + i = set2.hashCode(); } - return hashCode2 + i; + int i2 = (hashCode5 + i) * 31; + boolean z2 = this.canCreateExternalEvent; + if (z2) { + z2 = true; + } + int i3 = z2 ? 1 : 0; + int i4 = z2 ? 1 : 0; + int i5 = z2 ? 1 : 0; + return i2 + i3; } public String toString() { @@ -125,7 +344,15 @@ public final class WidgetGuildScheduledEventLocationSelectViewModal extends AppV P.append(", selectedChannel="); P.append(this.selectedChannel); P.append(", externalLocation="); - return a.H(P, this.externalLocation, ")"); + P.append(this.externalLocation); + P.append(", availableChannels="); + P.append(this.availableChannels); + P.append(", availableVoiceChannelIds="); + P.append(this.availableVoiceChannelIds); + P.append(", availableStageChannelIds="); + P.append(this.availableStageChannelIds); + P.append(", canCreateExternalEvent="); + return a.L(P, this.canCreateExternalEvent, ")"); } } @@ -138,55 +365,117 @@ public final class WidgetGuildScheduledEventLocationSelectViewModal extends AppV } /* JADX INFO: super call moved to the top of the method (can break code semantics) */ - public WidgetGuildScheduledEventLocationSelectViewModal(long j, Long l, StoreChannels storeChannels) { + public WidgetGuildScheduledEventLocationSelectViewModal(long j, Long l, StoreChannels storeChannels, StorePermissions storePermissions, Observable observable) { super(null, 1, null); m.checkNotNullParameter(storeChannels, "channelsStore"); - Channel channel = null; + m.checkNotNullParameter(storePermissions, "permissionsStore"); + m.checkNotNullParameter(observable, "storeStateObservable"); + this.initialChannelId = l; this.channelsStore = storeChannels; - channel = l != null ? storeChannels.getChannel(l.longValue()) : channel; - if (channel != null) { - GuildScheduledEventEntityType entityTypeFromChannel = getEntityTypeFromChannel(channel); - if (entityTypeFromChannel == GuildScheduledEventEntityType.NONE) { - updateViewState(DEFAULT_VIEW_STATE); - } else { - updateViewState(new ViewState.Valid(entityTypeFromChannel, channel, "")); - } - } else { - updateViewState(DEFAULT_VIEW_STATE); + Observable W = observable.W(j0.p.a.a()); + m.checkNotNullExpressionValue(W, "storeStateObservable\n …Schedulers.computation())"); + ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui$default(W, this, null, 2, null), WidgetGuildScheduledEventLocationSelectViewModal.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, new AnonymousClass1(this), 62, (Object) null); + } + + /* JADX WARNING: Illegal instructions before constructor call */ + public /* synthetic */ WidgetGuildScheduledEventLocationSelectViewModal(long j, Long l, StoreChannels storeChannels, StorePermissions storePermissions, Observable observable, int i, DefaultConstructorMarker defaultConstructorMarker) { + this(j, l, storeChannels, storePermissions, (i & 16) != 0 ? Companion.access$observeStores(Companion, j, storeChannels, storePermissions) : observable); + storeChannels = (i & 4) != 0 ? StoreStream.Companion.getChannels() : storeChannels; + storePermissions = (i & 8) != 0 ? StoreStream.Companion.getPermissions() : storePermissions; + } + + public static final /* synthetic */ void access$handleStoreState(WidgetGuildScheduledEventLocationSelectViewModal widgetGuildScheduledEventLocationSelectViewModal, StoreState storeState) { + widgetGuildScheduledEventLocationSelectViewModal.handleStoreState(storeState); + } + + @MainThread + private final void handleStoreState(StoreState storeState) { + GuildScheduledEventEntityType guildScheduledEventEntityType; + String str; + this.currentStoreState = storeState; + ViewState viewState = getViewState(); + Long l = null; + if (!(viewState instanceof ViewState.Valid)) { + viewState = null; } + ViewState.Valid valid = (ViewState.Valid) viewState; + boolean canCreateExternalEvent = GuildScheduledEventUtilities.Companion.canCreateExternalEvent(storeState.getGuildPermissions()); + Map channels = storeState.getChannels(); + LinkedHashMap linkedHashMap = new LinkedHashMap(); + for (Map.Entry entry : channels.entrySet()) { + Channel value = entry.getValue(); + if (GuildScheduledEventUtilities.Companion.canStartEventInChannel(value, (Long) a.c(value, storeState.getChannelPermissions()))) { + linkedHashMap.put(entry.getKey(), entry.getValue()); + } + } + HashSet hashSet = new HashSet(); + HashSet hashSet2 = new HashSet(); + for (Channel channel : linkedHashMap.values()) { + if (AnimatableValueParser.D1(channel)) { + hashSet2.add(Long.valueOf(channel.h())); + } else if (AnimatableValueParser.x1(channel)) { + hashSet.add(Long.valueOf(channel.h())); + } + } + if (valid == null) { + l = this.initialChannelId; + } else { + Channel selectedChannel = valid.getSelectedChannel(); + if (selectedChannel != null) { + l = Long.valueOf(selectedChannel.h()); + } + } + Channel channel2 = (Channel) linkedHashMap.get(l); + if (valid == null || (guildScheduledEventEntityType = valid.getSelectedLocationOption()) == null) { + guildScheduledEventEntityType = GuildScheduledEventEntityType.NONE; + } + if (guildScheduledEventEntityType == GuildScheduledEventEntityType.STAGE_INSTANCE && hashSet.isEmpty()) { + guildScheduledEventEntityType = GuildScheduledEventEntityType.NONE; + } else if (guildScheduledEventEntityType == GuildScheduledEventEntityType.VOICE && hashSet2.isEmpty()) { + guildScheduledEventEntityType = GuildScheduledEventEntityType.NONE; + } else if (guildScheduledEventEntityType == GuildScheduledEventEntityType.EXTERNAL && !canCreateExternalEvent) { + guildScheduledEventEntityType = GuildScheduledEventEntityType.NONE; + } + if (valid == null || (str = valid.getExternalLocation()) == null) { + str = ""; + } + updateViewState(new ViewState.Valid(guildScheduledEventEntityType, channel2, str, linkedHashMap, hashSet2, hashSet, canCreateExternalEvent)); } - /* JADX INFO: this call moved to the top of the method (can break code semantics) */ - public /* synthetic */ WidgetGuildScheduledEventLocationSelectViewModal(long j, Long l, StoreChannels storeChannels, int i, DefaultConstructorMarker defaultConstructorMarker) { - this(j, l, (i & 4) != 0 ? StoreStream.Companion.getChannels() : storeChannels); - } - - private final GuildScheduledEventEntityType getEntityTypeFromChannel(Channel channel) { - int A = channel.A(); - return A != 2 ? A != 13 ? GuildScheduledEventEntityType.NONE : GuildScheduledEventEntityType.STAGE_INSTANCE : GuildScheduledEventEntityType.VOICE; + public final StoreState getCurrentStoreState() { + return this.currentStoreState; } public final void selectChannel(long j) { + StoreState storeState; + Map channels; Channel channel; ViewState viewState = getViewState(); - if ((viewState instanceof ViewState.Valid) && (channel = this.channelsStore.getChannel(j)) != null) { - updateViewState(ViewState.Valid.copy$default((ViewState.Valid) viewState, null, channel, null, 5, null)); + if ((viewState instanceof ViewState.Valid) && (storeState = this.currentStoreState) != null && (channels = storeState.getChannels()) != null && (channel = channels.get(Long.valueOf(j))) != null) { + updateViewState(ViewState.Valid.copy$default((ViewState.Valid) viewState, null, channel, null, null, null, null, false, 125, null)); } } public final void selectLocationOption(GuildScheduledEventEntityType guildScheduledEventEntityType) { m.checkNotNullParameter(guildScheduledEventEntityType, "locationOption"); ViewState viewState = getViewState(); - if ((viewState instanceof ViewState.Valid) && guildScheduledEventEntityType != ((ViewState.Valid) viewState).getSelectedLocationOption()) { - updateViewState(new ViewState.Valid(guildScheduledEventEntityType, null, "")); + if (viewState instanceof ViewState.Valid) { + ViewState.Valid valid = (ViewState.Valid) viewState; + if (guildScheduledEventEntityType != valid.getSelectedLocationOption()) { + updateViewState(ViewState.Valid.copy$default(valid, guildScheduledEventEntityType, null, "", null, null, null, false, 120, null)); + } } } + public final void setCurrentStoreState(StoreState storeState) { + this.currentStoreState = storeState; + } + public final void setExternalLocation(String str) { m.checkNotNullParameter(str, "newExternalLocation"); ViewState viewState = getViewState(); if (viewState instanceof ViewState.Valid) { - updateViewState(ViewState.Valid.copy$default((ViewState.Valid) viewState, null, null, str, 3, null)); + updateViewState(ViewState.Valid.copy$default((ViewState.Valid) viewState, null, null, str, null, null, null, false, 123, null)); } } } diff --git a/app/src/main/java/com/discord/widgets/hubs/WidgetHubAddName.java b/app/src/main/java/com/discord/widgets/hubs/WidgetHubAddName.java index eae0dbe044..fd83ae3ac2 100644 --- a/app/src/main/java/com/discord/widgets/hubs/WidgetHubAddName.java +++ b/app/src/main/java/com/discord/widgets/hubs/WidgetHubAddName.java @@ -104,6 +104,9 @@ public final class WidgetHubAddName extends AppFragment { m.checkNotNullParameter(view, "view"); super.onViewBound(view); getBinding().f.setOnClickListener(new WidgetHubAddName$onViewBound$1(this)); + TextInputEditText textInputEditText = getBinding().f1888c; + m.checkNotNullExpressionValue(textInputEditText, "binding.discordHubAddNameInput"); + showKeyboard(textInputEditText); } @Override // com.discord.app.AppFragment diff --git a/app/src/main/java/com/discord/widgets/hubs/WidgetHubAuthentication.java b/app/src/main/java/com/discord/widgets/hubs/WidgetHubAuthentication.java index ede822dfb8..772aba2bde 100644 --- a/app/src/main/java/com/discord/widgets/hubs/WidgetHubAuthentication.java +++ b/app/src/main/java/com/discord/widgets/hubs/WidgetHubAuthentication.java @@ -16,6 +16,7 @@ import com.discord.utilities.rx.ObservableExtensionsKt; import com.discord.utilities.view.text.LinkifiedTextView; import com.discord.utilities.viewbinding.FragmentViewBindingDelegate; import com.discord.utilities.viewbinding.FragmentViewBindingDelegateKt; +import com.discord.views.CodeVerificationView; import d0.g; import d0.z.d.a0; import d0.z.d.m; @@ -74,6 +75,9 @@ public final class WidgetHubAuthentication extends AppFragment { LinkifiedTextView linkifiedTextView = getBinding().b; m.checkNotNullExpressionValue(linkifiedTextView, "binding.description"); linkifiedTextView.setText(b.e(this, R.string.hub_pin_description, new Object[]{getArgs().getEmail()}, new WidgetHubAuthentication$onViewBound$2(this))); + CodeVerificationView codeVerificationView = getBinding().f1890c; + m.checkNotNullExpressionValue(codeVerificationView, "binding.verification"); + showKeyboard(codeVerificationView); } @Override // com.discord.app.AppFragment diff --git a/app/src/main/java/com/discord/widgets/hubs/WidgetHubDomainSearch$onViewBound$2.java b/app/src/main/java/com/discord/widgets/hubs/WidgetHubDomainSearch$onViewBound$2.java index c9649bc622..8aa64f9fbf 100644 --- a/app/src/main/java/com/discord/widgets/hubs/WidgetHubDomainSearch$onViewBound$2.java +++ b/app/src/main/java/com/discord/widgets/hubs/WidgetHubDomainSearch$onViewBound$2.java @@ -4,12 +4,10 @@ import android.view.View; import androidx.fragment.app.FragmentActivity; /* compiled from: WidgetHubDomainSearch.kt */ public final class WidgetHubDomainSearch$onViewBound$2 implements View.OnClickListener { - public final /* synthetic */ View $view; public final /* synthetic */ WidgetHubDomainSearch this$0; - public WidgetHubDomainSearch$onViewBound$2(WidgetHubDomainSearch widgetHubDomainSearch, View view) { + public WidgetHubDomainSearch$onViewBound$2(WidgetHubDomainSearch widgetHubDomainSearch) { this.this$0 = widgetHubDomainSearch; - this.$view = view; } @Override // android.view.View.OnClickListener @@ -18,6 +16,7 @@ public final class WidgetHubDomainSearch$onViewBound$2 implements View.OnClickLi if (activity != null) { activity.onBackPressed(); } - this.this$0.hideKeyboard(this.$view); + WidgetHubDomainSearch widgetHubDomainSearch = this.this$0; + widgetHubDomainSearch.hideKeyboard(widgetHubDomainSearch.getView()); } } diff --git a/app/src/main/java/com/discord/widgets/hubs/WidgetHubDomainSearch.java b/app/src/main/java/com/discord/widgets/hubs/WidgetHubDomainSearch.java index 5b8ecc1698..08d915d823 100644 --- a/app/src/main/java/com/discord/widgets/hubs/WidgetHubDomainSearch.java +++ b/app/src/main/java/com/discord/widgets/hubs/WidgetHubDomainSearch.java @@ -3,6 +3,7 @@ package com.discord.widgets.hubs; import android.content.Context; import android.view.View; import android.widget.LinearLayout; +import android.widget.TextView; import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentActivity; import androidx.recyclerview.widget.RecyclerView; @@ -46,7 +47,7 @@ public final class WidgetHubDomainSearch extends AppFragment { private final void searchForGuild() { int i; - TextInputEditText textInputEditText = getBinding().g; + TextInputEditText textInputEditText = getBinding().h; m.checkNotNullExpressionValue(textInputEditText, "binding.searchBarText"); String valueOf = String.valueOf(textInputEditText.getText()); Locale locale = Locale.getDefault(); @@ -72,10 +73,13 @@ public final class WidgetHubDomainSearch extends AppFragment { arrayList.add(next); } } + TextView textView = getBinding().d; + m.checkNotNullExpressionValue(textView, "binding.emptyTitle"); + textView.setText(getString(arrayList.isEmpty() ? R.string.directory_search_no_results_title : R.string.directory_search_initial_title)); LinearLayout linearLayout = getBinding().f1892c; m.checkNotNullExpressionValue(linearLayout, "binding.emptyState"); linearLayout.setVisibility(arrayList.isEmpty() ? 0 : 8); - RecyclerView recyclerView = getBinding().d; + RecyclerView recyclerView = getBinding().e; m.checkNotNullExpressionValue(recyclerView, "binding.recyclerView"); if (!(!arrayList.isEmpty())) { i = 8; @@ -109,10 +113,10 @@ public final class WidgetHubDomainSearch extends AppFragment { public void onViewBound(View view) { m.checkNotNullParameter(view, "view"); super.onViewBound(view); - getBinding().d.setAdapter(this.adapter); - getBinding().f.setStartIconOnClickListener(new WidgetHubDomainSearch$onViewBound$2(this, view)); - getBinding().e.setOnClickListener(new WidgetHubDomainSearch$onViewBound$3(this)); - TextInputLayout textInputLayout = getBinding().f; + getBinding().e.setAdapter(this.adapter); + getBinding().g.setStartIconOnClickListener(new WidgetHubDomainSearch$onViewBound$2(this)); + getBinding().f.setOnClickListener(new WidgetHubDomainSearch$onViewBound$3(this)); + TextInputLayout textInputLayout = getBinding().g; m.checkNotNullExpressionValue(textInputLayout, "binding.searchBar"); CharSequence charSequence = null; ViewExtensions.setOnImeActionDone$default(textInputLayout, false, new WidgetHubDomainSearch$onViewBound$4(this), 1, null); @@ -123,5 +127,8 @@ public final class WidgetHubDomainSearch extends AppFragment { charSequence = b.b(context, R.string.hub_email_connection_guild_select_subheader, new Object[0], new WidgetHubDomainSearch$onViewBound$5(this)); } linkifiedTextView.setText(charSequence); + TextInputEditText textInputEditText = getBinding().h; + m.checkNotNullExpressionValue(textInputEditText, "binding.searchBarText"); + showKeyboard(textInputEditText); } } diff --git a/app/src/main/java/com/discord/widgets/hubs/WidgetHubWaitlist.java b/app/src/main/java/com/discord/widgets/hubs/WidgetHubWaitlist.java index fdcb2a1404..7c45583b72 100644 --- a/app/src/main/java/com/discord/widgets/hubs/WidgetHubWaitlist.java +++ b/app/src/main/java/com/discord/widgets/hubs/WidgetHubWaitlist.java @@ -87,5 +87,8 @@ public final class WidgetHubWaitlist extends AppFragment { super.onViewBoundOrOnResume(); ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui(ObservableExtensionsKt.bindToComponentLifecycle$default(getViewModel().observeViewState(), this, null, 2, null)), WidgetHubWaitlist.class, (Context) null, (Function1) null, (Function1) null, (Function0) null, (Function0) null, new WidgetHubWaitlist$onViewBoundOrOnResume$1(this), 62, (Object) null); getBinding().b.setOnClickListener(new WidgetHubWaitlist$onViewBoundOrOnResume$2(this)); + TextInputEditText textInputEditText = getBinding().f1895c; + m.checkNotNullExpressionValue(textInputEditText, "binding.hubWaitlistEditText"); + showKeyboard(textInputEditText); } } 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 faa887eeba..721ddcbf6e 100644 --- a/app/src/main/java/com/discord/widgets/settings/WidgetSettings.java +++ b/app/src/main/java/com/discord/widgets/settings/WidgetSettings.java @@ -323,7 +323,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 + " - 92.3 - Alpha (92203)"); + textView.setText(string + " - 92.4 - Alpha (92204)"); 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/java/com/discord/widgets/stage/sheet/WidgetEndStageBottomSheet$binding$2.java b/app/src/main/java/com/discord/widgets/stage/sheet/WidgetEndStageBottomSheet$binding$2.java index 34173c1830..8caff784bf 100644 --- a/app/src/main/java/com/discord/widgets/stage/sheet/WidgetEndStageBottomSheet$binding$2.java +++ b/app/src/main/java/com/discord/widgets/stage/sheet/WidgetEndStageBottomSheet$binding$2.java @@ -1,10 +1,7 @@ package com.discord.widgets.stage.sheet; import android.view.View; -import androidx.core.widget.NestedScrollView; -import com.discord.R; import com.discord.databinding.WidgetEndStageBottomSheetBinding; -import com.google.android.material.button.MaterialButton; import d0.z.d.k; import d0.z.d.m; import kotlin.jvm.functions.Function1; @@ -18,15 +15,6 @@ public final /* synthetic */ class WidgetEndStageBottomSheet$binding$2 extends k public final WidgetEndStageBottomSheetBinding invoke(View view) { m.checkNotNullParameter(view, "p1"); - int i = R.id.cancel; - MaterialButton materialButton = (MaterialButton) view.findViewById(R.id.cancel); - if (materialButton != null) { - i = R.id.confirm; - MaterialButton materialButton2 = (MaterialButton) view.findViewById(R.id.confirm); - if (materialButton2 != null) { - return new WidgetEndStageBottomSheetBinding((NestedScrollView) view, materialButton, materialButton2); - } - } - throw new NullPointerException("Missing required view with ID: ".concat(view.getResources().getResourceName(i))); + return WidgetEndStageBottomSheetBinding.a(view); } } diff --git a/app/src/main/java/com/discord/widgets/stage/sheet/WidgetEndStageBottomSheet.java b/app/src/main/java/com/discord/widgets/stage/sheet/WidgetEndStageBottomSheet.java index dc1789af36..c5570dbbe1 100644 --- a/app/src/main/java/com/discord/widgets/stage/sheet/WidgetEndStageBottomSheet.java +++ b/app/src/main/java/com/discord/widgets/stage/sheet/WidgetEndStageBottomSheet.java @@ -15,6 +15,8 @@ import com.discord.utilities.rest.RestAPI; import com.discord.utilities.rx.ObservableExtensionsKt; import com.discord.utilities.viewbinding.FragmentViewBindingDelegate; import com.discord.utilities.viewbinding.FragmentViewBindingDelegateKt; +import com.discord.views.ScreenTitleView; +import com.google.android.material.button.MaterialButton; import d0.g; import d0.o; import d0.z.d.m; @@ -101,6 +103,17 @@ public final class WidgetEndStageBottomSheet extends AppBottomSheet { public void onViewCreated(View view, Bundle bundle) { m.checkNotNullParameter(view, "view"); super.onViewCreated(view, bundle); + ScreenTitleView screenTitleView = getBinding().d; + String string = requireContext().getString(R.string.explicit_end_stage_title); + m.checkNotNullExpressionValue(string, "requireContext().getStri…explicit_end_stage_title)"); + screenTitleView.setTitle(string); + getBinding().d.setSubtitle(requireContext().getString(R.string.explicit_end_stage_subtitle)); + MaterialButton materialButton = getBinding().b; + m.checkNotNullExpressionValue(materialButton, "binding.cancel"); + materialButton.setText(requireContext().getString(R.string.explicit_end_stage_cancel)); + MaterialButton materialButton2 = getBinding().f1825c; + m.checkNotNullExpressionValue(materialButton2, "binding.confirm"); + materialButton2.setText(requireContext().getString(R.string.explicit_end_stage_confirm_mobile)); getBinding().b.setOnClickListener(new WidgetEndStageBottomSheet$onViewCreated$1(this)); getBinding().f1825c.setOnClickListener(new WidgetEndStageBottomSheet$onViewCreated$2(this)); } diff --git a/app/src/main/java/com/discord/widgets/voice/fullscreen/WidgetCallFullscreen$configureBottomControls$1.java b/app/src/main/java/com/discord/widgets/voice/fullscreen/WidgetCallFullscreen$configureBottomControls$1.java index 2cc3433d9d..8bfc2b38e8 100644 --- a/app/src/main/java/com/discord/widgets/voice/fullscreen/WidgetCallFullscreen$configureBottomControls$1.java +++ b/app/src/main/java/com/discord/widgets/voice/fullscreen/WidgetCallFullscreen$configureBottomControls$1.java @@ -1,7 +1,10 @@ package com.discord.widgets.voice.fullscreen; import androidx.fragment.app.FragmentManager; +import com.discord.api.guildscheduledevent.GuildScheduledEvent; +import com.discord.utilities.guildscheduledevent.GuildScheduledEventUtilities; import com.discord.utilities.stage.StageChannelUtils; +import com.discord.widgets.guildscheduledevent.WidgetEndGuildScheduledEventBottomSheet; import com.discord.widgets.stage.sheet.WidgetEndStageBottomSheet; import com.discord.widgets.voice.fullscreen.WidgetCallFullscreenViewModel; import d0.z.d.m; @@ -31,6 +34,14 @@ public final class WidgetCallFullscreen$configureBottomControls$1 extends o impl companion.show(parentFragmentManager, "END_STAGE_REQUEST_KEY", access$getChannelId); return; } + GuildScheduledEvent guildScheduledEventToEndForCall$default = GuildScheduledEventUtilities.Companion.getGuildScheduledEventToEndForCall$default(GuildScheduledEventUtilities.Companion, this.$viewState.getCallModel(), this.$viewState.getChannelPermissions(), null, 4, null); + if (guildScheduledEventToEndForCall$default != null) { + WidgetEndGuildScheduledEventBottomSheet.Companion companion2 = WidgetEndGuildScheduledEventBottomSheet.Companion; + FragmentManager parentFragmentManager2 = this.this$0.getParentFragmentManager(); + m.checkNotNullExpressionValue(parentFragmentManager2, "parentFragmentManager"); + companion2.show(parentFragmentManager2, "END_EVENT_REQUEST_KEY", guildScheduledEventToEndForCall$default.g()); + return; + } WidgetCallFullscreen.access$onDisconnectClicked(this.this$0, this.$viewState.getCallModel()); } } diff --git a/app/src/main/java/com/discord/widgets/voice/fullscreen/WidgetCallFullscreen$configureStageUi$5.java b/app/src/main/java/com/discord/widgets/voice/fullscreen/WidgetCallFullscreen$configureStageUi$5.java new file mode 100644 index 0000000000..777da34f00 --- /dev/null +++ b/app/src/main/java/com/discord/widgets/voice/fullscreen/WidgetCallFullscreen$configureStageUi$5.java @@ -0,0 +1,24 @@ +package com.discord.widgets.voice.fullscreen; + +import com.discord.widgets.voice.fullscreen.WidgetCallFullscreenViewModel; +import d0.z.d.o; +import kotlin.Unit; +import kotlin.jvm.functions.Function0; +/* compiled from: WidgetCallFullscreen.kt */ +public final class WidgetCallFullscreen$configureStageUi$5 extends o implements Function0 { + public final /* synthetic */ WidgetCallFullscreenViewModel.ViewState.Valid $viewState; + public final /* synthetic */ WidgetCallFullscreen this$0; + + /* JADX INFO: super call moved to the top of the method (can break code semantics) */ + public WidgetCallFullscreen$configureStageUi$5(WidgetCallFullscreen widgetCallFullscreen, WidgetCallFullscreenViewModel.ViewState.Valid valid) { + super(0); + this.this$0 = widgetCallFullscreen; + this.$viewState = valid; + } + + @Override // kotlin.jvm.functions.Function0 + /* renamed from: invoke */ + public final void mo1invoke() { + WidgetCallFullscreen.access$onDisconnectClicked(this.this$0, this.$viewState.getCallModel()); + } +} diff --git a/app/src/main/java/com/discord/widgets/voice/fullscreen/WidgetCallFullscreen.java b/app/src/main/java/com/discord/widgets/voice/fullscreen/WidgetCallFullscreen.java index 6da2ec7485..bfcbda802f 100644 --- a/app/src/main/java/com/discord/widgets/voice/fullscreen/WidgetCallFullscreen.java +++ b/app/src/main/java/com/discord/widgets/voice/fullscreen/WidgetCallFullscreen.java @@ -80,6 +80,7 @@ import com.discord.views.calls.StageCallVisitCommunityView; import com.discord.views.calls.VideoCallParticipantView; import com.discord.views.user.UserSummaryView; import com.discord.widgets.guildscheduledevent.GuildEventPromptListView; +import com.discord.widgets.guildscheduledevent.WidgetEndGuildScheduledEventBottomSheet; import com.discord.widgets.notice.WidgetNoticeDialog; import com.discord.widgets.settings.premium.WidgetSettingsPremium; import com.discord.widgets.stage.StageRoles; @@ -135,6 +136,7 @@ import rx.Subscription; public final class WidgetCallFullscreen extends AppFragment { public static final /* synthetic */ KProperty[] $$delegatedProperties = {a.a0(WidgetCallFullscreen.class, "binding", "getBinding()Lcom/discord/databinding/WidgetCallFullscreenBinding;", 0)}; public static final Companion Companion = new Companion(null); + private static final String END_EVENT_REQUEST_KEY = "END_EVENT_REQUEST_KEY"; private static final String END_STAGE_REQUEST_KEY = "END_STAGE_REQUEST_KEY"; private static final String INTENT_EXTRA_CONNECT_ON_LAUNCH = "INTENT_EXTRA_CONNECT_ON_LAUNCH"; public static final int MAX_SPEAKERS_PER_ROW = 3; @@ -852,6 +854,7 @@ public final class WidgetCallFullscreen extends AppFragment { configureActionBar(valid); enableWakeLock(); WidgetEndStageBottomSheet.Companion.registerForResult(this, END_STAGE_REQUEST_KEY, new WidgetCallFullscreen$configureStageUi$4(this, valid)); + WidgetEndGuildScheduledEventBottomSheet.Companion.registerForResult(this, END_EVENT_REQUEST_KEY, new WidgetCallFullscreen$configureStageUi$5(this, valid)); } } z2 = false; @@ -877,6 +880,7 @@ public final class WidgetCallFullscreen extends AppFragment { configureActionBar(valid); enableWakeLock(); WidgetEndStageBottomSheet.Companion.registerForResult(this, END_STAGE_REQUEST_KEY, new WidgetCallFullscreen$configureStageUi$4(this, valid)); + WidgetEndGuildScheduledEventBottomSheet.Companion.registerForResult(this, END_EVENT_REQUEST_KEY, new WidgetCallFullscreen$configureStageUi$5(this, valid)); } } diff --git a/app/src/main/java/com/discord/widgets/voice/sheet/WidgetVoiceBottomSheet$onViewCreated$2.java b/app/src/main/java/com/discord/widgets/voice/sheet/WidgetVoiceBottomSheet$onViewCreated$2.java new file mode 100644 index 0000000000..c7d903ed0f --- /dev/null +++ b/app/src/main/java/com/discord/widgets/voice/sheet/WidgetVoiceBottomSheet$onViewCreated$2.java @@ -0,0 +1,17 @@ +package com.discord.widgets.voice.sheet; + +import d0.z.d.k; +import kotlin.Unit; +import kotlin.jvm.functions.Function0; +/* compiled from: WidgetVoiceBottomSheet.kt */ +public final /* synthetic */ class WidgetVoiceBottomSheet$onViewCreated$2 extends k implements Function0 { + public WidgetVoiceBottomSheet$onViewCreated$2(WidgetVoiceBottomSheetViewModel widgetVoiceBottomSheetViewModel) { + super(0, widgetVoiceBottomSheetViewModel, WidgetVoiceBottomSheetViewModel.class, "onDisconnect", "onDisconnect()V", 0); + } + + @Override // kotlin.jvm.functions.Function0 + /* renamed from: invoke */ + public final void mo1invoke() { + ((WidgetVoiceBottomSheetViewModel) this.receiver).onDisconnect(); + } +} diff --git a/app/src/main/java/com/discord/widgets/voice/sheet/WidgetVoiceBottomSheet$viewModel$2.java b/app/src/main/java/com/discord/widgets/voice/sheet/WidgetVoiceBottomSheet$viewModel$2.java index d6e749aee2..1acd311a8b 100644 --- a/app/src/main/java/com/discord/widgets/voice/sheet/WidgetVoiceBottomSheet$viewModel$2.java +++ b/app/src/main/java/com/discord/widgets/voice/sheet/WidgetVoiceBottomSheet$viewModel$2.java @@ -17,6 +17,6 @@ public final class WidgetVoiceBottomSheet$viewModel$2 extends o implements Funct @Override // kotlin.jvm.functions.Function0 /* renamed from: invoke */ public final AppViewModel mo1invoke() { - return new WidgetVoiceBottomSheetViewModel(WidgetVoiceBottomSheet.access$getChannelId$p(this.this$0), WidgetVoiceBottomSheet.access$getForwardToFullscreenIfVideoActivated$p(this.this$0), null, null, null, null, null, null, null, null, null, null, null, null, 16380, null); + return new WidgetVoiceBottomSheetViewModel(WidgetVoiceBottomSheet.access$getChannelId$p(this.this$0), WidgetVoiceBottomSheet.access$getForwardToFullscreenIfVideoActivated$p(this.this$0), null, null, null, null, null, null, null, null, null, null, null, null, null, 32764, null); } } diff --git a/app/src/main/java/com/discord/widgets/voice/sheet/WidgetVoiceBottomSheet.java b/app/src/main/java/com/discord/widgets/voice/sheet/WidgetVoiceBottomSheet.java index 5ad0aa3df6..fb5ef76ef0 100644 --- a/app/src/main/java/com/discord/widgets/voice/sheet/WidgetVoiceBottomSheet.java +++ b/app/src/main/java/com/discord/widgets/voice/sheet/WidgetVoiceBottomSheet.java @@ -34,6 +34,7 @@ import com.discord.utilities.view.extensions.ViewExtensions; import com.discord.utilities.view.recycler.MaxHeightRecyclerView; import com.discord.utilities.viewbinding.FragmentViewBindingDelegate; import com.discord.utilities.viewbinding.FragmentViewBindingDelegateKt; +import com.discord.widgets.guildscheduledevent.WidgetEndGuildScheduledEventBottomSheet; import com.discord.widgets.notice.WidgetNoticeDialog; import com.discord.widgets.notice.WidgetNoticeNuxOverlay; import com.discord.widgets.voice.controls.AnchoredVoiceControlsView; @@ -63,6 +64,7 @@ public final class WidgetVoiceBottomSheet extends AppBottomSheet { private static final String ARG_FEATURE_CONTEXT = "ARG_FEATURE_CONTEXT"; private static final String ARG_FORWARD_TO_FULLSCREEN_IF_VIDEO_ACTIVATED = "ARG_FORWARD_TO_FULLSCREEN_IF_VIDEO_ACTIVATED"; public static final Companion Companion = new Companion(null); + private static final String END_EVENT_REQUEST_KEY = "END_EVENT_REQUEST_KEY"; private final FragmentViewBindingDelegate binding$delegate = FragmentViewBindingDelegateKt.viewBinding$default(this, WidgetVoiceBottomSheet$binding$2.INSTANCE, null, 2, null); private final Lazy channelId$delegate = g.lazy(new WidgetVoiceBottomSheet$channelId$2(this)); private final Lazy featureContext$delegate; @@ -762,6 +764,11 @@ public final class WidgetVoiceBottomSheet extends AppBottomSheet { WidgetNoticeNuxOverlay.Companion.enqueue(); } else if (event instanceof WidgetVoiceBottomSheetViewModel.Event.ShowToast) { c.a.d.m.g(requireContext(), ((WidgetVoiceBottomSheetViewModel.Event.ShowToast) event).getToastResId(), 0, null, 12); + } else if (event instanceof WidgetVoiceBottomSheetViewModel.Event.ShowEventEnd) { + WidgetEndGuildScheduledEventBottomSheet.Companion companion3 = WidgetEndGuildScheduledEventBottomSheet.Companion; + FragmentManager parentFragmentManager3 = getParentFragmentManager(); + d0.z.d.m.checkNotNullExpressionValue(parentFragmentManager3, "parentFragmentManager"); + companion3.show(parentFragmentManager3, END_EVENT_REQUEST_KEY, ((WidgetVoiceBottomSheetViewModel.Event.ShowEventEnd) event).getGuildScheduledEvent().g()); } else if (event instanceof WidgetVoiceBottomSheetViewModel.Event.Disconnect) { dismiss(); WidgetVoiceBottomSheetViewModel.Event.Disconnect disconnect = (WidgetVoiceBottomSheetViewModel.Event.Disconnect) event; @@ -916,6 +923,7 @@ public final class WidgetVoiceBottomSheet extends AppBottomSheet { super.onViewCreated(view, bundle); setBottomSheetState(3); getBinding().f.setOnPttPressedListener(new WidgetVoiceBottomSheet$onViewCreated$1(getViewModel())); + WidgetEndGuildScheduledEventBottomSheet.Companion.registerForResult(this, END_EVENT_REQUEST_KEY, new WidgetVoiceBottomSheet$onViewCreated$2(getViewModel())); } public final void setOnStreamPreviewClickedListener(Function1 function1) { diff --git a/app/src/main/java/com/discord/widgets/voice/sheet/WidgetVoiceBottomSheetViewModel$tryConnectToVoice$1.java b/app/src/main/java/com/discord/widgets/voice/sheet/WidgetVoiceBottomSheetViewModel$tryConnectToVoice$1.java index 585b26b2b9..590aa5d75c 100644 --- a/app/src/main/java/com/discord/widgets/voice/sheet/WidgetVoiceBottomSheetViewModel$tryConnectToVoice$1.java +++ b/app/src/main/java/com/discord/widgets/voice/sheet/WidgetVoiceBottomSheetViewModel$tryConnectToVoice$1.java @@ -13,7 +13,7 @@ import kotlin.jvm.functions.Function2; import kotlinx.coroutines.CoroutineScope; import rx.subjects.PublishSubject; /* compiled from: WidgetVoiceBottomSheetViewModel.kt */ -@e(c = "com.discord.widgets.voice.sheet.WidgetVoiceBottomSheetViewModel$tryConnectToVoice$1", f = "WidgetVoiceBottomSheetViewModel.kt", l = {157, 165}, m = "invokeSuspend") +@e(c = "com.discord.widgets.voice.sheet.WidgetVoiceBottomSheetViewModel$tryConnectToVoice$1", f = "WidgetVoiceBottomSheetViewModel.kt", l = {163, 171}, m = "invokeSuspend") public final class WidgetVoiceBottomSheetViewModel$tryConnectToVoice$1 extends k implements Function2, Object> { public final /* synthetic */ StoreMediaEngine $mediaEngine; public int label; diff --git a/app/src/main/java/com/discord/widgets/voice/sheet/WidgetVoiceBottomSheetViewModel.java b/app/src/main/java/com/discord/widgets/voice/sheet/WidgetVoiceBottomSheetViewModel.java index cd0112e5aa..aabee1537a 100644 --- a/app/src/main/java/com/discord/widgets/voice/sheet/WidgetVoiceBottomSheetViewModel.java +++ b/app/src/main/java/com/discord/widgets/voice/sheet/WidgetVoiceBottomSheetViewModel.java @@ -21,6 +21,7 @@ import com.discord.rtcconnection.RtcConnection; import com.discord.stores.StoreApplicationStreamPreviews; import com.discord.stores.StoreApplicationStreaming; import com.discord.stores.StoreCalls; +import com.discord.stores.StoreGuilds; import com.discord.stores.StoreMediaEngine; import com.discord.stores.StoreMediaSettings; import com.discord.stores.StorePermissions; @@ -30,6 +31,7 @@ import com.discord.stores.StoreVoiceChannelSelected; import com.discord.stores.StoreVoiceParticipants; import com.discord.tooltips.TooltipManager; import com.discord.utilities.guildscheduledevent.GuildScheduledEventTiming; +import com.discord.utilities.guildscheduledevent.GuildScheduledEventUtilities; import com.discord.utilities.guildscheduledevent.GuildScheduledEventUtilitiesKt; import com.discord.utilities.guildscheduledevent.GuildScheduledEventsComparator; import com.discord.utilities.permissions.VideoPermissionsManager; @@ -69,6 +71,7 @@ public final class WidgetVoiceBottomSheetViewModel extends AppViewModel eventSubject; private Set fetchedPreviews; private final boolean forwardToFullscreenIfVideoActivated; + private final StoreGuilds guildsStore; private final StoreMediaEngine mediaEngineStore; private final StoreMediaSettings mediaSettingsStore; private StoreState mostRecentStoreState; @@ -456,6 +459,60 @@ public final class WidgetVoiceBottomSheetViewModel extends AppViewModel observable) { + public WidgetVoiceBottomSheetViewModel(long j, boolean z2, StorePermissions storePermissions, StoreVoiceChannelSelected storeVoiceChannelSelected, StoreMediaSettings storeMediaSettings, StoreMediaEngine storeMediaEngine, StoreUserSettings storeUserSettings, StoreCalls storeCalls, StoreGuilds storeGuilds, VideoPermissionsManager videoPermissionsManager, StoreApplicationStreamPreviews storeApplicationStreamPreviews, VoiceEngineServiceController voiceEngineServiceController, Clock clock, TooltipManager tooltipManager, Observable observable) { super(null, 1, null); m.checkNotNullParameter(storePermissions, "permissionsStore"); m.checkNotNullParameter(storeVoiceChannelSelected, "selectedVoiceChannelStore"); @@ -903,6 +960,7 @@ public final class WidgetVoiceBottomSheetViewModel extends AppViewModel weakReference = a.b.a; @@ -1065,6 +1125,15 @@ public final class WidgetVoiceBottomSheetViewModel extends AppViewModel publishSubject = this.eventSubject; + publishSubject.j.onNext(new Event.ShowEventEnd(guildScheduledEventToEnd)); + return; + } + onDisconnect(); + } + @MainThread public final void onMutePressed() { StoreState storeState = this.mostRecentStoreState; diff --git a/app/src/main/res/layout-v22/widget_end_stage_bottom_sheet.xml b/app/src/main/res/layout-v22/widget_end_stage_bottom_sheet.xml index a7149d6cab..fb6c1f96c5 100644 --- a/app/src/main/res/layout-v22/widget_end_stage_bottom_sheet.xml +++ b/app/src/main/res/layout-v22/widget_end_stage_bottom_sheet.xml @@ -1,8 +1,8 @@ - + - - - + + + diff --git a/app/src/main/res/layout/widget_end_stage_bottom_sheet.xml b/app/src/main/res/layout/widget_end_stage_bottom_sheet.xml index bc7475d816..47907ec30d 100644 --- a/app/src/main/res/layout/widget_end_stage_bottom_sheet.xml +++ b/app/src/main/res/layout/widget_end_stage_bottom_sheet.xml @@ -1,8 +1,8 @@ - + - - - + + + diff --git a/app/src/main/res/layout/widget_hub_domain_search.xml b/app/src/main/res/layout/widget_hub_domain_search.xml index 169a6e58d6..d115ba0287 100644 --- a/app/src/main/res/layout/widget_hub_domain_search.xml +++ b/app/src/main/res/layout/widget_hub_domain_search.xml @@ -11,7 +11,7 @@ - + diff --git a/app/src/main/res/layout/widget_hub_email_flow_confirmation.xml b/app/src/main/res/layout/widget_hub_email_flow_confirmation.xml index 152f3f6f55..3e5dc3be83 100644 --- a/app/src/main/res/layout/widget_hub_email_flow_confirmation.xml +++ b/app/src/main/res/layout/widget_hub_email_flow_confirmation.xml @@ -4,7 +4,7 @@ - - + + diff --git a/app/src/main/res/layout/widget_hub_email_flow_waitlist.xml b/app/src/main/res/layout/widget_hub_email_flow_waitlist.xml index f391107bd8..8511d062c1 100644 --- a/app/src/main/res/layout/widget_hub_email_flow_waitlist.xml +++ b/app/src/main/res/layout/widget_hub_email_flow_waitlist.xml @@ -1,7 +1,7 @@ - + diff --git a/app/src/main/res/values-ar-rXB/strings.xml b/app/src/main/res/values-ar-rXB/strings.xml index f87a9f91fc..a71800ab62 100644 --- a/app/src/main/res/values-ar-rXB/strings.xml +++ b/app/src/main/res/values-ar-rXB/strings.xml @@ -272,6 +272,7 @@ ‏‮Allow‬‏ ‏‮Allow‬‏ ‏‮Direct‬‏ ‏‮Messages‬‏ ‏‮Anyone‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮server‬‏ ‏‮can‬‏ ‏‮message‬‏ ‏‮you‬‏ + ‏‮Allow‬‏ ‏‮direct‬‏ ‏‮messages‬‏ ‏‮from‬‏ ‏‮Hub‬‏ ‏‮members.‬‏ ‏‮Allow‬‏ ‏‮direct‬‏ ‏‮messages‬‏ ‏‮from‬‏ ‏‮server‬‏ ‏‮members.‬‏ ‏‮Allow‬‏ ‏‮playback‬‏ ‏‮and‬‏ ‏‮usage‬‏ ‏‮of‬‏ ‏‮/tts‬‏ ‏‮command‬‏ ‏‮Already‬‏ ‏‮have‬‏ ‏‮an‬‏ ‏‮account?‬‏ @@ -2129,6 +2130,7 @@ ‏‮Social‬‏ ‏‮&‬‏ ‏‮Study‬‏ ‏‮Majors‬‏ ‏‮&‬‏ ‏‮Subjects‬‏ ‏‮Directory‬‏ ‏‮Entry‬‏ ‏‮Actions‬‏ + ‏‮Search‬‏ ‏‮for‬‏ ‏‮your‬‏ ‏‮school‬‏ ‏‮Try‬‏ ‏‮another‬‏ ‏‮search‬‏ ‏‮or‬‏ ‏‮$[add‬‏ ‏‮a‬‏ ‏‮server](addServerHook).‬‏ ‏‮Try‬‏ ‏‮another‬‏ ‏‮search‬‏ ‏‮or‬‏ ‏‮[add‬‏ ‏‮a‬‏ ‏‮server](addServerHook).‬‏ ‏‮No‬‏ ‏‮matches‬‏ ‏‮found‬‏ @@ -3280,6 +3282,9 @@ ‏‮{date}‬‏ ‏‮at‬‏ ‏‮{time}‬‏ ‏‮Are‬‏ ‏‮you‬‏ ‏‮sure‬‏ ‏‮you‬‏ ‏‮want‬‏ ‏‮to‬‏ ‏‮delete‬‏ ‏‮this‬‏ ‏‮event?‬‏ ‏‮Delete‬‏ ‏‮Event?‬‏ + ‏‮No,‬‏ ‏‮just‬‏ ‏‮disconnect‬‏ + ‏‮Yes,‬‏ ‏‮end‬‏ ‏‮the‬‏ ‏‮event‬‏ + ‏‮Do‬‏ ‏‮you‬‏ ‏‮want‬‏ ‏‮to‬‏ ‏‮also‬‏ ‏‮end‬‏ ‏‮the‬‏ ‏‮event?‬‏ ‏‮{count}‬‏ ‏‮Interested‬‏ ‏‮{count}‬‏ ‏‮interested‬‏ ‏‮You\'ll‬‏ ‏‮be‬‏ ‏‮notified‬‏ ‏‮when‬‏ ‏‮the‬‏ ‏‮event‬‏ ‏‮starts‬‏ @@ -3288,6 +3293,8 @@ ‏‮Or,‬‏ ‏‮send‬‏ ‏‮an‬‏ ‏‮event‬‏ ‏‮invite‬‏ ‏‮link‬‏ ‏‮to‬‏ ‏‮a‬‏ ‏‮friend‬‏ ‏‮Invite‬‏ ‏‮friends‬‏ ‏‮to‬‏ ‏‮event‬‏ ‏‮{count}‬‏ ‏‮Listening‬‏ + ‏‮You‬‏ ‏‮do‬‏ ‏‮not‬‏ ‏‮have‬‏ ‏‮permission.‬‏ + ‏‮There‬‏ ‏‮are‬‏ ‏‮no‬‏ ‏‮available‬‏ ‏‮channels.‬‏ ‏‮Enter‬‏ ‏‮a‬‏ ‏‮location‬‏ ‏‮Add‬‏ ‏‮a‬‏ ‏‮location,‬‏ ‏‮link,‬‏ ‏‮or‬‏ ‏‮something.‬‏ ‏‮Somewhere‬‏ ‏‮Else‬‏ @@ -3295,14 +3302,6 @@ ‏‮Where‬‏ ‏‮you‬‏ ‏‮were‬‏ ‏‮when‬‏ ‏‮you‬‏ ‏‮downloaded‬‏ ‏‮Discord‬‏ ‏‮Great‬‏ ‏‮for‬‏ ‏‮larger‬‏ ‏‮community‬‏ ‏‮audio‬‏ ‏‮events.‬‏ ‏‮Hang‬‏ ‏‮out‬‏ ‏‮with‬‏ ‏‮voice,‬‏ ‏‮video,‬‏ ‏‮screenshare,‬‏ ‏‮and‬‏ ‏‮Go‬‏ ‏‮Live.‬‏ - ‏‮Three‬‏ ‏‮speakers‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮Stage‬‏ ‏‮channel‬‏ ‏‮speak‬‏ ‏‮to‬‏ ‏‮five‬‏ ‏‮audience‬‏ ‏‮members,‬‏ ‏‮two‬‏ ‏‮audience‬‏ ‏‮members‬‏ ‏‮have‬‏ ‏‮their‬‏ ‏‮hand‬‏ ‏‮raised‬‏ - ‏‮Get‬‏ ‏‮more‬‏ ‏‮moderation‬‏ ‏‮features‬‏ ‏‮and‬‏ ‏‮audience‬‏ ‏‮controls.‬‏ ‏‮Perfect‬‏ ‏‮for‬‏ ‏‮larger‬‏ ‏‮audio‬‏ ‏‮events.‬‏ - ‏‮Good‬‏ ‏‮for:‬‏ ‏‮$[Q&A,‬‏ ‏‮AMA,‬‏ ‏‮Panel‬‏ ‏‮Discussion](suggestionsHook)‬‏ - ‏‮Q&A‬‏ - ‏‮AMA‬‏ - ‏‮Panel‬‏ - ‏‮Discussion‬‏ - ‏‮Try‬‏ ‏‮using‬‏ ‏‮a‬‏ ‏‮Stage‬‏ ‏‮channel!‬‏ ‏‮So‬‏ ‏‮no‬‏ ‏‮one‬‏ ‏‮gets‬‏ ‏‮lost‬‏ ‏‮on‬‏ ‏‮where‬‏ ‏‮to‬‏ ‏‮go.‬‏ ‏‮Where‬‏ ‏‮is‬‏ ‏‮your‬‏ ‏‮event?‬‏ ‏‮Select‬‏ ‏‮a‬‏ ‏‮channel‬‏ @@ -3320,6 +3319,14 @@ ‏‮Here\'s‬‏ ‏‮a‬‏ ‏‮preview‬‏ ‏‮of‬‏ ‏‮your‬‏ ‏‮event.‬‏ ‏‮Only‬‏ ‏‮members‬‏ ‏‮who‬‏ ‏‮can‬‏ ‏‮view‬‏ ‏‮this‬‏ ‏‮channel‬‏ ‏‮can‬‏ ‏‮see‬‏ ‏‮this‬‏ ‏‮event.‬‏ ‏‮Events‬‏ ‏‮are‬‏ ‏‮limited‬‏ ‏‮to‬‏ ‏‮Stage‬‏ ‏‮channels‬‏ ‏‮for‬‏ ‏‮now.‬‏ ‏‮Please‬‏ ‏‮make‬‏ ‏‮one‬‏ ‏‮to‬‏ ‏‮create‬‏ ‏‮an‬‏ ‏‮event.‬‏ + ‏‮Good‬‏ ‏‮for:‬‏ ‏‮$[Q&A,‬‏ ‏‮AMA,‬‏ ‏‮Panel‬‏ ‏‮Discussion](suggestionsHook)‬‏ + ‏‮Three‬‏ ‏‮speakers‬‏ ‏‮in‬‏ ‏‮a‬‏ ‏‮Stage‬‏ ‏‮channel‬‏ ‏‮speak‬‏ ‏‮to‬‏ ‏‮five‬‏ ‏‮audience‬‏ ‏‮members,‬‏ ‏‮two‬‏ ‏‮audience‬‏ ‏‮members‬‏ ‏‮have‬‏ ‏‮their‬‏ ‏‮hand‬‏ ‏‮raised‬‏ + ‏‮Get‬‏ ‏‮more‬‏ ‏‮moderation‬‏ ‏‮features‬‏ ‏‮and‬‏ ‏‮audience‬‏ ‏‮controls.‬‏ ‏‮Perfect‬‏ ‏‮for‬‏ ‏‮larger‬‏ ‏‮audio‬‏ ‏‮events.‬‏ + ‏‮Q&A‬‏ + ‏‮AMA‬‏ + ‏‮Panel‬‏ + ‏‮Discussion‬‏ + ‏‮Try‬‏ ‏‮using‬‏ ‏‮a‬‏ ‏‮Stage‬‏ ‏‮channel!‬‏ ‏‮Start‬‏ ‏‮Event:‬‏ ‏‮{eventName}‬‏ ‏‮Scheduled‬‏ ‏‮for‬‏ ‏‮{startTime}‬‏ ‏‮Scheduled‬‏ ‏‮at‬‏ ‏‮{startTime}‬‏ @@ -4516,7 +4523,8 @@ ‏‮Easily‬‏ ‏‮find‬‏ ‏‮student-run‬‏ ‏‮servers‬‏ ‏‮for‬‏ ‏‮your‬‏ ‏‮study‬‏ ‏‮groups,‬‏ ‏‮clubs,‬‏ ‏‮game‬‏ ‏‮nights,‬‏ ‏‮and‬‏ ‏‮more.‬‏ ‏‮Are‬‏ ‏‮you‬‏ ‏‮a‬‏ ‏‮current‬‏ ‏‮student?‬‏ ‏‮Join‬‏ ‏‮the‬‏ ‏‮Student‬‏ ‏‮Hub‬‏ ‏‮for‬‏ ‏‮your‬‏ ‏‮school!‬‏ ‏‮Join‬‏ ‏‮Hub‬‏ - ‏‮Get‬‏ ‏‮access‬‏ ‏‮to‬‏ ‏‮student-only‬‏ ‏‮hubs‬‏ + ‏‮Join‬‏ ‏‮for‬‏ ‏‮exclusive‬‏ ‏‮access‬‏ ‏‮to‬‏ ‏‮student-run‬‏ ‏‮study‬‏ ‏‮groups,‬‏ ‏‮clubs,‬‏ ‏‮game‬‏ ‏‮nights,‬‏ ‏‮and‬‏ ‏‮more.‬‏ + ‏‮Find‬‏ ‏‮your‬‏ ‏‮classmates‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮Student‬‏ ‏‮Hub‬‏ ‏‮for‬‏ ‏‮your‬‏ ‏‮school‬‏ ‏‮The‬‏ ‏‮Hub‬‏ ‏‮for‬‏ ‏‮your‬‏ ‏‮school‬‏ ‏‮isn\'t‬‏ ‏‮live‬‏ ‏‮yet.‬‏ ‏‮Enter‬‏ ‏‮your‬‏ ‏‮school\'s‬‏ ‏‮name‬‏ ‏‮and‬‏ ‏‮we\'ll‬‏ ‏‮let‬‏ ‏‮you‬‏ ‏‮know‬‏ ‏‮when‬‏ ‏‮it‬‏ ‏‮is!‬‏ ‏‮Join‬‏ ‏‮the‬‏ ‏‮waitlist‬‏ ‏‮School‬‏ ‏‮Name‬‏ @@ -4524,7 +4532,7 @@ ‏‮An‬‏ ‏‮exclusive‬‏ ‏‮place‬‏ ‏‮to‬‏ ‏‮connect‬‏ ‏‮with‬‏ ‏‮students,‬‏ ‏‮discover‬‏ ‏‮servers,‬‏ ‏‮and‬‏ ‏‮share‬‏ ‏‮your‬‏ ‏‮own‬‏ ‏‮servers‬‏ ‏‮for‬‏ ‏‮students‬‏ ‏‮to‬‏ ‏‮join.‬‏ ‏‮Hubs‬‏ ‏‮are‬‏ ‏‮not‬‏ ‏‮affiliated‬‏ ‏‮with‬‏ ‏‮or‬‏ ‏‮managed‬‏ ‏‮by‬‏ ‏‮schools.‬‏ ‏‮Servers‬‏ ‏‮in‬‏ ‏‮the‬‏ ‏‮Hub‬‏ ‏‮are‬‏ ‏‮student-run,‬‏ ‏‮but‬‏ ‏‮may‬‏ ‏‮include‬‏ ‏‮non-students.‬‏ ‏‮Student‬‏ ‏‮Hubs‬‏ ‏‮What\'s‬‏ ‏‮a‬‏ ‏‮Student‬‏ ‏‮Hub?‬‏ - ‏‮Enter‬‏ ‏‮Discord‬‏ ‏‮one-time‬‏ ‏‮code‬‏ + ‏‮Enter‬‏ ‏‮Discord‬‏ ‏‮verification‬‏ ‏‮code‬‏ ‏‮If‬‏ ‏‮your‬‏ ‏‮server‬‏ ‏‮is‬‏ ‏‮intended‬‏ ‏‮for‬‏ ‏‮students‬‏ ‏‮only,‬‏ ‏‮just‬‏ ‏‮invite‬‏ ‏‮your‬‏ ‏‮classmates.‬‏ ‏‮They‬‏ ‏‮don\'t‬‏ ‏‮need‬‏ ‏‮a‬‏ ‏‮.edu‬‏ ‏‮address‬‏ ‏‮to‬‏ ‏‮join‬‏ ‏‮Remove‬‏ ‏‮from‬‏ ‏‮Hub‬‏ ‏‮Are‬‏ ‏‮you‬‏ ‏‮sure‬‏ ‏‮you‬‏ ‏‮want‬‏ ‏‮to‬‏ ‏‮remove‬‏ ‏‮!!‬‏‏‮{guildName}‬‏‏‮!!‬‏ ‏‮from‬‏ ‏‮this‬‏ ‏‮Student‬‏ ‏‮Hub?‬‏ @@ -5683,8 +5691,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‬‏ @@ -6866,6 +6874,8 @@ ‏‮{planName}‬‏ ‏‮Adjustment‬‏ ‏‮See‬‏ ‏‮subscription‬‏ ‏‮and‬‏ ‏‮auto-renewal‬‏ ‏‮details‬‏ ‏‮below‬‏ ‏‮By‬‏ ‏‮purchasing‬‏ ‏‮a‬‏ ‏‮Nitro‬‏ ‏‮subscription,‬‏ ‏‮you‬‏ ‏‮agree‬‏ ‏‮to‬‏ ‏‮our‬‏ ‏‮[Terms‬‏ ‏‮of‬‏ ‏‮Service](‬‏‏‮{termsURL}‬‏‏‮)‬‏ ‏‮and‬‏ ‏‮[Privacy‬‏ ‏‮Policy](‬‏‏‮{privacyURL}‬‏‏‮).‬‏ ‏‮Payment‬‏ ‏‮will‬‏ ‏‮be‬‏ ‏‮charged‬‏ ‏‮to‬‏ ‏‮your‬‏ ‏‮Apple‬‏ ‏‮ID‬‏ ‏‮account‬‏ ‏‮at‬‏ ‏‮the‬‏ ‏‮confirmation‬‏ ‏‮of‬‏ ‏‮purchase.‬‏ ‏‮Subscription‬‏ ‏‮automatically‬‏ ‏‮renews‬‏ ‏‮unless‬‏ ‏‮it‬‏ ‏‮is‬‏ ‏‮canceled‬‏ ‏‮at‬‏ ‏‮least‬‏ ‏‮24‬‏ ‏‮hours‬‏ ‏‮before‬‏ ‏‮the‬‏ ‏‮end‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮current‬‏ ‏‮period.‬‏ ‏‮Your‬‏ ‏‮account‬‏ ‏‮will‬‏ ‏‮be‬‏ ‏‮charged‬‏ ‏‮for‬‏ ‏‮renewal‬‏ ‏‮within‬‏ ‏‮24‬‏ ‏‮hours‬‏ ‏‮prior‬‏ ‏‮to‬‏ ‏‮the‬‏ ‏‮end‬‏ ‏‮of‬‏ ‏‮the‬‏ ‏‮current‬‏ ‏‮period.‬‏ ‏‮You‬‏ ‏‮can‬‏ ‏‮manage‬‏ ‏‮and‬‏ ‏‮cancel‬‏ ‏‮your‬‏ ‏‮subscriptions‬‏ ‏‮by‬‏ ‏‮going‬‏ ‏‮to‬‏ ‏‮your‬‏ ‏‮account‬‏ ‏‮settings‬‏ ‏‮on‬‏ ‏‮the‬‏ ‏‮App‬‏ ‏‮Store‬‏ ‏‮after‬‏ ‏‮purchase.‬‏ + ‏‮Learn‬‏ ‏‮More‬‏ + ‏‮Reactivate‬‏ ‏‮Nitro‬‏ ‏‮to‬‏ ‏‮regain‬‏ ‏‮access‬‏ ‏‮to‬‏ ‏‮larger‬‏ ‏‮file‬‏ ‏‮uploads,‬‏ ‏‮animated‬‏ ‏‮avatars‬‏ ‏‮&‬‏ ‏‮more.‬‏ ‏‮Any‬‏ ‏‮eligible‬‏ ‏‮subscription‬‏ ‏‮credit‬‏ ‏‮will‬‏ ‏‮be‬‏ ‏‮applied‬‏ ‏‮until‬‏ ‏‮it‬‏ ‏‮runs‬‏ ‏‮out.‬‏ ‏‮Your‬‏ ‏‮subscription‬‏ ‏‮will‬‏ ‏‮renew‬‏ ‏‮for‬‏ ‏‮**‬‏‏‮{rate}‬‏‏‮**‬‏ ‏‮on‬‏ ‏‮**‬‏‏‮{renewalDate}‬‏‏‮**.‬‏ ‏‮Have‬‏ ‏‮questions?‬‏ ‏‮[Contact‬‏ ‏‮our‬‏ ‏‮support‬‏ ‏‮team](‬‏‏‮{contactLink}‬‏‏‮)‬‏ ‏‮or‬‏ ‏‮[check‬‏ ‏‮out‬‏ ‏‮our‬‏ ‏‮subscription‬‏ ‏‮FAQ](‬‏‏‮{helpdeskArticle}‬‏‏‮).‬‏ ‏‮Your‬‏ ‏‮free‬‏ ‏‮month‬‏ ‏‮credit‬‏ ‏‮will‬‏ ‏‮be‬‏ ‏‮applied‬‏ ‏‮until‬‏ ‏‮it‬‏ ‏‮runs‬‏ ‏‮out,‬‏ ‏‮and‬‏ ‏‮we\'ll‬‏ ‏‮send‬‏ ‏‮you‬‏ ‏‮a‬‏ ‏‮reminder‬‏ ‏‮email‬‏ ‏‮**‬‏‏‮{days}‬‏‏‮**‬‏ ‏‮before‬‏ ‏‮your‬‏ ‏‮free‬‏ ‏‮period‬‏ ‏‮ends.‬‏ ‏‮Have‬‏ ‏‮questions?‬‏ ‏‮[Check‬‏ ‏‮out‬‏ ‏‮our‬‏ ‏‮offer‬‏ ‏‮FAQ](‬‏‏‮{helpdeskArticle}‬‏‏‮)‬‏ ‏‮or‬‏ ‏‮[contact‬‏ ‏‮our‬‏ ‏‮support‬‏ ‏‮team](‬‏‏‮{contactLink}‬‏‏‮).‬‏ ‏‮Hold‬‏ ‏‮up!‬‏ ‏‮You‬‏ ‏‮need‬‏ ‏‮Nitro‬‏ ‏‮to‬‏ ‏‮get‬‏ ‏‮this‬‏ ‏‮loot.‬‏ @@ -7437,6 +7447,8 @@ ‏‮Allows‬‏ ‏‮members‬‏ ‏‮to‬‏ ‏‮add‬‏ ‏‮or‬‏ ‏‮remove‬‏ ‏‮custom‬‏ ‏‮emojis‬‏ ‏‮and‬‏ ‏‮stickers‬‏ ‏‮in‬‏ ‏‮this‬‏ ‏‮server.‬‏ ‏‮Allows‬‏ ‏‮members‬‏ ‏‮to‬‏ ‏‮add‬‏ ‏‮or‬‏ ‏‮remove‬‏ ‏‮custom‬‏ ‏‮emojis‬‏ ‏‮in‬‏ ‏‮this‬‏ ‏‮server.‬‏ ‏‮Allows‬‏ ‏‮members‬‏ ‏‮to‬‏ ‏‮create,‬‏ ‏‮edit,‬‏ ‏‮and‬‏ ‏‮delete‬‏ ‏‮events.‬‏ + ‏‮Allows‬‏ ‏‮members‬‏ ‏‮to‬‏ ‏‮create,‬‏ ‏‮edit,‬‏ ‏‮and‬‏ ‏‮delete‬‏ ‏‮events‬‏ ‏‮in‬‏ ‏‮these‬‏ ‏‮channels.‬‏ + ‏‮Allows‬‏ ‏‮members‬‏ ‏‮to‬‏ ‏‮create,‬‏ ‏‮edit,‬‏ ‏‮and‬‏ ‏‮delete‬‏ ‏‮events‬‏ ‏‮in‬‏ ‏‮this‬‏ ‏‮channel.‬‏ ‏‮Allows‬‏ ‏‮members‬‏ ‏‮to‬‏ ‏‮delete‬‏ ‏‮messages‬‏ ‏‮by‬‏ ‏‮other‬‏ ‏‮members‬‏ ‏‮or‬‏ ‏‮pin‬‏ ‏‮any‬‏ ‏‮message.‬‏ ‏‮Allows‬‏ ‏‮members‬‏ ‏‮to‬‏ ‏‮delete‬‏ ‏‮messages‬‏ ‏‮by‬‏ ‏‮other‬‏ ‏‮members‬‏ ‏‮or‬‏ ‏‮pin‬‏ ‏‮any‬‏ ‏‮message‬‏ ‏‮in‬‏ ‏‮this‬‏ ‏‮channel.‬‏ ‏‮They‬‏ ‏‮can‬‏ ‏‮also‬‏ ‏‮publish‬‏ ‏‮messages‬‏ ‏‮by‬‏ ‏‮other‬‏ ‏‮members‬‏ ‏‮to‬‏ ‏‮all‬‏ ‏‮servers‬‏ ‏‮that‬‏ ‏‮follow‬‏ ‏‮this‬‏ ‏‮[Announcement‬‏ ‏‮Channel](‬‏‏‮{articleURL}‬‏‏‮).‬‏ ‏‮Allows‬‏ ‏‮members‬‏ ‏‮to‬‏ ‏‮delete‬‏ ‏‮messages‬‏ ‏‮by‬‏ ‏‮other‬‏ ‏‮members‬‏ ‏‮or‬‏ ‏‮pin‬‏ ‏‮any‬‏ ‏‮message‬‏ ‏‮in‬‏ ‏‮these‬‏ ‏‮channels.‬‏ diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml index 093809239c..a2633f223b 100644 --- a/app/src/main/res/values-bg/strings.xml +++ b/app/src/main/res/values-bg/strings.xml @@ -3076,13 +3076,6 @@ Въвеждане на местоположение На друго място Присъствай чрез глас, видео, споделяне на екрана или с Go Live. - Трима говорители в канал на сцена говорят на петима членове от публиката, двама от членовете са вдигнали ръка - Каналите сцена са направени специално за аудио събития на общността с $[вградени инструменти за модериране](moderationHook), като $[вдигане на ръка](handRaiseHook) и $[заглушаване на публиката по подразбиране.](audienceHook) - Подходящо за: $[въпроси и отговори, събития тип „питай каквото искаш“, дискусии в екип](suggestionsHook) - Въпроси и отговори - „Питай каквото искаш“ - Дискусии в екип - Опитай да използваш канал сцена! За да не се загуби някой по пътя. Къде е събитието ти? Избери канал diff --git a/app/src/main/res/values-cs/strings.xml b/app/src/main/res/values-cs/strings.xml index c26a809a60..efe9b65dca 100644 --- a/app/src/main/res/values-cs/strings.xml +++ b/app/src/main/res/values-cs/strings.xml @@ -3082,13 +3082,6 @@ Zadat umístění Někde jinde Bav se díky hlasové komunikaci, videu, sdílení obrazovky a streamování Go Live. - Tři řečníci mluví v řečnickém kanálu před publikem pěti lidí, dva členové publika mají zvednutou ruku - Řečnické kanály jsou vytvořené přímo pro komunitní audio událost a mají $[integrované nástroje pro moderování](moderationHook), jako třeba $[hlášení](handRaiseHook) nebo $[ve výchozím nastavení ztlumené publikum](audienceHook). - Vhodné pro: $[otázky a odpovědi, AMA, panelové diskuze](suggestionsHook) - Otázky a odpovědi - AMA - Panelová diskuze - Zkus použít řečnický kanál! Aby každý věděl, kam má jít. Kde tvoje událost probíhá? Vybrat kanál diff --git a/app/src/main/res/values-da/strings.xml b/app/src/main/res/values-da/strings.xml index 37e51fc3bb..955c838f89 100644 --- a/app/src/main/res/values-da/strings.xml +++ b/app/src/main/res/values-da/strings.xml @@ -3069,13 +3069,6 @@ Indtast en placering Andetsteds Hæng ud sammen med stemme, video, skærmdeling og Go Live. - Tre talere på en podiekanal taler til fem publikummer, to publikummer har hånden rakt i vejret - Scenekanaler er bygget specielt til lydbegivenheder i communities med $[indbyggede moderationsværktøjer](moderationHook) som $[oprakt hånd](handRaiseHook) og et $[publikum, der er gjort stumme som standard.](audienceHook) - Godt til: $[Q&A og AMA, paneldiskussioner](suggestionsHook) - Spørgsmål og svar (Q&A) - Spørg om hvad som helst (AMA) - Paneldiskussion - Prøv at bruge en podiekanal! Så ingen farer vild. Hvor er dit event? Vælg en kanal diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index f9864ca71f..6b57930a05 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -3087,13 +3087,6 @@ Ort eingeben Irgendwo anders Nutze Videos, Bildschirmübertragung und Go Live, wenn ihr abhängt. - Drei Redner haben fünf Zuhörer im Stage-Kanal, zwei Zuhörer melden sich. - Stage-Kanäle sind für Community-Audio-Events gedacht und bieten $[integrierte Moderationstools](moderationHook) wie $[Hand heben](handRaiseHook) und ein $[automatisch stummgeschaltetes Publikum.](audienceHook) - Geeignet für $[Q&A, AMA, Podiumsdiskussion](suggestionsHook) - Q&A - AMA - Podiumsdiskussion - Probiere es mit einem Stage-Kanal! Damit alle wissen, wo sie hingehen müssen. Wo ist dein Event? Kanal auswählen diff --git a/app/src/main/res/values-el/strings.xml b/app/src/main/res/values-el/strings.xml index ff356ae6fe..3cde4bd515 100644 --- a/app/src/main/res/values-el/strings.xml +++ b/app/src/main/res/values-el/strings.xml @@ -3077,13 +3077,6 @@ Εισαγωγή τοποθεσίας Κάπου αλλού Άραξε με ομιλία, βίντεο, κοινή χρήση οθόνης, και Go Live. - Τρεις ομιλητές σε ένα κανάλι σκηνής μιλούν σε πέντε μέλη στο ακροατήριο, δύο μέλη στο ακροατήριο έχουν σηκώσει το χέρι τους - Τα κανάλια σκηνής είναι ειδικά σχεδιασμένα για ηχητικές εκδηλώσεις κοινότητας, με $[ενσωματωμένα εργαλεία διαχείρισης](moderationHook) όπως το $[σήκωμα χεριού](handRaiseHook) και η $[προεπιλεγμένη σίγαση ακροατηρίου.](audienceHook) - Κατάλληλο για: $[Ε&Α, AMA, Πάνελ ομιλητών](suggestionsHook) - Ε&Α - AMA - Πάνελ ομιλητών - Χρησιμοποίησε ένα κανάλι σκηνής! Για να μη χάνει κανείς τον δρόμο. Πού βρίσκεται η εκδήλωσή σου; Επέλεξε ένα κανάλι diff --git a/app/src/main/res/values-en-rXA/strings.xml b/app/src/main/res/values-en-rXA/strings.xml index aeeea24019..9b1eefe8c8 100644 --- a/app/src/main/res/values-en-rXA/strings.xml +++ b/app/src/main/res/values-en-rXA/strings.xml @@ -272,6 +272,7 @@ [Åļļöŵ one] [Åļļöŵ Ðîŕéçţ Ḿéššåĝéš one two three] [Åñýöñé îñ ţĥé šéŕVéŕ çåñ ḿéššåĝé ýöû one two three four five] + [Åļļöŵ ðîŕéçţ ḿéššåĝéš ƒŕöḿ Ĥûɓ ḿéḿɓéŕš. one two three four five] [Åļļöŵ ðîŕéçţ ḿéššåĝéš ƒŕöḿ šéŕVéŕ ḿéḿɓéŕš. one two three four five] [Åļļöŵ þļåýɓåçķ åñð ûšåĝé öƒ /ţţš çöḿḿåñð one two three four five] [Åļŕéåðý ĥåVé åñ åççöûñţ¿ one two three] @@ -2129,6 +2130,7 @@ [Šöçîåļ & Šţûðý one two] [Ḿåĵöŕš & Šûɓĵéçţš one two three] [Ðîŕéçţöŕý Éñţŕý Åçţîöñš one two three] + [Šéåŕçĥ ƒöŕ ýöûŕ šçĥööļ one two three] [Ţŕý åñöţĥéŕ šéåŕçĥ öŕ €[åðð å šéŕVéŕ](åððŠéŕVéŕĤööķ). one two three four five six] [Ţŕý åñöţĥéŕ šéåŕçĥ öŕ [åðð å šéŕVéŕ](åððŠéŕVéŕĤööķ). one two three four five six] [Ñö ḿåţçĥéš ƒöûñð one two three] @@ -3280,6 +3282,9 @@ [»{date}« åţ »{time}« one] [Åŕé ýöû šûŕé ýöû ŵåñţ ţö ðéļéţé ţĥîš éVéñţ¿ one two three four five] [Ðéļéţé ÉVéñţ¿ one two] + [Ñö, ĵûšţ ðîšçöññéçţ one two three] + [Ýéš, éñð ţĥé éVéñţ one two three] + [Ðö ýöû ŵåñţ ţö åļšö éñð ţĥé éVéñţ¿ one two three four] [»{count}« Îñţéŕéšţéð one two] [»{count}« îñţéŕéšţéð one two] [Ýöû\'ļļ ɓé ñöţîƒîéð ŵĥéñ ţĥé éVéñţ šţåŕţš one two three four five] @@ -3288,6 +3293,8 @@ [Öŕ, šéñð åñ éVéñţ îñVîţé ļîñķ ţö å ƒŕîéñð one two three four five] [ÎñVîţé ƒŕîéñðš ţö éVéñţ one two three] [»{count}« Ļîšţéñîñĝ one two] + [Ýöû ðö ñöţ ĥåVé þéŕḿîššîöñ. one two three four] + [Ţĥéŕé åŕé ñö åVåîļåɓļé çĥåññéļš. one two three four] [Éñţéŕ å ļöçåţîöñ one two three] [Åðð å ļöçåţîöñ, ļîñķ, öŕ šöḿéţĥîñĝ. one two three four] [Šöḿéŵĥéŕé Éļšé one two three] @@ -3295,14 +3302,6 @@ [Ŵĥéŕé ýöû ŵéŕé ŵĥéñ ýöû ðöŵñļöåðéð Ðîšçöŕð one two three four five] [Ĝŕéåţ ƒöŕ ļåŕĝéŕ çöḿḿûñîţý åûðîö éVéñţš. one two three four five] [Ĥåñĝ öûţ ŵîţĥ Vöîçé, Vîðéö, šçŕééñšĥåŕé, åñð Ĝö ĻîVé. one two three four five six seven eight nine ten eleven] - [Ţĥŕéé šþéåķéŕš îñ å Šţåĝé çĥåññéļ šþéåķ ţö ƒîVé åûðîéñçé ḿéḿɓéŕš, ţŵö åûðîéñçé ḿéḿɓéŕš ĥåVé ţĥéîŕ ĥåñð ŕåîšéð one two three four five six seven eight nine ten eleven] - [Ĝéţ ḿöŕé ḿöðéŕåţîöñ ƒéåţûŕéš åñð åûðîéñçé çöñţŕöļš. Þéŕƒéçţ ƒöŕ ļåŕĝéŕ åûðîö éVéñţš. one two three four five six seven eight nine] - [Ĝööð ƒöŕ: €[q&A,Å, ÅḾÅ, Þåñéļ Ðîšçûššîöñ](šûĝĝéšţîöñšĤööķ) one two three four five six seven eight nine ten eleven twelve] - [q&AÅ one] - [ÅḾÅ one] - [Þåñéļ one] - [Ðîšçûššîöñ one two] - [Ţŕý ûšîñĝ å Šţåĝé çĥåññéļ¡ one two three four] [Šö ñö öñé ĝéţš ļöšţ öñ ŵĥéŕé ţö ĝö. one two three four] [Ŵĥéŕé îš ýöûŕ éVéñţ¿ one two three] [Šéļéçţ å çĥåññéļ one two three] @@ -3320,6 +3319,14 @@ [Ĥéŕé\'š å þŕéVîéŵ öƒ ýöûŕ éVéñţ. one two three four] [Öñļý ḿéḿɓéŕš ŵĥö çåñ Vîéŵ ţĥîš çĥåññéļ çåñ šéé ţĥîš éVéñţ. one two three four five six seven] [ÉVéñţš åŕé ļîḿîţéð ţö Šţåĝé çĥåññéļš ƒöŕ ñöŵ. Þļéåšé ḿåķé öñé ţö çŕéåţé åñ éVéñţ. one two three four five six seven eight nine] + [Ĝööð ƒöŕ: €[q&A,Å, ÅḾÅ, Þåñéļ Ðîšçûššîöñ](šûĝĝéšţîöñšĤööķ) one two three four five six seven eight nine ten eleven twelve] + [Ţĥŕéé šþéåķéŕš îñ å Šţåĝé çĥåññéļ šþéåķ ţö ƒîVé åûðîéñçé ḿéḿɓéŕš, ţŵö åûðîéñçé ḿéḿɓéŕš ĥåVé ţĥéîŕ ĥåñð ŕåîšéð one two three four five six seven eight nine ten eleven] + [Ĝéţ ḿöŕé ḿöðéŕåţîöñ ƒéåţûŕéš åñð åûðîéñçé çöñţŕöļš. Þéŕƒéçţ ƒöŕ ļåŕĝéŕ åûðîö éVéñţš. one two three four five six seven eight nine] + [q&AÅ one] + [ÅḾÅ one] + [Þåñéļ one] + [Ðîšçûššîöñ one two] + [Ţŕý ûšîñĝ å Šţåĝé çĥåññéļ¡ one two three four] [Šţåŕţ ÉVéñţ: »{eventName}« one two] [Šçĥéðûļéð ƒöŕ »{startTime}« one two three] [Šçĥéðûļéð åţ »{startTime}« one two] @@ -4516,7 +4523,8 @@ [Éåšîļý ƒîñð šţûðéñţ-ŕûñ šéŕVéŕš ƒöŕ ýöûŕ šţûðý ĝŕöûþš, çļûɓš, ĝåḿé ñîĝĥţš, åñð ḿöŕé. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen] [Åŕé ýöû å çûŕŕéñţ šţûðéñţ¿ Ĵöîñ ţĥé Šţûðéñţ Ĥûɓ ƒöŕ ýöûŕ šçĥööļ¡ one two three four five six seven] [Ĵöîñ Ĥûɓ one two] - [Ĝéţ åççéšš ţö šţûðéñţ-öñļý ĥûɓš one two three four] + [Ĵöîñ ƒöŕ éхçļûšîVé åççéšš ţö šţûðéñţ-ŕûñ šţûðý ĝŕöûþš, çļûɓš, ĝåḿé ñîĝĥţš, åñð ḿöŕé. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen] + [Fîñð ýöûŕ çļåššḿåţéš îñ ţĥé Šţûðéñţ Ĥûɓ ƒöŕ ýöûŕ šçĥööļ one two three four five six seven] [Ţĥé Ĥûɓ ƒöŕ ýöûŕ šçĥööļ îšñ\'ţ ļîVé ýéţ. Éñţéŕ ýöûŕ šçĥööļ\'š ñåḿé åñð ŵé\'ļļ ļéţ ýöû ķñöŵ ŵĥéñ îţ îš¡ one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen] [Ĵöîñ ţĥé ŵåîţļîšţ one two three] [Šçĥööļ Ñåḿé one two] @@ -4524,7 +4532,7 @@ [Åñ éхçļûšîVé þļåçé ţö çöññéçţ ŵîţĥ šţûðéñţš, ðîšçöVéŕ šéŕVéŕš, åñð šĥåŕé ýöûŕ öŵñ šéŕVéŕš ƒöŕ šţûðéñţš ţö ĵöîñ. Ĥûɓš åŕé ñöţ 僃îļîåţéð ŵîţĥ öŕ ḿåñåĝéð ɓý šçĥööļš. ŠéŕVéŕš îñ ţĥé Ĥûɓ åŕé šţûðéñţ-ŕûñ, ɓûţ ḿåý îñçļûðé ñöñ-šţûðéñţš. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen] [Šţûðéñţ Ĥûɓš one two] [Ŵĥåţ\'š å Šţûðéñţ Ĥûɓ¿ one two three] - [Éñţéŕ Ðîšçöŕð öñé-ţîḿé çöðé one two three four] + [Éñţéŕ Ðîšçöŕð Véŕîƒîçåţîöñ çöðé one two three four] [΃ ýöûŕ šéŕVéŕ îš îñţéñðéð ƒöŕ šţûðéñţš öñļý, ĵûšţ îñVîţé ýöûŕ çļåššḿåţéš. Ţĥéý ðöñ\'ţ ñééð å .éðû åððŕéšš ţö ĵöîñ one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen] [ŔéḿöVé ƒŕöḿ Ĥûɓ one two three] [Åŕé ýöû šûŕé ýöû ŵåñţ ţö ŕéḿöVé ¡¡»{guildName}«¡¡ ƒŕöḿ ţĥîš Šţûðéñţ Ĥûɓ¿ one two three four five six seven] @@ -5683,8 +5691,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] @@ -6866,6 +6874,8 @@ [»{planName}« Åðĵûšţḿéñţ one two] [Šéé šûɓšçŕîþţîöñ åñð åûţö-ŕéñéŵåļ ðéţåîļš ɓéļöŵ one two three four five six] [βý þûŕçĥåšîñĝ å Ñîţŕö šûɓšçŕîþţîöñ, ýöû åĝŕéé ţö öûŕ [Ţéŕḿš öƒ ŠéŕVîçé](»{termsURL}«) åñð [ÞŕîVåçý Þöļîçý](»{privacyURL}«). Þåýḿéñţ ŵîļļ ɓé çĥåŕĝéð ţö ýöûŕ Åþþļé ÎÐ åççöûñţ åţ ţĥé çöñƒîŕḿåţîöñ öƒ þûŕçĥåšé. Šûɓšçŕîþţîöñ åûţöḿåţîçåļļý ŕéñéŵš ûñļéšš îţ îš çåñçéļéð åţ ļéåšţ 24 ĥöûŕš ɓéƒöŕé ţĥé éñð öƒ ţĥé çûŕŕéñţ þéŕîöð. Ýöûŕ åççöûñţ ŵîļļ ɓé çĥåŕĝéð ƒöŕ ŕéñéŵåļ ŵîţĥîñ 24 ĥöûŕš þŕîöŕ ţö ţĥé éñð öƒ ţĥé çûŕŕéñţ þéŕîöð. Ýöû çåñ ḿåñåĝé åñð çåñçéļ ýöûŕ šûɓšçŕîþţîöñš ɓý ĝöîñĝ ţö ýöûŕ åççöûñţ šéţţîñĝš öñ ţĥé Åþþ Šţöŕé åƒţéŕ þûŕçĥåšé. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two] + [Ļéåŕñ Ḿöŕé one two] + [ŔéåçţîVåţé Ñîţŕö ţö ŕéĝåîñ åççéšš ţö ļåŕĝéŕ ƒîļé ûþļöåðš, åñîḿåţéð åVåţåŕš & ḿöŕé. one two three four five six seven eight nine] [Åñý éļîĝîɓļé šûɓšçŕîþţîöñ çŕéðîţ ŵîļļ ɓé åþþļîéð ûñţîļ îţ ŕûñš öûţ. Ýöûŕ šûɓšçŕîþţîöñ ŵîļļ ŕéñéŵ ƒöŕ **»{rate}«** öñ **»{renewalDate}«**. ĤåVé Qûéšţîöñš¿ [Çöñţåçţ öûŕ šûþþöŕţ ţéåḿ](»{contactLink}«) öŕ [çĥéçķ öûţ öûŕ šûɓšçŕîþţîöñ FÅq](»{helpdeskArticle}«). one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen fourteen] [Ýöûŕ ƒŕéé ḿöñţĥ çŕéðîţ ŵîļļ ɓé åþþļîéð ûñţîļ îţ ŕûñš öûţ, åñð ŵé\'ļļ šéñð ýöû å ŕéḿîñðéŕ éḿåîļ **»{days}«** ɓéƒöŕé ýöûŕ ƒŕéé þéŕîöð éñðš. ĤåVé Qûéšţîöñš¿ [Çĥéçķ öûţ öûŕ öƒƒéŕ FÅq](»{helpdeskArticle}«) öŕ [çöñţåçţ öûŕ šûþþöŕţ ţéåḿ](»{contactLink}«). one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen] [Ĥöļð ûþ¡ Ýöû ñééð Ñîţŕö ţö ĝéţ ţĥîš ļööţ. one two three four five] @@ -7437,6 +7447,8 @@ [Åļļöŵš ḿéḿɓéŕš ţö åðð öŕ ŕéḿöVé çûšţöḿ éḿöĵîš åñð šţîçķéŕš îñ ţĥîš šéŕVéŕ. one two three four five six seven eight] [Åļļöŵš ḿéḿɓéŕš ţö åðð öŕ ŕéḿöVé çûšţöḿ éḿöĵîš îñ ţĥîš šéŕVéŕ. one two three four five six seven] [Åļļöŵš ḿéḿɓéŕš ţö çŕéåţé, éðîţ, åñð ðéļéţé éVéñţš. one two three four five six] + [Åļļöŵš ḿéḿɓéŕš ţö çŕéåţé, éðîţ, åñð ðéļéţé éVéñţš îñ ţĥéšé çĥåññéļš. one two three four five six seven eight] + [Åļļöŵš ḿéḿɓéŕš ţö çŕéåţé, éðîţ, åñð ðéļéţé éVéñţš îñ ţĥîš çĥåññéļ. one two three four five six seven eight] [Åļļöŵš ḿéḿɓéŕš ţö ðéļéţé ḿéššåĝéš ɓý öţĥéŕ ḿéḿɓéŕš öŕ þîñ åñý ḿéššåĝé. one two three four five six seven eight] [Åļļöŵš ḿéḿɓéŕš ţö ðéļéţé ḿéššåĝéš ɓý öţĥéŕ ḿéḿɓéŕš öŕ þîñ åñý ḿéššåĝé îñ ţĥîš çĥåññéļ. Ţĥéý çåñ åļšö þûɓļîšĥ ḿéššåĝéš ɓý öţĥéŕ ḿéḿɓéŕš ţö åļļ šéŕVéŕš ţĥåţ ƒöļļöŵ ţĥîš [Åññöûñçéḿéñţ Çĥåññéļ](»{articleURL}«). one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four five six seven eight nine ten eleven twelve thirteen] [Åļļöŵš ḿéḿɓéŕš ţö ðéļéţé ḿéššåĝéš ɓý öţĥéŕ ḿéḿɓéŕš öŕ þîñ åñý ḿéššåĝé îñ ţĥéšé çĥåññéļš. one two three four five six seven eight nine ten] diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml index a016068cb8..c974328f24 100644 --- a/app/src/main/res/values-es-rES/strings.xml +++ b/app/src/main/res/values-es-rES/strings.xml @@ -2976,13 +2976,6 @@ Introducir una ubicación Otro lugar Diviértete con voz, vídeo, compartir pantalla y Go Live. - Tres oradores en un canal de escenario hablan con cinco miembros de la audiencia, dos personas de la audiencia tienen la mano levantada - Los canales de escenario se han creado específicamente para los eventos de audio de comunidades, con $[herramientas de moderación integradas](moderationHook) como $[levantar la mano](handRaiseHook) y $[silenciar al público por defecto](audienceHook). - Ideal para: $[preguntas y respuestas, sesión de preguntas, mesa redonda](suggestionsHook) - Preguntas y respuestas - Sesión de preguntas - Mesa redonda - ¡Prueba con un canal de escenario! Para que nadie se pierda por el camino. ¿Dónde es tu evento? Selecciona un canal diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml index a0d16cdd7d..c240df1447 100644 --- a/app/src/main/res/values-fi/strings.xml +++ b/app/src/main/res/values-fi/strings.xml @@ -3077,13 +3077,6 @@ Anna sijainti Jossakin muualla Hengaile yhdessä käyttämällä ääni- ja videokeskusteluja, ruudunjakoa ja Go Live ‑striimausta. - Kolme puhujaa puhuu esityskanavalla viiden jäsenen suuruiselle yleisölle, joista kaksi on nostanut kättään - Esityskanavat sopivat erityisen hyvin yhteisön äänitapahtumien järjestämistä varten. Niistä löytyy $[valmiina hyödyllisiä valvontatyökaluja](moderationHook), kuten $[käden nostotoiminto](handRaiseHook) ja $[yleisön oletusarvoinen mykistäminen](audienceHook). - Hyviä käyttökohteita: $[kysymyssessiot, AMA-sessiot ja paneelikeskustelut](suggestionsHook) - Kysymyssessio - AMA-kysymyssessio - Paneelikeskustelu - Kokeile esityskanavaa! Jotta kaikki löytävät perille. Missä tapahtumasi järjestetään? Valitse kanava diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 0704a6a8d5..b18c7b303d 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -3082,13 +3082,6 @@ Saisis un emplacement Ailleurs Rejoins tes ami(e)s en vocal, vidéo, partage d\'écran et Go Live. - Trois orateurs dans un salon de conférence parlent à cinq spectateurs, deux autres membres du public ont la main levée - Les salons de conférence sont conçus spécifiquement pour les événements audio communautaires, avec des $[outils de modération intégrés](moderationHook) comme $[lever la main](handRaiseHook) et $[rendre muet le public par défaut.](audienceHook) - Adapté aux : $[questions-réponses, FAQ, présentations orales](suggestionsHook) - Questions-réponses - FAQ - Présentation orale - Essaie d\'utiliser un salon de conférence ! Ainsi, personne ne se perd en chemin. Où se trouve ton événement ? Sélectionne un salon diff --git a/app/src/main/res/values-hi/strings.xml b/app/src/main/res/values-hi/strings.xml index 30fb239ce9..4d1373d602 100644 --- a/app/src/main/res/values-hi/strings.xml +++ b/app/src/main/res/values-hi/strings.xml @@ -3077,13 +3077,6 @@ कोई लोकेशन डालें कहीं दूसरी जगह वॉइस, वीडियो, स्क्रीन शेयर और Go Live के साथ हैंगआउट करें. - किसी स्टेज चैनल में तीन स्पीकर पांच ऑडियंस मेम्बर्स से बात कर रहे हैं, जिनमें से दो ऑडियंस मेम्बर्स ने अपने हाथ उठाए हुए हैं - स्टेज चैनल खासतौर पर $[बिल्ट-इन मॉडरेशन टूल](moderationHook) जैसे $[हैंड रेज](handRaiseHook) और $[डिफ़ॉल्ट तौर पर ऑडियंस को म्यूट करना](audienceHook) के साथ कम्युनिटी ऑडियो इवेंट्स के लिए तैयार किए गए हैं. - इसके लिए अच्छा है: $[Q&A, AMA, पैनल डिस्कशन](suggestionsHook) - Q&A - AMA - पैनल डिस्कशन - स्टेज चैनल का इस्तेमाल करके देखें! ताकि कोई भी रास्ता न भूले कि कहां जाना है. आपका इवेंट कहां पर है? चैनल को सलेक्ट करें diff --git a/app/src/main/res/values-hr/strings.xml b/app/src/main/res/values-hr/strings.xml index c38377d82c..a071476c26 100644 --- a/app/src/main/res/values-hr/strings.xml +++ b/app/src/main/res/values-hr/strings.xml @@ -3077,13 +3077,6 @@ Unesi lokaciju Negdje drugdje Provodite vrijeme skupa uz glas, sliku, dijeljenje zaslona i Go Live. - Tri govornika na kanalu s pozornicom razgovaraju s pet članova publike, a dva člana publike imaju podignute ruke - Kanali s pozornicom koncipirani su upravo tako da odgovaraju audio događajima zajednice jer imaju $[ugrađene alate za moderiranje](moderationHook) kao što je $[dizanje ruke](handRaiseHook) i $[publika je „po defaultu“ utišana.](audienceHook) - Dobro za: $[Pitanja & odgovore, AMA, okrugle stolove ](suggestionsHook) - Pitanja & odgovori - AMA - Okrugli stol - Pokušaj upotrijebiti kanal s pozornicom! Zato da se nitko ne zagubi u dolasku. Gdje je tvoj događaj? Odaberi kanal diff --git a/app/src/main/res/values-hu/strings.xml b/app/src/main/res/values-hu/strings.xml index edc3086159..a90c444457 100644 --- a/app/src/main/res/values-hu/strings.xml +++ b/app/src/main/res/values-hu/strings.xml @@ -3077,13 +3077,6 @@ Adj meg egy helyszínt Valahol máshol Lógjatok együtt hanggal, videóval, képernyőmegosztással és Go Live közvetítéssel! - Egy pódiumcsatornán három beszélő beszél öt tagú közönségének, a közönség két tagja feltartja a kezét - A pódiumcsatornák kifejezetten a közösség hangos eseményeihez készültek, $[beépített moderációs eszközökkel](moderationHook), mint a $[kézfelemelés](handRaiseHook) és az $[alapértelmezetten némított közönség.](audienceHook) - Jól jön a következőknél: $[Kérdezz-felelek, AMA, vitafórum](suggestionsHook) - Kérdezz-felelek - AMA - Vitafórum - Próbáld ki a pódiumcsatornát! Így mindenki tudni fogja, hová kell menni. Hol van az eseményed? Válassz csatornát diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 9068557227..ba931e70e6 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -3082,13 +3082,6 @@ Inserisci una posizione Da qualche altra parte Passa il tempo con chat vocale, video, condivisione schermo e streaming Go Live. - Tre relatori in una sala conferenze parlano a cinque pubblici diversi, due membri del pubblico hanno la mano alzata - Le sale conferenze sono pensate specialmente per gli eventi audio delle community, con $[strumenti di moderazione integrati](moderationHook) come l\'$[alzata di mano](handRaiseHook) e il $[silenziamento automatico del pubblico](audienceHook). - Ottimo per: $[D&R, AMA, dibattito](suggestionsHook) - D&R - AMA - Dibattito - Prova a usare una sala conferenze! Così nessuno si perde e non sa dove andare. Dov\'è il tuo evento? Seleziona un canale diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index 1e54be774e..6d0b49baf7 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -3087,13 +3087,6 @@ 場所を入力してください 他の場所 ボイスチャット、ビデオチャット、画面共有、Go Live で楽しみましょう。 - ステージチャンネルで 3 名のスピーカーが 5 名のオーディエンスに向かって話している。オーディエンスのうち 2 人が手を挙げている - ステージチャンネルはコミュニティ内のオーディオイベント専用チャンネルです。$[挙手](handRaiseHook)機能があったり、$[デフォルトでオーディエンスをミュート](audienceHook)できたり、便利な$[管理ツールを組み込み済み](moderationHook)です! - おすすめの使い方:$[Q&A、「○○だけど質問ある?」、パネルディスカッション](suggestionsHook) - Q&A - 「○○だけど質問ある?」 - パネルディスカッション - ステージチャンネルを使ってみよう! 迷子が出ないように注意です。 イベントはどこで行われますか? チャンネルを選択 diff --git a/app/src/main/res/values-ko/strings.xml b/app/src/main/res/values-ko/strings.xml index f80a86fb05..58884d6270 100644 --- a/app/src/main/res/values-ko/strings.xml +++ b/app/src/main/res/values-ko/strings.xml @@ -3082,13 +3082,6 @@ 위치 입력하기 다른 곳 음성, 영상, 화면 공유, Go Live로 즐거운 시간을 보내세요. - 무대 채널에서 3명이 청취자 멤버 5명에게 말하고 있고, 청취자 멤버 2명이 손을 들었어요 - 무대 채널은 특히 커뮤니티 음성 이벤트에 적합해요. 기본적으로 $[손들기](handRaiseHook)와 $[청취자 음소거](audienceHook)와 같은 $[관리 도구가](moderationHook) 있답니다. - 적합한 이벤트: $[질의응답, 무엇이든 물어보세요, 게스트 토크](suggestionsHook) - 질의응답 - 무엇이든 물어보세요 - 게스트 토크 - 무대 채널을 이용해보세요! 아무도 어디인지 헤매지 않게 해주세요. 이벤트의 위치가 어디인가요? 채널 선택하기 diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index 0520ba1683..3c34b70e19 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -3077,13 +3077,6 @@ Įvesti vietą Kažkur kitur Leiskite laiką drauge su balso ir vaizdo pokalbiais, ekrano bendrinimu ir Go Live transliacijomis. - Du iš kalbančiųjų scenos kanale kreipiasi į penkis auditorijos narius, du auditorijos nariai pakėlę rankas - Scenos kanalai sukurti specialiai bendruomenių garso renginiams. Juose $[prieinami moderavimo įrankiai](moderationHook) kaip $[rankos pakėlimas](handRaiseHook), o $[auditorija – pagal nutylėjimą nutildyta.](audienceHook) - Pritaikyta $[klausimų ir atsakymų (Q&A), „Klausk manęs bet ko“ (AMA) renginiams ir viešoms diskusijoms](suggestionsHook) - Klausimai ir atsakymai (Q&A) - „Klausk manęs bet ko“ (AMA) - Viešos diskusijos - Pabandyk naudoti scenos kanalą! Kad niekas nepaklystų beieškodami. Kur tavo renginys vyks? Pasirink kanalą diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index bbf2d60b39..aa859f8018 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -3082,13 +3082,6 @@ Locatie invoeren Ergens anders Chil met spraak, video, schermdelen en Go Live. - Drie sprekers op een podiumkanaal praten met vijf leden uit het publiek, twee publieksleden hebben hun hand opgestoken - Podiumkanalen zijn speciaal gemaakt voor audio-evenementen van de community, met $[ingebouwde moderatietools](moderationHook) zoals $[hand opsteken](handRaiseHook) en een $[standaard gedempt publiek.](audienceHook) - Goed voor: $[Q&A, Ask Me Anything, Panelgesprek](suggestionsHook) - Q&A - Ask Me Anything - Panelgesprek - Probeer een podiumkanaal! Zodat niemand de weg kwijtraakt. Waar bevindt je evenement zich? Selecteer een kanaal diff --git a/app/src/main/res/values-no/strings.xml b/app/src/main/res/values-no/strings.xml index e0f2f11ce0..77f41c3302 100644 --- a/app/src/main/res/values-no/strings.xml +++ b/app/src/main/res/values-no/strings.xml @@ -2971,13 +2971,6 @@ Angi et sted Et annet sted Vær sammen gjennom video, skjermdeling og Go Live. - Tre talere i en scenekanal snakker til fem tilhørere. To av tilhørerne har rakt opp hånden. - Scenekanaler er laget spesielt for lydeventer for fellesskap og har $[innebygde modereringsverktøy](moderationHook) som $[å rekke opp hånden](handRaiseHook) og å $[dempe publikum som standard.](audienceHook) - Passer for: $[spørsmålsrunder, AMA, paneldebatter](suggestionsHook) - Spørsmålsrunde - AMA - Paneldebatt - Prøv å bruke en scenekanal! Sånn at ingen går seg vill når de prøver å finne frem. Hvor foregår eventen? Velg en kanal diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index aea97218f5..468c9843fe 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -3086,13 +3086,6 @@ Podaj lokalizację Gdzieś indziej Spotkania z dźwiękiem, obrazem, współdzielenie ekranów i Go Live. - Trzech mówców na kanale podium przemawia do pięciu osób z widowni, dwie osoby z widowni podnoszą rękę - Kanały podium zostały stworzone z myślą o wydarzeniach audio i mają $[wbudowane narzędzia do moderacji](moderationHook), takie jak $[zgłaszanie się do wypowiedzi](handRaiseHook) czy $[domyślne wyciszenie uczestników](audienceHook). - Dobre do typów wydarzeń: $[pytania i odpowiedzi, zapytaj mnie o cokolwiek, panele dyskusyjne](suggestionsHook) - Pytania i odpowiedzi - Zapytaj mnie o cokolwiek - Panel dyskusyjny - Spróbuj użyć kanału podium! Aby nikt się nie pogubił. Gdzie odbywa się Twoje wydarzenie? Wybierz kanał diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 43639dfbb0..16f526082c 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -3031,13 +3031,6 @@ Insira uma localização Em outro lugar Encontrem-se com voz, vídeo, compartilhamento de tela e Go Live. - Três oradores em um canal palco estão falando para cinco pessoas na plateia, dois membros da audiência estão com a mão erguida - Os canais palco foram construídos especificamente para eventos de áudio da comunidade, com $[ferramentas de moderação integradas](moderationHook), $[como levantar a mão](handRaiseHook) e a função padrão $[plateia silenciada.](audienceHook) - Bom para: $[P&R, AMA, Painéis de Discussão](suggestionsHook) - P&R - AMA - Painéis de Discussão - Tente usar um canal palco! Para ninguém ficar perdido e saber aonde ir. Onde é seu evento? Selecione um canal diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml index 784f8bbf1d..f23d7b1528 100644 --- a/app/src/main/res/values-ro/strings.xml +++ b/app/src/main/res/values-ro/strings.xml @@ -3077,13 +3077,6 @@ Introdu o locație Altundeva Stai de vorbă audio, pornește-ți camera, partajează-ți ecranul sau profită de Go Live. - Trei vorbitori dintr-un canal podium vorbesc cu un public de cinci persoane, iar doi ascultători au ridicat mâna - Canalele podium au fost create special pentru evenimentele audio ale comunității și au $[instrumente de moderare integrate](moderationHook), cum ar fi $[ridicarea mâinii](handRaiseHook) și $[oprirea implicită a microfonului membrilor din public.](audienceHook) - Perfect pentru: $[Întrebări și răspunsuri, Întreabă orice, Discuții în grup](suggestionsHook) - Întrebări și răspunsuri - Întreabă orice - Discuție în grup - Folosește un canal podium! Ca să nu se piardă nimeni pe drum. Unde se ține evenimentul tău? Alege un canal diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 1d89d54954..ef37855dc5 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -3086,13 +3086,6 @@ Укажите место В другом месте Голос, видео, показ экрана и стриминг Go Live. - Три выступающих на трибуне говорят для пяти участников аудитории, два слушателя подняли руки - Трибуны созданы специально для голосовых событий сообщества и снабжены $[встроенными инструментами модерации](moderationHook), такими как $[поднятие руки](handRaiseHook) и $[отключение микрофонов у слушателей по умолчанию.](audienceHook) - Подойдёт для: $[интервью, ответов на вопросы, круглых столов](suggestionsHook) - Ответы на вопросы - Интервью - Круглый стол - Попробуйте использовать трибуну! Чтобы все знали, где его искать. Где пройдёт ваше событие? Выбрать канал diff --git a/app/src/main/res/values-sv-rSE/strings.xml b/app/src/main/res/values-sv-rSE/strings.xml index 2a0ba4286e..c6bfef9abf 100644 --- a/app/src/main/res/values-sv-rSE/strings.xml +++ b/app/src/main/res/values-sv-rSE/strings.xml @@ -2976,13 +2976,6 @@ Ange en plats Någon annanstans Umgås via röst, video, skärmdelning och Go Live. - Tre talare i en podiekanal talar till fem medlemmar i publiken. Två medlemmar har sina händer uppräckta - Podiekanaler är specialgjorda för community-ljudevent, med $[inbyggda modereringsverktyg](moderationHook) som $[uppräckt hand](handRaiseHook) och $[publiken tystad som standard.](audienceHook) - Bra för: $[Frågor och svar, frågestunder, paneldiskussion](suggestionsHook) - Frågor och svar - Frågestund - Paneldiskussion - Testa att använda en podiekanal! Så att alla vet var de ska. Var hålls ditt event? Välj en kanal diff --git a/app/src/main/res/values-th/strings.xml b/app/src/main/res/values-th/strings.xml index cf7a8df749..aed2ffcbe6 100644 --- a/app/src/main/res/values-th/strings.xml +++ b/app/src/main/res/values-th/strings.xml @@ -3077,13 +3077,6 @@ ป้อนตำแหน่ง ที่อื่น สังสรรค์กันด้วยเสียง วิดีโอ การแบ่งปันหน้าจอ และ Go Live - ผู้พูดสามคนในช่องเวทีพูดกับสมาชิกผู้ฟังห้าคน สมาชิกผู้ฟังสองคนได้ยกมือขึ้น - ช่องเวทีสร้างขึ้นสำหรับกิจกรรมเสียงในชุมชนโดยเฉพาะ มาพร้อม $[เครื่องมือดูแลในตัว](moderationHook) เช่น $[การยกมือ](handRaiseHook)และ$[การปิดเสียงไมค์ผู้ฟังเป็นค่าเริ่มต้น](audienceHook) - เหมาะสำหรับ: $[กิจกรรมถามตอบ การรับฟังข้อสงสัย การพูดคุยเป็นหมู่คณะ](suggestionsHook) - กิจกรรมถามตอบ - การรับฟังข้อสงสัย - การพูดคุยเป็นหมู่คณะ - ลองใช้ช่องเวที! เพื่อไม่ให้ใครหลงทางว่าจะไปไหน กิจกรรมของคุณจัดขึ้นที่ใด เลือกช่อง diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 97fd19ef74..84ad9081ff 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -3087,13 +3087,6 @@ Bir konum gir Başka Bir Yer Ses, video, ekran paylaşımı ve Go Live ile zaman geçir. - Sahne kanalında üç konuşmacı, beş dinleyici üyesiyle konuşur, iki dinleyici üye el kaldırır - Sahne kanalları $[el kaldırma](handRaiseHook) ve $[dinleyicilerin varsayılan olarak susturulması](audienceHook) gibi $[dahili moderasyon araçlarıyla](moderationHook) özellikle toplulukla yapılan ses etkinlikleri için hazırlanmıştır. - Kullanım alanlar: $[Q&A, AMA, Panel Tartışması](suggestionsHook) - Q&A - AMA - Panel Tartışması - Bir Sahne kanalı kullanmayı dene! İnsanlar kafa karışıklığı yaşamasın diye. Etkinliğin nerede olacak? Bir kanal seç diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index de0ec10fd9..8c17dc96eb 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -3077,13 +3077,6 @@ Введіть локацію Десь в іншому місці Залучіть голос, відео, демонстрацію екрану та трансляції Go Live. - Троє спікерів на каналі трибуни говорять до п\'яти слухачів, у двох слухачів підняті руки - Канали трибуни створені спеціально для організації аудіоподій у спільнотах, бо в них передбачені $[вбудовані інструменти модерації](moderationHook): опція $[підняти руку](handRaiseHook) та $[вимкнення мікрофону слухачам за умовчанням.](audienceHook) - Підходить для: $[Питання/відповідь, серія питань, панельне обговорення](suggestionsHook) - Питання/відповідь - Серія питань - Панельне обговорення - Спробуйте використати канал трибуни! Важливо вказати, щоби ніхто з гостей не заблукав. Де відбудеться подія? Оберіть канал diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res/values-vi/strings.xml index c580429ef5..8ba7aca31c 100644 --- a/app/src/main/res/values-vi/strings.xml +++ b/app/src/main/res/values-vi/strings.xml @@ -3076,13 +3076,6 @@ Nhập vị trí Một Nơi Nào Khác Gặp mặt bằng gọi thoại, video, và chia sẻ màn hình và Go Live. - Ba người nói trong kênh Sân Khấu nói chuyện với năm thành viên, hai thành viên khán giả giơ tay - Các kênh sân khấu được xây dựng đặc biệt cho các sự kiện âm thanh cộng đồng, với $[các công cụ kiểm duyệt tích hợp](moderationHook) như $[giơ tay](handRaiseHook) và $[tắt âm khán giả theo mặc định.](audienceHook) - Tốt cho: $[Hỏi và Đáp (Q&A), Hãy hỏi tôi bất cứ điều gì (AMA), Thảo Luận Nhóm](suggestionsHook) - Hỏi và Đáp (Q&A) - Hãy hỏi tôi bất cứ điều gì (AMA) - Thảo Luận Nhóm - Hãy thử sử dụng kênh Sân khấu! Để không ai bị lạc khi truy cập. Sự kiện của bạn diễn ra ở đâu? Chọn kênh diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index e36a5df991..b5ea40fdc4 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -3082,13 +3082,6 @@ 输入场所 其他地方 通过语音、视频、屏幕分享和 Go Live 消遣娱乐。 - 三位发言者在讲堂频道跟五位听众成员对话,两位听众成员举手了 - 讲堂频道是专为社区有声活动而打造的,配有$[内置管理工具](moderationHook),比如$[举手](handRaiseHook)以及$[听众默认静音。](audienceHook) - 适合:$[Q&A、有问必答、专题讨论](suggestionsHook) - Q&A - 有问必答 - 专题讨论 - 尝试使用讲堂频道! 这样大家就不会迷路了。 您活动的位置是? 选择一个频道 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 6b9ed70208..deb4222596 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -3076,13 +3076,6 @@ 輸入位置 其他活動 透過語音通話、視訊通話、畫面分享和 Go Live 直播來進行交流。 - 三位發言者在舞台頻道對五位聽眾成員說話,兩位聽眾成員已舉手 - 舞台頻道專為舉行社群音訊活動打造,並搭配使用$[內建管理工具](moderationHook),如$[舉手功能](handRaiseHook)和$[將聽眾預設為靜音。](audienceHook) - 適合:$[Q&A、問答聊天和小組討論](suggestionsHook) - Q&A - 問答聊天 - 小組討論 - 試著使用舞台頻道吧! 這樣才不會有人迷失方向。 您的活動在哪裡舉行? 選擇一個頻道 diff --git a/app/src/main/res/values/public.xml b/app/src/main/res/values/public.xml index ab827ab67b..053eef9682 100644 --- a/app/src/main/res/values/public.xml +++ b/app/src/main/res/values/public.xml @@ -14632,9224 +14632,9236 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 9271c9bc7b..b1e9c2dd70 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -272,6 +272,7 @@ Allow Allow Direct Messages Anyone in the server can message you + Allow direct messages from Hub members. Allow direct messages from server members. Allow playback and usage of /tts command Already have an account? @@ -1413,7 +1414,7 @@ Select a color Transparency Use Default - 5b05e527a2984172829d27e5ec36021c + 10f2b555f6754f7898f4222e47500b6c Coming Soon Slash command application {applicationName} {applicationName} application @@ -2134,6 +2135,7 @@ Social & Study Majors & Subjects Directory Entry Actions + Search for your school Try another search or $[add a server](addServerHook). Try another search or [add a server](addServerHook). No matches found @@ -3296,6 +3298,9 @@ {date} at {time} Are you sure you want to delete this event? Delete Event? + No, just disconnect + Yes, end the event + Do you want to also end the event? {count} Interested {count} interested You\'ll be notified when the event starts @@ -3304,6 +3309,8 @@ Or, send an event invite link to a friend Invite friends to event {count} Listening + You do not have permission. + There are no available channels. Enter a location Add a location, link, or something. Somewhere Else @@ -3311,14 +3318,6 @@ Where you were when you downloaded Discord Great for larger community audio events. Hang out with voice, video, screenshare, and Go Live. - Three speakers in a Stage channel speak to five audience members, two audience members have their hand raised - Get more moderation features and audience controls. Perfect for larger audio events. - Good for: $[Q&A, AMA, Panel Discussion](suggestionsHook) - Q&A - AMA - Panel - Discussion - Try using a Stage channel! So no one gets lost on where to go. Where is your event? Select a channel @@ -3336,6 +3335,14 @@ Here\'s a preview of your event. Only members who can view this channel can see this event. Events are limited to Stage channels for now. Please make one to create an event. + Good for: $[Q&A, AMA, Panel Discussion](suggestionsHook) + Three speakers in a Stage channel speak to five audience members, two audience members have their hand raised + Get more moderation features and audience controls. Perfect for larger audio events. + Q&A + AMA + Panel + Discussion + Try using a Stage channel! Start Event: {eventName} Scheduled for {startTime} Scheduled at {startTime} @@ -4533,7 +4540,8 @@ Easily find student-run servers for your study groups, clubs, game nights, and more. Are you a current student? Join the Student Hub for your school! Join Hub - Get access to student-only hubs + Join for exclusive access to student-run study groups, clubs, game nights, and more. + Find your classmates in the Student Hub for your school The Hub for your school isn\'t live yet. Enter your school\'s name and we\'ll let you know when it is! Join the waitlist School Name @@ -4541,7 +4549,7 @@ An exclusive place to connect with students, discover servers, and share your own servers for students to join. Hubs are not affiliated with or managed by schools. Servers in the Hub are student-run, but may include non-students. Student Hubs What\'s a Student Hub? - Enter Discord one-time code + Enter Discord verification code If your server is intended for students only, just invite your classmates. They don\'t need a .edu address to join Remove from Hub Are you sure you want to remove !!{guildName}!! from this Student Hub? @@ -5702,8 +5710,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 @@ -6892,6 +6900,8 @@ {planName} Adjustment See subscription and auto-renewal details below By purchasing a Nitro subscription, you agree to our [Terms of Service]({termsURL}) and [Privacy Policy]({privacyURL}). Payment will be charged to your Apple ID account at the confirmation of purchase. Subscription automatically renews unless it is canceled at least 24 hours before the end of the current period. Your account will be charged for renewal within 24 hours prior to the end of the current period. You can manage and cancel your subscriptions by going to your account settings on the App Store after purchase. + Learn More + Reactivate Nitro to regain access to larger file uploads, animated avatars & more. Any eligible subscription credit will be applied until it runs out. Your subscription will renew for **{rate}** on **{renewalDate}**. Have questions? [Contact our support team]({contactLink}) or [check out our subscription FAQ]({helpdeskArticle}). Your free month credit will be applied until it runs out, and we\'ll send you a reminder email **{days}** before your free period ends. Have questions? [Check out our offer FAQ]({helpdeskArticle}) or [contact our support team]({contactLink}). Hold up! You need Nitro to get this loot. @@ -7464,6 +7474,8 @@ Allows members to add or remove custom emojis and stickers in this server. Allows members to add or remove custom emojis in this server. Allows members to create, edit, and delete events. + Allows members to create, edit, and delete events in these channels. + Allows members to create, edit, and delete events in this channel. Allows members to delete messages by other members or pin any message. Allows members to delete messages by other members or pin any message in this channel. They can also publish messages by other members to all servers that follow this [Announcement Channel]({articleURL}). Allows members to delete messages by other members or pin any message in these channels. diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml index e62296b866..9099dbb0af 100644 --- a/app/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -5862,7 +5862,7 @@ @style/UiKit_TextAppearance wrap_content wrap_content - 1.2 + 1