92.4 - Alpha (92204)

This commit is contained in:
Juby210 2021-09-10 08:36:33 +02:00
parent 6941636ca5
commit bec52c894d
95 changed files with 10821 additions and 9591 deletions

View File

@ -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"
}

View File

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

View File

@ -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, ")");
}
}

View File

@ -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, ")");
}
}

View File

@ -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 {
}

View File

@ -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, ")");
}
}

View File

@ -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 {
}

View File

@ -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, ")");
}
}

View File

@ -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 {
}

View File

@ -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, ")");
}
}

View File

@ -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 {
}

View File

@ -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, ")");
}
}

View File

@ -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 {
}

View File

@ -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, ")");
}
}

View File

@ -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 {
}

View File

@ -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, ")");
}
}

View File

@ -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=");

View File

@ -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, ")");
}
}

View File

@ -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 {
}

View File

@ -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, ")");
}
}

View File

@ -16,7 +16,6 @@ public final class GuildRoleSubscriptionGroupListing {
private final List<GuildRoleSubscriptionTierListing> subscriptionListings;
public GuildRoleSubscriptionGroupListing(long j, long j2, long j3, String str, List<Long> list, List<GuildRoleSubscriptionTierListing> 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);
}

View File

@ -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

View File

@ -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

View File

@ -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<Long> 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));

View File

@ -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<Long, StoreVoiceParticipants.VoiceUser> 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<List<Channel>> observeGuildScheduledEventCreatableChannelsForGuild(long j, ObservationDeck observationDeck, StoreChannels storeChannels, StorePermissions storePermissions) {
m.checkNotNullParameter(observationDeck, "observationDeck");
m.checkNotNullParameter(storeChannels, "channelsStore");

View File

@ -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<GuildScheduledEvent> collection) {
public static final GuildScheduledEvent getLiveEvent(Collection<GuildScheduledEvent> collection) {
Object obj;
boolean z2;
m.checkNotNullParameter(collection, "$this$hasLiveEvent");
m.checkNotNullParameter(collection, "$this$getLiveEvent");
Iterator<T> 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<GuildScheduledEvent> collection) {
m.checkNotNullParameter(collection, "$this$hasLiveEvent");
return getLiveEvent(collection) != null;
}
public static final int minutesRelativeToTime(long j) {

View File

@ -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;
}

View File

@ -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<Long> channelIds;
public SetFilterFunction(Set<Long> set) {
m.checkNotNullParameter(set, "channelIds");
this.channelIds = set;
}
private final Set<Long> 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<Long> 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<Long> 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;

View File

@ -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<String, Bundle, Unit> {
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, "<anonymous parameter 1>");
if (m.areEqual(this.$requestKey, str)) {
this.$onActionTaken.mo1invoke();
}
}
}

View File

@ -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<View, WidgetEndStageBottomSheetBinding> {
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);
}
}

View File

@ -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<Long> {
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");
}
}

View File

@ -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<Unit, Unit> {
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");
}
}

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -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<String> {
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", "");
}
}

View File

@ -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<Unit> 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));
}
}

View File

@ -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);
}
}
}

View File

@ -18,6 +18,6 @@ public final class WidgetGuildScheduledEventLocationSelect$viewModel$2 extends o
@Override // kotlin.jvm.functions.Function0
/* renamed from: invoke */
public final AppViewModel<WidgetGuildScheduledEventLocationSelectViewModal.ViewState> 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);
}
}

View File

@ -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<Long> 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();
}

View File

@ -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<WidgetGuildScheduledEventLocationSelectViewModal.StoreState> {
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)));
}
}

View File

@ -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<ViewState> {
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<StoreState, Unit> {
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<StoreState> 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<Long, Long> channelPermissions;
private final Map<Long, Channel> channels;
private final Long guildPermissions;
public StoreState(Map<Long, Channel> map, Map<Long, Long> 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<Long, Channel> component1() {
return this.channels;
}
public final Map<Long, Long> component2() {
return this.channelPermissions;
}
public final Long component3() {
return this.guildPermissions;
}
public final StoreState copy(Map<Long, Channel> map, Map<Long, Long> 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<Long, Long> getChannelPermissions() {
return this.channelPermissions;
}
public final Map<Long, Channel> getChannels() {
return this.channels;
}
public final Long getGuildPermissions() {
return this.guildPermissions;
}
public int hashCode() {
Map<Long, Channel> map = this.channels;
int i = 0;
int hashCode = (map != null ? map.hashCode() : 0) * 31;
Map<Long, Long> 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<Long, Channel> availableChannels;
private final Set<Long> availableStageChannelIds;
private final Set<Long> 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<Long, Channel> map, Set<Long> set, Set<Long> 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<Long, Channel> component4() {
return this.availableChannels;
}
public final Set<Long> component5() {
return this.availableVoiceChannelIds;
}
public final Set<Long> component6() {
return this.availableStageChannelIds;
}
public final boolean component7() {
return this.canCreateExternalEvent;
}
public final Valid copy(GuildScheduledEventEntityType guildScheduledEventEntityType, Channel channel, String str, Map<Long, Channel> map, Set<Long> set, Set<Long> 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<Long, Channel> getAvailableChannels() {
return this.availableChannels;
}
public final Set<Long> getAvailableStageChannelIds() {
return this.availableStageChannelIds;
}
public final Set<Long> 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<Long, Channel> map = this.availableChannels;
int hashCode4 = (hashCode3 + (map != null ? map.hashCode() : 0)) * 31;
Set<Long> set = this.availableVoiceChannelIds;
int hashCode5 = (hashCode4 + (set != null ? set.hashCode() : 0)) * 31;
Set<Long> 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<StoreState> 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<StoreState> 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<Long, Channel> channels = storeState.getChannels();
LinkedHashMap linkedHashMap = new LinkedHashMap();
for (Map.Entry<Long, Channel> 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<Long, Channel> 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));
}
}
}

View File

@ -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

View File

@ -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

View File

@ -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());
}
}

View File

@ -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);
}
}

View File

@ -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);
}
}

View File

@ -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);

View File

@ -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);
}
}

View File

@ -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));
}

View File

@ -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());
}
}

View File

@ -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<Unit> {
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());
}
}

View File

@ -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));
}
}

View File

@ -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<Unit> {
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();
}
}

View File

@ -17,6 +17,6 @@ public final class WidgetVoiceBottomSheet$viewModel$2 extends o implements Funct
@Override // kotlin.jvm.functions.Function0
/* renamed from: invoke */
public final AppViewModel<WidgetVoiceBottomSheetViewModel.ViewState> 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);
}
}

View File

@ -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<? super StreamContext, Unit> function1) {

View File

@ -13,7 +13,7 @@ import kotlin.jvm.functions.Function2;
import kotlinx.coroutines.CoroutineScope;
import rx.subjects.PublishSubject;
/* compiled from: WidgetVoiceBottomSheetViewModel.kt */
@e(c = "com.discord.widgets.voice.sheet.WidgetVoiceBottomSheetViewModel$tryConnectToVoice$1", f = "WidgetVoiceBottomSheetViewModel.kt", l = {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<CoroutineScope, Continuation<? super Unit>, Object> {
public final /* synthetic */ StoreMediaEngine $mediaEngine;
public int label;

View File

@ -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<ViewStat
private final PublishSubject<Event> eventSubject;
private Set<String> 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<ViewStat
}
}
/* compiled from: WidgetVoiceBottomSheetViewModel.kt */
public static final class ShowEventEnd extends Event {
private final GuildScheduledEvent guildScheduledEvent;
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
public ShowEventEnd(GuildScheduledEvent guildScheduledEvent) {
super(null);
m.checkNotNullParameter(guildScheduledEvent, "guildScheduledEvent");
this.guildScheduledEvent = guildScheduledEvent;
}
public static /* synthetic */ ShowEventEnd copy$default(ShowEventEnd showEventEnd, GuildScheduledEvent guildScheduledEvent, int i, Object obj) {
if ((i & 1) != 0) {
guildScheduledEvent = showEventEnd.guildScheduledEvent;
}
return showEventEnd.copy(guildScheduledEvent);
}
public final GuildScheduledEvent component1() {
return this.guildScheduledEvent;
}
public final ShowEventEnd copy(GuildScheduledEvent guildScheduledEvent) {
m.checkNotNullParameter(guildScheduledEvent, "guildScheduledEvent");
return new ShowEventEnd(guildScheduledEvent);
}
public boolean equals(Object obj) {
if (this != obj) {
return (obj instanceof ShowEventEnd) && m.areEqual(this.guildScheduledEvent, ((ShowEventEnd) obj).guildScheduledEvent);
}
return true;
}
public final GuildScheduledEvent getGuildScheduledEvent() {
return this.guildScheduledEvent;
}
public int hashCode() {
GuildScheduledEvent guildScheduledEvent = this.guildScheduledEvent;
if (guildScheduledEvent != null) {
return guildScheduledEvent.hashCode();
}
return 0;
}
public String toString() {
StringBuilder P = a.P("ShowEventEnd(guildScheduledEvent=");
P.append(this.guildScheduledEvent);
P.append(")");
return P.toString();
}
}
/* compiled from: WidgetVoiceBottomSheetViewModel.kt */
public static final class ShowGuildVideoAtCapacityDialog extends Event {
public static final ShowGuildVideoAtCapacityDialog INSTANCE = new ShowGuildVideoAtCapacityDialog();
@ -895,7 +952,7 @@ public final class WidgetVoiceBottomSheetViewModel extends AppViewModel<ViewStat
}
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
public WidgetVoiceBottomSheetViewModel(long j, boolean z2, StorePermissions storePermissions, StoreVoiceChannelSelected storeVoiceChannelSelected, StoreMediaSettings storeMediaSettings, StoreMediaEngine storeMediaEngine, StoreUserSettings storeUserSettings, StoreCalls storeCalls, VideoPermissionsManager videoPermissionsManager, StoreApplicationStreamPreviews storeApplicationStreamPreviews, VoiceEngineServiceController voiceEngineServiceController, Clock clock, TooltipManager tooltipManager, Observable<StoreState> 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<StoreState> observable) {
super(null, 1, null);
m.checkNotNullParameter(storePermissions, "permissionsStore");
m.checkNotNullParameter(storeVoiceChannelSelected, "selectedVoiceChannelStore");
@ -903,6 +960,7 @@ public final class WidgetVoiceBottomSheetViewModel extends AppViewModel<ViewStat
m.checkNotNullParameter(storeMediaEngine, "mediaEngineStore");
m.checkNotNullParameter(storeUserSettings, "userSettingsStore");
m.checkNotNullParameter(storeCalls, "callsStore");
m.checkNotNullParameter(storeGuilds, "guildsStore");
m.checkNotNullParameter(videoPermissionsManager, "videoPermissionsManager");
m.checkNotNullParameter(storeApplicationStreamPreviews, "storeApplicationStreamPreviews");
m.checkNotNullParameter(voiceEngineServiceController, "voiceEngineServiceController");
@ -917,6 +975,7 @@ public final class WidgetVoiceBottomSheetViewModel extends AppViewModel<ViewStat
this.mediaEngineStore = storeMediaEngine;
this.userSettingsStore = storeUserSettings;
this.callsStore = storeCalls;
this.guildsStore = storeGuilds;
this.videoPermissionsManager = videoPermissionsManager;
this.storeApplicationStreamPreviews = storeApplicationStreamPreviews;
this.voiceEngineServiceController = voiceEngineServiceController;
@ -928,8 +987,8 @@ public final class WidgetVoiceBottomSheetViewModel extends AppViewModel<ViewStat
}
/* JADX WARNING: Illegal instructions before constructor call */
public WidgetVoiceBottomSheetViewModel(long j, boolean z2, StorePermissions storePermissions, StoreVoiceChannelSelected storeVoiceChannelSelected, StoreMediaSettings storeMediaSettings, StoreMediaEngine storeMediaEngine, StoreUserSettings storeUserSettings, StoreCalls storeCalls, VideoPermissionsManager videoPermissionsManager, StoreApplicationStreamPreviews storeApplicationStreamPreviews, VoiceEngineServiceController voiceEngineServiceController, Clock clock, TooltipManager tooltipManager, Observable observable, int i, DefaultConstructorMarker defaultConstructorMarker) {
this(j, z2, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, (i & 8192) != 0 ? Companion.access$observeStoreState(Companion, j, r6) : 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, int i, DefaultConstructorMarker defaultConstructorMarker) {
this(j, z2, r6, r7, r8, r9, r10, r11, r12, r13, r14, r15, r16, r17, (i & 16384) != 0 ? Companion.access$observeStoreState(Companion, j, r6) : observable);
TooltipManager tooltipManager2;
TooltipManager tooltipManager3;
StorePermissions permissions = (i & 4) != 0 ? StoreStream.Companion.getPermissions() : storePermissions;
@ -938,12 +997,13 @@ public final class WidgetVoiceBottomSheetViewModel extends AppViewModel<ViewStat
StoreMediaEngine mediaEngine = (i & 32) != 0 ? StoreStream.Companion.getMediaEngine() : storeMediaEngine;
StoreUserSettings userSettings = (i & 64) != 0 ? StoreStream.Companion.getUserSettings() : storeUserSettings;
StoreCalls calls = (i & 128) != 0 ? StoreStream.Companion.getCalls() : storeCalls;
StoreGuilds guilds = (i & 256) != 0 ? StoreStream.Companion.getGuilds() : storeGuilds;
TooltipManager tooltipManager4 = null;
VideoPermissionsManager videoPermissionsManager2 = (i & 256) != 0 ? new VideoPermissionsManager(null, 1, null) : videoPermissionsManager;
StoreApplicationStreamPreviews applicationStreamPreviews = (i & 512) != 0 ? StoreStream.Companion.getApplicationStreamPreviews() : storeApplicationStreamPreviews;
VoiceEngineServiceController instance = (i & 1024) != 0 ? VoiceEngineServiceController.Companion.getINSTANCE() : voiceEngineServiceController;
Clock clock2 = (i & 2048) != 0 ? ClockFactory.get() : clock;
if ((i & 4096) != 0) {
VideoPermissionsManager videoPermissionsManager2 = (i & 512) != 0 ? new VideoPermissionsManager(null, 1, null) : videoPermissionsManager;
StoreApplicationStreamPreviews applicationStreamPreviews = (i & 1024) != 0 ? StoreStream.Companion.getApplicationStreamPreviews() : storeApplicationStreamPreviews;
VoiceEngineServiceController instance = (i & 2048) != 0 ? VoiceEngineServiceController.Companion.getINSTANCE() : voiceEngineServiceController;
Clock clock2 = (i & 4096) != 0 ? ClockFactory.get() : clock;
if ((i & 8192) != 0) {
AppLog appLog = AppLog.g;
m.checkNotNullParameter(appLog, "logger");
WeakReference<c.a.j.a> weakReference = a.b.a;
@ -1065,6 +1125,15 @@ public final class WidgetVoiceBottomSheetViewModel extends AppViewModel<ViewStat
publishSubject.j.onNext(Event.ShowSuppressedDialog.INSTANCE);
}
private final GuildScheduledEvent getGuildScheduledEventToEnd() {
StoreState storeState = this.mostRecentStoreState;
if (!(storeState instanceof StoreState.Valid)) {
return null;
}
StoreState.Valid valid = (StoreState.Valid) storeState;
return GuildScheduledEventUtilities.Companion.getGuildScheduledEventToEndForCall(valid.getCallModel(), valid.getMyPermissions(), this.guildsStore);
}
@MainThread
private final void handleStoreState(StoreState storeState) {
ModelApplicationStream stream;
@ -1204,7 +1273,7 @@ public final class WidgetVoiceBottomSheetViewModel extends AppViewModel<ViewStat
}
@MainThread
public final void onDisconnectPressed() {
public final void onDisconnect() {
this.selectedVoiceChannelStore.clear();
StoreState storeState = this.mostRecentStoreState;
String str = null;
@ -1227,6 +1296,17 @@ public final class WidgetVoiceBottomSheetViewModel extends AppViewModel<ViewStat
publishSubject.j.onNext(new Event.Disconnect(j, str2, str, callModel.getCallDurationMs(this.clock), callModel.getCallFeedbackSampleRateDenominator()));
}
@MainThread
public final void onDisconnectPressed() {
GuildScheduledEvent guildScheduledEventToEnd = getGuildScheduledEventToEnd();
if (guildScheduledEventToEnd != null) {
PublishSubject<Event> publishSubject = this.eventSubject;
publishSubject.j.onNext(new Event.ShowEventEnd(guildScheduledEventToEnd));
return;
}
onDisconnect();
}
@MainThread
public final void onMutePressed() {
StoreState storeState = this.mostRecentStoreState;

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:background="?attr/colorBackgroundPrimary" style="@style/UiKit_ViewGroup_NestedScrollView">
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:background="?attr/colorBackgroundPrimary" style="@style/UiKit_ViewGroup_NestedScrollView">
<LinearLayout android:paddingLeft="16dp" android:paddingTop="24dp" android:paddingRight="16dp" android:paddingBottom="24dp" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingHorizontal="16dp" android:paddingVertical="24dp" style="@style/UiKit_ViewGroup_LinearLayout">
<com.discord.views.ScreenTitleView android:layout_width="match_parent" android:layout_height="wrap_content" app:stv_subtitle="@string/explicit_end_stage_subtitle" app:stv_title="@string/explicit_end_stage_title"/>
<com.google.android.material.button.MaterialButton android:id="@+id/cancel" android:layout_marginTop="24dp" android:text="@string/explicit_end_stage_cancel" style="@style/UiKit_Material_Button_Secondary"/>
<com.google.android.material.button.MaterialButton android:id="@+id/confirm" android:layout_marginTop="8dp" android:text="@string/explicit_end_stage_confirm_mobile" style="@style/UiKit_Material_Button_Red"/>
<com.discord.views.ScreenTitleView android:id="@+id/title" android:layout_width="match_parent" android:layout_height="wrap_content"/>
<com.google.android.material.button.MaterialButton android:id="@+id/cancel" android:layout_marginTop="24dp" style="@style/UiKit_Material_Button_Secondary"/>
<com.google.android.material.button.MaterialButton android:id="@+id/confirm" android:layout_marginTop="8dp" style="@style/UiKit_Material_Button_Red"/>
</LinearLayout>
</androidx.core.widget.NestedScrollView>

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:background="?attr/colorBackgroundPrimary" style="@style/UiKit_ViewGroup_NestedScrollView">
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:background="?attr/colorBackgroundPrimary" style="@style/UiKit_ViewGroup_NestedScrollView">
<LinearLayout android:paddingLeft="16dp" android:paddingTop="24dp" android:paddingRight="16dp" android:paddingBottom="24dp" android:layout_width="match_parent" android:layout_height="match_parent" style="@style/UiKit_ViewGroup_LinearLayout">
<com.discord.views.ScreenTitleView android:layout_width="match_parent" android:layout_height="wrap_content" app:stv_subtitle="@string/explicit_end_stage_subtitle" app:stv_title="@string/explicit_end_stage_title"/>
<com.google.android.material.button.MaterialButton android:id="@+id/cancel" android:layout_marginTop="24dp" android:text="@string/explicit_end_stage_cancel" style="@style/UiKit_Material_Button_Secondary"/>
<com.google.android.material.button.MaterialButton android:id="@+id/confirm" android:layout_marginTop="8dp" android:text="@string/explicit_end_stage_confirm_mobile" style="@style/UiKit_Material_Button_Red"/>
<com.discord.views.ScreenTitleView android:id="@+id/title" android:layout_width="match_parent" android:layout_height="wrap_content"/>
<com.google.android.material.button.MaterialButton android:id="@+id/cancel" android:layout_marginTop="24dp" style="@style/UiKit_Material_Button_Secondary"/>
<com.google.android.material.button.MaterialButton android:id="@+id/confirm" android:layout_marginTop="8dp" style="@style/UiKit_Material_Button_Red"/>
</LinearLayout>
</androidx.core.widget.NestedScrollView>

View File

@ -11,7 +11,7 @@
<androidx.recyclerview.widget.RecyclerView android:id="@+id/recycler_view" android:paddingTop="16dp" android:layout_width="0dp" android:layout_height="0dp" app:layout_constraintBottom_toBottomOf="0" app:layout_constraintEnd_toEndOf="0" app:layout_constraintStart_toStartOf="0" app:layout_constraintTop_toBottomOf="@+id/barrier" style="@style/UiKit_ViewGroup_RecyclerView"/>
<LinearLayout android:id="@+id/empty_state" android:padding="16dp" android:layout_width="0dp" android:layout_height="wrap_content" app:layout_constraintBottom_toBottomOf="0" app:layout_constraintEnd_toEndOf="0" app:layout_constraintStart_toStartOf="0" app:layout_constraintTop_toBottomOf="@+id/barrier" style="@style/UiKit_ViewGroup_LinearLayout">
<ImageView android:layout_gravity="center" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="16dp" android:src="?attr/img_empty_search" android:importantForAccessibility="no"/>
<TextView android:gravity="center" android:id="@+id/empty_title" android:paddingBottom="4dp" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/directory_search_no_results_title" style="@style/UiKit_TextView_H2"/>
<TextView android:gravity="center" android:id="@+id/empty_title" android:paddingBottom="4dp" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/directory_search_initial_title" style="@style/UiKit_TextView_H2"/>
<com.discord.utilities.view.text.LinkifiedTextView android:gravity="center" android:id="@+id/empty_description" android:layout_width="match_parent" android:layout_height="wrap_content" style="@style/UiKit_TextView"/>
</LinearLayout>
<com.google.android.material.floatingactionbutton.FloatingActionButton android:id="@+id/search" android:src="@drawable/ic_search_white_24dp" android:contentDescription="@string/search" app:layout_constraintBottom_toBottomOf="0" app:layout_constraintEnd_toEndOf="0" app:layout_constraintHorizontal_bias="1" app:layout_constraintStart_toStartOf="0" style="@style/Settings_FloatingActionButton"/>

View File

@ -4,7 +4,7 @@
<ImageView android:layout_gravity="center_horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="16dp" android:src="@drawable/bg_discord_hub_email_confirmation" android:scaleType="centerCrop" android:importantForAccessibility="no"/>
<TextView android:textSize="@dimen/uikit_textsize_xxlarge" android:textColor="?attr/colorHeaderPrimary" android:gravity="center" android:id="@+id/discord_hub_email_confirmation_header_title" android:layout_marginBottom="8dp" android:text="@string/hub_waitlist_modal_join_header" style="@style/UiKit_TextView_H1_Bold"/>
<TextView android:textSize="@dimen/uikit_textsize_large" android:textColor="?attr/colorHeaderSecondary" android:gravity="center" android:layout_marginBottom="24dp" android:text="@string/member_verification_email_confirmation_subtitle" style="@style/UiKit_TextView"/>
<com.discord.utilities.view.text.LinkifiedTextView android:textAppearance="@style/UiKit_TextAppearance_Bold" android:textSize="@dimen/uikit_textsize_small" android:id="@+id/discord_hub_email_confirmation_resend" android:text="@string/member_verification_email_resend" style="@style/UiKit_TextView_Link"/>
<com.discord.utilities.view.text.LinkifiedTextView android:textAppearance="@style/UiKit_TextAppearance_Bold" android:textSize="@dimen/uikit_textsize_small" android:id="@+id/discord_hub_email_confirmation_different" android:layout_marginTop="16dp" android:text="@string/hub_email_confirmation_different_email" style="@style/UiKit_TextView_Link"/>
<com.discord.utilities.view.text.LinkifiedTextView android:textAppearance="@style/UiKit_TextAppearance_Bold" android:id="@+id/discord_hub_email_confirmation_resend" android:text="@string/member_verification_email_resend" style="@style/UiKit_TextView_Link"/>
<com.discord.utilities.view.text.LinkifiedTextView android:textAppearance="@style/UiKit_TextAppearance_Bold" android:id="@+id/discord_hub_email_confirmation_different" android:layout_marginTop="16dp" android:text="@string/hub_email_confirmation_different_email" style="@style/UiKit_TextView_Link"/>
</LinearLayout>
</androidx.core.widget.NestedScrollView>

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" style="@style/UiKit_ViewGroup_NestedScrollView_AppBarScrollingViewBehavior">
<LinearLayout android:gravity="center" android:padding="16dp" android:layout_width="match_parent" android:layout_height="wrap_content" style="@style/UiKit_ViewGroup_LinearLayout">
<ImageView android:layout_gravity="center_horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="16dp" android:src="@drawable/bg_discord_hub_email_verification" android:scaleType="centerCrop" android:importantForAccessibility="no"/>
<ImageView android:layout_gravity="center_horizontal" android:layout_width="200dp" android:layout_height="140dp" android:layout_marginBottom="16dp" android:src="@drawable/bg_discord_hub_email_verification" android:scaleType="fitCenter" android:importantForAccessibility="no"/>
<TextView android:textSize="@dimen/uikit_textsize_xxlarge" android:textColor="?attr/colorHeaderPrimary" android:gravity="center" android:layout_marginBottom="8dp" android:text="@string/hub_waitlist_modal_joined_header" style="@style/UiKit_TextView_H1_Bold"/>
<TextView android:textColor="?attr/colorHeaderSecondary" android:gravity="center" android:id="@+id/hub_waitlist_description" android:layout_marginBottom="8dp" style="@style/UiKit_TextView_Medium"/>
</LinearLayout>

View File

@ -272,6 +272,7 @@
<string name="allow">Allow</string>
<string name="allow_direct_messages">Allow Direct Messages</string>
<string name="allow_direct_messages_caption">Anyone in the server can message you</string>
<string name="allow_hub_dms">Allow direct messages from Hub members.</string>
<string name="allow_server_dms">Allow direct messages from server members.</string>
<string name="allow_tts_command">Allow playback and usage of /tts command</string>
<string name="already_have_account">Already have an account?</string>
@ -2129,6 +2130,7 @@
<string name="directory_category_study_social">Social &amp; Study</string>
<string name="directory_category_subject_major">Majors &amp; Subjects</string>
<string name="directory_entry_menu_label">Directory Entry Actions</string>
<string name="directory_search_initial_title">Search for your school</string>
<string name="directory_search_no_results_subtitle">Try another search or $[add a server](addServerHook).</string>
<string name="directory_search_no_results_subtitle_mobile">Try another search or [add a server](addServerHook).</string>
<string name="directory_search_no_results_title">No matches found</string>
@ -3280,6 +3282,9 @@
<string name="guild_event_date_at_time">{date} at {time}</string>
<string name="guild_event_delete_confirm_body">Are you sure you want to delete this event?</string>
<string name="guild_event_delete_confirm_header">Delete Event?</string>
<string name="guild_event_end_prompt_cancel">No, just disconnect</string>
<string name="guild_event_end_prompt_confirm">Yes, end the event</string>
<string name="guild_event_end_prompt_title">Do you want to also end the event?</string>
<string name="guild_event_interested">{count} Interested</string>
<string name="guild_event_interested_count">{count} interested</string>
<string name="guild_event_interested_notification">You\'ll be notified when the event starts</string>
@ -3288,6 +3293,8 @@
<string name="guild_event_invite_modal_footer">Or, send an event invite link to a friend</string>
<string name="guild_event_invite_modal_title">Invite friends to event</string>
<string name="guild_event_listening">{count} Listening</string>
<string name="guild_event_location_disabled_external_no_permission">You do not have permission.</string>
<string name="guild_event_location_disabled_no_available_channel">There are no available channels.</string>
<string name="guild_event_location_elsewhere_field_label">Enter a location</string>
<string name="guild_event_location_elsewhere_field_placeholder">Add a location, link, or something.</string>
<string name="guild_event_location_external">Somewhere Else</string>
@ -3295,14 +3302,6 @@
<string name="guild_event_location_option_elsewhere_placeholder">Where you were when you downloaded Discord</string>
<string name="guild_event_location_option_stage_hint">Great for larger community audio events.</string>
<string name="guild_event_location_option_voice_hint">Hang out with voice, video, screenshare, and Go Live.</string>
<string name="guild_event_location_stage_upsell_alt_image">Three speakers in a Stage channel speak to five audience members, two audience members have their hand raised</string>
<string name="guild_event_location_stage_upsell_description_1">Get more moderation features and audience controls. Perfect for larger audio events.</string>
<string name="guild_event_location_stage_upsell_hint">Good for: $[Q&amp;A, AMA, Panel Discussion](suggestionsHook)</string>
<string name="guild_event_location_stage_upsell_hint_1">Q&amp;A</string>
<string name="guild_event_location_stage_upsell_hint_2">AMA</string>
<string name="guild_event_location_stage_upsell_hint_3">Panel</string>
<string name="guild_event_location_stage_upsell_hint_4">Discussion</string>
<string name="guild_event_location_stage_upsell_title">Try using a Stage channel!</string>
<string name="guild_event_location_subtitle">So no one gets lost on where to go.</string>
<string name="guild_event_location_title">Where is your event?</string>
<string name="guild_event_location_voice_field_label">Select a channel</string>
@ -3320,6 +3319,14 @@
<string name="guild_event_preview_title">Here\'s a preview of your event.</string>
<string name="guild_event_private_channel_tooltip">Only members who can view this channel can see this event.</string>
<string name="guild_event_stage_channel_required">Events are limited to Stage channels for now. Please make one to create an event.</string>
<string name="guild_event_stage_upsell">Good for: $[Q&amp;A, AMA, Panel Discussion](suggestionsHook)</string>
<string name="guild_event_stage_upsell_alt_image">Three speakers in a Stage channel speak to five audience members, two audience members have their hand raised</string>
<string name="guild_event_stage_upsell_description">Get more moderation features and audience controls. Perfect for larger audio events.</string>
<string name="guild_event_stage_upsell_hint_1">Q&amp;A</string>
<string name="guild_event_stage_upsell_hint_2">AMA</string>
<string name="guild_event_stage_upsell_hint_3">Panel</string>
<string name="guild_event_stage_upsell_hint_4">Discussion</string>
<string name="guild_event_stage_upsell_title">Try using a Stage channel!</string>
<string name="guild_event_start_prompt">Start Event: {eventName}</string>
<string name="guild_event_start_prompt_description">Scheduled for {startTime}</string>
<string name="guild_event_start_prompt_description_time">Scheduled at {startTime}</string>
@ -4516,7 +4523,8 @@
<string name="hub_email_connection_join_description">Easily find student-run servers for your study groups, clubs, game nights, and more.</string>
<string name="hub_email_connection_join_header">Are you a current student? Join the Student Hub for your school!</string>
<string name="hub_email_connection_join_my_schoool">Join Hub</string>
<string name="hub_email_connection_nux_header">Get access to student-only hubs</string>
<string name="hub_email_connection_nux_content_description">Join for exclusive access to student-run study groups, clubs, game nights, and more.</string>
<string name="hub_email_connection_nux_header">Find your classmates in the Student Hub for your school</string>
<string name="hub_email_connection_school_submit_description">The Hub for your school isn\'t live yet. Enter your school\'s name and we\'ll let you know when it is!</string>
<string name="hub_email_connection_school_submit_header">Join the waitlist</string>
<string name="hub_email_connection_school_submit_input_header">School Name</string>
@ -4524,7 +4532,7 @@
<string name="hub_email_connection_sidebar_description">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.</string>
<string name="hub_email_connection_sidebar_header">Student Hubs</string>
<string name="hub_email_connection_sidebar_learn_more_header">What\'s a Student Hub?</string>
<string name="hub_enter_pin">Enter Discord one-time code</string>
<string name="hub_enter_pin">Enter Discord verification code</string>
<string name="hub_entry_invite_subtitle">If your server is intended for students only, just invite your classmates. They don\'t need a .edu address to join</string>
<string name="hub_entry_remove">Remove from Hub</string>
<string name="hub_entry_remove_body">Are you sure you want to remove !!{guildName}!! from this Student Hub?</string>
@ -5683,8 +5691,8 @@
<string name="move_members_description">Members with this permission can drag other members out of this channel. They can only move members between channels both they and the member they are moving have access.</string>
<string name="move_to">Move To</string>
<string name="move_to_success">User has been moved to the selected channel.</string>
<string name="res_2131891782_msg_alert_cleared">Alert Cleared</string>
<string name="res_2131891783_msg_no_alert_showing">No Alert Showing</string>
<string name="res_2131891797_msg_alert_cleared">Alert Cleared</string>
<string name="res_2131891798_msg_no_alert_showing">No Alert Showing</string>
<string name="mtrl_badge_numberless_content_description">New notification</string>
<string name="mtrl_chip_close_icon_content_description">Remove %1$s</string>
<string name="mtrl_exceed_max_badge_number_content_description">More than %1$d new notifications</string>
@ -6866,6 +6874,8 @@
<string name="premium_subscription_plan_adjustment">{planName} Adjustment</string>
<string name="premium_subscription_policy_hint_ios">See subscription and auto-renewal details below</string>
<string name="premium_subscription_policy_ios">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.</string>
<string name="premium_subscription_reactivation_notice_button_text">Learn More</string>
<string name="premium_subscription_reactivation_notice_text">Reactivate Nitro to regain access to larger file uploads, animated avatars &amp; more.</string>
<string name="premium_subscription_renewal_footer">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}).</string>
<string name="premium_subscription_renewal_footer_trial">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}).</string>
<string name="premium_subscription_required_body">Hold up! You need Nitro to get this loot.</string>
@ -7437,6 +7447,8 @@
<string name="role_permissions_manage_emojis_and_stickers_description">Allows members to add or remove custom emojis and stickers in this server.</string>
<string name="role_permissions_manage_emojis_description">Allows members to add or remove custom emojis in this server.</string>
<string name="role_permissions_manage_events_description">Allows members to create, edit, and delete events.</string>
<string name="role_permissions_manage_events_description_category">Allows members to create, edit, and delete events in these channels.</string>
<string name="role_permissions_manage_events_description_channel">Allows members to create, edit, and delete events in this channel.</string>
<string name="role_permissions_manage_messages_description">Allows members to delete messages by other members or pin any message.</string>
<string name="role_permissions_manage_messages_description_announcement">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}).</string>
<string name="role_permissions_manage_messages_description_category">Allows members to delete messages by other members or pin any message in these channels.</string>

View File

@ -3076,13 +3076,6 @@
<string name="guild_event_location_elsewhere_field_label">Въвеждане на местоположение</string>
<string name="guild_event_location_external">На друго място</string>
<string name="guild_event_location_option_voice_hint">Присъствай чрез глас, видео, споделяне на екрана или с Go Live.</string>
<string name="guild_event_location_stage_upsell_alt_image">Трима говорители в канал на сцена говорят на петима членове от публиката, двама от членовете са вдигнали ръка</string>
<string name="guild_event_location_stage_upsell_description_1">Каналите сцена са направени специално за аудио събития на общността с $[вградени инструменти за модериране](moderationHook), като $[вдигане на ръка](handRaiseHook) и $[заглушаване на публиката по подразбиране.](audienceHook)</string>
<string name="guild_event_location_stage_upsell_hint">Подходящо за: $[въпроси и отговори, събития тип „питай каквото искаш“, дискусии в екип](suggestionsHook)</string>
<string name="guild_event_location_stage_upsell_hint_1">Въпроси и отговори</string>
<string name="guild_event_location_stage_upsell_hint_2">„Питай каквото искаш“</string>
<string name="guild_event_location_stage_upsell_hint_3">Дискусии в екип</string>
<string name="guild_event_location_stage_upsell_title">Опитай да използваш канал сцена!</string>
<string name="guild_event_location_subtitle">За да не се загуби някой по пътя.</string>
<string name="guild_event_location_title">Къде е събитието ти?</string>
<string name="guild_event_location_voice_field_label">Избери канал</string>

View File

@ -3082,13 +3082,6 @@
<string name="guild_event_location_elsewhere_field_label">Zadat umístění</string>
<string name="guild_event_location_external">Někde jinde</string>
<string name="guild_event_location_option_voice_hint">Bav se díky hlasové komunikaci, videu, sdílení obrazovky a streamování Go Live.</string>
<string name="guild_event_location_stage_upsell_alt_image">Tři řečníci mluví v řečnickém kanálu před publikem pěti lidí, dva členové publika mají zvednutou ruku</string>
<string name="guild_event_location_stage_upsell_description_1">Ř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).</string>
<string name="guild_event_location_stage_upsell_hint">Vhodné pro: $[otázky a odpovědi, AMA, panelové diskuze](suggestionsHook)</string>
<string name="guild_event_location_stage_upsell_hint_1">Otázky a odpovědi</string>
<string name="guild_event_location_stage_upsell_hint_2">AMA</string>
<string name="guild_event_location_stage_upsell_hint_3">Panelová diskuze</string>
<string name="guild_event_location_stage_upsell_title">Zkus použít řečnický kanál!</string>
<string name="guild_event_location_subtitle">Aby každý věděl, kam má jít.</string>
<string name="guild_event_location_title">Kde tvoje událost probíhá?</string>
<string name="guild_event_location_voice_field_label">Vybrat kanál</string>

View File

@ -3069,13 +3069,6 @@
<string name="guild_event_location_elsewhere_field_label">Indtast en placering</string>
<string name="guild_event_location_external">Andetsteds</string>
<string name="guild_event_location_option_voice_hint">Hæng ud sammen med stemme, video, skærmdeling og Go Live.</string>
<string name="guild_event_location_stage_upsell_alt_image">Tre talere på en podiekanal taler til fem publikummer, to publikummer har hånden rakt i vejret</string>
<string name="guild_event_location_stage_upsell_description_1">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)</string>
<string name="guild_event_location_stage_upsell_hint">Godt til: $[Q&amp;A og AMA, paneldiskussioner](suggestionsHook)</string>
<string name="guild_event_location_stage_upsell_hint_1">Spørgsmål og svar (Q&amp;A)</string>
<string name="guild_event_location_stage_upsell_hint_2">Spørg om hvad som helst (AMA)</string>
<string name="guild_event_location_stage_upsell_hint_3">Paneldiskussion</string>
<string name="guild_event_location_stage_upsell_title">Prøv at bruge en podiekanal!</string>
<string name="guild_event_location_subtitle">Så ingen farer vild.</string>
<string name="guild_event_location_title">Hvor er dit event?</string>
<string name="guild_event_location_voice_field_label">Vælg en kanal</string>

View File

@ -3087,13 +3087,6 @@
<string name="guild_event_location_elsewhere_field_label">Ort eingeben</string>
<string name="guild_event_location_external">Irgendwo anders</string>
<string name="guild_event_location_option_voice_hint">Nutze Videos, Bildschirmübertragung und Go Live, wenn ihr abhängt.</string>
<string name="guild_event_location_stage_upsell_alt_image">Drei Redner haben fünf Zuhörer im Stage-Kanal, zwei Zuhörer melden sich.</string>
<string name="guild_event_location_stage_upsell_description_1">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)</string>
<string name="guild_event_location_stage_upsell_hint">Geeignet für $[Q&amp;A, AMA, Podiumsdiskussion](suggestionsHook)</string>
<string name="guild_event_location_stage_upsell_hint_1">Q&amp;A</string>
<string name="guild_event_location_stage_upsell_hint_2">AMA</string>
<string name="guild_event_location_stage_upsell_hint_3">Podiumsdiskussion</string>
<string name="guild_event_location_stage_upsell_title">Probiere es mit einem Stage-Kanal!</string>
<string name="guild_event_location_subtitle">Damit alle wissen, wo sie hingehen müssen.</string>
<string name="guild_event_location_title">Wo ist dein Event?</string>
<string name="guild_event_location_voice_field_label">Kanal auswählen</string>

View File

@ -3077,13 +3077,6 @@
<string name="guild_event_location_elsewhere_field_label">Εισαγωγή τοποθεσίας</string>
<string name="guild_event_location_external">Κάπου αλλού</string>
<string name="guild_event_location_option_voice_hint">Άραξε με ομιλία, βίντεο, κοινή χρήση οθόνης, και Go Live.</string>
<string name="guild_event_location_stage_upsell_alt_image">Τρεις ομιλητές σε ένα κανάλι σκηνής μιλούν σε πέντε μέλη στο ακροατήριο, δύο μέλη στο ακροατήριο έχουν σηκώσει το χέρι τους</string>
<string name="guild_event_location_stage_upsell_description_1">Τα κανάλια σκηνής είναι ειδικά σχεδιασμένα για ηχητικές εκδηλώσεις κοινότητας, με $[ενσωματωμένα εργαλεία διαχείρισης](moderationHook) όπως το $[σήκωμα χεριού](handRaiseHook) και η $[προεπιλεγμένη σίγαση ακροατηρίου.](audienceHook)</string>
<string name="guild_event_location_stage_upsell_hint">Κατάλληλο για: $[Ε&amp;Α, AMA, Πάνελ ομιλητών](suggestionsHook)</string>
<string name="guild_event_location_stage_upsell_hint_1">Ε&amp;Α</string>
<string name="guild_event_location_stage_upsell_hint_2">AMA</string>
<string name="guild_event_location_stage_upsell_hint_3">Πάνελ ομιλητών</string>
<string name="guild_event_location_stage_upsell_title">Χρησιμοποίησε ένα κανάλι σκηνής!</string>
<string name="guild_event_location_subtitle">Για να μη χάνει κανείς τον δρόμο.</string>
<string name="guild_event_location_title">Πού βρίσκεται η εκδήλωσή σου;</string>
<string name="guild_event_location_voice_field_label">Επέλεξε ένα κανάλι</string>

View File

@ -272,6 +272,7 @@
<string name="allow">[Åļļöŵ one]</string>
<string name="allow_direct_messages">[Åļļöŵ Ðîŕéçţ Ḿéššåĝéš one two three]</string>
<string name="allow_direct_messages_caption">[Åñýöñé îñ ţĥé šéŕVéŕ çåñ ḿéššåĝé ýöû one two three four five]</string>
<string name="allow_hub_dms">[Åļļöŵ ðîŕéçţ ḿéššåĝéš ƒŕöḿ Ĥûɓ ḿéḿɓéŕš. one two three four five]</string>
<string name="allow_server_dms">[Åļļöŵ ðîŕéçţ ḿéššåĝéš ƒŕöḿ šéŕVéŕ ḿéḿɓéŕš. one two three four five]</string>
<string name="allow_tts_command">[Åļļöŵ þļåýɓåçķ åñð ûšåĝé öƒ /ţţš çöḿḿåñð one two three four five]</string>
<string name="already_have_account">[Åļŕéåðý ĥåVé åñ åççöûñţ¿ one two three]</string>
@ -2129,6 +2130,7 @@
<string name="directory_category_study_social">[Šöçîåļ &amp; Šţûðý one two]</string>
<string name="directory_category_subject_major">[Ḿåĵöŕš &amp; Šûɓĵéçţš one two three]</string>
<string name="directory_entry_menu_label">[Ðîŕéçţöŕý Éñţŕý Åçţîöñš one two three]</string>
<string name="directory_search_initial_title">[Šéåŕçĥ ƒöŕ ýöûŕ šçĥööļ one two three]</string>
<string name="directory_search_no_results_subtitle">[Ţŕý åñöţĥéŕ šéåŕçĥ öŕ €[åðð å šéŕVéŕ](åððŠéŕVéŕĤööķ). one two three four five six]</string>
<string name="directory_search_no_results_subtitle_mobile">[Ţŕý åñöţĥéŕ šéåŕçĥ öŕ [åðð å šéŕVéŕ](åððŠéŕVéŕĤööķ). one two three four five six]</string>
<string name="directory_search_no_results_title">[Ñö ḿåţçĥéš ƒöûñð one two three]</string>
@ -3280,6 +3282,9 @@
<string name="guild_event_date_at_time">[»{date}« åţ »{time}« one]</string>
<string name="guild_event_delete_confirm_body">[Åŕé ýöû šûŕé ýöû ŵåñţ ţö ðéļéţé ţĥîš éVéñţ¿ one two three four five]</string>
<string name="guild_event_delete_confirm_header">[Ðéļéţé ÉVéñţ¿ one two]</string>
<string name="guild_event_end_prompt_cancel">[Ñö, ĵûšţ ðîšçöññéçţ one two three]</string>
<string name="guild_event_end_prompt_confirm">[Ýéš, éñð ţĥé éVéñţ one two three]</string>
<string name="guild_event_end_prompt_title">[Ðö ýöû ŵåñţ ţö åļšö éñð ţĥé éVéñţ¿ one two three four]</string>
<string name="guild_event_interested">[»{count}« Îñţéŕéšţéð one two]</string>
<string name="guild_event_interested_count">[»{count}« îñţéŕéšţéð one two]</string>
<string name="guild_event_interested_notification">[Ýöû\'ļļ ɓé ñöţîƒîéð ŵĥéñ ţĥé éVéñţ šţåŕţš one two three four five]</string>
@ -3288,6 +3293,8 @@
<string name="guild_event_invite_modal_footer">[Öŕ, šéñð åñ éVéñţ îñVîţé ļîñķ ţö å ƒŕîéñð one two three four five]</string>
<string name="guild_event_invite_modal_title">[ÎñVîţé ƒŕîéñðš ţö éVéñţ one two three]</string>
<string name="guild_event_listening">[»{count}« Ļîšţéñîñĝ one two]</string>
<string name="guild_event_location_disabled_external_no_permission">[Ýöû ðö ñöţ ĥåVé þéŕḿîššîöñ. one two three four]</string>
<string name="guild_event_location_disabled_no_available_channel">[Ţĥéŕé åŕé ñö åVåîļåɓļé çĥåññéļš. one two three four]</string>
<string name="guild_event_location_elsewhere_field_label">[Éñţéŕ å ļöçåţîöñ one two three]</string>
<string name="guild_event_location_elsewhere_field_placeholder">[Åðð å ļöçåţîöñ, ļîñķ, öŕ šöḿéţĥîñĝ. one two three four]</string>
<string name="guild_event_location_external">[Šöḿéŵĥéŕé Éļšé one two three]</string>
@ -3295,14 +3302,6 @@
<string name="guild_event_location_option_elsewhere_placeholder">[Ŵĥéŕé ýöû ŵéŕé ŵĥéñ ýöû ðöŵñļöåðéð Ðîšçöŕð one two three four five]</string>
<string name="guild_event_location_option_stage_hint">[Ĝŕéåţ ƒöŕ ļåŕĝéŕ çöḿḿûñîţý åûðîö éVéñţš. one two three four five]</string>
<string name="guild_event_location_option_voice_hint">[Ĥåñĝ öûţ ŵîţĥ Vöîçé, Vîðéö, šçŕééñšĥåŕé, åñð Ĝö ĻîVé. one two three four five six seven eight nine ten eleven]</string>
<string name="guild_event_location_stage_upsell_alt_image">[Ţĥŕéé šþéåķéŕš îñ å Šţåĝé çĥåññéļ šþéåķ ţö ƒîVé åûðîéñçé ḿéḿɓéŕš, ţŵö åûðîéñçé ḿéḿɓéŕš ĥåVé ţĥéîŕ ĥåñð ŕåîšéð one two three four five six seven eight nine ten eleven]</string>
<string name="guild_event_location_stage_upsell_description_1">[Ĝéţ ḿöŕé ḿöðéŕåţîöñ ƒéåţûŕéš åñð åûðîéñçé çöñţŕöļš. Þéŕƒéçţ ƒöŕ ļåŕĝéŕ åûðîö éVéñţš. one two three four five six seven eight nine]</string>
<string name="guild_event_location_stage_upsell_hint">[Ĝööð ƒöŕ: €[q&amp;A,Å, ÅḾÅ, Þåñéļ Ðîšçûššîöñ](šûĝĝéšţîöñšĤööķ) one two three four five six seven eight nine ten eleven twelve]</string>
<string name="guild_event_location_stage_upsell_hint_1">[q&amp;AÅ one]</string>
<string name="guild_event_location_stage_upsell_hint_2">[ÅḾÅ one]</string>
<string name="guild_event_location_stage_upsell_hint_3">[Þåñéļ one]</string>
<string name="guild_event_location_stage_upsell_hint_4">[Ðîšçûššîöñ one two]</string>
<string name="guild_event_location_stage_upsell_title">[Ţŕý ûšîñĝ å Šţåĝé çĥåññéļ¡ one two three four]</string>
<string name="guild_event_location_subtitle">[Šö ñö öñé ĝéţš ļöšţ öñ ŵĥéŕé ţö ĝö. one two three four]</string>
<string name="guild_event_location_title">[Ŵĥéŕé îš ýöûŕ éVéñţ¿ one two three]</string>
<string name="guild_event_location_voice_field_label">[Šéļéçţ å çĥåññéļ one two three]</string>
@ -3320,6 +3319,14 @@
<string name="guild_event_preview_title">[Ĥéŕé\'š å þŕéVîéŵ öƒ ýöûŕ éVéñţ. one two three four]</string>
<string name="guild_event_private_channel_tooltip">[Öñļý ḿéḿɓéŕš ŵĥö çåñ Vîéŵ ţĥîš çĥåññéļ çåñ šéé ţĥîš éVéñţ. one two three four five six seven]</string>
<string name="guild_event_stage_channel_required">[ÉVéñţš åŕé ļîḿîţéð ţö Šţåĝé çĥåññéļš ƒöŕ ñöŵ. Þļéåšé ḿåķé öñé ţö çŕéåţé åñ éVéñţ. one two three four five six seven eight nine]</string>
<string name="guild_event_stage_upsell">[Ĝööð ƒöŕ: €[q&amp;A,Å, ÅḾÅ, Þåñéļ Ðîšçûššîöñ](šûĝĝéšţîöñšĤööķ) one two three four five six seven eight nine ten eleven twelve]</string>
<string name="guild_event_stage_upsell_alt_image">[Ţĥŕéé šþéåķéŕš îñ å Šţåĝé çĥåññéļ šþéåķ ţö ƒîVé åûðîéñçé ḿéḿɓéŕš, ţŵö åûðîéñçé ḿéḿɓéŕš ĥåVé ţĥéîŕ ĥåñð ŕåîšéð one two three four five six seven eight nine ten eleven]</string>
<string name="guild_event_stage_upsell_description">[Ĝéţ ḿöŕé ḿöðéŕåţîöñ ƒéåţûŕéš åñð åûðîéñçé çöñţŕöļš. Þéŕƒéçţ ƒöŕ ļåŕĝéŕ åûðîö éVéñţš. one two three four five six seven eight nine]</string>
<string name="guild_event_stage_upsell_hint_1">[q&amp;AÅ one]</string>
<string name="guild_event_stage_upsell_hint_2">[ÅḾÅ one]</string>
<string name="guild_event_stage_upsell_hint_3">[Þåñéļ one]</string>
<string name="guild_event_stage_upsell_hint_4">[Ðîšçûššîöñ one two]</string>
<string name="guild_event_stage_upsell_title">[Ţŕý ûšîñĝ å Šţåĝé çĥåññéļ¡ one two three four]</string>
<string name="guild_event_start_prompt">[Šţåŕţ ÉVéñţ: »{eventName}« one two]</string>
<string name="guild_event_start_prompt_description">[Šçĥéðûļéð ƒöŕ »{startTime}« one two three]</string>
<string name="guild_event_start_prompt_description_time">[Šçĥéðûļéð åţ »{startTime}« one two]</string>
@ -4516,7 +4523,8 @@
<string name="hub_email_connection_join_description">[Éåšîļý ƒîñð šţûðéñţ-ŕûñ šéŕVéŕš ƒöŕ ýöûŕ šţûðý ĝŕöûþš, çļûɓš, ĝåḿé ñîĝĥţš, åñð ḿöŕé. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen]</string>
<string name="hub_email_connection_join_header">[Åŕé ýöû å çûŕŕéñţ šţûðéñţ¿ Ĵöîñ ţĥé Šţûðéñţ Ĥûɓ ƒöŕ ýöûŕ šçĥööļ¡ one two three four five six seven]</string>
<string name="hub_email_connection_join_my_schoool">[Ĵöîñ Ĥûɓ one two]</string>
<string name="hub_email_connection_nux_header">[Ĝéţ åççéšš ţö šţûðéñţ-öñļý ĥûɓš one two three four]</string>
<string name="hub_email_connection_nux_content_description">[Ĵöîñ ƒöŕ éхçļûšîVé åççéšš ţö šţûðéñţ-ŕûñ šţûðý ĝŕöûþš, çļûɓš, ĝåḿé ñîĝĥţš, åñð ḿöŕé. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen]</string>
<string name="hub_email_connection_nux_header">[Fîñð ýöûŕ çļåššḿåţéš îñ ţĥé Šţûðéñţ Ĥûɓ ƒöŕ ýöûŕ šçĥööļ one two three four five six seven]</string>
<string name="hub_email_connection_school_submit_description">[Ţĥé Ĥûɓ ƒöŕ ýöûŕ šçĥööļ îšñ\'ţ ļîVé ýéţ. Éñţéŕ ýöûŕ šçĥööļ\'š ñåḿé åñð ŵé\'ļļ ļéţ ýöû ķñöŵ ŵĥéñ îţ îš¡ one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen]</string>
<string name="hub_email_connection_school_submit_header">[Ĵöîñ ţĥé ŵåîţļîšţ one two three]</string>
<string name="hub_email_connection_school_submit_input_header">[Šçĥööļ Ñåḿé one two]</string>
@ -4524,7 +4532,7 @@
<string name="hub_email_connection_sidebar_description">[Åñ éхçļûšî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]</string>
<string name="hub_email_connection_sidebar_header">[Šţûðéñţ Ĥûɓš one two]</string>
<string name="hub_email_connection_sidebar_learn_more_header">[Ŵĥåţ\'š å Šţûðéñţ Ĥûɓ¿ one two three]</string>
<string name="hub_enter_pin">[Éñţéŕ Ðîšçöŕð öñé-ţîḿé çöðé one two three four]</string>
<string name="hub_enter_pin">[Éñţéŕ Ðîšçöŕð Véŕîƒîçåţîöñ çöðé one two three four]</string>
<string name="hub_entry_invite_subtitle">[΃ ýöûŕ šéŕVéŕ îš îñţéñðéð ƒöŕ šţûðéñţš öñļý, ĵûšţ îñVîţé ýöûŕ çļåššḿåţéš. Ţĥéý ðöñ\'ţ ñééð å .éðû åððŕéšš ţö ĵöîñ one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen]</string>
<string name="hub_entry_remove">[ŔéḿöVé ƒŕöḿ Ĥûɓ one two three]</string>
<string name="hub_entry_remove_body">[Åŕé ýöû šûŕé ýöû ŵåñţ ţö ŕéḿöVé ¡¡»{guildName}«¡¡ ƒŕöḿ ţĥîš Šţûðéñţ Ĥûɓ¿ one two three four five six seven]</string>
@ -5683,8 +5691,8 @@
<string name="move_members_description">[Ḿéḿɓéŕš ŵîţĥ ţĥîš þéŕḿîššîöñ çåñ ðŕåĝ öţĥéŕ ḿéḿɓéŕš öûţ öƒ ţĥîš çĥåññéļ. Ţĥéý çåñ öñļý ḿöVé ḿéḿɓéŕš ɓéţŵééñ çĥåññéļš ɓöţĥ ţĥéý åñð ţĥé ḿéḿɓéŕ ţĥéý åŕé ḿöVîñĝ ĥåVé åççéšš. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen]</string>
<string name="move_to">[ḾöVé Ţö one two]</string>
<string name="move_to_success">[Ûšéŕ ĥåš ɓééñ ḿöVéð ţö ţĥé šéļéçţéð çĥåññéļ. one two three four five]</string>
<string name="res_2131891782_msg_alert_cleared">[Åļéŕţ Çļéåŕéð one two]</string>
<string name="res_2131891783_msg_no_alert_showing">[Ñö Åļéŕţ Šĥöŵîñĝ one two three]</string>
<string name="res_2131891797_msg_alert_cleared">[Åļéŕţ Çļéåŕéð one two]</string>
<string name="res_2131891798_msg_no_alert_showing">[Ñö Åļéŕţ Šĥöŵîñĝ one two three]</string>
<string name="mtrl_badge_numberless_content_description">[Ñéŵ ñöţîƒîçåţîöñ one two three]</string>
<string name="mtrl_chip_close_icon_content_description">[ŔéḿöVé »%1$s« one two]</string>
<string name="mtrl_exceed_max_badge_number_content_description">[Ḿöŕé ţĥåñ %1$d ñéŵ ñöţîƒîçåţîöñš one two three four]</string>
@ -6866,6 +6874,8 @@
<string name="premium_subscription_plan_adjustment">[»{planName}« Åðĵûšţḿéñţ one two]</string>
<string name="premium_subscription_policy_hint_ios">[Šéé šûɓšçŕîþţîöñ åñð åûţö-ŕéñéŵåļ ðéţåîļš ɓéļöŵ one two three four five six]</string>
<string name="premium_subscription_policy_ios">[βý þûŕçĥåšîñĝ å Ñîţŕö šûɓšçŕîþţîöñ, ýöû åĝŕéé ţö öûŕ [Ţéŕḿš öƒ Šéŕ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]</string>
<string name="premium_subscription_reactivation_notice_button_text">[Ļéåŕñ Ḿöŕé one two]</string>
<string name="premium_subscription_reactivation_notice_text">[ŔéåçţîVåţé Ñîţŕö ţö ŕéĝåîñ åççéšš ţö ļåŕĝéŕ ƒîļé ûþļöåðš, åñîḿåţéð åVåţåŕš &amp; ḿöŕé. one two three four five six seven eight nine]</string>
<string name="premium_subscription_renewal_footer">[Åñý éļîĝîɓļé šûɓšçŕîþţîöñ çŕéðîţ ŵîļļ ɓé åþþļîéð ûñţîļ îţ ŕûñš öûţ. Ýöûŕ šûɓšçŕîþţîöñ ŵîļļ ŕéñéŵ ƒöŕ **»{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]</string>
<string name="premium_subscription_renewal_footer_trial">[Ýöûŕ ƒŕéé ḿöñţĥ çŕéðîţ ŵîļļ ɓé åþþļîéð ûñţîļ îţ ŕûñš öûţ, åñð ŵé\'ļļ šéñð ýöû å ŕéḿîñðéŕ éḿåîļ **»{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]</string>
<string name="premium_subscription_required_body">[Ĥöļð ûþ¡ Ýöû ñééð Ñîţŕö ţö ĝéţ ţĥîš ļööţ. one two three four five]</string>
@ -7437,6 +7447,8 @@
<string name="role_permissions_manage_emojis_and_stickers_description">[Åļļöŵš ḿéḿɓéŕš ţö åðð öŕ ŕéḿöVé çûšţöḿ éḿöĵîš åñð šţîçķéŕš îñ ţĥîš šéŕVéŕ. one two three four five six seven eight]</string>
<string name="role_permissions_manage_emojis_description">[Åļļöŵš ḿéḿɓéŕš ţö åðð öŕ ŕéḿöVé çûšţöḿ éḿöĵîš îñ ţĥîš šéŕVéŕ. one two three four five six seven]</string>
<string name="role_permissions_manage_events_description">[Åļļöŵš ḿéḿɓéŕš ţö çŕéåţé, éðîţ, åñð ðéļéţé éVéñţš. one two three four five six]</string>
<string name="role_permissions_manage_events_description_category">[Åļļöŵš ḿéḿɓéŕš ţö çŕéåţé, éðîţ, åñð ðéļéţé éVéñţš îñ ţĥéšé çĥåññéļš. one two three four five six seven eight]</string>
<string name="role_permissions_manage_events_description_channel">[Åļļöŵš ḿéḿɓéŕš ţö çŕéåţé, éðîţ, åñð ðéļéţé éVéñţš îñ ţĥîš çĥåññéļ. one two three four five six seven eight]</string>
<string name="role_permissions_manage_messages_description">[Åļļöŵš ḿéḿɓéŕš ţö ðéļéţé ḿéššåĝéš ɓý öţĥéŕ ḿéḿɓéŕš öŕ þîñ åñý ḿéššåĝé. one two three four five six seven eight]</string>
<string name="role_permissions_manage_messages_description_announcement">[Åļļöŵš ḿéḿɓéŕš ţö ðéļéţé ḿéššåĝéš ɓý öţĥéŕ ḿéḿɓéŕš öŕ þîñ åñý ḿéššåĝé îñ ţĥîš çĥåññéļ. Ţĥéý çåñ åļšö þûɓļîšĥ ḿéššåĝéš ɓý öţĥéŕ ḿéḿɓéŕš ţö åļļ šéŕ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]</string>
<string name="role_permissions_manage_messages_description_category">[Åļļöŵš ḿéḿɓéŕš ţö ðéļéţé ḿéššåĝéš ɓý öţĥéŕ ḿéḿɓéŕš öŕ þîñ åñý ḿéššåĝé îñ ţĥéšé çĥåññéļš. one two three four five six seven eight nine ten]</string>

View File

@ -2976,13 +2976,6 @@
<string name="guild_event_location_elsewhere_field_label">Introducir una ubicación</string>
<string name="guild_event_location_external">Otro lugar</string>
<string name="guild_event_location_option_voice_hint">Diviértete con voz, vídeo, compartir pantalla y Go Live.</string>
<string name="guild_event_location_stage_upsell_alt_image">Tres oradores en un canal de escenario hablan con cinco miembros de la audiencia, dos personas de la audiencia tienen la mano levantada</string>
<string name="guild_event_location_stage_upsell_description_1">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).</string>
<string name="guild_event_location_stage_upsell_hint">Ideal para: $[preguntas y respuestas, sesión de preguntas, mesa redonda](suggestionsHook)</string>
<string name="guild_event_location_stage_upsell_hint_1">Preguntas y respuestas</string>
<string name="guild_event_location_stage_upsell_hint_2">Sesión de preguntas</string>
<string name="guild_event_location_stage_upsell_hint_3">Mesa redonda</string>
<string name="guild_event_location_stage_upsell_title">¡Prueba con un canal de escenario!</string>
<string name="guild_event_location_subtitle">Para que nadie se pierda por el camino.</string>
<string name="guild_event_location_title">¿Dónde es tu evento?</string>
<string name="guild_event_location_voice_field_label">Selecciona un canal</string>

View File

@ -3077,13 +3077,6 @@
<string name="guild_event_location_elsewhere_field_label">Anna sijainti</string>
<string name="guild_event_location_external">Jossakin muualla</string>
<string name="guild_event_location_option_voice_hint">Hengaile yhdessä käyttämällä ääni- ja videokeskusteluja, ruudunjakoa ja Go Live striimausta.</string>
<string name="guild_event_location_stage_upsell_alt_image">Kolme puhujaa puhuu esityskanavalla viiden jäsenen suuruiselle yleisölle, joista kaksi on nostanut kättään</string>
<string name="guild_event_location_stage_upsell_description_1">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).</string>
<string name="guild_event_location_stage_upsell_hint">Hyviä käyttökohteita: $[kysymyssessiot, AMA-sessiot ja paneelikeskustelut](suggestionsHook)</string>
<string name="guild_event_location_stage_upsell_hint_1">Kysymyssessio</string>
<string name="guild_event_location_stage_upsell_hint_2">AMA-kysymyssessio</string>
<string name="guild_event_location_stage_upsell_hint_3">Paneelikeskustelu</string>
<string name="guild_event_location_stage_upsell_title">Kokeile esityskanavaa!</string>
<string name="guild_event_location_subtitle">Jotta kaikki löytävät perille.</string>
<string name="guild_event_location_title">Missä tapahtumasi järjestetään?</string>
<string name="guild_event_location_voice_field_label">Valitse kanava</string>

View File

@ -3082,13 +3082,6 @@
<string name="guild_event_location_elsewhere_field_label">Saisis un emplacement</string>
<string name="guild_event_location_external">Ailleurs</string>
<string name="guild_event_location_option_voice_hint">Rejoins tes ami(e)s en vocal, vidéo, partage d\'écran et Go Live.</string>
<string name="guild_event_location_stage_upsell_alt_image">Trois orateurs dans un salon de conférence parlent à cinq spectateurs, deux autres membres du public ont la main levée</string>
<string name="guild_event_location_stage_upsell_description_1">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)</string>
<string name="guild_event_location_stage_upsell_hint">Adapté aux : $[questions-réponses, FAQ, présentations orales](suggestionsHook)</string>
<string name="guild_event_location_stage_upsell_hint_1">Questions-réponses</string>
<string name="guild_event_location_stage_upsell_hint_2">FAQ</string>
<string name="guild_event_location_stage_upsell_hint_3">Présentation orale</string>
<string name="guild_event_location_stage_upsell_title">Essaie d\'utiliser un salon de conférence !</string>
<string name="guild_event_location_subtitle">Ainsi, personne ne se perd en chemin.</string>
<string name="guild_event_location_title">Où se trouve ton événement ?</string>
<string name="guild_event_location_voice_field_label">Sélectionne un salon</string>

View File

@ -3077,13 +3077,6 @@
<string name="guild_event_location_elsewhere_field_label">कोई लोकेशन डालें</string>
<string name="guild_event_location_external">कहीं दूसरी जगह</string>
<string name="guild_event_location_option_voice_hint">वॉइस, वीडियो, स्क्रीन शेयर और Go Live के साथ हैंगआउट करें.</string>
<string name="guild_event_location_stage_upsell_alt_image">किसी स्टेज चैनल में तीन स्पीकर पांच ऑडियंस मेम्बर्स से बात कर रहे हैं, जिनमें से दो ऑडियंस मेम्बर्स ने अपने हाथ उठाए हुए हैं</string>
<string name="guild_event_location_stage_upsell_description_1">स्टेज चैनल खासतौर पर $[बिल्ट-इन मॉडरेशन टूल](moderationHook) जैसे $[हैंड रेज](handRaiseHook) और $[डिफ़ॉल्ट तौर पर ऑडियंस को म्यूट करना](audienceHook) के साथ कम्युनिटी ऑडियो इवेंट्स के लिए तैयार किए गए हैं.</string>
<string name="guild_event_location_stage_upsell_hint">इसके लिए अच्छा है: $[Q&amp;A, AMA, पैनल डिस्कशन](suggestionsHook)</string>
<string name="guild_event_location_stage_upsell_hint_1">Q&amp;A</string>
<string name="guild_event_location_stage_upsell_hint_2">AMA</string>
<string name="guild_event_location_stage_upsell_hint_3">पैनल डिस्कशन</string>
<string name="guild_event_location_stage_upsell_title">स्टेज चैनल का इस्तेमाल करके देखें!</string>
<string name="guild_event_location_subtitle">ताकि कोई भी रास्ता न भूले कि कहां जाना है.</string>
<string name="guild_event_location_title">आपका इवेंट कहां पर है?</string>
<string name="guild_event_location_voice_field_label">चैनल को सलेक्ट करें</string>

View File

@ -3077,13 +3077,6 @@
<string name="guild_event_location_elsewhere_field_label">Unesi lokaciju</string>
<string name="guild_event_location_external">Negdje drugdje</string>
<string name="guild_event_location_option_voice_hint">Provodite vrijeme skupa uz glas, sliku, dijeljenje zaslona i Go Live.</string>
<string name="guild_event_location_stage_upsell_alt_image">Tri govornika na kanalu s pozornicom razgovaraju s pet članova publike, a dva člana publike imaju podignute ruke</string>
<string name="guild_event_location_stage_upsell_description_1">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)</string>
<string name="guild_event_location_stage_upsell_hint">Dobro za: $[Pitanja &amp; odgovore, AMA, okrugle stolove ](suggestionsHook)</string>
<string name="guild_event_location_stage_upsell_hint_1">Pitanja &amp; odgovori</string>
<string name="guild_event_location_stage_upsell_hint_2">AMA</string>
<string name="guild_event_location_stage_upsell_hint_3">Okrugli stol</string>
<string name="guild_event_location_stage_upsell_title">Pokušaj upotrijebiti kanal s pozornicom!</string>
<string name="guild_event_location_subtitle">Zato da se nitko ne zagubi u dolasku.</string>
<string name="guild_event_location_title">Gdje je tvoj događaj?</string>
<string name="guild_event_location_voice_field_label">Odaberi kanal</string>

View File

@ -3077,13 +3077,6 @@
<string name="guild_event_location_elsewhere_field_label">Adj meg egy helyszínt</string>
<string name="guild_event_location_external">Valahol máshol</string>
<string name="guild_event_location_option_voice_hint">Lógjatok együtt hanggal, videóval, képernyőmegosztással és Go Live közvetítéssel!</string>
<string name="guild_event_location_stage_upsell_alt_image">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</string>
<string name="guild_event_location_stage_upsell_description_1">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)</string>
<string name="guild_event_location_stage_upsell_hint">Jól jön a következőknél: $[Kérdezz-felelek, AMA, vitafórum](suggestionsHook)</string>
<string name="guild_event_location_stage_upsell_hint_1">Kérdezz-felelek</string>
<string name="guild_event_location_stage_upsell_hint_2">AMA</string>
<string name="guild_event_location_stage_upsell_hint_3">Vitafórum</string>
<string name="guild_event_location_stage_upsell_title">Próbáld ki a pódiumcsatornát!</string>
<string name="guild_event_location_subtitle">Így mindenki tudni fogja, hová kell menni.</string>
<string name="guild_event_location_title">Hol van az eseményed?</string>
<string name="guild_event_location_voice_field_label">Válassz csatornát</string>

View File

@ -3082,13 +3082,6 @@
<string name="guild_event_location_elsewhere_field_label">Inserisci una posizione</string>
<string name="guild_event_location_external">Da qualche altra parte</string>
<string name="guild_event_location_option_voice_hint">Passa il tempo con chat vocale, video, condivisione schermo e streaming Go Live.</string>
<string name="guild_event_location_stage_upsell_alt_image">Tre relatori in una sala conferenze parlano a cinque pubblici diversi, due membri del pubblico hanno la mano alzata</string>
<string name="guild_event_location_stage_upsell_description_1">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).</string>
<string name="guild_event_location_stage_upsell_hint">Ottimo per: $[D&amp;R, AMA, dibattito](suggestionsHook)</string>
<string name="guild_event_location_stage_upsell_hint_1">D&amp;R</string>
<string name="guild_event_location_stage_upsell_hint_2">AMA</string>
<string name="guild_event_location_stage_upsell_hint_3">Dibattito</string>
<string name="guild_event_location_stage_upsell_title">Prova a usare una sala conferenze!</string>
<string name="guild_event_location_subtitle">Così nessuno si perde e non sa dove andare.</string>
<string name="guild_event_location_title">Dov\'è il tuo evento?</string>
<string name="guild_event_location_voice_field_label">Seleziona un canale</string>

View File

@ -3087,13 +3087,6 @@
<string name="guild_event_location_elsewhere_field_label">場所を入力してください</string>
<string name="guild_event_location_external">他の場所</string>
<string name="guild_event_location_option_voice_hint">ボイスチャット、ビデオチャット、画面共有、Go Live で楽しみましょう。</string>
<string name="guild_event_location_stage_upsell_alt_image">ステージチャンネルで 3 名のスピーカーが 5 名のオーディエンスに向かって話している。オーディエンスのうち 2 人が手を挙げている</string>
<string name="guild_event_location_stage_upsell_description_1">ステージチャンネルはコミュニティ内のオーディオイベント専用チャンネルです。$[挙手](handRaiseHook)機能があったり、$[デフォルトでオーディエンスをミュート](audienceHook)できたり、便利な$[管理ツールを組み込み済み](moderationHook)です!</string>
<string name="guild_event_location_stage_upsell_hint">おすすめの使い方:$[Q&amp;A、「○○だけど質問ある」、パネルディスカッション](suggestionsHook)</string>
<string name="guild_event_location_stage_upsell_hint_1">Q&amp;A</string>
<string name="guild_event_location_stage_upsell_hint_2">「○○だけど質問ある?」</string>
<string name="guild_event_location_stage_upsell_hint_3">パネルディスカッション</string>
<string name="guild_event_location_stage_upsell_title">ステージチャンネルを使ってみよう!</string>
<string name="guild_event_location_subtitle">迷子が出ないように注意です。</string>
<string name="guild_event_location_title">イベントはどこで行われますか?</string>
<string name="guild_event_location_voice_field_label">チャンネルを選択</string>

View File

@ -3082,13 +3082,6 @@
<string name="guild_event_location_elsewhere_field_label">위치 입력하기</string>
<string name="guild_event_location_external">다른 곳</string>
<string name="guild_event_location_option_voice_hint">음성, 영상, 화면 공유, Go Live로 즐거운 시간을 보내세요.</string>
<string name="guild_event_location_stage_upsell_alt_image">무대 채널에서 3명이 청취자 멤버 5명에게 말하고 있고, 청취자 멤버 2명이 손을 들었어요</string>
<string name="guild_event_location_stage_upsell_description_1">무대 채널은 특히 커뮤니티 음성 이벤트에 적합해요. 기본적으로 $[손들기](handRaiseHook)와 $[청취자 음소거](audienceHook)와 같은 $[관리 도구가](moderationHook) 있답니다.</string>
<string name="guild_event_location_stage_upsell_hint">적합한 이벤트: $[질의응답, 무엇이든 물어보세요, 게스트 토크](suggestionsHook)</string>
<string name="guild_event_location_stage_upsell_hint_1">질의응답</string>
<string name="guild_event_location_stage_upsell_hint_2">무엇이든 물어보세요</string>
<string name="guild_event_location_stage_upsell_hint_3">게스트 토크</string>
<string name="guild_event_location_stage_upsell_title">무대 채널을 이용해보세요!</string>
<string name="guild_event_location_subtitle">아무도 어디인지 헤매지 않게 해주세요.</string>
<string name="guild_event_location_title">이벤트의 위치가 어디인가요?</string>
<string name="guild_event_location_voice_field_label">채널 선택하기</string>

View File

@ -3077,13 +3077,6 @@
<string name="guild_event_location_elsewhere_field_label">Įvesti vietą</string>
<string name="guild_event_location_external">Kažkur kitur</string>
<string name="guild_event_location_option_voice_hint">Leiskite laiką drauge su balso ir vaizdo pokalbiais, ekrano bendrinimu ir Go Live transliacijomis.</string>
<string name="guild_event_location_stage_upsell_alt_image">Du iš kalbančiųjų scenos kanale kreipiasi į penkis auditorijos narius, du auditorijos nariai pakėlę rankas</string>
<string name="guild_event_location_stage_upsell_description_1">Scenos kanalai sukurti specialiai bendruomenių garso renginiams. Juose $[prieinami moderavimo įrankiai](moderationHook) kaip $[rankos pakėlimas](handRaiseHook), o $[auditorija pagal nutylėjimą nutildyta.](audienceHook)</string>
<string name="guild_event_location_stage_upsell_hint">Pritaikyta $[klausimų ir atsakymų (Q&amp;A), „Klausk manęs bet ko“ (AMA) renginiams ir viešoms diskusijoms](suggestionsHook)</string>
<string name="guild_event_location_stage_upsell_hint_1">Klausimai ir atsakymai (Q&amp;A)</string>
<string name="guild_event_location_stage_upsell_hint_2">„Klausk manęs bet ko“ (AMA)</string>
<string name="guild_event_location_stage_upsell_hint_3">Viešos diskusijos</string>
<string name="guild_event_location_stage_upsell_title">Pabandyk naudoti scenos kanalą!</string>
<string name="guild_event_location_subtitle">Kad niekas nepaklystų beieškodami.</string>
<string name="guild_event_location_title">Kur tavo renginys vyks?</string>
<string name="guild_event_location_voice_field_label">Pasirink kanalą</string>

View File

@ -3082,13 +3082,6 @@
<string name="guild_event_location_elsewhere_field_label">Locatie invoeren</string>
<string name="guild_event_location_external">Ergens anders</string>
<string name="guild_event_location_option_voice_hint">Chil met spraak, video, schermdelen en Go Live.</string>
<string name="guild_event_location_stage_upsell_alt_image">Drie sprekers op een podiumkanaal praten met vijf leden uit het publiek, twee publieksleden hebben hun hand opgestoken</string>
<string name="guild_event_location_stage_upsell_description_1">Podiumkanalen zijn speciaal gemaakt voor audio-evenementen van de community, met $[ingebouwde moderatietools](moderationHook) zoals $[hand opsteken](handRaiseHook) en een $[standaard gedempt publiek.](audienceHook)</string>
<string name="guild_event_location_stage_upsell_hint">Goed voor: $[Q&amp;A, Ask Me Anything, Panelgesprek](suggestionsHook)</string>
<string name="guild_event_location_stage_upsell_hint_1">Q&amp;A</string>
<string name="guild_event_location_stage_upsell_hint_2">Ask Me Anything</string>
<string name="guild_event_location_stage_upsell_hint_3">Panelgesprek</string>
<string name="guild_event_location_stage_upsell_title">Probeer een podiumkanaal!</string>
<string name="guild_event_location_subtitle">Zodat niemand de weg kwijtraakt.</string>
<string name="guild_event_location_title">Waar bevindt je evenement zich?</string>
<string name="guild_event_location_voice_field_label">Selecteer een kanaal</string>

View File

@ -2971,13 +2971,6 @@
<string name="guild_event_location_elsewhere_field_label">Angi et sted</string>
<string name="guild_event_location_external">Et annet sted</string>
<string name="guild_event_location_option_voice_hint">Vær sammen gjennom video, skjermdeling og Go Live.</string>
<string name="guild_event_location_stage_upsell_alt_image">Tre talere i en scenekanal snakker til fem tilhørere. To av tilhørerne har rakt opp hånden.</string>
<string name="guild_event_location_stage_upsell_description_1">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)</string>
<string name="guild_event_location_stage_upsell_hint">Passer for: $[spørsmålsrunder, AMA, paneldebatter](suggestionsHook)</string>
<string name="guild_event_location_stage_upsell_hint_1">Spørsmålsrunde</string>
<string name="guild_event_location_stage_upsell_hint_2">AMA</string>
<string name="guild_event_location_stage_upsell_hint_3">Paneldebatt</string>
<string name="guild_event_location_stage_upsell_title">Prøv å bruke en scenekanal!</string>
<string name="guild_event_location_subtitle">Sånn at ingen går seg vill når de prøver å finne frem.</string>
<string name="guild_event_location_title">Hvor foregår eventen?</string>
<string name="guild_event_location_voice_field_label">Velg en kanal</string>

View File

@ -3086,13 +3086,6 @@
<string name="guild_event_location_elsewhere_field_label">Podaj lokalizację</string>
<string name="guild_event_location_external">Gdzieś indziej</string>
<string name="guild_event_location_option_voice_hint">Spotkania z dźwiękiem, obrazem, współdzielenie ekranów i Go Live.</string>
<string name="guild_event_location_stage_upsell_alt_image">Trzech mówców na kanale podium przemawia do pięciu osób z widowni, dwie osoby z widowni podnoszą rękę</string>
<string name="guild_event_location_stage_upsell_description_1">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).</string>
<string name="guild_event_location_stage_upsell_hint">Dobre do typów wydarzeń: $[pytania i odpowiedzi, zapytaj mnie o cokolwiek, panele dyskusyjne](suggestionsHook)</string>
<string name="guild_event_location_stage_upsell_hint_1">Pytania i odpowiedzi</string>
<string name="guild_event_location_stage_upsell_hint_2">Zapytaj mnie o cokolwiek</string>
<string name="guild_event_location_stage_upsell_hint_3">Panel dyskusyjny</string>
<string name="guild_event_location_stage_upsell_title">Spróbuj użyć kanału podium!</string>
<string name="guild_event_location_subtitle">Aby nikt się nie pogubił.</string>
<string name="guild_event_location_title">Gdzie odbywa się Twoje wydarzenie?</string>
<string name="guild_event_location_voice_field_label">Wybierz kanał</string>

View File

@ -3031,13 +3031,6 @@
<string name="guild_event_location_elsewhere_field_label">Insira uma localização</string>
<string name="guild_event_location_external">Em outro lugar</string>
<string name="guild_event_location_option_voice_hint">Encontrem-se com voz, vídeo, compartilhamento de tela e Go Live.</string>
<string name="guild_event_location_stage_upsell_alt_image">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</string>
<string name="guild_event_location_stage_upsell_description_1">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)</string>
<string name="guild_event_location_stage_upsell_hint">Bom para: $[P&amp;R, AMA, Painéis de Discussão](suggestionsHook)</string>
<string name="guild_event_location_stage_upsell_hint_1">P&amp;R</string>
<string name="guild_event_location_stage_upsell_hint_2">AMA</string>
<string name="guild_event_location_stage_upsell_hint_3">Painéis de Discussão</string>
<string name="guild_event_location_stage_upsell_title">Tente usar um canal palco!</string>
<string name="guild_event_location_subtitle">Para ninguém ficar perdido e saber aonde ir.</string>
<string name="guild_event_location_title">Onde é seu evento?</string>
<string name="guild_event_location_voice_field_label">Selecione um canal</string>

View File

@ -3077,13 +3077,6 @@
<string name="guild_event_location_elsewhere_field_label">Introdu o locație</string>
<string name="guild_event_location_external">Altundeva</string>
<string name="guild_event_location_option_voice_hint">Stai de vorbă audio, pornește-ți camera, partajează-ți ecranul sau profită de Go Live.</string>
<string name="guild_event_location_stage_upsell_alt_image">Trei vorbitori dintr-un canal podium vorbesc cu un public de cinci persoane, iar doi ascultători au ridicat mâna</string>
<string name="guild_event_location_stage_upsell_description_1">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)</string>
<string name="guild_event_location_stage_upsell_hint">Perfect pentru: $[Întrebări și răspunsuri, Întreabă orice, Discuții în grup](suggestionsHook)</string>
<string name="guild_event_location_stage_upsell_hint_1">Întrebări și răspunsuri</string>
<string name="guild_event_location_stage_upsell_hint_2">Întreabă orice</string>
<string name="guild_event_location_stage_upsell_hint_3">Discuție în grup</string>
<string name="guild_event_location_stage_upsell_title">Folosește un canal podium!</string>
<string name="guild_event_location_subtitle">Ca să nu se piardă nimeni pe drum.</string>
<string name="guild_event_location_title">Unde se ține evenimentul tău?</string>
<string name="guild_event_location_voice_field_label">Alege un canal</string>

View File

@ -3086,13 +3086,6 @@
<string name="guild_event_location_elsewhere_field_label">Укажите место</string>
<string name="guild_event_location_external">В другом месте</string>
<string name="guild_event_location_option_voice_hint">Голос, видео, показ экрана и стриминг Go Live.</string>
<string name="guild_event_location_stage_upsell_alt_image">Три выступающих на трибуне говорят для пяти участников аудитории, два слушателя подняли руки</string>
<string name="guild_event_location_stage_upsell_description_1">Трибуны созданы специально для голосовых событий сообщества и снабжены $[встроенными инструментами модерации](moderationHook), такими как $[поднятие руки](handRaiseHook) и $[отключение микрофонов у слушателей по умолчанию.](audienceHook)</string>
<string name="guild_event_location_stage_upsell_hint">Подойдёт для: $[интервью, ответов на вопросы, круглых столов](suggestionsHook)</string>
<string name="guild_event_location_stage_upsell_hint_1">Ответы на вопросы</string>
<string name="guild_event_location_stage_upsell_hint_2">Интервью</string>
<string name="guild_event_location_stage_upsell_hint_3">Круглый стол</string>
<string name="guild_event_location_stage_upsell_title">Попробуйте использовать трибуну!</string>
<string name="guild_event_location_subtitle">Чтобы все знали, где его искать.</string>
<string name="guild_event_location_title">Где пройдёт ваше событие?</string>
<string name="guild_event_location_voice_field_label">Выбрать канал</string>

View File

@ -2976,13 +2976,6 @@
<string name="guild_event_location_elsewhere_field_label">Ange en plats</string>
<string name="guild_event_location_external">Någon annanstans</string>
<string name="guild_event_location_option_voice_hint">Umgås via röst, video, skärmdelning och Go Live.</string>
<string name="guild_event_location_stage_upsell_alt_image">Tre talare i en podiekanal talar till fem medlemmar i publiken. Två medlemmar har sina händer uppräckta</string>
<string name="guild_event_location_stage_upsell_description_1">Podiekanaler är specialgjorda för community-ljudevent, med $[inbyggda modereringsverktyg](moderationHook) som $[uppräckt hand](handRaiseHook) och $[publiken tystad som standard.](audienceHook)</string>
<string name="guild_event_location_stage_upsell_hint">Bra för: $[Frågor och svar, frågestunder, paneldiskussion](suggestionsHook)</string>
<string name="guild_event_location_stage_upsell_hint_1">Frågor och svar</string>
<string name="guild_event_location_stage_upsell_hint_2">Frågestund</string>
<string name="guild_event_location_stage_upsell_hint_3">Paneldiskussion</string>
<string name="guild_event_location_stage_upsell_title">Testa att använda en podiekanal!</string>
<string name="guild_event_location_subtitle">Så att alla vet var de ska.</string>
<string name="guild_event_location_title">Var hålls ditt event?</string>
<string name="guild_event_location_voice_field_label">Välj en kanal</string>

View File

@ -3077,13 +3077,6 @@
<string name="guild_event_location_elsewhere_field_label">ป้อนตำแหน่ง</string>
<string name="guild_event_location_external">ที่อื่น</string>
<string name="guild_event_location_option_voice_hint">สังสรรค์กันด้วยเสียง วิดีโอ การแบ่งปันหน้าจอ และ Go Live</string>
<string name="guild_event_location_stage_upsell_alt_image">ผู้พูดสามคนในช่องเวทีพูดกับสมาชิกผู้ฟังห้าคน สมาชิกผู้ฟังสองคนได้ยกมือขึ้น</string>
<string name="guild_event_location_stage_upsell_description_1">ช่องเวทีสร้างขึ้นสำหรับกิจกรรมเสียงในชุมชนโดยเฉพาะ มาพร้อม $[เครื่องมือดูแลในตัว](moderationHook) เช่น $[การยกมือ](handRaiseHook)และ$[การปิดเสียงไมค์ผู้ฟังเป็นค่าเริ่มต้น](audienceHook)</string>
<string name="guild_event_location_stage_upsell_hint">เหมาะสำหรับ: $[กิจกรรมถามตอบ การรับฟังข้อสงสัย การพูดคุยเป็นหมู่คณะ](suggestionsHook)</string>
<string name="guild_event_location_stage_upsell_hint_1">กิจกรรมถามตอบ</string>
<string name="guild_event_location_stage_upsell_hint_2">การรับฟังข้อสงสัย</string>
<string name="guild_event_location_stage_upsell_hint_3">การพูดคุยเป็นหมู่คณะ</string>
<string name="guild_event_location_stage_upsell_title">ลองใช้ช่องเวที!</string>
<string name="guild_event_location_subtitle">เพื่อไม่ให้ใครหลงทางว่าจะไปไหน</string>
<string name="guild_event_location_title">กิจกรรมของคุณจัดขึ้นที่ใด</string>
<string name="guild_event_location_voice_field_label">เลือกช่อง</string>

View File

@ -3087,13 +3087,6 @@
<string name="guild_event_location_elsewhere_field_label">Bir konum gir</string>
<string name="guild_event_location_external">Başka Bir Yer</string>
<string name="guild_event_location_option_voice_hint">Ses, video, ekran paylaşımı ve Go Live ile zaman geçir.</string>
<string name="guild_event_location_stage_upsell_alt_image">Sahne kanalında üç konuşmacı, beş dinleyici üyesiyle konuşur, iki dinleyici üye el kaldırır</string>
<string name="guild_event_location_stage_upsell_description_1">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.</string>
<string name="guild_event_location_stage_upsell_hint">Kullanım alanlar: $[Q&amp;A, AMA, Panel Tartışması](suggestionsHook)</string>
<string name="guild_event_location_stage_upsell_hint_1">Q&amp;A</string>
<string name="guild_event_location_stage_upsell_hint_2">AMA</string>
<string name="guild_event_location_stage_upsell_hint_3">Panel Tartışması</string>
<string name="guild_event_location_stage_upsell_title">Bir Sahne kanalı kullanmayı dene!</string>
<string name="guild_event_location_subtitle">İnsanlar kafa karışıklığı yaşamasın diye.</string>
<string name="guild_event_location_title">Etkinliğin nerede olacak?</string>
<string name="guild_event_location_voice_field_label">Bir kanal seç</string>

View File

@ -3077,13 +3077,6 @@
<string name="guild_event_location_elsewhere_field_label">Введіть локацію</string>
<string name="guild_event_location_external">Десь в іншому місці</string>
<string name="guild_event_location_option_voice_hint">Залучіть голос, відео, демонстрацію екрану та трансляції Go Live.</string>
<string name="guild_event_location_stage_upsell_alt_image">Троє спікерів на каналі трибуни говорять до п\'яти слухачів, у двох слухачів підняті руки</string>
<string name="guild_event_location_stage_upsell_description_1">Канали трибуни створені спеціально для організації аудіоподій у спільнотах, бо в них передбачені $[вбудовані інструменти модерації](moderationHook): опція $[підняти руку](handRaiseHook) та $[вимкнення мікрофону слухачам за умовчанням.](audienceHook)</string>
<string name="guild_event_location_stage_upsell_hint">Підходить для: $[Питання/відповідь, серія питань, панельне обговорення](suggestionsHook)</string>
<string name="guild_event_location_stage_upsell_hint_1">Питання/відповідь</string>
<string name="guild_event_location_stage_upsell_hint_2">Серія питань</string>
<string name="guild_event_location_stage_upsell_hint_3">Панельне обговорення</string>
<string name="guild_event_location_stage_upsell_title">Спробуйте використати канал трибуни!</string>
<string name="guild_event_location_subtitle">Важливо вказати, щоби ніхто з гостей не заблукав.</string>
<string name="guild_event_location_title">Де відбудеться подія?</string>
<string name="guild_event_location_voice_field_label">Оберіть канал</string>

View File

@ -3076,13 +3076,6 @@
<string name="guild_event_location_elsewhere_field_label">Nhập vị trí</string>
<string name="guild_event_location_external">Một Nơi Nào Khác</string>
<string name="guild_event_location_option_voice_hint">Gặp mặt bằng gọi thoại, video, và chia sẻ màn hình và Go Live.</string>
<string name="guild_event_location_stage_upsell_alt_image">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</string>
<string name="guild_event_location_stage_upsell_description_1">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)</string>
<string name="guild_event_location_stage_upsell_hint">Tốt cho: $[Hỏi và Đáp (Q&amp;A), Hãy hỏi tôi bất cứ điều gì (AMA), Thảo Luận Nhóm](suggestionsHook)</string>
<string name="guild_event_location_stage_upsell_hint_1">Hỏi và Đáp (Q&amp;A)</string>
<string name="guild_event_location_stage_upsell_hint_2">Hãy hỏi tôi bất cứ điều gì (AMA)</string>
<string name="guild_event_location_stage_upsell_hint_3">Thảo Luận Nhóm</string>
<string name="guild_event_location_stage_upsell_title">Hãy thử sử dụng kênh Sân khấu!</string>
<string name="guild_event_location_subtitle">Để không ai bị lạc khi truy cập.</string>
<string name="guild_event_location_title">Sự kiện của bạn diễn ra ở đâu?</string>
<string name="guild_event_location_voice_field_label">Chọn kênh</string>

View File

@ -3082,13 +3082,6 @@
<string name="guild_event_location_elsewhere_field_label">输入场所</string>
<string name="guild_event_location_external">其他地方</string>
<string name="guild_event_location_option_voice_hint">通过语音、视频、屏幕分享和 Go Live 消遣娱乐。</string>
<string name="guild_event_location_stage_upsell_alt_image">三位发言者在讲堂频道跟五位听众成员对话,两位听众成员举手了</string>
<string name="guild_event_location_stage_upsell_description_1">讲堂频道是专为社区有声活动而打造的,配有$[内置管理工具](moderationHook),比如$[举手](handRaiseHook)以及$[听众默认静音。](audienceHook)</string>
<string name="guild_event_location_stage_upsell_hint">适合:$[Q&amp;A、有问必答、专题讨论](suggestionsHook)</string>
<string name="guild_event_location_stage_upsell_hint_1">Q&amp;A</string>
<string name="guild_event_location_stage_upsell_hint_2">有问必答</string>
<string name="guild_event_location_stage_upsell_hint_3">专题讨论</string>
<string name="guild_event_location_stage_upsell_title">尝试使用讲堂频道!</string>
<string name="guild_event_location_subtitle">这样大家就不会迷路了。</string>
<string name="guild_event_location_title">您活动的位置是?</string>
<string name="guild_event_location_voice_field_label">选择一个频道</string>

View File

@ -3076,13 +3076,6 @@
<string name="guild_event_location_elsewhere_field_label">輸入位置</string>
<string name="guild_event_location_external">其他活動</string>
<string name="guild_event_location_option_voice_hint">透過語音通話、視訊通話、畫面分享和 Go Live 直播來進行交流。</string>
<string name="guild_event_location_stage_upsell_alt_image">三位發言者在舞台頻道對五位聽眾成員說話,兩位聽眾成員已舉手</string>
<string name="guild_event_location_stage_upsell_description_1">舞台頻道專為舉行社群音訊活動打造,並搭配使用$[內建管理工具](moderationHook),如$[舉手功能](handRaiseHook)和$[將聽眾預設為靜音。](audienceHook)</string>
<string name="guild_event_location_stage_upsell_hint">適合:$[Q&amp;A、問答聊天和小組討論](suggestionsHook)</string>
<string name="guild_event_location_stage_upsell_hint_1">Q&amp;A</string>
<string name="guild_event_location_stage_upsell_hint_2">問答聊天</string>
<string name="guild_event_location_stage_upsell_hint_3">小組討論</string>
<string name="guild_event_location_stage_upsell_title">試著使用舞台頻道吧!</string>
<string name="guild_event_location_subtitle">這樣才不會有人迷失方向。</string>
<string name="guild_event_location_title">您的活動在哪裡舉行?</string>
<string name="guild_event_location_voice_field_label">選擇一個頻道</string>

File diff suppressed because it is too large Load Diff

View File

@ -272,6 +272,7 @@
<string name="allow">Allow</string>
<string name="allow_direct_messages">Allow Direct Messages</string>
<string name="allow_direct_messages_caption">Anyone in the server can message you</string>
<string name="allow_hub_dms">Allow direct messages from Hub members.</string>
<string name="allow_server_dms">Allow direct messages from server members.</string>
<string name="allow_tts_command">Allow playback and usage of /tts command</string>
<string name="already_have_account">Already have an account?</string>
@ -1413,7 +1414,7 @@
<string name="color_picker_title">Select a color</string>
<string name="color_picker_transparency">Transparency</string>
<string name="color_picker_use_default">Use Default</string>
<string name="res_2131887493_com_crashlytics_android_build_id">5b05e527a2984172829d27e5ec36021c</string>
<string name="res_2131887494_com_crashlytics_android_build_id">10f2b555f6754f7898f4222e47500b6c</string>
<string name="coming_soon">Coming Soon</string>
<string name="command_accessibility_desc_app_header_item">Slash command application {applicationName}</string>
<string name="command_accessibility_desc_app_item">{applicationName} application</string>
@ -2134,6 +2135,7 @@
<string name="directory_category_study_social">Social &amp; Study</string>
<string name="directory_category_subject_major">Majors &amp; Subjects</string>
<string name="directory_entry_menu_label">Directory Entry Actions</string>
<string name="directory_search_initial_title">Search for your school</string>
<string name="directory_search_no_results_subtitle">Try another search or $[add a server](addServerHook).</string>
<string name="directory_search_no_results_subtitle_mobile">Try another search or [add a server](addServerHook).</string>
<string name="directory_search_no_results_title">No matches found</string>
@ -3296,6 +3298,9 @@
<string name="guild_event_date_at_time">{date} at {time}</string>
<string name="guild_event_delete_confirm_body">Are you sure you want to delete this event?</string>
<string name="guild_event_delete_confirm_header">Delete Event?</string>
<string name="guild_event_end_prompt_cancel">No, just disconnect</string>
<string name="guild_event_end_prompt_confirm">Yes, end the event</string>
<string name="guild_event_end_prompt_title">Do you want to also end the event?</string>
<string name="guild_event_interested">{count} Interested</string>
<string name="guild_event_interested_count">{count} interested</string>
<string name="guild_event_interested_notification">You\'ll be notified when the event starts</string>
@ -3304,6 +3309,8 @@
<string name="guild_event_invite_modal_footer">Or, send an event invite link to a friend</string>
<string name="guild_event_invite_modal_title">Invite friends to event</string>
<string name="guild_event_listening">{count} Listening</string>
<string name="guild_event_location_disabled_external_no_permission">You do not have permission.</string>
<string name="guild_event_location_disabled_no_available_channel">There are no available channels.</string>
<string name="guild_event_location_elsewhere_field_label">Enter a location</string>
<string name="guild_event_location_elsewhere_field_placeholder">Add a location, link, or something.</string>
<string name="guild_event_location_external">Somewhere Else</string>
@ -3311,14 +3318,6 @@
<string name="guild_event_location_option_elsewhere_placeholder">Where you were when you downloaded Discord</string>
<string name="guild_event_location_option_stage_hint">Great for larger community audio events.</string>
<string name="guild_event_location_option_voice_hint">Hang out with voice, video, screenshare, and Go Live.</string>
<string name="guild_event_location_stage_upsell_alt_image">Three speakers in a Stage channel speak to five audience members, two audience members have their hand raised</string>
<string name="guild_event_location_stage_upsell_description_1">Get more moderation features and audience controls. Perfect for larger audio events.</string>
<string name="guild_event_location_stage_upsell_hint">Good for: $[Q&amp;A, AMA, Panel Discussion](suggestionsHook)</string>
<string name="guild_event_location_stage_upsell_hint_1">Q&amp;A</string>
<string name="guild_event_location_stage_upsell_hint_2">AMA</string>
<string name="guild_event_location_stage_upsell_hint_3">Panel</string>
<string name="guild_event_location_stage_upsell_hint_4">Discussion</string>
<string name="guild_event_location_stage_upsell_title">Try using a Stage channel!</string>
<string name="guild_event_location_subtitle">So no one gets lost on where to go.</string>
<string name="guild_event_location_title">Where is your event?</string>
<string name="guild_event_location_voice_field_label">Select a channel</string>
@ -3336,6 +3335,14 @@
<string name="guild_event_preview_title">Here\'s a preview of your event.</string>
<string name="guild_event_private_channel_tooltip">Only members who can view this channel can see this event.</string>
<string name="guild_event_stage_channel_required">Events are limited to Stage channels for now. Please make one to create an event.</string>
<string name="guild_event_stage_upsell">Good for: $[Q&amp;A, AMA, Panel Discussion](suggestionsHook)</string>
<string name="guild_event_stage_upsell_alt_image">Three speakers in a Stage channel speak to five audience members, two audience members have their hand raised</string>
<string name="guild_event_stage_upsell_description">Get more moderation features and audience controls. Perfect for larger audio events.</string>
<string name="guild_event_stage_upsell_hint_1">Q&amp;A</string>
<string name="guild_event_stage_upsell_hint_2">AMA</string>
<string name="guild_event_stage_upsell_hint_3">Panel</string>
<string name="guild_event_stage_upsell_hint_4">Discussion</string>
<string name="guild_event_stage_upsell_title">Try using a Stage channel!</string>
<string name="guild_event_start_prompt">Start Event: {eventName}</string>
<string name="guild_event_start_prompt_description">Scheduled for {startTime}</string>
<string name="guild_event_start_prompt_description_time">Scheduled at {startTime}</string>
@ -4533,7 +4540,8 @@
<string name="hub_email_connection_join_description">Easily find student-run servers for your study groups, clubs, game nights, and more.</string>
<string name="hub_email_connection_join_header">Are you a current student? Join the Student Hub for your school!</string>
<string name="hub_email_connection_join_my_schoool">Join Hub</string>
<string name="hub_email_connection_nux_header">Get access to student-only hubs</string>
<string name="hub_email_connection_nux_content_description">Join for exclusive access to student-run study groups, clubs, game nights, and more.</string>
<string name="hub_email_connection_nux_header">Find your classmates in the Student Hub for your school</string>
<string name="hub_email_connection_school_submit_description">The Hub for your school isn\'t live yet. Enter your school\'s name and we\'ll let you know when it is!</string>
<string name="hub_email_connection_school_submit_header">Join the waitlist</string>
<string name="hub_email_connection_school_submit_input_header">School Name</string>
@ -4541,7 +4549,7 @@
<string name="hub_email_connection_sidebar_description">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.</string>
<string name="hub_email_connection_sidebar_header">Student Hubs</string>
<string name="hub_email_connection_sidebar_learn_more_header">What\'s a Student Hub?</string>
<string name="hub_enter_pin">Enter Discord one-time code</string>
<string name="hub_enter_pin">Enter Discord verification code</string>
<string name="hub_entry_invite_subtitle">If your server is intended for students only, just invite your classmates. They don\'t need a .edu address to join</string>
<string name="hub_entry_remove">Remove from Hub</string>
<string name="hub_entry_remove_body">Are you sure you want to remove !!{guildName}!! from this Student Hub?</string>
@ -5702,8 +5710,8 @@
<string name="move_members_description">Members with this permission can drag other members out of this channel. They can only move members between channels both they and the member they are moving have access.</string>
<string name="move_to">Move To</string>
<string name="move_to_success">User has been moved to the selected channel.</string>
<string name="res_2131891782_msg_alert_cleared">Alert Cleared</string>
<string name="res_2131891783_msg_no_alert_showing">No Alert Showing</string>
<string name="res_2131891797_msg_alert_cleared">Alert Cleared</string>
<string name="res_2131891798_msg_no_alert_showing">No Alert Showing</string>
<string name="mtrl_badge_numberless_content_description">New notification</string>
<string name="mtrl_chip_close_icon_content_description">Remove %1$s</string>
<string name="mtrl_exceed_max_badge_number_content_description">More than %1$d new notifications</string>
@ -6892,6 +6900,8 @@
<string name="premium_subscription_plan_adjustment">{planName} Adjustment</string>
<string name="premium_subscription_policy_hint_ios">See subscription and auto-renewal details below</string>
<string name="premium_subscription_policy_ios">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.</string>
<string name="premium_subscription_reactivation_notice_button_text">Learn More</string>
<string name="premium_subscription_reactivation_notice_text">Reactivate Nitro to regain access to larger file uploads, animated avatars &amp; more.</string>
<string name="premium_subscription_renewal_footer">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}).</string>
<string name="premium_subscription_renewal_footer_trial">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}).</string>
<string name="premium_subscription_required_body">Hold up! You need Nitro to get this loot.</string>
@ -7464,6 +7474,8 @@
<string name="role_permissions_manage_emojis_and_stickers_description">Allows members to add or remove custom emojis and stickers in this server.</string>
<string name="role_permissions_manage_emojis_description">Allows members to add or remove custom emojis in this server.</string>
<string name="role_permissions_manage_events_description">Allows members to create, edit, and delete events.</string>
<string name="role_permissions_manage_events_description_category">Allows members to create, edit, and delete events in these channels.</string>
<string name="role_permissions_manage_events_description_channel">Allows members to create, edit, and delete events in this channel.</string>
<string name="role_permissions_manage_messages_description">Allows members to delete messages by other members or pin any message.</string>
<string name="role_permissions_manage_messages_description_announcement">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}).</string>
<string name="role_permissions_manage_messages_description_category">Allows members to delete messages by other members or pin any message in these channels.</string>

View File

@ -5862,7 +5862,7 @@
<item name="android:textAppearance">@style/UiKit_TextAppearance</item>
<item name="android:layout_width">wrap_content</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:lineSpacingMultiplier">1.2</item>
<item name="android:lineSpacingMultiplier">1</item>
</style>
<style name="UiKit_TextView_Bold" parent="@style/UiKit_TextView">
<item name="android:textAppearance">@style/UiKit_TextAppearance_Bold</item>