97.2 - Alpha (97202)

This commit is contained in:
Juby210 2021-10-07 08:22:31 +02:00
parent c126502f3d
commit 5edecf3eb1
59 changed files with 7167 additions and 7000 deletions

View File

@ -10,8 +10,8 @@ android {
applicationId 'com.discord'
minSdkVersion 21
targetSdkVersion 29
versionCode 97201
versionName "97.1 - Alpha"
versionCode 97202
versionName "97.2 - 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="97201" android:versionName="97.1 - 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="97202" android:versionName="97.2 - 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

@ -0,0 +1,61 @@
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.analytics.generated.traits.TrackGuild;
import com.discord.analytics.generated.traits.TrackGuildReceiver;
import com.discord.api.science.AnalyticsSchema;
import d0.z.d.m;
/* compiled from: TrackDiscoverySetupCtaClicked.kt */
public final class TrackDiscoverySetupCtaClicked implements AnalyticsSchema, TrackBaseReceiver, TrackGuildReceiver {
private final transient String analyticsSchemaTypeName = "discovery_setup_cta_clicked";
private final CharSequence ctaName = null;
private final CharSequence discoverySettingsView = null;
private final CharSequence helpCenterArticleId = null;
private final CharSequence modalStep = null;
private TrackBase trackBase;
private TrackGuild trackGuild;
@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 TrackDiscoverySetupCtaClicked)) {
return false;
}
TrackDiscoverySetupCtaClicked trackDiscoverySetupCtaClicked = (TrackDiscoverySetupCtaClicked) obj;
return m.areEqual(this.ctaName, trackDiscoverySetupCtaClicked.ctaName) && m.areEqual(this.discoverySettingsView, trackDiscoverySetupCtaClicked.discoverySettingsView) && m.areEqual(this.helpCenterArticleId, trackDiscoverySetupCtaClicked.helpCenterArticleId) && m.areEqual(this.modalStep, trackDiscoverySetupCtaClicked.modalStep);
}
public int hashCode() {
CharSequence charSequence = this.ctaName;
int i = 0;
int hashCode = (charSequence != null ? charSequence.hashCode() : 0) * 31;
CharSequence charSequence2 = this.discoverySettingsView;
int hashCode2 = (hashCode + (charSequence2 != null ? charSequence2.hashCode() : 0)) * 31;
CharSequence charSequence3 = this.helpCenterArticleId;
int hashCode3 = (hashCode2 + (charSequence3 != null ? charSequence3.hashCode() : 0)) * 31;
CharSequence charSequence4 = this.modalStep;
if (charSequence4 != null) {
i = charSequence4.hashCode();
}
return hashCode3 + i;
}
public String toString() {
StringBuilder P = a.P("TrackDiscoverySetupCtaClicked(ctaName=");
P.append(this.ctaName);
P.append(", discoverySettingsView=");
P.append(this.discoverySettingsView);
P.append(", helpCenterArticleId=");
P.append(this.helpCenterArticleId);
P.append(", modalStep=");
return a.D(P, this.modalStep, ")");
}
}

View File

@ -0,0 +1,6 @@
package com.discord.analytics.generated.events;
import com.discord.api.science.AnalyticsSchema;
/* compiled from: TrackDiscoverySetupCtaClicked.kt */
public interface TrackDiscoverySetupCtaClickedReceiver extends AnalyticsSchema {
}

View File

@ -0,0 +1,51 @@
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.analytics.generated.traits.TrackGuild;
import com.discord.analytics.generated.traits.TrackGuildReceiver;
import com.discord.api.science.AnalyticsSchema;
import d0.z.d.m;
/* compiled from: TrackDiscoverySetupPopularTagClicked.kt */
public final class TrackDiscoverySetupPopularTagClicked implements AnalyticsSchema, TrackBaseReceiver, TrackGuildReceiver {
private final transient String analyticsSchemaTypeName = "discovery_setup_popular_tag_clicked";
private final Long primaryCategoryId = null;
private final CharSequence tag = null;
private TrackBase trackBase;
private TrackGuild trackGuild;
@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 TrackDiscoverySetupPopularTagClicked)) {
return false;
}
TrackDiscoverySetupPopularTagClicked trackDiscoverySetupPopularTagClicked = (TrackDiscoverySetupPopularTagClicked) obj;
return m.areEqual(this.tag, trackDiscoverySetupPopularTagClicked.tag) && m.areEqual(this.primaryCategoryId, trackDiscoverySetupPopularTagClicked.primaryCategoryId);
}
public int hashCode() {
CharSequence charSequence = this.tag;
int i = 0;
int hashCode = (charSequence != null ? charSequence.hashCode() : 0) * 31;
Long l = this.primaryCategoryId;
if (l != null) {
i = l.hashCode();
}
return hashCode + i;
}
public String toString() {
StringBuilder P = a.P("TrackDiscoverySetupPopularTagClicked(tag=");
P.append(this.tag);
P.append(", primaryCategoryId=");
return a.F(P, this.primaryCategoryId, ")");
}
}

View File

@ -0,0 +1,6 @@
package com.discord.analytics.generated.events;
import com.discord.api.science.AnalyticsSchema;
/* compiled from: TrackDiscoverySetupPopularTagClicked.kt */
public interface TrackDiscoverySetupPopularTagClickedReceiver extends AnalyticsSchema {
}

View File

@ -7,6 +7,7 @@ import com.discord.api.science.AnalyticsSchema;
import d0.z.d.m;
/* compiled from: TrackScreenshareFinished.kt */
public final class TrackScreenshareFinished implements AnalyticsSchema, TrackBaseReceiver {
private final Float activity = null;
private final transient String analyticsSchemaTypeName = "screenshare_finished";
private final Long channelId = null;
private final CharSequence context = null;
@ -48,7 +49,7 @@ public final class TrackScreenshareFinished implements AnalyticsSchema, TrackBas
return false;
}
TrackScreenshareFinished trackScreenshareFinished = (TrackScreenshareFinished) obj;
return m.areEqual(this.guildId, trackScreenshareFinished.guildId) && m.areEqual(this.channelId, trackScreenshareFinished.channelId) && m.areEqual(this.context, trackScreenshareFinished.context) && m.areEqual(this.screenshareFrames, trackScreenshareFinished.screenshareFrames) && m.areEqual(this.videohookFrames, trackScreenshareFinished.videohookFrames) && m.areEqual(this.hybridDxgiFrames, trackScreenshareFinished.hybridDxgiFrames) && m.areEqual(this.hybridGdiFrames, trackScreenshareFinished.hybridGdiFrames) && m.areEqual(this.hybridVideohookFrames, trackScreenshareFinished.hybridVideohookFrames) && m.areEqual(this.soundshareSession, trackScreenshareFinished.soundshareSession) && m.areEqual(this.shareGameName, trackScreenshareFinished.shareGameName) && m.areEqual(this.shareGameId, trackScreenshareFinished.shareGameId) && m.areEqual(this.desktopCapturerType, trackScreenshareFinished.desktopCapturerType) && m.areEqual(this.screens, trackScreenshareFinished.screens) && m.areEqual(this.windows, trackScreenshareFinished.windows) && m.areEqual(this.cpu, trackScreenshareFinished.cpu) && m.areEqual(this.gpu, trackScreenshareFinished.gpu) && m.areEqual(this.cpuBrand, trackScreenshareFinished.cpuBrand) && m.areEqual(this.cpuVendor, trackScreenshareFinished.cpuVendor) && m.areEqual(this.cpuMemory, trackScreenshareFinished.cpuMemory) && m.areEqual(this.gpuBrand, trackScreenshareFinished.gpuBrand) && m.areEqual(this.gpuCount, trackScreenshareFinished.gpuCount) && m.areEqual(this.gpuMemory, trackScreenshareFinished.gpuMemory) && m.areEqual(this.mediaSessionId, trackScreenshareFinished.mediaSessionId) && m.areEqual(this.rtcConnectionId, trackScreenshareFinished.rtcConnectionId) && m.areEqual(this.quartzFrames, trackScreenshareFinished.quartzFrames);
return m.areEqual(this.guildId, trackScreenshareFinished.guildId) && m.areEqual(this.channelId, trackScreenshareFinished.channelId) && m.areEqual(this.context, trackScreenshareFinished.context) && m.areEqual(this.screenshareFrames, trackScreenshareFinished.screenshareFrames) && m.areEqual(this.videohookFrames, trackScreenshareFinished.videohookFrames) && m.areEqual(this.hybridDxgiFrames, trackScreenshareFinished.hybridDxgiFrames) && m.areEqual(this.hybridGdiFrames, trackScreenshareFinished.hybridGdiFrames) && m.areEqual(this.hybridVideohookFrames, trackScreenshareFinished.hybridVideohookFrames) && m.areEqual(this.soundshareSession, trackScreenshareFinished.soundshareSession) && m.areEqual(this.shareGameName, trackScreenshareFinished.shareGameName) && m.areEqual(this.shareGameId, trackScreenshareFinished.shareGameId) && m.areEqual(this.desktopCapturerType, trackScreenshareFinished.desktopCapturerType) && m.areEqual(this.screens, trackScreenshareFinished.screens) && m.areEqual(this.windows, trackScreenshareFinished.windows) && m.areEqual(this.cpu, trackScreenshareFinished.cpu) && m.areEqual(this.gpu, trackScreenshareFinished.gpu) && m.areEqual(this.cpuBrand, trackScreenshareFinished.cpuBrand) && m.areEqual(this.cpuVendor, trackScreenshareFinished.cpuVendor) && m.areEqual(this.cpuMemory, trackScreenshareFinished.cpuMemory) && m.areEqual(this.gpuBrand, trackScreenshareFinished.gpuBrand) && m.areEqual(this.gpuCount, trackScreenshareFinished.gpuCount) && m.areEqual(this.gpuMemory, trackScreenshareFinished.gpuMemory) && m.areEqual(this.mediaSessionId, trackScreenshareFinished.mediaSessionId) && m.areEqual(this.rtcConnectionId, trackScreenshareFinished.rtcConnectionId) && m.areEqual(this.quartzFrames, trackScreenshareFinished.quartzFrames) && m.areEqual(this.activity, trackScreenshareFinished.activity);
}
public int hashCode() {
@ -102,10 +103,12 @@ public final class TrackScreenshareFinished implements AnalyticsSchema, TrackBas
CharSequence charSequence11 = this.rtcConnectionId;
int hashCode24 = (hashCode23 + (charSequence11 != null ? charSequence11.hashCode() : 0)) * 31;
Long l14 = this.quartzFrames;
if (l14 != null) {
i = l14.hashCode();
int hashCode25 = (hashCode24 + (l14 != null ? l14.hashCode() : 0)) * 31;
Float f = this.activity;
if (f != null) {
i = f.hashCode();
}
return hashCode24 + i;
return hashCode25 + i;
}
public String toString() {
@ -158,6 +161,10 @@ public final class TrackScreenshareFinished implements AnalyticsSchema, TrackBas
P.append(", rtcConnectionId=");
P.append(this.rtcConnectionId);
P.append(", quartzFrames=");
return a.F(P, this.quartzFrames, ")");
P.append(this.quartzFrames);
P.append(", activity=");
P.append(this.activity);
P.append(")");
return P.toString();
}
}

View File

@ -69,6 +69,7 @@ public final class StoreApplicationInteractions$sendComponentInteraction$1 exten
StoreLocalActionComponentState access$getStoreLocalActionComponentState$p = StoreApplicationInteractions.access$getStoreLocalActionComponentState$p(this.this$0.this$0.this$0);
StoreApplicationInteractions$sendComponentInteraction$1 storeApplicationInteractions$sendComponentInteraction$1 = this.this$0.this$0;
access$getStoreLocalActionComponentState$p.clearState(storeApplicationInteractions$sendComponentInteraction$1.$messageId, Integer.valueOf(storeApplicationInteractions$sendComponentInteraction$1.$componentIndex));
this.this$0.this$0.this$0.getComponentInteractions().remove(this.this$0.this$0.$nonce);
StoreApplicationInteractions$sendComponentInteraction$1 storeApplicationInteractions$sendComponentInteraction$12 = this.this$0.this$0;
StoreApplicationInteractions storeApplicationInteractions = storeApplicationInteractions$sendComponentInteraction$12.this$0;
long j = storeApplicationInteractions$sendComponentInteraction$12.$messageId;

View File

@ -10,7 +10,6 @@ import com.discord.models.commands.ApplicationCommand;
import com.discord.models.commands.ApplicationCommandOption;
import com.discord.models.commands.ApplicationSubCommand;
import com.discord.stores.CommandAutocompleteState;
import com.discord.stores.StoreApplicationCommandsKt;
import com.discord.utilities.stickers.StickerUtils;
import com.discord.utilities.string.StringUtilsKt;
import com.discord.widgets.chat.input.MentionUtilsKt;
@ -349,90 +348,115 @@ public final class AutocompleteModelUtils {
}
public final ApplicationCommandData getApplicationSendData(AutocompleteInputSelectionModel autocompleteInputSelectionModel, ApplicationCommandOption applicationCommandOption, List<Application> list, List<? extends ApplicationCommand> list2) {
ApplicationCommand applicationCommand;
Application application;
boolean z2;
ApplicationCommandValue applicationCommandValue;
boolean z3;
OptionRange optionRange;
IntRange value;
Object obj;
Object obj2;
boolean z2;
CharSequence charSequence;
boolean z3;
InputSelectionModel inputSelectionModel;
MentionInputModel inputModel;
CharSequence input;
boolean z4;
m.checkNotNullParameter(list, "applications");
m.checkNotNullParameter(list2, "queryCommands");
InputSelectionModel inputSelectionModel2 = autocompleteInputSelectionModel != null ? autocompleteInputSelectionModel.getInputSelectionModel() : null;
boolean z4 = false;
if (inputSelectionModel2 instanceof InputSelectionModel.CommandInputSelectionModel) {
InputSelectionModel.CommandInputSelectionModel commandInputSelectionModel = (InputSelectionModel.CommandInputSelectionModel) inputSelectionModel2;
applicationCommand = commandInputSelectionModel.getInputModel().getInputCommandContext().getSelectedCommand();
application = commandInputSelectionModel.getInputModel().getInputCommandContext().getSelectedApplication();
} else {
Iterator<T> it = StoreApplicationCommandsKt.flattenSubCommands(list2).iterator();
while (true) {
if (!it.hasNext()) {
obj = null;
break;
}
obj = it.next();
ApplicationCommand applicationCommand2 = (ApplicationCommand) obj;
if (autocompleteInputSelectionModel == null || (inputSelectionModel = autocompleteInputSelectionModel.getInputSelectionModel()) == null || (inputModel = inputSelectionModel.getInputModel()) == null || (input = inputModel.getInput()) == null || (charSequence = w.trim(input)) == null) {
charSequence = "";
}
if (!(!t.isBlank(charSequence)) || !m.areEqual(applicationCommand2.getName(), charSequence.subSequence(1, charSequence.length()).toString()) || charSequence.charAt(0) != '/') {
z3 = false;
continue;
} else {
z3 = true;
continue;
}
if (z3) {
break;
}
}
applicationCommand = (ApplicationCommand) obj;
if (applicationCommand == null) {
return null;
}
Iterator<T> it2 = list.iterator();
while (true) {
if (!it2.hasNext()) {
obj2 = null;
break;
}
obj2 = it2.next();
if (((Application) obj2).getId() == applicationCommand.getApplicationId()) {
z2 = true;
continue;
} else {
z2 = false;
continue;
}
if (z2) {
break;
}
}
application = (Application) obj2;
if (application == null) {
return null;
}
InputSelectionModel inputSelectionModel = autocompleteInputSelectionModel != null ? autocompleteInputSelectionModel.getInputSelectionModel() : null;
if (!(inputSelectionModel instanceof InputSelectionModel.CommandInputSelectionModel)) {
return null;
}
MentionInputModel inputModel2 = inputSelectionModel2 != null ? inputSelectionModel2.getInputModel() : null;
if (!(inputModel2 instanceof MentionInputModel.VerifiedCommandInputModel)) {
inputModel2 = null;
InputSelectionModel.CommandInputSelectionModel commandInputSelectionModel = (InputSelectionModel.CommandInputSelectionModel) inputSelectionModel;
ApplicationCommand selectedCommand = commandInputSelectionModel.getInputModel().getInputCommandContext().getSelectedCommand();
Application selectedApplication = commandInputSelectionModel.getInputModel().getInputCommandContext().getSelectedApplication();
MentionInputModel.VerifiedCommandInputModel inputModel = commandInputSelectionModel.getInputModel();
if (!(inputModel instanceof MentionInputModel.VerifiedCommandInputModel)) {
inputModel = null;
}
MentionInputModel.VerifiedCommandInputModel verifiedCommandInputModel = (MentionInputModel.VerifiedCommandInputModel) inputModel2;
if (verifiedCommandInputModel == null && applicationCommand != null && application != null) {
if (inputModel == null && selectedCommand != null && selectedApplication != null) {
List emptyList = n.emptyList();
List<ApplicationCommandOption> options = applicationCommand.getOptions();
List<ApplicationCommandOption> options = selectedCommand.getOptions();
if (!(options instanceof Collection) || !options.isEmpty()) {
Iterator<T> it3 = options.iterator();
Iterator<T> it = options.iterator();
while (true) {
if (it3.hasNext()) {
if (!(!((ApplicationCommandOption) it3.next()).getRequired())) {
if (it.hasNext()) {
if (!(!((ApplicationCommandOption) it.next()).getRequired())) {
z4 = false;
break;
}
} else {
break;
}
}
return new ApplicationCommandData(selectedApplication, selectedCommand, emptyList, z4);
}
z4 = true;
return new ApplicationCommandData(selectedApplication, selectedCommand, emptyList, z4);
} else if (inputModel == null || selectedCommand == null || selectedApplication == null) {
return null;
} else {
Map<ApplicationCommandOption, CommandOptionValue> inputCommandOptionValues = inputModel.getInputCommandOptionValues();
LinkedHashMap linkedHashMap = new LinkedHashMap(g0.mapCapacity(inputCommandOptionValues.size()));
Iterator<T> it2 = inputCommandOptionValues.entrySet().iterator();
while (it2.hasNext()) {
Map.Entry entry = (Map.Entry) it2.next();
Object key = entry.getKey();
Object value2 = ((CommandOptionValue) entry.getValue()).getValue();
if (entry.getValue() instanceof StringOptionValue) {
List<CommandChoice> choices = ((ApplicationCommandOption) entry.getKey()).getChoices();
if (!(!(choices == null || choices.isEmpty()) || (optionRange = inputModel.getInputCommandOptionsRanges().get(entry.getKey())) == null || (value = optionRange.getValue()) == null)) {
int first = value.getFirst();
String obj = ((CommandOptionValue) entry.getValue()).getValue().toString();
Map<IntRange, Autocompletable> inputMentionsMap = inputModel.getInputMentionsMap();
LinkedHashMap linkedHashMap2 = new LinkedHashMap(g0.mapCapacity(inputMentionsMap.size()));
Iterator<T> it3 = inputMentionsMap.entrySet().iterator();
while (it3.hasNext()) {
Map.Entry entry2 = (Map.Entry) it3.next();
linkedHashMap2.put(new IntRange(((IntRange) entry2.getKey()).getFirst() - first, ((IntRange) entry2.getKey()).getLast() - first), entry2.getValue());
}
LinkedHashMap linkedHashMap3 = new LinkedHashMap();
for (Map.Entry entry3 : linkedHashMap2.entrySet()) {
if (((IntRange) entry3.getKey()).getFirst() >= 0 && ((IntRange) entry3.getKey()).getLast() <= obj.length()) {
linkedHashMap3.put(entry3.getKey(), entry3.getValue());
}
}
value2 = AutocompleteExtensionsKt.replaceAutocompleteDataWithServerValues(obj, linkedHashMap3);
}
}
linkedHashMap.put(key, value2);
}
Map<ApplicationCommandOption, Boolean> inputCommandOptionValidity = inputModel.getInputCommandOptionValidity();
if (selectedCommand instanceof ApplicationSubCommand) {
Collection<Boolean> values = inputCommandOptionValidity.values();
if (!(values instanceof Collection) || !values.isEmpty()) {
Iterator<T> it4 = values.iterator();
while (true) {
if (it4.hasNext()) {
if (!((Boolean) it4.next()).booleanValue()) {
z3 = false;
break;
}
} else {
break;
}
}
}
z3 = true;
Set<ApplicationCommandOption> keySet = linkedHashMap.keySet();
ArrayList arrayList = new ArrayList(o.collectionSizeOrDefault(keySet, 10));
for (ApplicationCommandOption applicationCommandOption2 : keySet) {
boolean areEqual = m.areEqual(applicationCommandOption != null ? applicationCommandOption.getName() : null, applicationCommandOption2.getName());
boolean z5 = (applicationCommandOption2.getRequired() && linkedHashMap.get(applicationCommandOption2) == null && !applicationCommandOption2.getAutocomplete()) || m.areEqual(inputCommandOptionValidity.get(applicationCommandOption2), Boolean.FALSE);
z3 = z3 && !z5;
Object obj2 = !z5 ? linkedHashMap.get(applicationCommandOption2) : null;
arrayList.add((obj2 != null || applicationCommandOption2.getAutocomplete()) ? new ApplicationCommandValue(applicationCommandOption2.getName(), obj2 != null ? obj2 : "", applicationCommandOption2.getType().getType(), null, areEqual ? Boolean.TRUE : null, 8, null) : null);
}
ApplicationSubCommand applicationSubCommand = (ApplicationSubCommand) selectedCommand;
ApplicationCommandValue applicationCommandValue2 = new ApplicationCommandValue(applicationSubCommand.getSubCommandName(), null, ApplicationCommandType.SUBCOMMAND.getType(), u.filterNotNull(arrayList), null, 18, null);
String parentGroupName = applicationSubCommand.getParentGroupName();
return parentGroupName != null ? new ApplicationCommandData(selectedApplication, applicationSubCommand.getRootCommand(), d0.t.m.listOf(new ApplicationCommandValue(parentGroupName, null, ApplicationCommandType.SUBCOMMAND_GROUP.getType(), d0.t.m.listOf(applicationCommandValue2), null, 18, null)), z3) : new ApplicationCommandData(selectedApplication, applicationSubCommand.getRootCommand(), d0.t.m.listOf(applicationCommandValue2), z3);
}
Collection<Boolean> values2 = inputCommandOptionValidity.values();
if (!(values2 instanceof Collection) || !values2.isEmpty()) {
Iterator<T> it5 = values2.iterator();
while (true) {
if (it5.hasNext()) {
if (!((Boolean) it5.next()).booleanValue()) {
z2 = false;
break;
}
} else {
@ -440,74 +464,22 @@ public final class AutocompleteModelUtils {
}
}
}
z4 = true;
return new ApplicationCommandData(application, applicationCommand, emptyList, z4);
} else if (verifiedCommandInputModel == null || applicationCommand == null || application == null) {
return null;
} else {
Map<ApplicationCommandOption, CommandOptionValue> inputCommandOptionValues = verifiedCommandInputModel.getInputCommandOptionValues();
LinkedHashMap linkedHashMap = new LinkedHashMap(g0.mapCapacity(inputCommandOptionValues.size()));
Iterator<T> it4 = inputCommandOptionValues.entrySet().iterator();
while (it4.hasNext()) {
Map.Entry entry = (Map.Entry) it4.next();
Object key = entry.getKey();
Object value2 = ((CommandOptionValue) entry.getValue()).getValue();
if (entry.getValue() instanceof StringOptionValue) {
List<CommandChoice> choices = ((ApplicationCommandOption) entry.getKey()).getChoices();
if (!(!(choices == null || choices.isEmpty()) || (optionRange = verifiedCommandInputModel.getInputCommandOptionsRanges().get(entry.getKey())) == null || (value = optionRange.getValue()) == null)) {
int first = value.getFirst();
String obj3 = ((CommandOptionValue) entry.getValue()).getValue().toString();
Map<IntRange, Autocompletable> inputMentionsMap = verifiedCommandInputModel.getInputMentionsMap();
LinkedHashMap linkedHashMap2 = new LinkedHashMap(g0.mapCapacity(inputMentionsMap.size()));
Iterator<T> it5 = inputMentionsMap.entrySet().iterator();
while (it5.hasNext()) {
Map.Entry entry2 = (Map.Entry) it5.next();
linkedHashMap2.put(new IntRange(((IntRange) entry2.getKey()).getFirst() - first, ((IntRange) entry2.getKey()).getLast() - first), entry2.getValue());
}
LinkedHashMap linkedHashMap3 = new LinkedHashMap();
for (Map.Entry entry3 : linkedHashMap2.entrySet()) {
if (((IntRange) entry3.getKey()).getFirst() >= 0 && ((IntRange) entry3.getKey()).getLast() <= obj3.length()) {
linkedHashMap3.put(entry3.getKey(), entry3.getValue());
}
}
value2 = AutocompleteExtensionsKt.replaceAutocompleteDataWithServerValues(obj3, linkedHashMap3);
}
}
linkedHashMap.put(key, value2);
}
Map<ApplicationCommandOption, Boolean> inputCommandOptionValidity = verifiedCommandInputModel.getInputCommandOptionValidity();
if (applicationCommand instanceof ApplicationSubCommand) {
Set<ApplicationCommandOption> keySet = linkedHashMap.keySet();
ArrayList arrayList = new ArrayList(o.collectionSizeOrDefault(keySet, 10));
boolean z5 = true;
for (ApplicationCommandOption applicationCommandOption2 : keySet) {
boolean areEqual = m.areEqual(applicationCommandOption != null ? applicationCommandOption.getName() : null, applicationCommandOption2.getName());
boolean z6 = (applicationCommandOption2.getRequired() && linkedHashMap.get(applicationCommandOption2) == null && !applicationCommandOption2.getAutocomplete()) || m.areEqual(inputCommandOptionValidity.get(applicationCommandOption2), Boolean.FALSE);
z5 = z5 && !z6;
Object obj4 = !z6 ? linkedHashMap.get(applicationCommandOption2) : null;
arrayList.add((obj4 != null || applicationCommandOption2.getAutocomplete()) ? new ApplicationCommandValue(applicationCommandOption2.getName(), obj4 != null ? obj4 : "", applicationCommandOption2.getType().getType(), null, areEqual ? Boolean.TRUE : null, 8, null) : null);
}
ApplicationSubCommand applicationSubCommand = (ApplicationSubCommand) applicationCommand;
ApplicationCommandValue applicationCommandValue2 = new ApplicationCommandValue(applicationSubCommand.getSubCommandName(), null, ApplicationCommandType.SUBCOMMAND.getType(), u.filterNotNull(arrayList), null, 18, null);
String parentGroupName = applicationSubCommand.getParentGroupName();
return parentGroupName != null ? new ApplicationCommandData(application, applicationSubCommand.getRootCommand(), d0.t.m.listOf(new ApplicationCommandValue(parentGroupName, null, ApplicationCommandType.SUBCOMMAND_GROUP.getType(), d0.t.m.listOf(applicationCommandValue2), null, 18, null)), z5) : new ApplicationCommandData(application, applicationSubCommand.getRootCommand(), d0.t.m.listOf(applicationCommandValue2), z5);
}
z2 = true;
Set<ApplicationCommandOption> keySet2 = linkedHashMap.keySet();
ArrayList arrayList2 = new ArrayList(o.collectionSizeOrDefault(keySet2, 10));
boolean z7 = true;
for (ApplicationCommandOption applicationCommandOption3 : keySet2) {
boolean areEqual2 = m.areEqual(applicationCommandOption != null ? applicationCommandOption.getName() : null, applicationCommandOption3.getName());
boolean z8 = (applicationCommandOption3.getRequired() && linkedHashMap.get(applicationCommandOption3) == null && !applicationCommandOption3.getAutocomplete()) || m.areEqual(inputCommandOptionValidity.get(applicationCommandOption3), Boolean.FALSE);
z7 = z7 && !z8;
Object obj5 = !z8 ? linkedHashMap.get(applicationCommandOption3) : null;
if (obj5 != null || applicationCommandOption3.getAutocomplete()) {
applicationCommandValue = new ApplicationCommandValue(applicationCommandOption3.getName(), obj5 != null ? obj5 : "", applicationCommandOption3.getType().getType(), null, areEqual2 ? Boolean.TRUE : null, 8, null);
boolean z6 = (applicationCommandOption3.getRequired() && linkedHashMap.get(applicationCommandOption3) == null && !applicationCommandOption3.getAutocomplete()) || m.areEqual(inputCommandOptionValidity.get(applicationCommandOption3), Boolean.FALSE);
z2 = z2 && !z6;
Object obj3 = !z6 ? linkedHashMap.get(applicationCommandOption3) : null;
if (obj3 != null || applicationCommandOption3.getAutocomplete()) {
applicationCommandValue = new ApplicationCommandValue(applicationCommandOption3.getName(), obj3 != null ? obj3 : "", applicationCommandOption3.getType().getType(), null, areEqual2 ? Boolean.TRUE : null, 8, null);
} else {
applicationCommandValue = null;
}
arrayList2.add(applicationCommandValue);
}
return new ApplicationCommandData(application, applicationCommand, u.filterNotNull(arrayList2), z7);
return new ApplicationCommandData(selectedApplication, selectedCommand, u.filterNotNull(arrayList2), z2);
}
}

View File

@ -1602,11 +1602,14 @@ public final class AutocompleteViewModel extends AppViewModel<ViewState> {
if ((!autocompletable.getInputTextMatchers().isEmpty()) && selectedCommandOption != null && optionRange != null) {
String str2 = (String) u.first((List<? extends Object>) autocompletable.getInputTextMatchers());
String str3 = str2 + ' ';
IntRange selection = inputSelectionModel3.getSelection();
IntRange intRange = InputSelectionModelKt.hasSelectedFreeformInput(inputSelectionModel3) ? new IntRange(selection.getFirst() - 1, selection.getLast()) : optionRange.getValue();
InputState inputState = this.inputState;
Map mutableMap = h0.toMutableMap(inputState.getInputAutocompleteMap());
mutableMap.put(new IntRange(optionRange.getValue().getFirst(), str2.length() + optionRange.getValue().getFirst()), autocompletable);
this.inputState = InputState.copy$default(inputState, null, null, null, null, mutableMap, 15, null);
this.editTextAction.onNext(new InputEditTextAction.InsertText(commandInputSelectionModel.getInputModel().getInput(), str3, optionRange.getValue(), (str3.length() + commandInputSelectionModel.getInputModel().getInput().length()) - (optionRange.getValue().getLast() - optionRange.getValue().getFirst())));
InputSelectionModel.CommandInputSelectionModel commandInputSelectionModel2 = (InputSelectionModel.CommandInputSelectionModel) inputSelectionModel3;
this.editTextAction.onNext(new InputEditTextAction.InsertText(commandInputSelectionModel2.getInputModel().getInput(), str3, intRange, (str3.length() + commandInputSelectionModel2.getInputModel().getInput().length()) - (intRange.getLast() - intRange.getFirst())));
}
} else if ((inputSelectionModel3 instanceof InputSelectionModel.MessageInputSelectionModel) || inputSelectionModel3 == null) {
AutocompleteInputSelectionModel autocompleteInputSelectionModel = this.lastAutocompleteInputSelectionModel;
@ -1616,14 +1619,14 @@ public final class AutocompleteViewModel extends AppViewModel<ViewState> {
AutocompleteInputSelectionModel autocompleteInputSelectionModel2 = this.lastAutocompleteInputSelectionModel;
MentionToken autocompleteToken = autocompleteInputSelectionModel2 != null ? autocompleteInputSelectionModel2.getAutocompleteToken() : null;
if (!autocompletable.getInputTextMatchers().isEmpty()) {
IntRange intRange = autocompleteToken != null ? new IntRange(autocompleteToken.getStartIndex(), autocompleteToken.getToken().length() + autocompleteToken.getStartIndex()) : new IntRange(str.length(), str.length());
IntRange intRange2 = autocompleteToken != null ? new IntRange(autocompleteToken.getStartIndex(), autocompleteToken.getToken().length() + autocompleteToken.getStartIndex()) : new IntRange(str.length(), str.length());
String str4 = (String) u.first((List<? extends Object>) autocompletable.getInputTextMatchers());
String str5 = str4 + ' ';
InputState inputState2 = this.inputState;
Map mutableMap2 = h0.toMutableMap(inputState2.getInputAutocompleteMap());
mutableMap2.put(new IntRange(intRange.getFirst(), str4.length() + intRange.getFirst()), autocompletable);
mutableMap2.put(new IntRange(intRange2.getFirst(), str4.length() + intRange2.getFirst()), autocompletable);
this.inputState = InputState.copy$default(inputState2, null, null, null, null, mutableMap2, 15, null);
this.editTextAction.onNext(new InputEditTextAction.InsertText(str, str5, intRange, str5.length() + intRange.getFirst()));
this.editTextAction.onNext(new InputEditTextAction.InsertText(str, str5, intRange2, str5.length() + intRange2.getFirst()));
}
}
}

View File

@ -16,7 +16,6 @@ import com.discord.widgets.chat.input.autocomplete.Autocompletable;
import com.discord.widgets.chat.input.autocomplete.AutocompleteModelUtils;
import com.discord.widgets.chat.input.autocomplete.ChannelAutocompletable;
import com.discord.widgets.chat.input.autocomplete.InputEditTextAction;
import com.discord.widgets.chat.input.autocomplete.LeadingIdentifier;
import com.discord.widgets.chat.input.autocomplete.RoleAutocompletable;
import com.discord.widgets.chat.input.autocomplete.UserAutocompletable;
import com.discord.widgets.chat.input.models.AutocompleteApplicationCommands;
@ -44,6 +43,7 @@ import d0.z.d.m;
import java.text.NumberFormat;
import java.text.ParseException;
import java.text.ParsePosition;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.LinkedHashMap;
@ -343,13 +343,12 @@ public final class AutocompleteCommandUtils {
public final String getCommandPrefix(CharSequence charSequence) {
List<String> groupValues;
String str;
m.checkNotNullParameter(charSequence, "$this$getCommandPrefix");
MatchResult find$default = Regex.find$default(new Regex("^(/([\\p{L}0-9-]+\\s*){0,3})"), charSequence, 0, 2, null);
if (find$default == null || (groupValues = find$default.getGroupValues()) == null || (str = (String) u.getOrNull(groupValues, 1)) == null) {
if (find$default == null || (groupValues = find$default.getGroupValues()) == null) {
return null;
}
return w.trim(str).toString();
return (String) u.getOrNull(groupValues, 1);
}
public final Set<ApplicationCommandOption> getErrorsToShowForCommandParameters(ApplicationCommand applicationCommand, ApplicationCommandOption applicationCommandOption, ApplicationCommandOption applicationCommandOption2, Map<ApplicationCommandOption, Boolean> map, Map<ApplicationCommandOption, ? extends CommandOptionValue> map2) {
@ -380,7 +379,7 @@ public final class AutocompleteCommandUtils {
return linkedHashSet;
}
/* JADX DEBUG: Multi-variable search result rejected for r2v5, resolved type: java.lang.Object */
/* JADX DEBUG: Multi-variable search result rejected for r1v2, resolved type: java.lang.Object */
/* JADX WARN: Multi-variable type inference failed */
/* JADX ERROR: IF instruction can be used only in fallback mode
jadx.core.utils.exceptions.CodegenException: IF instruction can be used only in fallback mode
@ -405,6 +404,12 @@ public final class AutocompleteCommandUtils {
at jadx.core.codegen.RegionGen.makeRegion(RegionGen.java:64)
at jadx.core.dex.regions.Region.generate(Region.java:35)
at jadx.core.codegen.RegionGen.makeRegion(RegionGen.java:64)
at jadx.core.codegen.RegionGen.makeRegionIndent(RegionGen.java:93)
at jadx.core.codegen.RegionGen.makeIf(RegionGen.java:136)
at jadx.core.dex.regions.conditions.IfRegion.generate(IfRegion.java:137)
at jadx.core.codegen.RegionGen.makeRegion(RegionGen.java:64)
at jadx.core.dex.regions.Region.generate(Region.java:35)
at jadx.core.codegen.RegionGen.makeRegion(RegionGen.java:64)
at jadx.core.codegen.MethodGen.addRegionInsns(MethodGen.java:261)
at jadx.core.codegen.MethodGen.addInstructions(MethodGen.java:254)
at jadx.core.codegen.ClassGen.addMethodCode(ClassGen.java:345)
@ -415,129 +420,17 @@ public final class AutocompleteCommandUtils {
at java.base/java.util.stream.SortedOps$RefSortingSink.end(SortedOps.java:395)
at java.base/java.util.stream.Sink$ChainedReference.end(Sink.java:258)
*/
/* JADX WARNING: Code restructure failed: missing block: B:8:0x0036, code lost:
if (d0.g0.t.startsWith$default(r8, r9, false, 2, null) == false) goto L_0x0038;
/* JADX WARNING: Code restructure failed: missing block: B:68:0x014c, code lost:
if (d0.g0.t.startsWith$default(r18.subSequence(1, r18.length()).toString(), d0.z.d.m.stringPlus(r2 != null ? r2.getName() : null, " "), false, 2, null) != false) goto L_0x0157;
*/
/* JADX WARNING: Removed duplicated region for block: B:31:0x00bc */
/* JADX WARNING: Removed duplicated region for block: B:44:0x00a8 A[EDGE_INSN: B:44:0x00a8->B:26:0x00a8 ?: BREAK , SYNTHETIC] */
/* JADX WARNING: Removed duplicated region for block: B:48:0x00d7 A[EDGE_INSN: B:48:0x00d7->B:39:0x00d7 ?: BREAK , SYNTHETIC] */
/* JADX WARNING: Code restructure failed: missing block: B:8:0x0039, code lost:
if (d0.g0.t.startsWith$default(r11, r12, false, 2, null) == false) goto L_0x003b;
*/
/* JADX WARNING: Removed duplicated region for block: B:76:0x0165 */
/* JADX WARNING: Removed duplicated region for block: B:95:0x0180 A[EDGE_INSN: B:95:0x0180->B:84:0x0180 ?: BREAK , SYNTHETIC] */
public final com.discord.widgets.chat.input.models.InputCommandContext getInputCommandContext(java.lang.CharSequence charSequence, long j, java.util.List<java.lang.Long> list, com.discord.widgets.chat.input.models.AutocompleteApplicationCommands autocompleteApplicationCommands, com.discord.models.commands.ApplicationCommand applicationCommand) {
/*
r14 = this;
r0 = r15
r1 = r18
java.lang.String r2 = "input"
d0.z.d.m.checkNotNullParameter(r15, r2)
java.lang.String r2 = "userRoles"
d0.z.d.m.checkNotNullParameter(r1, r2)
java.lang.String r2 = "applicationCommands"
r3 = r19
d0.z.d.m.checkNotNullParameter(r3, r2)
java.lang.String r2 = r14.getCommandPrefix(r15)
r4 = 0
if (r2 == 0) goto L_0x00da
r5 = 2
r6 = 1
r7 = 0
if (r20 == 0) goto L_0x0038
java.lang.String r8 = r2.substring(r6)
java.lang.String r9 = "(this as java.lang.String).substring(startIndex)"
d0.z.d.m.checkNotNullExpressionValue(r8, r9)
java.lang.String r9 = r20.getName()
if (r9 == 0) goto L_0x0030
goto L_0x0032
L_0x0030:
java.lang.String r9 = ""
L_0x0032:
boolean r8 = d0.g0.t.startsWith$default(r8, r9, r7, r5, r4)
if (r8 != 0) goto L_0x00ac
L_0x0038:
int r2 = r2.length()
if (r2 <= 0) goto L_0x0040
r2 = 1
goto L_0x0041
L_0x0040:
r2 = 0
L_0x0041:
if (r2 == 0) goto L_0x00ac
java.util.List r2 = r19.getQueryCommands()
java.util.List r2 = com.discord.stores.StoreApplicationCommandsKt.flattenSubCommands(r2)
java.util.Iterator r2 = r2.iterator()
L_0x004f:
boolean r8 = r2.hasNext()
if (r8 == 0) goto L_0x00a7
java.lang.Object r8 = r2.next()
r9 = r8
com.discord.models.commands.ApplicationCommand r9 = (com.discord.models.commands.ApplicationCommand) r9
java.lang.StringBuilder r10 = new java.lang.StringBuilder
r10.<init>()
com.discord.widgets.chat.input.autocomplete.LeadingIdentifier r11 = com.discord.widgets.chat.input.autocomplete.LeadingIdentifier.APP_COMMAND
java.lang.Character r11 = r11.getIdentifier()
d0.z.d.m.checkNotNull(r11)
char r11 = r11.charValue()
java.lang.String r12 = r9.getName()
java.lang.StringBuilder r13 = new java.lang.StringBuilder
r13.<init>()
java.lang.String r11 = java.lang.String.valueOf(r11)
r13.append(r11)
r13.append(r12)
java.lang.String r11 = r13.toString()
r10.append(r11)
r11 = 32
r10.append(r11)
java.lang.String r10 = r10.toString()
boolean r10 = d0.g0.w.startsWith$default(r15, r10, r7, r5, r4)
if (r10 == 0) goto L_0x00a1
r10 = r16
boolean r9 = com.discord.models.commands.ApplicationCommandKt.hasPermission(r9, r10, r1)
if (r9 == 0) goto L_0x00a3
r9 = 1
goto L_0x00a4
L_0x00a1:
r10 = r16
L_0x00a3:
r9 = 0
L_0x00a4:
if (r9 == 0) goto L_0x004f
goto L_0x00a8
L_0x00a7:
r8 = r4
L_0x00a8:
r0 = r8
com.discord.models.commands.ApplicationCommand r0 = (com.discord.models.commands.ApplicationCommand) r0
goto L_0x00ae
L_0x00ac:
r0 = r20
L_0x00ae:
java.util.List r1 = r19.getApplications()
java.util.Iterator r1 = r1.iterator()
L_0x00b6:
boolean r2 = r1.hasNext()
if (r2 == 0) goto L_0x00d7
java.lang.Object r2 = r1.next()
r3 = r2
com.discord.models.commands.Application r3 = (com.discord.models.commands.Application) r3
long r8 = r3.getId()
if (r0 == 0) goto L_0x00d3
long r10 = r0.getApplicationId()
int r3 = (r8 > r10 ? 1 : (r8 == r10 ? 0 : -1))
if (r3 != 0) goto L_0x00d3
r3 = 1
goto L_0x00d4
L_0x00d3:
r3 = 0
L_0x00d4:
if (r3 == 0) goto L_0x00b6
r4 = r2
L_0x00d7:
com.discord.models.commands.Application r4 = (com.discord.models.commands.Application) r4
goto L_0x00db
L_0x00da:
r0 = r4
L_0x00db:
com.discord.widgets.chat.input.models.InputCommandContext r1 = new com.discord.widgets.chat.input.models.InputCommandContext
r1.<init>(r4, r0)
return r1
// Method dump skipped, instructions count: 394
*/
throw new UnsupportedOperationException("Method not decompiled: com.discord.widgets.chat.input.autocomplete.commands.AutocompleteCommandUtils.getInputCommandContext(java.lang.CharSequence, long, java.util.List, com.discord.widgets.chat.input.models.AutocompleteApplicationCommands, com.discord.models.commands.ApplicationCommand):com.discord.widgets.chat.input.models.InputCommandContext");
}
@ -700,6 +593,7 @@ public final class AutocompleteCommandUtils {
Object obj;
String str;
CommandOptionValue integerOptionValue;
CommandOptionValue numberOptionValue;
Object obj2;
m.checkNotNullParameter(charSequence, "input");
m.checkNotNullParameter(applicationCommand, "command");
@ -749,7 +643,7 @@ public final class AutocompleteCommandUtils {
commandOptionValue = new StringOptionValue(str);
break;
case 3:
Long asSafeNumberOrNull = asSafeNumberOrNull(s.toLongOrNull(obj4));
Long asSafeNumberOrNull = asSafeNumberOrNull(s.toLongOrNull(str));
if (asSafeNumberOrNull != null) {
integerOptionValue = new IntegerOptionValue(asSafeNumberOrNull.longValue());
commandOptionValue = integerOptionValue;
@ -757,9 +651,9 @@ public final class AutocompleteCommandUtils {
}
break;
case 4:
if (AutocompleteModelUtils.INSTANCE.isBoolean(obj4)) {
integerOptionValue = new BooleanOptionValue(Boolean.parseBoolean(obj4));
commandOptionValue = integerOptionValue;
if (AutocompleteModelUtils.INSTANCE.isBoolean(str)) {
numberOptionValue = new BooleanOptionValue(Boolean.parseBoolean(str));
commandOptionValue = numberOptionValue;
break;
}
break;
@ -808,9 +702,10 @@ public final class AutocompleteCommandUtils {
}
break;
case 9:
Number asSafeNumberOrNull2 = asSafeNumberOrNull(parseNumber(obj4));
Number asSafeNumberOrNull2 = asSafeNumberOrNull(parseNumber(str));
if (asSafeNumberOrNull2 != null) {
commandOptionValue = new NumberOptionValue(asSafeNumberOrNull2);
numberOptionValue = new NumberOptionValue(asSafeNumberOrNull2);
commandOptionValue = numberOptionValue;
break;
}
break;

View File

@ -2,13 +2,16 @@ package com.discord.widgets.chat.list.adapter;
import com.discord.api.channel.Channel;
import com.discord.api.guildscheduledevent.GuildScheduledEvent;
import com.discord.api.permission.Permission;
import com.discord.models.domain.ModelInvite;
import com.discord.models.guild.Guild;
import com.discord.stores.StoreChannels;
import com.discord.stores.StoreGuildScheduledEvents;
import com.discord.stores.StoreGuilds;
import com.discord.stores.StorePermissions;
import com.discord.stores.StoreUser;
import com.discord.stores.StoreVoiceChannelSelected;
import com.discord.utilities.permissions.PermissionUtils;
import com.discord.widgets.chat.list.adapter.WidgetChatListAdapterItemGuildScheduledEventInvite;
import com.discord.widgets.chat.list.entries.GuildScheduledEventInviteEntry;
import d0.z.d.m;
@ -20,11 +23,12 @@ public final class WidgetChatListAdapterItemGuildScheduledEventInvite$Model$Comp
public final /* synthetic */ StoreGuildScheduledEvents $guildScheduledEventStore;
public final /* synthetic */ StoreGuilds $guildStore;
public final /* synthetic */ GuildScheduledEventInviteEntry $item;
public final /* synthetic */ StorePermissions $permissionStore;
public final /* synthetic */ StoreUser $userStore;
public final /* synthetic */ StoreVoiceChannelSelected $voiceChannelSelectedStore;
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
public WidgetChatListAdapterItemGuildScheduledEventInvite$Model$Companion$observe$1(GuildScheduledEventInviteEntry guildScheduledEventInviteEntry, StoreGuilds storeGuilds, StoreUser storeUser, StoreGuildScheduledEvents storeGuildScheduledEvents, StoreChannels storeChannels, StoreVoiceChannelSelected storeVoiceChannelSelected) {
public WidgetChatListAdapterItemGuildScheduledEventInvite$Model$Companion$observe$1(GuildScheduledEventInviteEntry guildScheduledEventInviteEntry, StoreGuilds storeGuilds, StoreUser storeUser, StoreGuildScheduledEvents storeGuildScheduledEvents, StoreChannels storeChannels, StoreVoiceChannelSelected storeVoiceChannelSelected, StorePermissions storePermissions) {
super(0);
this.$item = guildScheduledEventInviteEntry;
this.$guildStore = storeGuilds;
@ -32,6 +36,7 @@ public final class WidgetChatListAdapterItemGuildScheduledEventInvite$Model$Comp
this.$guildScheduledEventStore = storeGuildScheduledEvents;
this.$channelStore = storeChannels;
this.$voiceChannelSelectedStore = storeVoiceChannelSelected;
this.$permissionStore = storePermissions;
}
@Override // kotlin.jvm.functions.Function0
@ -65,6 +70,6 @@ public final class WidgetChatListAdapterItemGuildScheduledEventInvite$Model$Comp
}
guild = guild2;
}
return new WidgetChatListAdapterItemGuildScheduledEventInvite.Model(invite, z2, isRsvpedToEvent, guildScheduledEvent2, channel3, guild, Long.valueOf(this.$voiceChannelSelectedStore.getSelectedVoiceChannelId()));
return new WidgetChatListAdapterItemGuildScheduledEventInvite.Model(invite, z2, isRsvpedToEvent, guildScheduledEvent2, channel3, guild, Long.valueOf(this.$voiceChannelSelectedStore.getSelectedVoiceChannelId()), channel != null ? PermissionUtils.can(Permission.CONNECT, this.$permissionStore.getPermissionsByChannel().get(Long.valueOf(channel.h()))) : false);
}
}

View File

@ -12,6 +12,7 @@ import com.discord.models.guild.Guild;
import com.discord.stores.StoreChannels;
import com.discord.stores.StoreGuildScheduledEvents;
import com.discord.stores.StoreGuilds;
import com.discord.stores.StorePermissions;
import com.discord.stores.StoreStream;
import com.discord.stores.StoreUser;
import com.discord.stores.StoreVoiceChannelSelected;
@ -39,6 +40,7 @@ public final class WidgetChatListAdapterItemGuildScheduledEventInvite extends Wi
/* compiled from: WidgetChatListAdapterItemGuildScheduledEventInvite.kt */
public static final class Model {
public static final Companion Companion = new Companion(null);
private final boolean canConnect;
private final Channel channel;
private final Guild guild;
private final GuildScheduledEvent guildScheduledEvent;
@ -56,37 +58,23 @@ public final class WidgetChatListAdapterItemGuildScheduledEventInvite extends Wi
this();
}
public static /* synthetic */ Observable observe$default(Companion companion, GuildScheduledEventInviteEntry guildScheduledEventInviteEntry, StoreGuilds storeGuilds, StoreUser storeUser, StoreChannels storeChannels, StoreGuildScheduledEvents storeGuildScheduledEvents, StoreVoiceChannelSelected storeVoiceChannelSelected, int i, Object obj) {
if ((i & 2) != 0) {
storeGuilds = StoreStream.Companion.getGuilds();
}
if ((i & 4) != 0) {
storeUser = StoreStream.Companion.getUsers();
}
if ((i & 8) != 0) {
storeChannels = StoreStream.Companion.getChannels();
}
if ((i & 16) != 0) {
storeGuildScheduledEvents = StoreStream.Companion.getGuildScheduledEvents();
}
if ((i & 32) != 0) {
storeVoiceChannelSelected = StoreStream.Companion.getVoiceChannelSelected();
}
return companion.observe(guildScheduledEventInviteEntry, storeGuilds, storeUser, storeChannels, storeGuildScheduledEvents, storeVoiceChannelSelected);
public static /* synthetic */ Observable observe$default(Companion companion, GuildScheduledEventInviteEntry guildScheduledEventInviteEntry, StoreGuilds storeGuilds, StoreUser storeUser, StoreChannels storeChannels, StoreGuildScheduledEvents storeGuildScheduledEvents, StoreVoiceChannelSelected storeVoiceChannelSelected, StorePermissions storePermissions, int i, Object obj) {
return companion.observe(guildScheduledEventInviteEntry, (i & 2) != 0 ? StoreStream.Companion.getGuilds() : storeGuilds, (i & 4) != 0 ? StoreStream.Companion.getUsers() : storeUser, (i & 8) != 0 ? StoreStream.Companion.getChannels() : storeChannels, (i & 16) != 0 ? StoreStream.Companion.getGuildScheduledEvents() : storeGuildScheduledEvents, (i & 32) != 0 ? StoreStream.Companion.getVoiceChannelSelected() : storeVoiceChannelSelected, (i & 64) != 0 ? StoreStream.Companion.getPermissions() : storePermissions);
}
public final Observable<Model> observe(GuildScheduledEventInviteEntry guildScheduledEventInviteEntry, StoreGuilds storeGuilds, StoreUser storeUser, StoreChannels storeChannels, StoreGuildScheduledEvents storeGuildScheduledEvents, StoreVoiceChannelSelected storeVoiceChannelSelected) {
public final Observable<Model> observe(GuildScheduledEventInviteEntry guildScheduledEventInviteEntry, StoreGuilds storeGuilds, StoreUser storeUser, StoreChannels storeChannels, StoreGuildScheduledEvents storeGuildScheduledEvents, StoreVoiceChannelSelected storeVoiceChannelSelected, StorePermissions storePermissions) {
m.checkNotNullParameter(guildScheduledEventInviteEntry, "item");
m.checkNotNullParameter(storeGuilds, "guildStore");
m.checkNotNullParameter(storeUser, "userStore");
m.checkNotNullParameter(storeChannels, "channelStore");
m.checkNotNullParameter(storeGuildScheduledEvents, "guildScheduledEventStore");
m.checkNotNullParameter(storeVoiceChannelSelected, "voiceChannelSelectedStore");
return ObservationDeck.connectRx$default(ObservationDeckProvider.get(), new ObservationDeck.UpdateSource[]{storeGuilds, storeUser, storeGuildScheduledEvents, storeVoiceChannelSelected}, false, null, null, new WidgetChatListAdapterItemGuildScheduledEventInvite$Model$Companion$observe$1(guildScheduledEventInviteEntry, storeGuilds, storeUser, storeGuildScheduledEvents, storeChannels, storeVoiceChannelSelected), 14, null);
m.checkNotNullParameter(storePermissions, "permissionStore");
return ObservationDeck.connectRx$default(ObservationDeckProvider.get(), new ObservationDeck.UpdateSource[]{storeGuilds, storeUser, storeGuildScheduledEvents, storeVoiceChannelSelected, storePermissions}, false, null, null, new WidgetChatListAdapterItemGuildScheduledEventInvite$Model$Companion$observe$1(guildScheduledEventInviteEntry, storeGuilds, storeUser, storeGuildScheduledEvents, storeChannels, storeVoiceChannelSelected, storePermissions), 14, null);
}
}
public Model(ModelInvite modelInvite, boolean z2, boolean z3, GuildScheduledEvent guildScheduledEvent, Channel channel, Guild guild, Long l) {
public Model(ModelInvite modelInvite, boolean z2, boolean z3, GuildScheduledEvent guildScheduledEvent, Channel channel, Guild guild, Long l, boolean z4) {
m.checkNotNullParameter(modelInvite, "invite");
m.checkNotNullParameter(guildScheduledEvent, "guildScheduledEvent");
this.invite = modelInvite;
@ -96,31 +84,11 @@ public final class WidgetChatListAdapterItemGuildScheduledEventInvite extends Wi
this.channel = channel;
this.guild = guild;
this.selectedVoiceChannelId = l;
this.canConnect = z4;
}
public static /* synthetic */ Model copy$default(Model model, ModelInvite modelInvite, boolean z2, boolean z3, GuildScheduledEvent guildScheduledEvent, Channel channel, Guild guild, Long l, int i, Object obj) {
if ((i & 1) != 0) {
modelInvite = model.invite;
}
if ((i & 2) != 0) {
z2 = model.isInGuild;
}
if ((i & 4) != 0) {
z3 = model.isRsvped;
}
if ((i & 8) != 0) {
guildScheduledEvent = model.guildScheduledEvent;
}
if ((i & 16) != 0) {
channel = model.channel;
}
if ((i & 32) != 0) {
guild = model.guild;
}
if ((i & 64) != 0) {
l = model.selectedVoiceChannelId;
}
return model.copy(modelInvite, z2, z3, guildScheduledEvent, channel, guild, l);
public static /* synthetic */ Model copy$default(Model model, ModelInvite modelInvite, boolean z2, boolean z3, GuildScheduledEvent guildScheduledEvent, Channel channel, Guild guild, Long l, boolean z4, int i, Object obj) {
return model.copy((i & 1) != 0 ? model.invite : modelInvite, (i & 2) != 0 ? model.isInGuild : z2, (i & 4) != 0 ? model.isRsvped : z3, (i & 8) != 0 ? model.guildScheduledEvent : guildScheduledEvent, (i & 16) != 0 ? model.channel : channel, (i & 32) != 0 ? model.guild : guild, (i & 64) != 0 ? model.selectedVoiceChannelId : l, (i & 128) != 0 ? model.canConnect : z4);
}
public final ModelInvite component1() {
@ -151,10 +119,14 @@ public final class WidgetChatListAdapterItemGuildScheduledEventInvite extends Wi
return this.selectedVoiceChannelId;
}
public final Model copy(ModelInvite modelInvite, boolean z2, boolean z3, GuildScheduledEvent guildScheduledEvent, Channel channel, Guild guild, Long l) {
public final boolean component8() {
return this.canConnect;
}
public final Model copy(ModelInvite modelInvite, boolean z2, boolean z3, GuildScheduledEvent guildScheduledEvent, Channel channel, Guild guild, Long l, boolean z4) {
m.checkNotNullParameter(modelInvite, "invite");
m.checkNotNullParameter(guildScheduledEvent, "guildScheduledEvent");
return new Model(modelInvite, z2, z3, guildScheduledEvent, channel, guild, l);
return new Model(modelInvite, z2, z3, guildScheduledEvent, channel, guild, l, z4);
}
public boolean equals(Object obj) {
@ -165,7 +137,11 @@ public final class WidgetChatListAdapterItemGuildScheduledEventInvite extends Wi
return false;
}
Model model = (Model) obj;
return m.areEqual(this.invite, model.invite) && this.isInGuild == model.isInGuild && this.isRsvped == model.isRsvped && m.areEqual(this.guildScheduledEvent, model.guildScheduledEvent) && m.areEqual(this.channel, model.channel) && m.areEqual(this.guild, model.guild) && m.areEqual(this.selectedVoiceChannelId, model.selectedVoiceChannelId);
return m.areEqual(this.invite, model.invite) && this.isInGuild == model.isInGuild && this.isRsvped == model.isRsvped && m.areEqual(this.guildScheduledEvent, model.guildScheduledEvent) && m.areEqual(this.channel, model.channel) && m.areEqual(this.guild, model.guild) && m.areEqual(this.selectedVoiceChannelId, model.selectedVoiceChannelId) && this.canConnect == model.canConnect;
}
public final boolean getCanConnect() {
return this.canConnect;
}
public final Channel getChannel() {
@ -202,12 +178,15 @@ public final class WidgetChatListAdapterItemGuildScheduledEventInvite extends Wi
int i5 = z2 ? 1 : 0;
int i6 = (hashCode + i3) * 31;
boolean z3 = this.isRsvped;
if (!z3) {
i2 = z3 ? 1 : 0;
if (z3) {
z3 = true;
}
int i7 = (i6 + i2) * 31;
int i7 = z3 ? 1 : 0;
int i8 = z3 ? 1 : 0;
int i9 = z3 ? 1 : 0;
int i10 = (i6 + i7) * 31;
GuildScheduledEvent guildScheduledEvent = this.guildScheduledEvent;
int hashCode2 = (i7 + (guildScheduledEvent != null ? guildScheduledEvent.hashCode() : 0)) * 31;
int hashCode2 = (i10 + (guildScheduledEvent != null ? guildScheduledEvent.hashCode() : 0)) * 31;
Channel channel = this.channel;
int hashCode3 = (hashCode2 + (channel != null ? channel.hashCode() : 0)) * 31;
Guild guild = this.guild;
@ -216,7 +195,12 @@ public final class WidgetChatListAdapterItemGuildScheduledEventInvite extends Wi
if (l != null) {
i = l.hashCode();
}
return hashCode4 + i;
int i11 = (hashCode4 + i) * 31;
boolean z4 = this.canConnect;
if (!z4) {
i2 = z4 ? 1 : 0;
}
return i11 + i2;
}
public final boolean isInGuild() {
@ -241,7 +225,9 @@ public final class WidgetChatListAdapterItemGuildScheduledEventInvite extends Wi
P.append(", guild=");
P.append(this.guild);
P.append(", selectedVoiceChannelId=");
return a.F(P, this.selectedVoiceChannelId, ")");
P.append(this.selectedVoiceChannelId);
P.append(", canConnect=");
return a.L(P, this.canConnect, ")");
}
}
@ -312,10 +298,11 @@ public final class WidgetChatListAdapterItemGuildScheduledEventInvite extends Wi
z2 = true;
}
}
boolean canConnect = model.getCanConnect();
if (model.isInGuild()) {
widgetChatListAdapterItemGuildScheduledEventInvite$configureUI$2 = new WidgetChatListAdapterItemGuildScheduledEventInvite$configureUI$2(this, model);
}
guildScheduledEventItemView2.configureInChatList(guildScheduledEvent, channel, guild, isInGuild, isRsvped, z2, widgetChatListAdapterItemGuildScheduledEventInvite$configureUI$2, new WidgetChatListAdapterItemGuildScheduledEventInvite$configureUI$3(this, model), new WidgetChatListAdapterItemGuildScheduledEventInvite$configureUI$4(this, model), new WidgetChatListAdapterItemGuildScheduledEventInvite$configureUI$5(this, model));
guildScheduledEventItemView2.configureInChatList(guildScheduledEvent, channel, guild, isInGuild, isRsvped, z2, canConnect, widgetChatListAdapterItemGuildScheduledEventInvite$configureUI$2, new WidgetChatListAdapterItemGuildScheduledEventInvite$configureUI$3(this, model), new WidgetChatListAdapterItemGuildScheduledEventInvite$configureUI$4(this, model), new WidgetChatListAdapterItemGuildScheduledEventInvite$configureUI$5(this, model));
}
@Override // com.discord.utilities.mg_recycler.MGRecyclerViewHolder
@ -327,6 +314,6 @@ public final class WidgetChatListAdapterItemGuildScheduledEventInvite extends Wi
public void onConfigure(int i, ChatListEntry chatListEntry) {
m.checkNotNullParameter(chatListEntry, "data");
super.onConfigure(i, chatListEntry);
ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui(Model.Companion.observe$default(Model.Companion, (GuildScheduledEventInviteEntry) chatListEntry, null, null, null, null, null, 62, null)), WidgetChatListAdapterItemGuildScheduledEventInvite.class, (Context) null, new WidgetChatListAdapterItemGuildScheduledEventInvite$onConfigure$2(this), (Function1) null, (Function0) null, (Function0) null, new WidgetChatListAdapterItemGuildScheduledEventInvite$onConfigure$1(this), 58, (Object) null);
ObservableExtensionsKt.appSubscribe$default(ObservableExtensionsKt.ui(Model.Companion.observe$default(Model.Companion, (GuildScheduledEventInviteEntry) chatListEntry, null, null, null, null, null, null, 126, null)), WidgetChatListAdapterItemGuildScheduledEventInvite.class, (Context) null, new WidgetChatListAdapterItemGuildScheduledEventInvite$onConfigure$2(this), (Function1) null, (Function0) null, (Function0) null, new WidgetChatListAdapterItemGuildScheduledEventInvite$onConfigure$1(this), 58, (Object) null);
}
}

View File

@ -27,6 +27,8 @@ public final class GuildScheduledEventBottomButtonView extends ConstraintLayout
/* compiled from: GuildScheduledEventBottomButtonView.kt */
public static final class VisibilityInfo {
private final boolean canConnect;
private final boolean canConnectToChannel;
private final boolean canRsvp;
private final boolean canShare;
private final boolean canStartEvent;
@ -43,41 +45,43 @@ public final class GuildScheduledEventBottomButtonView extends ConstraintLayout
private final boolean primaryInteractionButtonVisible;
private final GuildScheduledEventTiming timing;
public VisibilityInfo(GuildScheduledEvent guildScheduledEvent, boolean z2, boolean z3, boolean z4, boolean z5, boolean z6) {
public VisibilityInfo(GuildScheduledEvent guildScheduledEvent, boolean z2, boolean z3, boolean z4, boolean z5, boolean z6, boolean z7) {
m.checkNotNullParameter(guildScheduledEvent, "guildScheduledEvent");
this.guildScheduledEvent = guildScheduledEvent;
this.canRsvp = z2;
this.canShare = z3;
this.canStartEvent = z4;
this.isConnected = z5;
this.isDetailView = z6;
this.canConnect = z6;
this.isDetailView = z7;
GuildScheduledEventTiming eventTiming = GuildScheduledEventUtilitiesKt.getEventTiming(guildScheduledEvent);
this.timing = eventTiming;
boolean z7 = true;
boolean z8 = guildScheduledEvent.k() == GuildScheduledEventStatus.COMPLETED;
this.isEventComplete = z8;
boolean z9 = eventTiming == GuildScheduledEventTiming.LIVE;
this.isEventActive = z9;
boolean z8 = true;
boolean z9 = guildScheduledEvent.k() == GuildScheduledEventStatus.COMPLETED;
this.isEventComplete = z9;
boolean z10 = eventTiming == GuildScheduledEventTiming.LIVE;
this.isEventActive = z10;
this.canConnectToChannel = z6;
this.primaryInteractionButtonVisible = z2;
this.primaryInteractionButtonEnabled = !z8 && (!z9 || guildScheduledEvent.e() != GuildScheduledEventEntityType.EXTERNAL);
boolean isStartable = (!z4 || z8) ? false : eventTiming.isStartable();
this.primaryInteractionButtonEnabled = !z9 && (!z10 || (guildScheduledEvent.e() != GuildScheduledEventEntityType.EXTERNAL && z6));
boolean isStartable = (!z4 || z9) ? false : eventTiming.isStartable();
this.isStartEventVisible = isStartable;
boolean z10 = z6 && z9 && z5 && z4;
this.isEndEventVisible = z10;
boolean z11 = z3 && !z8;
this.isShareVisible = z11;
if (!z2 && !isStartable && !z10 && !z11) {
z7 = false;
boolean z11 = z7 && z10 && z5 && z4;
this.isEndEventVisible = z11;
boolean z12 = z3 && !z9;
this.isShareVisible = z12;
if (!z2 && !isStartable && !z11 && !z12) {
z8 = false;
}
this.isAnyButtonVisible = z7;
this.isAnyButtonVisible = z8;
}
/* JADX INFO: this call moved to the top of the method (can break code semantics) */
public /* synthetic */ VisibilityInfo(GuildScheduledEvent guildScheduledEvent, boolean z2, boolean z3, boolean z4, boolean z5, boolean z6, int i, DefaultConstructorMarker defaultConstructorMarker) {
this(guildScheduledEvent, z2, z3, z4, z5, (i & 32) != 0 ? false : z6);
public /* synthetic */ VisibilityInfo(GuildScheduledEvent guildScheduledEvent, boolean z2, boolean z3, boolean z4, boolean z5, boolean z6, boolean z7, int i, DefaultConstructorMarker defaultConstructorMarker) {
this(guildScheduledEvent, z2, z3, z4, z5, z6, (i & 64) != 0 ? false : z7);
}
public static /* synthetic */ VisibilityInfo copy$default(VisibilityInfo visibilityInfo, GuildScheduledEvent guildScheduledEvent, boolean z2, boolean z3, boolean z4, boolean z5, boolean z6, int i, Object obj) {
public static /* synthetic */ VisibilityInfo copy$default(VisibilityInfo visibilityInfo, GuildScheduledEvent guildScheduledEvent, boolean z2, boolean z3, boolean z4, boolean z5, boolean z6, boolean z7, int i, Object obj) {
if ((i & 1) != 0) {
guildScheduledEvent = visibilityInfo.guildScheduledEvent;
}
@ -94,9 +98,12 @@ public final class GuildScheduledEventBottomButtonView extends ConstraintLayout
z5 = visibilityInfo.isConnected;
}
if ((i & 32) != 0) {
z6 = visibilityInfo.isDetailView;
z6 = visibilityInfo.canConnect;
}
return visibilityInfo.copy(guildScheduledEvent, z2, z3, z4, z5, z6);
if ((i & 64) != 0) {
z7 = visibilityInfo.isDetailView;
}
return visibilityInfo.copy(guildScheduledEvent, z2, z3, z4, z5, z6, z7);
}
public final GuildScheduledEvent component1() {
@ -120,12 +127,16 @@ public final class GuildScheduledEventBottomButtonView extends ConstraintLayout
}
public final boolean component6() {
return this.canConnect;
}
public final boolean component7() {
return this.isDetailView;
}
public final VisibilityInfo copy(GuildScheduledEvent guildScheduledEvent, boolean z2, boolean z3, boolean z4, boolean z5, boolean z6) {
public final VisibilityInfo copy(GuildScheduledEvent guildScheduledEvent, boolean z2, boolean z3, boolean z4, boolean z5, boolean z6, boolean z7) {
m.checkNotNullParameter(guildScheduledEvent, "guildScheduledEvent");
return new VisibilityInfo(guildScheduledEvent, z2, z3, z4, z5, z6);
return new VisibilityInfo(guildScheduledEvent, z2, z3, z4, z5, z6, z7);
}
public boolean equals(Object obj) {
@ -136,7 +147,15 @@ public final class GuildScheduledEventBottomButtonView extends ConstraintLayout
return false;
}
VisibilityInfo visibilityInfo = (VisibilityInfo) obj;
return m.areEqual(this.guildScheduledEvent, visibilityInfo.guildScheduledEvent) && this.canRsvp == visibilityInfo.canRsvp && this.canShare == visibilityInfo.canShare && this.canStartEvent == visibilityInfo.canStartEvent && this.isConnected == visibilityInfo.isConnected && this.isDetailView == visibilityInfo.isDetailView;
return m.areEqual(this.guildScheduledEvent, visibilityInfo.guildScheduledEvent) && this.canRsvp == visibilityInfo.canRsvp && this.canShare == visibilityInfo.canShare && this.canStartEvent == visibilityInfo.canStartEvent && this.isConnected == visibilityInfo.isConnected && this.canConnect == visibilityInfo.canConnect && this.isDetailView == visibilityInfo.isDetailView;
}
public final boolean getCanConnect() {
return this.canConnect;
}
public final boolean getCanConnectToChannel() {
return this.canConnectToChannel;
}
public final boolean getCanRsvp() {
@ -203,11 +222,19 @@ public final class GuildScheduledEventBottomButtonView extends ConstraintLayout
int i15 = z5 ? 1 : 0;
int i16 = z5 ? 1 : 0;
int i17 = (i13 + i14) * 31;
boolean z6 = this.isDetailView;
if (!z6) {
i = z6 ? 1 : 0;
boolean z6 = this.canConnect;
if (z6) {
z6 = true;
}
return i17 + i;
int i18 = z6 ? 1 : 0;
int i19 = z6 ? 1 : 0;
int i20 = z6 ? 1 : 0;
int i21 = (i17 + i18) * 31;
boolean z7 = this.isDetailView;
if (!z7) {
i = z7 ? 1 : 0;
}
return i21 + i;
}
public final boolean isAnyButtonVisible() {
@ -253,6 +280,8 @@ public final class GuildScheduledEventBottomButtonView extends ConstraintLayout
P.append(this.canStartEvent);
P.append(", isConnected=");
P.append(this.isConnected);
P.append(", canConnect=");
P.append(this.canConnect);
P.append(", isDetailView=");
return a.L(P, this.isDetailView, ")");
}
@ -287,16 +316,17 @@ public final class GuildScheduledEventBottomButtonView extends ConstraintLayout
this.binding = a;
}
public static /* synthetic */ void configure$default(GuildScheduledEventBottomButtonView guildScheduledEventBottomButtonView, GuildScheduledEvent guildScheduledEvent, boolean z2, boolean z3, boolean z4, boolean z5, boolean z6, Function0 function0, Function0 function02, Function0 function03, Function0 function04, Function0 function05, int i, Object obj) {
boolean z7 = false;
boolean z8 = (i & 2) != 0 ? false : z2;
boolean z9 = (i & 4) != 0 ? false : z3;
boolean z10 = (i & 8) != 0 ? false : z4;
boolean z11 = (i & 16) != 0 ? false : z5;
if ((i & 32) == 0) {
z7 = z6;
public static /* synthetic */ void configure$default(GuildScheduledEventBottomButtonView guildScheduledEventBottomButtonView, GuildScheduledEvent guildScheduledEvent, boolean z2, boolean z3, boolean z4, boolean z5, boolean z6, boolean z7, Function0 function0, Function0 function02, Function0 function03, Function0 function04, Function0 function05, int i, Object obj) {
boolean z8 = false;
boolean z9 = (i & 2) != 0 ? false : z2;
boolean z10 = (i & 4) != 0 ? false : z3;
boolean z11 = (i & 8) != 0 ? false : z4;
boolean z12 = (i & 16) != 0 ? false : z5;
boolean z13 = (i & 32) != 0 ? false : z6;
if ((i & 64) == 0) {
z8 = z7;
}
guildScheduledEventBottomButtonView.configure(guildScheduledEvent, z8, z9, z10, z11, z7, (i & 64) != 0 ? GuildScheduledEventBottomButtonView$configure$1.INSTANCE : function0, (i & 128) != 0 ? GuildScheduledEventBottomButtonView$configure$2.INSTANCE : function02, (i & 256) != 0 ? GuildScheduledEventBottomButtonView$configure$3.INSTANCE : function03, (i & 512) != 0 ? GuildScheduledEventBottomButtonView$configure$4.INSTANCE : function04, (i & 1024) != 0 ? GuildScheduledEventBottomButtonView$configure$5.INSTANCE : function05);
guildScheduledEventBottomButtonView.configure(guildScheduledEvent, z9, z10, z11, z12, z13, z8, (i & 128) != 0 ? GuildScheduledEventBottomButtonView$configure$1.INSTANCE : function0, (i & 256) != 0 ? GuildScheduledEventBottomButtonView$configure$2.INSTANCE : function02, (i & 512) != 0 ? GuildScheduledEventBottomButtonView$configure$3.INSTANCE : function03, (i & 1024) != 0 ? GuildScheduledEventBottomButtonView$configure$4.INSTANCE : function04, (i & 2048) != 0 ? GuildScheduledEventBottomButtonView$configure$5.INSTANCE : function05);
}
private final void configureInterestedButton(VisibilityInfo visibilityInfo, boolean z2, Function0<Unit> function0, Function0<Unit> function02, Function0<Unit> function03) {
@ -324,7 +354,7 @@ public final class GuildScheduledEventBottomButtonView extends ConstraintLayout
textView.setVisibility(i);
int color = !visibilityInfo.getPrimaryInteractionButtonEnabled() ? ColorCompat.getColor(textView.getContext(), (int) R.color.white_alpha_40) : (!z2 || visibilityInfo.isEventActive() || visibilityInfo.isEventComplete()) ? ColorCompat.getColor(textView.getContext(), (int) R.color.white) : ColorCompat.getThemedColor(textView.getContext(), (int) R.attr.colorInteractiveActive);
int i3 = (visibilityInfo.isEventActive() || !visibilityInfo.getPrimaryInteractionButtonEnabled()) ? 0 : z2 ? R.drawable.ic_check_active_16dp : R.drawable.ic_bell_16dp;
int i4 = (!visibilityInfo.isEventActive() || visibilityInfo.getGuildScheduledEvent().e() != GuildScheduledEventEntityType.EXTERNAL) ? visibilityInfo.isEndEventVisible() ? R.string.end_event : (!visibilityInfo.isEventActive() || !visibilityInfo.isConnected()) ? (!visibilityInfo.isEventActive() || visibilityInfo.getGuildScheduledEvent().e() != GuildScheduledEventEntityType.VOICE) ? visibilityInfo.isEventActive() ? R.string.stage_channel_join_button : visibilityInfo.isEventComplete() ? R.string.guild_event_invite_completed : R.string.stage_instance_interested_label : R.string.guild_event_join : R.string.go_to_channel : R.string.guild_event_started;
int i4 = (!visibilityInfo.isEventActive() || visibilityInfo.getGuildScheduledEvent().e() != GuildScheduledEventEntityType.EXTERNAL) ? (!visibilityInfo.isEventActive() || visibilityInfo.getCanConnectToChannel()) ? visibilityInfo.isEndEventVisible() ? R.string.end_event : (!visibilityInfo.isEventActive() || !visibilityInfo.isConnected()) ? (!visibilityInfo.isEventActive() || visibilityInfo.getGuildScheduledEvent().e() != GuildScheduledEventEntityType.VOICE) ? visibilityInfo.isEventActive() ? R.string.stage_channel_join_button : visibilityInfo.isEventComplete() ? R.string.guild_event_invite_completed : R.string.stage_instance_interested_label : R.string.guild_event_join : R.string.go_to_channel : R.string.channel_locked_short : R.string.guild_event_started;
DrawableCompat.setCompoundDrawablesCompat$default(textView, i3, 0, 0, 0, 14, (Object) null);
textView.setTextColor(color);
Context context = textView.getContext();
@ -352,20 +382,21 @@ public final class GuildScheduledEventBottomButtonView extends ConstraintLayout
imageView.setOnClickListener(new GuildScheduledEventBottomButtonView$configureStartEventButton$$inlined$apply$lambda$1(visibilityInfo, function0));
}
public final void configure(GuildScheduledEvent guildScheduledEvent, boolean z2, boolean z3, boolean z4, boolean z5, boolean z6, Function0<Unit> function0, Function0<Unit> function02, Function0<Unit> function03, Function0<Unit> function04, Function0<Unit> function05) {
public final void configure(GuildScheduledEvent guildScheduledEvent, boolean z2, boolean z3, boolean z4, boolean z5, boolean z6, boolean z7, Function0<Unit> function0, Function0<Unit> function02, Function0<Unit> function03, Function0<Unit> function04, Function0<Unit> function05) {
m.checkNotNullParameter(guildScheduledEvent, "guildScheduledEvent");
m.checkNotNullParameter(function0, "onRsvpButtonClicked");
m.checkNotNullParameter(function02, "onStartEventButtonClicked");
m.checkNotNullParameter(function03, "onShareButtonClicked");
m.checkNotNullParameter(function04, "onJoinButtonClicked");
m.checkNotNullParameter(function05, "onEndEventButtonClicked");
VisibilityInfo visibilityInfo = new VisibilityInfo(guildScheduledEvent, z3, z4, z5, z6, false, 32, null);
VisibilityInfo visibilityInfo = new VisibilityInfo(guildScheduledEvent, z3, z4, z5, z6, z7, false, 64, null);
configureStartEventButton(visibilityInfo, function02);
configureInterestedButton(visibilityInfo, z2, function0, function04, function05);
configureShareButton(visibilityInfo, function03);
}
public final void configureForDetails(GuildScheduledEvent guildScheduledEvent, boolean z2, boolean z3, boolean z4, boolean z5, boolean z6, Function0<Unit> function0, Function0<Unit> function02, Function0<Unit> function03, Function0<Unit> function04, Function0<Unit> function05, Function0<Unit> function06) {
public final void configureForDetails(GuildScheduledEvent guildScheduledEvent, boolean z2, boolean z3, boolean z4, boolean z5, boolean z6, boolean z7, Function0<Unit> function0, Function0<Unit> function02, Function0<Unit> function03, Function0<Unit> function04, Function0<Unit> function05, Function0<Unit> function06) {
boolean z8;
Function0<Unit> function07;
Function0<Unit> function08;
VisibilityInfo visibilityInfo;
@ -375,7 +406,7 @@ public final class GuildScheduledEventBottomButtonView extends ConstraintLayout
m.checkNotNullParameter(function03, "onShareButtonClicked");
m.checkNotNullParameter(function05, "onJoinButtonClicked");
m.checkNotNullParameter(function06, "onEndEventButtonClicked");
VisibilityInfo visibilityInfo2 = new VisibilityInfo(guildScheduledEvent, true, z4, z5, z3, true);
VisibilityInfo visibilityInfo2 = new VisibilityInfo(guildScheduledEvent, true, z4, z5, z3, z6, true);
configureStartEventButton(visibilityInfo2, function0);
int i = 8;
if (visibilityInfo2.isStartEventVisible()) {
@ -388,20 +419,22 @@ public final class GuildScheduledEventBottomButtonView extends ConstraintLayout
visibilityInfo = visibilityInfo2;
function08 = function04;
function07 = function03;
z8 = z7;
} else {
visibilityInfo = visibilityInfo2;
function08 = function04;
function07 = function03;
z8 = z7;
configureInterestedButton(visibilityInfo2, z2, function02, function05, function06);
}
configureShareButton(visibilityInfo, function07);
ImageView imageView2 = this.binding.b;
if (function08 != null && (z5 || z6)) {
if (function08 != null && (z5 || z8)) {
i = 0;
}
imageView2.setVisibility(i);
if (function08 != null) {
imageView2.setOnClickListener(new GuildScheduledEventBottomButtonView$configureForDetails$$inlined$apply$lambda$1(function08, z5, z6));
imageView2.setOnClickListener(new GuildScheduledEventBottomButtonView$configureForDetails$$inlined$apply$lambda$1(function08, z5, z8));
}
}

View File

@ -1,7 +1,9 @@
package com.discord.widgets.guildscheduledevent;
import androidx.core.app.FrameMetricsAggregator;
import com.discord.api.channel.Channel;
import com.discord.api.guildscheduledevent.GuildScheduledEvent;
import com.discord.api.permission.Permission;
import com.discord.models.guild.Guild;
import com.discord.stores.StoreChannels;
import com.discord.stores.StoreGuildScheduledEvents;
@ -10,6 +12,7 @@ import com.discord.stores.StorePermissions;
import com.discord.stores.StoreUserSettings;
import com.discord.stores.StoreVoiceChannelSelected;
import com.discord.utilities.guildscheduledevent.GuildScheduledEventUtilities;
import com.discord.utilities.permissions.PermissionUtils;
import com.discord.widgets.guildscheduledevent.GuildScheduledEventDetailsViewModel;
import d0.z.d.o;
import kotlin.jvm.functions.Function0;
@ -39,9 +42,10 @@ public final class GuildScheduledEventDetailsViewModel$Companion$observeStores$1
/* renamed from: invoke */
public final GuildScheduledEventDetailsViewModel.StoreState mo1invoke() {
Channel channel;
boolean z2;
GuildScheduledEvent findEventFromStore$default = StoreGuildScheduledEvents.findEventFromStore$default(this.$guildScheduledEventsStore, this.$guildScheduledEventId, null, 2, null);
if (findEventFromStore$default == null) {
return new GuildScheduledEventDetailsViewModel.StoreState(null, null, null, false, false, false, false, null, 255, null);
return new GuildScheduledEventDetailsViewModel.StoreState(null, null, null, false, false, false, false, null, false, FrameMetricsAggregator.EVERY_DURATION, null);
}
Long b = findEventFromStore$default.b();
if (b != null) {
@ -53,6 +57,14 @@ public final class GuildScheduledEventDetailsViewModel$Companion$observeStores$1
Long valueOf = Long.valueOf(this.$selectedVoiceChannelStore.getSelectedVoiceChannelId());
boolean isRsvpedToEvent = this.$guildScheduledEventsStore.isRsvpedToEvent(findEventFromStore$default.f(), this.$guildScheduledEventId);
GuildScheduledEventUtilities.Companion companion = GuildScheduledEventUtilities.Companion;
return new GuildScheduledEventDetailsViewModel.StoreState(findEventFromStore$default, channel, guild, isRsvpedToEvent, GuildScheduledEventUtilities.Companion.canShareEvent$default(companion, findEventFromStore$default.b(), this.$channelsStore, this.$guildsStore, null, 8, null), companion.canStartEvent(findEventFromStore$default.f(), findEventFromStore$default.b(), this.$channelsStore, this.$permissionsStore), this.$userSettingsStore.getIsDeveloperMode(), valueOf);
boolean canShareEvent$default = GuildScheduledEventUtilities.Companion.canShareEvent$default(companion, findEventFromStore$default.b(), this.$channelsStore, this.$guildsStore, null, 8, null);
boolean canStartEvent = companion.canStartEvent(findEventFromStore$default.f(), findEventFromStore$default.b(), this.$channelsStore, this.$permissionsStore);
Long b2 = findEventFromStore$default.b();
if (b2 != null) {
z2 = PermissionUtils.can(Permission.CONNECT, this.$permissionsStore.getPermissionsByChannel().get(Long.valueOf(b2.longValue())));
} else {
z2 = false;
}
return new GuildScheduledEventDetailsViewModel.StoreState(findEventFromStore$default, channel, guild, isRsvpedToEvent, canShareEvent$default, canStartEvent, this.$userSettingsStore.getIsDeveloperMode(), valueOf, z2);
}
}

View File

@ -1,6 +1,7 @@
package com.discord.widgets.guildscheduledevent;
import android.content.Context;
import androidx.core.app.FrameMetricsAggregator;
import c.d.b.a.a;
import com.discord.api.channel.Channel;
import com.discord.api.guildscheduledevent.GuildScheduledEvent;
@ -71,6 +72,7 @@ public final class GuildScheduledEventDetailsViewModel extends AppViewModel<View
/* compiled from: GuildScheduledEventDetailsViewModel.kt */
public static final class StoreState {
private final boolean canConnect;
private final boolean canShare;
private final boolean canStartEvent;
private final Channel channel;
@ -81,10 +83,10 @@ public final class GuildScheduledEventDetailsViewModel extends AppViewModel<View
private final Long selectedVoiceChannelId;
public StoreState() {
this(null, null, null, false, false, false, false, null, 255, null);
this(null, null, null, false, false, false, false, null, false, FrameMetricsAggregator.EVERY_DURATION, null);
}
public StoreState(GuildScheduledEvent guildScheduledEvent, Channel channel, Guild guild, boolean z2, boolean z3, boolean z4, boolean z5, Long l) {
public StoreState(GuildScheduledEvent guildScheduledEvent, Channel channel, Guild guild, boolean z2, boolean z3, boolean z4, boolean z5, Long l, boolean z6) {
this.guildScheduledEvent = guildScheduledEvent;
this.channel = channel;
this.guild = guild;
@ -93,15 +95,16 @@ public final class GuildScheduledEventDetailsViewModel extends AppViewModel<View
this.canStartEvent = z4;
this.isDeveloperMode = z5;
this.selectedVoiceChannelId = l;
this.canConnect = z6;
}
/* JADX INFO: this call moved to the top of the method (can break code semantics) */
public /* synthetic */ StoreState(GuildScheduledEvent guildScheduledEvent, Channel channel, Guild guild, boolean z2, boolean z3, boolean z4, boolean z5, Long l, int i, DefaultConstructorMarker defaultConstructorMarker) {
this((i & 1) != 0 ? null : guildScheduledEvent, (i & 2) != 0 ? null : channel, (i & 4) != 0 ? null : guild, (i & 8) != 0 ? false : z2, (i & 16) != 0 ? false : z3, (i & 32) != 0 ? false : z4, (i & 64) == 0 ? z5 : false, (i & 128) == 0 ? l : null);
public /* synthetic */ StoreState(GuildScheduledEvent guildScheduledEvent, Channel channel, Guild guild, boolean z2, boolean z3, boolean z4, boolean z5, Long l, boolean z6, int i, DefaultConstructorMarker defaultConstructorMarker) {
this((i & 1) != 0 ? null : guildScheduledEvent, (i & 2) != 0 ? null : channel, (i & 4) != 0 ? null : guild, (i & 8) != 0 ? false : z2, (i & 16) != 0 ? false : z3, (i & 32) != 0 ? false : z4, (i & 64) != 0 ? false : z5, (i & 128) == 0 ? l : null, (i & 256) == 0 ? z6 : false);
}
public static /* synthetic */ StoreState copy$default(StoreState storeState, GuildScheduledEvent guildScheduledEvent, Channel channel, Guild guild, boolean z2, boolean z3, boolean z4, boolean z5, Long l, int i, Object obj) {
return storeState.copy((i & 1) != 0 ? storeState.guildScheduledEvent : guildScheduledEvent, (i & 2) != 0 ? storeState.channel : channel, (i & 4) != 0 ? storeState.guild : guild, (i & 8) != 0 ? storeState.isRsvped : z2, (i & 16) != 0 ? storeState.canShare : z3, (i & 32) != 0 ? storeState.canStartEvent : z4, (i & 64) != 0 ? storeState.isDeveloperMode : z5, (i & 128) != 0 ? storeState.selectedVoiceChannelId : l);
public static /* synthetic */ StoreState copy$default(StoreState storeState, GuildScheduledEvent guildScheduledEvent, Channel channel, Guild guild, boolean z2, boolean z3, boolean z4, boolean z5, Long l, boolean z6, int i, Object obj) {
return storeState.copy((i & 1) != 0 ? storeState.guildScheduledEvent : guildScheduledEvent, (i & 2) != 0 ? storeState.channel : channel, (i & 4) != 0 ? storeState.guild : guild, (i & 8) != 0 ? storeState.isRsvped : z2, (i & 16) != 0 ? storeState.canShare : z3, (i & 32) != 0 ? storeState.canStartEvent : z4, (i & 64) != 0 ? storeState.isDeveloperMode : z5, (i & 128) != 0 ? storeState.selectedVoiceChannelId : l, (i & 256) != 0 ? storeState.canConnect : z6);
}
public final GuildScheduledEvent component1() {
@ -136,8 +139,12 @@ public final class GuildScheduledEventDetailsViewModel extends AppViewModel<View
return this.selectedVoiceChannelId;
}
public final StoreState copy(GuildScheduledEvent guildScheduledEvent, Channel channel, Guild guild, boolean z2, boolean z3, boolean z4, boolean z5, Long l) {
return new StoreState(guildScheduledEvent, channel, guild, z2, z3, z4, z5, l);
public final boolean component9() {
return this.canConnect;
}
public final StoreState copy(GuildScheduledEvent guildScheduledEvent, Channel channel, Guild guild, boolean z2, boolean z3, boolean z4, boolean z5, Long l, boolean z6) {
return new StoreState(guildScheduledEvent, channel, guild, z2, z3, z4, z5, l, z6);
}
public boolean equals(Object obj) {
@ -148,7 +155,11 @@ public final class GuildScheduledEventDetailsViewModel extends AppViewModel<View
return false;
}
StoreState storeState = (StoreState) obj;
return m.areEqual(this.guildScheduledEvent, storeState.guildScheduledEvent) && m.areEqual(this.channel, storeState.channel) && m.areEqual(this.guild, storeState.guild) && this.isRsvped == storeState.isRsvped && this.canShare == storeState.canShare && this.canStartEvent == storeState.canStartEvent && this.isDeveloperMode == storeState.isDeveloperMode && m.areEqual(this.selectedVoiceChannelId, storeState.selectedVoiceChannelId);
return m.areEqual(this.guildScheduledEvent, storeState.guildScheduledEvent) && m.areEqual(this.channel, storeState.channel) && m.areEqual(this.guild, storeState.guild) && this.isRsvped == storeState.isRsvped && this.canShare == storeState.canShare && this.canStartEvent == storeState.canStartEvent && this.isDeveloperMode == storeState.isDeveloperMode && m.areEqual(this.selectedVoiceChannelId, storeState.selectedVoiceChannelId) && this.canConnect == storeState.canConnect;
}
public final boolean getCanConnect() {
return this.canConnect;
}
public final boolean getCanShare() {
@ -209,15 +220,23 @@ public final class GuildScheduledEventDetailsViewModel extends AppViewModel<View
int i13 = z4 ? 1 : 0;
int i14 = (i10 + i11) * 31;
boolean z5 = this.isDeveloperMode;
if (!z5) {
i2 = z5 ? 1 : 0;
if (z5) {
z5 = true;
}
int i15 = (i14 + i2) * 31;
int i15 = z5 ? 1 : 0;
int i16 = z5 ? 1 : 0;
int i17 = z5 ? 1 : 0;
int i18 = (i14 + i15) * 31;
Long l = this.selectedVoiceChannelId;
if (l != null) {
i = l.hashCode();
}
return i15 + i;
int i19 = (i18 + i) * 31;
boolean z6 = this.canConnect;
if (!z6) {
i2 = z6 ? 1 : 0;
}
return i19 + i2;
}
public final boolean isDeveloperMode() {
@ -244,7 +263,9 @@ public final class GuildScheduledEventDetailsViewModel extends AppViewModel<View
P.append(", isDeveloperMode=");
P.append(this.isDeveloperMode);
P.append(", selectedVoiceChannelId=");
return a.F(P, this.selectedVoiceChannelId, ")");
P.append(this.selectedVoiceChannelId);
P.append(", canConnect=");
return a.L(P, this.canConnect, ")");
}
}
@ -253,6 +274,7 @@ public final class GuildScheduledEventDetailsViewModel extends AppViewModel<View
/* compiled from: GuildScheduledEventDetailsViewModel.kt */
public static final class Initialized extends ViewState {
private final boolean canConnect;
private final boolean canShare;
private final boolean canStartEvent;
private final Guild guild;
@ -263,7 +285,7 @@ public final class GuildScheduledEventDetailsViewModel extends AppViewModel<View
private final GuildScheduledEventLocationInfo locationInfo;
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
public Initialized(GuildScheduledEvent guildScheduledEvent, GuildScheduledEventLocationInfo guildScheduledEventLocationInfo, Guild guild, boolean z2, boolean z3, boolean z4, boolean z5, boolean z6) {
public Initialized(GuildScheduledEvent guildScheduledEvent, GuildScheduledEventLocationInfo guildScheduledEventLocationInfo, Guild guild, boolean z2, boolean z3, boolean z4, boolean z5, boolean z6, boolean z7) {
super(null);
m.checkNotNullParameter(guildScheduledEvent, "guildScheduledEvent");
m.checkNotNullParameter(guildScheduledEventLocationInfo, "locationInfo");
@ -276,10 +298,11 @@ public final class GuildScheduledEventDetailsViewModel extends AppViewModel<View
this.isConnected = z4;
this.canStartEvent = z5;
this.isDeveloperMode = z6;
this.canConnect = z7;
}
public static /* synthetic */ Initialized copy$default(Initialized initialized, GuildScheduledEvent guildScheduledEvent, GuildScheduledEventLocationInfo guildScheduledEventLocationInfo, Guild guild, boolean z2, boolean z3, boolean z4, boolean z5, boolean z6, int i, Object obj) {
return initialized.copy((i & 1) != 0 ? initialized.guildScheduledEvent : guildScheduledEvent, (i & 2) != 0 ? initialized.locationInfo : guildScheduledEventLocationInfo, (i & 4) != 0 ? initialized.guild : guild, (i & 8) != 0 ? initialized.isRsvped : z2, (i & 16) != 0 ? initialized.canShare : z3, (i & 32) != 0 ? initialized.isConnected : z4, (i & 64) != 0 ? initialized.canStartEvent : z5, (i & 128) != 0 ? initialized.isDeveloperMode : z6);
public static /* synthetic */ Initialized copy$default(Initialized initialized, GuildScheduledEvent guildScheduledEvent, GuildScheduledEventLocationInfo guildScheduledEventLocationInfo, Guild guild, boolean z2, boolean z3, boolean z4, boolean z5, boolean z6, boolean z7, int i, Object obj) {
return initialized.copy((i & 1) != 0 ? initialized.guildScheduledEvent : guildScheduledEvent, (i & 2) != 0 ? initialized.locationInfo : guildScheduledEventLocationInfo, (i & 4) != 0 ? initialized.guild : guild, (i & 8) != 0 ? initialized.isRsvped : z2, (i & 16) != 0 ? initialized.canShare : z3, (i & 32) != 0 ? initialized.isConnected : z4, (i & 64) != 0 ? initialized.canStartEvent : z5, (i & 128) != 0 ? initialized.isDeveloperMode : z6, (i & 256) != 0 ? initialized.canConnect : z7);
}
public final GuildScheduledEvent component1() {
@ -314,11 +337,15 @@ public final class GuildScheduledEventDetailsViewModel extends AppViewModel<View
return this.isDeveloperMode;
}
public final Initialized copy(GuildScheduledEvent guildScheduledEvent, GuildScheduledEventLocationInfo guildScheduledEventLocationInfo, Guild guild, boolean z2, boolean z3, boolean z4, boolean z5, boolean z6) {
public final boolean component9() {
return this.canConnect;
}
public final Initialized copy(GuildScheduledEvent guildScheduledEvent, GuildScheduledEventLocationInfo guildScheduledEventLocationInfo, Guild guild, boolean z2, boolean z3, boolean z4, boolean z5, boolean z6, boolean z7) {
m.checkNotNullParameter(guildScheduledEvent, "guildScheduledEvent");
m.checkNotNullParameter(guildScheduledEventLocationInfo, "locationInfo");
m.checkNotNullParameter(guild, "guild");
return new Initialized(guildScheduledEvent, guildScheduledEventLocationInfo, guild, z2, z3, z4, z5, z6);
return new Initialized(guildScheduledEvent, guildScheduledEventLocationInfo, guild, z2, z3, z4, z5, z6, z7);
}
public boolean equals(Object obj) {
@ -329,7 +356,11 @@ public final class GuildScheduledEventDetailsViewModel extends AppViewModel<View
return false;
}
Initialized initialized = (Initialized) obj;
return m.areEqual(this.guildScheduledEvent, initialized.guildScheduledEvent) && m.areEqual(this.locationInfo, initialized.locationInfo) && m.areEqual(this.guild, initialized.guild) && this.isRsvped == initialized.isRsvped && this.canShare == initialized.canShare && this.isConnected == initialized.isConnected && this.canStartEvent == initialized.canStartEvent && this.isDeveloperMode == initialized.isDeveloperMode;
return m.areEqual(this.guildScheduledEvent, initialized.guildScheduledEvent) && m.areEqual(this.locationInfo, initialized.locationInfo) && m.areEqual(this.guild, initialized.guild) && this.isRsvped == initialized.isRsvped && this.canShare == initialized.canShare && this.isConnected == initialized.isConnected && this.canStartEvent == initialized.canStartEvent && this.isDeveloperMode == initialized.isDeveloperMode && this.canConnect == initialized.canConnect;
}
public final boolean getCanConnect() {
return this.canConnect;
}
public final boolean getCanShare() {
@ -397,10 +428,18 @@ public final class GuildScheduledEventDetailsViewModel extends AppViewModel<View
int i18 = z5 ? 1 : 0;
int i19 = (i15 + i16) * 31;
boolean z6 = this.isDeveloperMode;
if (!z6) {
i3 = z6 ? 1 : 0;
if (z6) {
z6 = true;
}
return i19 + i3;
int i20 = z6 ? 1 : 0;
int i21 = z6 ? 1 : 0;
int i22 = z6 ? 1 : 0;
int i23 = (i19 + i20) * 31;
boolean z7 = this.canConnect;
if (!z7) {
i3 = z7 ? 1 : 0;
}
return i23 + i3;
}
public final boolean isConnected() {
@ -431,7 +470,9 @@ public final class GuildScheduledEventDetailsViewModel extends AppViewModel<View
P.append(", canStartEvent=");
P.append(this.canStartEvent);
P.append(", isDeveloperMode=");
return a.L(P, this.isDeveloperMode, ")");
P.append(this.isDeveloperMode);
P.append(", canConnect=");
return a.L(P, this.canConnect, ")");
}
}
@ -509,7 +550,7 @@ public final class GuildScheduledEventDetailsViewModel extends AppViewModel<View
} else {
z2 = false;
}
obj = new ViewState.Initialized(guildScheduledEvent, buildLocationInfo, guild, isRsvped, storeState.getCanShare(), z2, storeState.getCanStartEvent(), storeState.isDeveloperMode());
obj = new ViewState.Initialized(guildScheduledEvent, buildLocationInfo, guild, isRsvped, storeState.getCanShare(), z2, storeState.getCanStartEvent(), storeState.isDeveloperMode(), storeState.getCanConnect());
}
updateViewState(obj);
}

View File

@ -132,15 +132,15 @@ public final class GuildScheduledEventItemView extends ConstraintLayout {
getDescriptionParser().configureDescription(str);
}
public static /* synthetic */ void configureInChatList$default(GuildScheduledEventItemView guildScheduledEventItemView, GuildScheduledEvent guildScheduledEvent, Channel channel, Guild guild, boolean z2, boolean z3, boolean z4, Function0 function0, Function0 function02, Function0 function03, Function0 function04, int i, Object obj) {
guildScheduledEventItemView.configureInChatList(guildScheduledEvent, channel, guild, z2, z3, z4, function0, (i & 128) != 0 ? GuildScheduledEventItemView$configureInChatList$1.INSTANCE : function02, (i & 256) != 0 ? GuildScheduledEventItemView$configureInChatList$2.INSTANCE : function03, function04);
public static /* synthetic */ void configureInChatList$default(GuildScheduledEventItemView guildScheduledEventItemView, GuildScheduledEvent guildScheduledEvent, Channel channel, Guild guild, boolean z2, boolean z3, boolean z4, boolean z5, Function0 function0, Function0 function02, Function0 function03, Function0 function04, int i, Object obj) {
guildScheduledEventItemView.configureInChatList(guildScheduledEvent, channel, guild, z2, z3, z4, z5, function0, (i & 256) != 0 ? GuildScheduledEventItemView$configureInChatList$1.INSTANCE : function02, (i & 512) != 0 ? GuildScheduledEventItemView$configureInChatList$2.INSTANCE : function03, function04);
}
private final void configureInternal(GuildScheduledEvent guildScheduledEvent, GuildScheduledEventLocationInfo guildScheduledEventLocationInfo, Guild guild, boolean z2, boolean z3, boolean z4, boolean z5, boolean z6, Function0<Unit> function0, Function0<Unit> function02, Function0<Unit> function03, Function0<Unit> function04, Function0<Unit> function05) {
private final void configureInternal(GuildScheduledEvent guildScheduledEvent, GuildScheduledEventLocationInfo guildScheduledEventLocationInfo, Guild guild, boolean z2, boolean z3, boolean z4, boolean z5, boolean z6, boolean z7, Function0<Unit> function0, Function0<Unit> function02, Function0<Unit> function03, Function0<Unit> function04, Function0<Unit> function05) {
GuildScheduledEventBottomButtonView guildScheduledEventBottomButtonView = this.binding.b;
m.checkNotNullExpressionValue(guildScheduledEventBottomButtonView, "binding.guildScheduledEventListItemButtomView");
guildScheduledEventBottomButtonView.setVisibility(new GuildScheduledEventBottomButtonView.VisibilityInfo(guildScheduledEvent, z3, z5, z4, z6, false, 32, null).isAnyButtonVisible() ? 0 : 8);
GuildScheduledEventBottomButtonView.configure$default(this.binding.b, guildScheduledEvent, z2, z3, z5, z4, z6, function02, function03, function04, function05, null, 1024, null);
guildScheduledEventBottomButtonView.setVisibility(new GuildScheduledEventBottomButtonView.VisibilityInfo(guildScheduledEvent, z3, z5, z4, z6, z7, false, 64, null).isAnyButtonVisible() ? 0 : 8);
GuildScheduledEventBottomButtonView.configure$default(this.binding.b, guildScheduledEvent, z2, z3, z5, z4, z6, z7, function02, function03, function04, function05, null, 2048, null);
TextView textView = this.binding.j;
m.checkNotNullExpressionValue(textView, "binding.guildScheduledEventListItemRsvpText");
Integer l = guildScheduledEvent.l();
@ -156,8 +156,8 @@ public final class GuildScheduledEventItemView extends ConstraintLayout {
}
}
public static /* synthetic */ void configureInternal$default(GuildScheduledEventItemView guildScheduledEventItemView, GuildScheduledEvent guildScheduledEvent, GuildScheduledEventLocationInfo guildScheduledEventLocationInfo, Guild guild, boolean z2, boolean z3, boolean z4, boolean z5, boolean z6, Function0 function0, Function0 function02, Function0 function03, Function0 function04, Function0 function05, int i, Object obj) {
guildScheduledEventItemView.configureInternal(guildScheduledEvent, guildScheduledEventLocationInfo, guild, z2, z3, z4, z5, z6, function0, (i & 512) != 0 ? GuildScheduledEventItemView$configureInternal$1.INSTANCE : function02, (i & 1024) != 0 ? GuildScheduledEventItemView$configureInternal$2.INSTANCE : function03, (i & 2048) != 0 ? GuildScheduledEventItemView$configureInternal$3.INSTANCE : function04, (i & 4096) != 0 ? GuildScheduledEventItemView$configureInternal$4.INSTANCE : function05);
public static /* synthetic */ void configureInternal$default(GuildScheduledEventItemView guildScheduledEventItemView, GuildScheduledEvent guildScheduledEvent, GuildScheduledEventLocationInfo guildScheduledEventLocationInfo, Guild guild, boolean z2, boolean z3, boolean z4, boolean z5, boolean z6, boolean z7, Function0 function0, Function0 function02, Function0 function03, Function0 function04, Function0 function05, int i, Object obj) {
guildScheduledEventItemView.configureInternal(guildScheduledEvent, guildScheduledEventLocationInfo, guild, z2, z3, z4, z5, z6, z7, function0, (i & 1024) != 0 ? GuildScheduledEventItemView$configureInternal$1.INSTANCE : function02, (i & 2048) != 0 ? GuildScheduledEventItemView$configureInternal$2.INSTANCE : function03, (i & 4096) != 0 ? GuildScheduledEventItemView$configureInternal$3.INSTANCE : function04, (i & 8192) != 0 ? GuildScheduledEventItemView$configureInternal$4.INSTANCE : function05);
}
private final void configureLocation(GuildScheduledEventLocationInfo guildScheduledEventLocationInfo, Guild guild) {
@ -275,12 +275,12 @@ public final class GuildScheduledEventItemView extends ConstraintLayout {
configureLocation$default(this, GuildScheduledEventLocationInfo.Companion.buildLocationInfo(guildScheduledEventModel, channel), null, 2, null);
}
public final void configureInChatList(GuildScheduledEvent guildScheduledEvent, Channel channel, Guild guild, boolean z2, boolean z3, boolean z4, Function0<Unit> function0, Function0<Unit> function02, Function0<Unit> function03, Function0<Unit> function04) {
public final void configureInChatList(GuildScheduledEvent guildScheduledEvent, Channel channel, Guild guild, boolean z2, boolean z3, boolean z4, boolean z5, Function0<Unit> function0, Function0<Unit> function02, Function0<Unit> function03, Function0<Unit> function04) {
m.checkNotNullParameter(guildScheduledEvent, "guildScheduledEvent");
m.checkNotNullParameter(function02, "rsvpButtonClickListener");
m.checkNotNullParameter(function03, "joinServerButtonClickListener");
m.checkNotNullParameter(function04, "shareButtonClickListener");
configureInternal(guildScheduledEvent, GuildScheduledEventLocationInfo.Companion.buildLocationInfo(guildScheduledEvent, channel), guild, z3, true, false, true, z4, function0, function02, function03, function04, function03);
configureInternal(guildScheduledEvent, GuildScheduledEventLocationInfo.Companion.buildLocationInfo(guildScheduledEvent, channel), guild, z3, true, false, true, z4, z5, function0, function02, function03, function04, function03);
ConstraintLayout constraintLayout = this.binding.a;
m.checkNotNullExpressionValue(constraintLayout, "binding.root");
constraintLayout.setBackground((!z4 || guildScheduledEvent.k() != GuildScheduledEventStatus.ACTIVE) ? ContextCompat.getDrawable(getContext(), R.drawable.bg_guild_scheduled_event_list_item_secondary) : ContextCompat.getDrawable(getContext(), R.drawable.bg_guild_scheduled_event_list_item_connected_secondary));
@ -324,7 +324,7 @@ public final class GuildScheduledEventItemView extends ConstraintLayout {
m.checkNotNullParameter(function03, "eventStartButtonClickListener");
m.checkNotNullParameter(function04, "shareButtonClickListener");
m.checkNotNullParameter(function05, "joinButtonClickListener");
configureInternal(event.getEvent(), GuildScheduledEventLocationInfo.Companion.buildLocationInfo(event.getEvent(), event.getChannel()), null, event.isRsvped(), true, event.getCanStartEvent(), event.getCanShare(), event.isConnected(), function0, function02, function03, function04, function05);
configureInternal(event.getEvent(), GuildScheduledEventLocationInfo.Companion.buildLocationInfo(event.getEvent(), event.getChannel()), null, event.isRsvped(), true, event.getCanStartEvent(), event.getCanShare(), event.isConnected(), event.getCanConnect(), function0, function02, function03, function04, function05);
ConstraintLayout constraintLayout = this.binding.a;
m.checkNotNullExpressionValue(constraintLayout, "binding.root");
constraintLayout.setBackground((!event.isConnected() || event.getEvent().k() != GuildScheduledEventStatus.ACTIVE) ? ContextCompat.getDrawable(getContext(), R.drawable.bg_guild_scheduled_event_list_item_primary) : ContextCompat.getDrawable(getContext(), R.drawable.bg_guild_scheduled_event_list_item_connected_primary));
@ -334,7 +334,7 @@ public final class GuildScheduledEventItemView extends ConstraintLayout {
m.checkNotNullParameter(guildScheduledEvent, "guildScheduledEvent");
m.checkNotNullParameter(function0, "onCardClicked");
m.checkNotNullParameter(function02, "onStartEventButtonClicked");
configureInternal(guildScheduledEvent, null, null, false, false, z2, false, z4, function0, GuildScheduledEventItemView$configureInVoiceChannel$1.INSTANCE, function02, GuildScheduledEventItemView$configureInVoiceChannel$2.INSTANCE, GuildScheduledEventItemView$configureInVoiceChannel$3.INSTANCE);
configureInternal(guildScheduledEvent, null, null, false, false, z2, false, z4, false, function0, GuildScheduledEventItemView$configureInVoiceChannel$1.INSTANCE, function02, GuildScheduledEventItemView$configureInVoiceChannel$2.INSTANCE, GuildScheduledEventItemView$configureInVoiceChannel$3.INSTANCE);
ConstraintLayout constraintLayout = this.binding.a;
m.checkNotNullExpressionValue(constraintLayout, "binding.root");
constraintLayout.setBackground((!z4 || guildScheduledEvent.k() != GuildScheduledEventStatus.ACTIVE) ? ContextCompat.getDrawable(getContext(), R.drawable.bg_guild_scheduled_event_list_item_secondary) : ContextCompat.getDrawable(getContext(), R.drawable.bg_guild_scheduled_event_list_item_connected_secondary));

View File

@ -23,6 +23,7 @@ public abstract class GuildScheduledEventListItem implements MGRecyclerDataPaylo
/* compiled from: GuildScheduledEventListItem.kt */
public static final class Event extends GuildScheduledEventListItem {
private final boolean canConnect;
private final boolean canShare;
private final boolean canStartEvent;
private final Channel channel;
@ -33,7 +34,7 @@ public abstract class GuildScheduledEventListItem implements MGRecyclerDataPaylo
private final int type;
/* JADX INFO: super call moved to the top of the method (can break code semantics) */
public Event(GuildScheduledEvent guildScheduledEvent, Channel channel, boolean z2, boolean z3, boolean z4, boolean z5) {
public Event(GuildScheduledEvent guildScheduledEvent, Channel channel, boolean z2, boolean z3, boolean z4, boolean z5, boolean z6) {
super(null);
m.checkNotNullParameter(guildScheduledEvent, "event");
this.event = guildScheduledEvent;
@ -42,10 +43,11 @@ public abstract class GuildScheduledEventListItem implements MGRecyclerDataPaylo
this.canStartEvent = z3;
this.canShare = z4;
this.isConnected = z5;
this.canConnect = z6;
this.key = String.valueOf(guildScheduledEvent.g());
}
public static /* synthetic */ Event copy$default(Event event, GuildScheduledEvent guildScheduledEvent, Channel channel, boolean z2, boolean z3, boolean z4, boolean z5, int i, Object obj) {
public static /* synthetic */ Event copy$default(Event event, GuildScheduledEvent guildScheduledEvent, Channel channel, boolean z2, boolean z3, boolean z4, boolean z5, boolean z6, int i, Object obj) {
if ((i & 1) != 0) {
guildScheduledEvent = event.event;
}
@ -64,7 +66,10 @@ public abstract class GuildScheduledEventListItem implements MGRecyclerDataPaylo
if ((i & 32) != 0) {
z5 = event.isConnected;
}
return event.copy(guildScheduledEvent, channel, z2, z3, z4, z5);
if ((i & 64) != 0) {
z6 = event.canConnect;
}
return event.copy(guildScheduledEvent, channel, z2, z3, z4, z5, z6);
}
public final GuildScheduledEvent component1() {
@ -91,9 +96,13 @@ public abstract class GuildScheduledEventListItem implements MGRecyclerDataPaylo
return this.isConnected;
}
public final Event copy(GuildScheduledEvent guildScheduledEvent, Channel channel, boolean z2, boolean z3, boolean z4, boolean z5) {
public final boolean component7() {
return this.canConnect;
}
public final Event copy(GuildScheduledEvent guildScheduledEvent, Channel channel, boolean z2, boolean z3, boolean z4, boolean z5, boolean z6) {
m.checkNotNullParameter(guildScheduledEvent, "event");
return new Event(guildScheduledEvent, channel, z2, z3, z4, z5);
return new Event(guildScheduledEvent, channel, z2, z3, z4, z5, z6);
}
public boolean equals(Object obj) {
@ -104,7 +113,11 @@ public abstract class GuildScheduledEventListItem implements MGRecyclerDataPaylo
return false;
}
Event event = (Event) obj;
return m.areEqual(this.event, event.event) && m.areEqual(this.channel, event.channel) && this.isRsvped == event.isRsvped && this.canStartEvent == event.canStartEvent && this.canShare == event.canShare && this.isConnected == event.isConnected;
return m.areEqual(this.event, event.event) && m.areEqual(this.channel, event.channel) && this.isRsvped == event.isRsvped && this.canStartEvent == event.canStartEvent && this.canShare == event.canShare && this.isConnected == event.isConnected && this.canConnect == event.canConnect;
}
public final boolean getCanConnect() {
return this.canConnect;
}
public final boolean getCanShare() {
@ -168,10 +181,18 @@ public abstract class GuildScheduledEventListItem implements MGRecyclerDataPaylo
int i14 = z4 ? 1 : 0;
int i15 = (i11 + i12) * 31;
boolean z5 = this.isConnected;
if (!z5) {
i3 = z5 ? 1 : 0;
if (z5) {
z5 = true;
}
return i15 + i3;
int i16 = z5 ? 1 : 0;
int i17 = z5 ? 1 : 0;
int i18 = z5 ? 1 : 0;
int i19 = (i15 + i16) * 31;
boolean z6 = this.canConnect;
if (!z6) {
i3 = z6 ? 1 : 0;
}
return i19 + i3;
}
public final boolean isConnected() {
@ -194,7 +215,9 @@ public abstract class GuildScheduledEventListItem implements MGRecyclerDataPaylo
P.append(", canShare=");
P.append(this.canShare);
P.append(", isConnected=");
return a.L(P, this.isConnected, ")");
P.append(this.isConnected);
P.append(", canConnect=");
return a.L(P, this.canConnect, ")");
}
}

View File

@ -54,10 +54,11 @@ public final class GuildScheduledEventListViewModel$Companion$observeStores$1 ex
List sortedWith = u.sortedWith(guildScheduledEvents$default, GuildScheduledEventsComparator.INSTANCE);
Set<Long> userGuildScheduledEventIds = this.$guildScheduledEventsStore.getUserGuildScheduledEventIds(this.$guildId);
boolean canCreateAnyEvent = GuildScheduledEventUtilities.Companion.canCreateAnyEvent(this.$guildId, this.$channelStore, this.$permissionsStore);
Map<Long, Long> permissionsByChannel = this.$permissionsStore.getPermissionsByChannel();
Long valueOf = Long.valueOf(this.$voiceChannelSelectedStore.getSelectedVoiceChannelId());
if (!(valueOf.longValue() != 0)) {
valueOf = null;
}
return new GuildScheduledEventListViewModel.StoreState(sortedWith, userGuildScheduledEventIds, channelsForGuild, canCreateAnyEvent, valueOf);
return new GuildScheduledEventListViewModel.StoreState(sortedWith, userGuildScheduledEventIds, channelsForGuild, canCreateAnyEvent, valueOf, permissionsByChannel);
}
}

View File

@ -4,6 +4,7 @@ import android.content.Context;
import c.d.b.a.a;
import com.discord.api.channel.Channel;
import com.discord.api.guildscheduledevent.GuildScheduledEvent;
import com.discord.api.permission.Permission;
import com.discord.app.AppViewModel;
import com.discord.stores.StoreChannels;
import com.discord.stores.StoreGuildScheduledEvents;
@ -15,6 +16,7 @@ import com.discord.stores.updates.ObservationDeck;
import com.discord.stores.updates.ObservationDeckProvider;
import com.discord.utilities.analytics.AnalyticsTracker;
import com.discord.utilities.guildscheduledevent.GuildScheduledEventUtilities;
import com.discord.utilities.permissions.PermissionUtils;
import com.discord.utilities.rx.ObservableExtensionsKt;
import com.discord.widgets.guildscheduledevent.GuildScheduledEventListItem;
import d0.t.o;
@ -82,25 +84,28 @@ public final class GuildScheduledEventListViewModel extends AppViewModel<ViewSta
/* compiled from: GuildScheduledEventListViewModel.kt */
public static final class StoreState {
private final boolean canCreateEvents;
private final Map<Long, Long> channelPermissions;
private final Map<Long, Channel> guildChannels;
private final List<GuildScheduledEvent> guildScheduledEvents;
private final Long selectedVoiceChannelId;
private final Set<Long> userGuildScheduledEventIds;
public StoreState(List<GuildScheduledEvent> list, Set<Long> set, Map<Long, Channel> map, boolean z2, Long l) {
public StoreState(List<GuildScheduledEvent> list, Set<Long> set, Map<Long, Channel> map, boolean z2, Long l, Map<Long, Long> map2) {
m.checkNotNullParameter(list, "guildScheduledEvents");
m.checkNotNullParameter(set, "userGuildScheduledEventIds");
m.checkNotNullParameter(map, "guildChannels");
m.checkNotNullParameter(map2, "channelPermissions");
this.guildScheduledEvents = list;
this.userGuildScheduledEventIds = set;
this.guildChannels = map;
this.canCreateEvents = z2;
this.selectedVoiceChannelId = l;
this.channelPermissions = map2;
}
/* JADX DEBUG: Multi-variable search result rejected for r3v0, resolved type: com.discord.widgets.guildscheduledevent.GuildScheduledEventListViewModel$StoreState */
/* JADX DEBUG: Multi-variable search result rejected for r4v0, resolved type: com.discord.widgets.guildscheduledevent.GuildScheduledEventListViewModel$StoreState */
/* JADX WARN: Multi-variable type inference failed */
public static /* synthetic */ StoreState copy$default(StoreState storeState, List list, Set set, Map map, boolean z2, Long l, int i, Object obj) {
public static /* synthetic */ StoreState copy$default(StoreState storeState, List list, Set set, Map map, boolean z2, Long l, Map map2, int i, Object obj) {
if ((i & 1) != 0) {
list = storeState.guildScheduledEvents;
}
@ -116,7 +121,10 @@ public final class GuildScheduledEventListViewModel extends AppViewModel<ViewSta
if ((i & 16) != 0) {
l = storeState.selectedVoiceChannelId;
}
return storeState.copy(list, set, map, z2, l);
if ((i & 32) != 0) {
map2 = storeState.channelPermissions;
}
return storeState.copy(list, set, map, z2, l, map2);
}
public final List<GuildScheduledEvent> component1() {
@ -139,11 +147,16 @@ public final class GuildScheduledEventListViewModel extends AppViewModel<ViewSta
return this.selectedVoiceChannelId;
}
public final StoreState copy(List<GuildScheduledEvent> list, Set<Long> set, Map<Long, Channel> map, boolean z2, Long l) {
public final Map<Long, Long> component6() {
return this.channelPermissions;
}
public final StoreState copy(List<GuildScheduledEvent> list, Set<Long> set, Map<Long, Channel> map, boolean z2, Long l, Map<Long, Long> map2) {
m.checkNotNullParameter(list, "guildScheduledEvents");
m.checkNotNullParameter(set, "userGuildScheduledEventIds");
m.checkNotNullParameter(map, "guildChannels");
return new StoreState(list, set, map, z2, l);
m.checkNotNullParameter(map2, "channelPermissions");
return new StoreState(list, set, map, z2, l, map2);
}
public boolean equals(Object obj) {
@ -154,13 +167,17 @@ public final class GuildScheduledEventListViewModel extends AppViewModel<ViewSta
return false;
}
StoreState storeState = (StoreState) obj;
return m.areEqual(this.guildScheduledEvents, storeState.guildScheduledEvents) && m.areEqual(this.userGuildScheduledEventIds, storeState.userGuildScheduledEventIds) && m.areEqual(this.guildChannels, storeState.guildChannels) && this.canCreateEvents == storeState.canCreateEvents && m.areEqual(this.selectedVoiceChannelId, storeState.selectedVoiceChannelId);
return m.areEqual(this.guildScheduledEvents, storeState.guildScheduledEvents) && m.areEqual(this.userGuildScheduledEventIds, storeState.userGuildScheduledEventIds) && m.areEqual(this.guildChannels, storeState.guildChannels) && this.canCreateEvents == storeState.canCreateEvents && m.areEqual(this.selectedVoiceChannelId, storeState.selectedVoiceChannelId) && m.areEqual(this.channelPermissions, storeState.channelPermissions);
}
public final boolean getCanCreateEvents() {
return this.canCreateEvents;
}
public final Map<Long, Long> getChannelPermissions() {
return this.channelPermissions;
}
public final Map<Long, Channel> getGuildChannels() {
return this.guildChannels;
}
@ -194,10 +211,12 @@ public final class GuildScheduledEventListViewModel extends AppViewModel<ViewSta
int i4 = z2 ? 1 : 0;
int i5 = (hashCode3 + i2) * 31;
Long l = this.selectedVoiceChannelId;
if (l != null) {
i = l.hashCode();
int hashCode4 = (i5 + (l != null ? l.hashCode() : 0)) * 31;
Map<Long, Long> map2 = this.channelPermissions;
if (map2 != null) {
i = map2.hashCode();
}
return i5 + i;
return hashCode4 + i;
}
public String toString() {
@ -210,7 +229,9 @@ public final class GuildScheduledEventListViewModel extends AppViewModel<ViewSta
P.append(", canCreateEvents=");
P.append(this.canCreateEvents);
P.append(", selectedVoiceChannelId=");
return a.F(P, this.selectedVoiceChannelId, ")");
P.append(this.selectedVoiceChannelId);
P.append(", channelPermissions=");
return a.K(P, this.channelPermissions, ")");
}
}
@ -366,18 +387,15 @@ public final class GuildScheduledEventListViewModel extends AppViewModel<ViewSta
}
boolean canShareEvent$default = GuildScheduledEventUtilities.Companion.canShareEvent$default(companion, l, null, null, null, 14, null);
Long selectedVoiceChannelId = storeState.getSelectedVoiceChannelId();
boolean z3 = false;
if (selectedVoiceChannelId != null) {
long longValue = selectedVoiceChannelId.longValue();
Long b2 = guildScheduledEvent.b();
if (b2 != null && longValue == b2.longValue()) {
z3 = true;
}
z2 = z3;
z2 = b2 != null && longValue == b2.longValue();
} else {
z2 = false;
}
arrayList.add(new GuildScheduledEventListItem.Event(guildScheduledEvent, channel, contains, canStartEvent$default, canShareEvent$default, z2));
Long b3 = guildScheduledEvent.b();
arrayList.add(new GuildScheduledEventListItem.Event(guildScheduledEvent, channel, contains, canStartEvent$default, canShareEvent$default, z2, b3 != null ? PermissionUtils.can(Permission.CONNECT, storeState.getChannelPermissions().get(Long.valueOf(b3.longValue()))) : false));
}
updateViewState(new ViewState.Loaded(arrayList, storeState.getCanCreateEvents()));
}

View File

@ -152,7 +152,7 @@ public final class WidgetGuildScheduledEventDetailsBottomSheet extends AppBottom
if (channelLocation != null) {
channel = channelLocation.getChannel();
}
getBinding().b.configureForDetails(initialized.getGuildScheduledEvent(), initialized.isRsvped(), initialized.isConnected(), initialized.getCanShare(), initialized.getCanStartEvent(), initialized.isDeveloperMode(), new WidgetGuildScheduledEventDetailsBottomSheet$configureUi$2(this, viewState), new WidgetGuildScheduledEventDetailsBottomSheet$configureUi$3(this), new WidgetGuildScheduledEventDetailsBottomSheet$configureUi$4(this, viewState, channel), new WidgetGuildScheduledEventDetailsBottomSheet$configureUi$5(this, viewState), new WidgetGuildScheduledEventDetailsBottomSheet$configureUi$6(this, channel), new WidgetGuildScheduledEventDetailsBottomSheet$configureUi$7(this));
getBinding().b.configureForDetails(initialized.getGuildScheduledEvent(), initialized.isRsvped(), initialized.isConnected(), initialized.getCanShare(), initialized.getCanStartEvent(), initialized.getCanConnect(), initialized.isDeveloperMode(), new WidgetGuildScheduledEventDetailsBottomSheet$configureUi$2(this, viewState), new WidgetGuildScheduledEventDetailsBottomSheet$configureUi$3(this), new WidgetGuildScheduledEventDetailsBottomSheet$configureUi$4(this, viewState, channel), new WidgetGuildScheduledEventDetailsBottomSheet$configureUi$5(this, viewState), new WidgetGuildScheduledEventDetailsBottomSheet$configureUi$6(this, channel), new WidgetGuildScheduledEventDetailsBottomSheet$configureUi$7(this));
}
private final long getGuildScheduledEventId() {

View File

@ -314,7 +314,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 + " - 97.1 - Alpha (97201)");
textView.setText(string + " - 97.2 - Alpha (97202)");
binding.A.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,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<com.discord.widgets.botuikit.views.ButtonComponentView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="wrap_content" android:layout_height="wrap_content">
<com.discord.widgets.botuikit.views.ButtonComponentView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="wrap_content" android:layout_height="wrap_content" android:minWidth="56dp">
<com.google.android.material.button.MaterialButton android:id="@+id/button" android:layout_width="0dp" android:layout_height="wrap_content" android:minHeight="36dp" android:insetLeft="0dp" android:insetRight="0dp" android:insetTop="0dp" android:insetBottom="0dp" app:layout_constraintEnd_toEndOf="0" app:layout_constraintStart_toStartOf="0" style="@style/UiKit_Material_Button_Secondary"/>
<com.facebook.drawee.view.SimpleDraweeView android:id="@+id/emoji" android:visibility="visible" android:layout_width="20dp" android:layout_height="20dp" android:layout_marginStart="16dp" android:elevation="12dp" app:actualImageScaleType="2" app:layout_constraintBottom_toBottomOf="0" app:layout_constraintEnd_toStartOf="@+id/label" app:layout_constraintStart_toStartOf="0" app:layout_constraintTop_toTopOf="0"/>
<com.google.android.material.textview.MaterialTextView android:textAppearance="@style/UiKit_TextAppearance_Button" android:textColor="@color/white" android:ellipsize="end" android:id="@+id/label" android:paddingLeft="16dp" android:paddingRight="16dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:maxLines="1" android:elevation="12dp" android:paddingHorizontal="16dp" app:layout_constrainedWidth="true" app:layout_constraintBottom_toBottomOf="0" app:layout_constraintEnd_toStartOf="@+id/link_icon" app:layout_constraintStart_toEndOf="@+id/emoji" app:layout_constraintTop_toTopOf="0"/>

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<com.discord.widgets.botuikit.views.ButtonComponentView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="wrap_content" android:layout_height="wrap_content">
<com.discord.widgets.botuikit.views.ButtonComponentView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="wrap_content" android:layout_height="wrap_content" android:minWidth="56dp">
<com.google.android.material.button.MaterialButton android:id="@+id/button" android:layout_width="0dp" android:layout_height="wrap_content" android:minHeight="36dp" android:insetLeft="0dp" android:insetRight="0dp" android:insetTop="0dp" android:insetBottom="0dp" app:layout_constraintEnd_toEndOf="0" app:layout_constraintStart_toStartOf="0" style="@style/UiKit_Material_Button_Secondary"/>
<com.facebook.drawee.view.SimpleDraweeView android:id="@+id/emoji" android:visibility="visible" android:layout_width="20dp" android:layout_height="20dp" android:layout_marginStart="16dp" android:elevation="12dp" app:actualImageScaleType="2" app:layout_constraintBottom_toBottomOf="0" app:layout_constraintEnd_toStartOf="@+id/label" app:layout_constraintStart_toStartOf="0" app:layout_constraintTop_toTopOf="0"/>
<com.google.android.material.textview.MaterialTextView android:textAppearance="@style/UiKit_TextAppearance_Button" android:textColor="@color/white" android:ellipsize="end" android:id="@+id/label" android:paddingLeft="16dp" android:paddingRight="16dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:maxLines="1" android:elevation="12dp" app:layout_constrainedWidth="true" app:layout_constraintBottom_toBottomOf="0" app:layout_constraintEnd_toStartOf="@+id/link_icon" app:layout_constraintStart_toEndOf="@+id/emoji" app:layout_constraintTop_toTopOf="0"/>

View File

@ -1197,8 +1197,12 @@
<item quantity="other">in {#} days</item>
</plurals>
<plurals name="premium_subscription_ending_what_you_lose_title_daysLeft">
<item quantity="one">{#} day</item>
<item quantity="other">{#} days</item>
<item quantity="one">in {#} day</item>
<item quantity="other">in {#} days</item>
</plurals>
<plurals name="premium_subscription_ending_what_you_lose_title_tier_1_daysLeft">
<item quantity="one">in {#} day</item>
<item quantity="other">in {#} days</item>
</plurals>
<plurals name="premium_subscription_renewal_footer_trial_days">
<item quantity="one">1 day</item>

View File

@ -3492,7 +3492,7 @@
<string name="guild_notify_members_tooltip">This will send a notification to members that your Stage is live.</string>
<string name="guild_notify_members_tooltip_new">This will send a notification to members who can see this channel.</string>
<string name="guild_owner">Server Owner</string>
<string name="guild_partner_application_button_pause">Applications are paused for the summer.</string>
<string name="guild_partner_application_button_pause">Applications are currently paused.</string>
<string name="guild_partner_application_category_description">Which of the following categories best describes your server?</string>
<string name="guild_partner_application_category_label">Categories</string>
<string name="guild_partner_application_connect">Connect your social accounts</string>
@ -3511,7 +3511,7 @@
<string name="guild_partner_application_other_platform">Do you create content somewhere else?</string>
<string name="guild_partner_application_other_platform_description">If it\'s not one of the above websites, you can link it here.</string>
<string name="guild_partner_application_other_platform_optional">Do you create content somewhere else? (Optional)</string>
<string name="guild_partner_application_pause">Partner Program applications are currently paused while the team takes a well earned break for the summer. We\'ll start accepting submissions soon as the next season rolls around. Take this extra time to work on your application, and we cant wait to see you apply for Partnership in the near future!</string>
<string name="guild_partner_application_pause">Partner Program applications are currently paused while the team takes a well earned break. We\'ll start accepting submissions soon as the next season rolls around. Take this extra time to work on your application, and we cant wait to see you apply for Partnership in the near future!</string>
<string name="guild_partner_application_server_step">Server Info</string>
<string name="guild_partner_application_server_step_description">You\'re a few steps away from being recognized as one of the best servers on Discord! First, we\'ll need a few details about your community.</string>
<string name="guild_partner_application_server_step_title">What\'s your community about?</string>
@ -3560,12 +3560,15 @@
<string name="guild_role_cancel_subscription_modal_description">You will lose access to {numChannels} exclusive {numChannels} and {numAdditionalBenefits} additional {numAdditionalBenefits} on {subscriptionEndDate}.</string>
<string name="guild_role_cancel_subscription_modal_nevermind_cta">Nevermind</string>
<string name="guild_role_cancel_subscription_modal_title">Are you sure you want to cancel?</string>
<string name="guild_role_manage_subscription_cancelled">Canceled</string>
<string name="guild_role_manage_subscription_info_member_since">Member since</string>
<string name="guild_role_manage_subscription_info_membership_ends">Membership ends</string>
<string name="guild_role_manage_subscription_info_next_renewal">Next renewal</string>
<string name="guild_role_manage_subscription_info_price">Monthly Cost</string>
<string name="guild_role_manage_subscription_manage_options_cancel">Cancel my membership</string>
<string name="guild_role_manage_subscription_manage_options_change_tier">Select a different tier</string>
<string name="guild_role_manage_subscription_manage_options_label">Manage Subscription</string>
<string name="guild_role_manage_subscription_manage_options_restart_subscription">Restart my membership</string>
<string name="guild_role_manage_subscription_page_description">Vitae quis facilisi integer nec lobortis et purus. Sed arcu odio</string>
<string name="guild_role_manage_subscription_page_title">Premium Membership</string>
<string name="guild_role_manage_subscription_payment_method_label">Payment Method</string>
@ -3955,6 +3958,8 @@
<string name="guild_settings_audit_log_role_permissions_granted">**Granted** {count}</string>
<string name="guild_settings_audit_log_role_unicode_emoji_change">Set the unicode emoji</string>
<string name="guild_settings_audit_log_role_update">$[**!!{user}!!**](userHook) updated the role $[**!!{target}!!**](targetHook)</string>
<string name="guild_settings_audit_log_scheduled_event_channel">Set the channel to **!!{newValue}!!**</string>
<string name="guild_settings_audit_log_scheduled_event_channel_clear">Removed the channel</string>
<string name="guild_settings_audit_log_scheduled_event_create">$[**!!{user}!!**](userHook) scheduled the event $[**!!{target}!!**](targetHook)</string>
<string name="guild_settings_audit_log_scheduled_event_delete">$[**!!{user}!!**](userHook) deleted the scheduled event $[**!!{target}!!**](targetHook)</string>
<string name="guild_settings_audit_log_scheduled_event_description_create">Set the description to **!!{newValue}!!**</string>
@ -3962,6 +3967,8 @@
<string name="guild_settings_audit_log_scheduled_event_entity_type_none">Linked to **Nothing**</string>
<string name="guild_settings_audit_log_scheduled_event_entity_type_stage_instance">Linked with a **Stage**</string>
<string name="guild_settings_audit_log_scheduled_event_entity_type_voice">Linked with a **Voice Channel**</string>
<string name="guild_settings_audit_log_scheduled_event_location">Set the location to **!!{newValue}!!**</string>
<string name="guild_settings_audit_log_scheduled_event_location_clear">Removed the location</string>
<string name="guild_settings_audit_log_scheduled_event_name_create">With the name **!!{newValue}!!**</string>
<string name="guild_settings_audit_log_scheduled_event_skus_create">With a ticket</string>
<string name="guild_settings_audit_log_scheduled_event_status_active">Set the status to **Active**</string>
@ -5898,8 +5905,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_2131891997_msg_alert_cleared">Alert Cleared</string>
<string name="res_2131891998_msg_no_alert_showing">No Alert Showing</string>
<string name="res_2131892004_msg_alert_cleared">Alert Cleared</string>
<string name="res_2131892005_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>
@ -6673,13 +6680,18 @@
<string name="premium_cancel_what_you_lose_back">Nevermind, keep Nitro</string>
<string name="premium_cancel_what_you_lose_boosts">Your **2 free Boosts** and **30%% Boost discount**</string>
<string name="premium_cancel_what_you_lose_boosts_applied">{boostCount}</string>
<string name="premium_cancel_what_you_lose_boosts_tier_1">Your **30%% Boost discount**</string>
<string name="premium_cancel_what_you_lose_emoji_stickers">Access to **custom emojis** and **stickers** across all of your servers</string>
<string name="premium_cancel_what_you_lose_emoji_stickers_tier_1">Access to **custom emojis** across all of your servers</string>
<string name="premium_cancel_what_you_lose_profile">An **animated avatar**, **profile banner**, and custom **Discord Tag**</string>
<string name="premium_cancel_what_you_lose_profile_discrim">An **animated avatar**, **profile banner**, and custom **Discord Tag** (#{discriminator})</string>
<string name="premium_cancel_what_you_lose_profile_discrim_tier_1">An **animated avatar**, and custom **Discord Tag** (#{discriminator})</string>
<string name="premium_cancel_what_you_lose_profile_tier_1">An **animated avatar**, and custom **Discord Tag**</string>
<string name="premium_cancel_what_you_lose_screenshare">Higher **screen share** quality</string>
<string name="premium_cancel_what_you_lose_subtitle">If you cancel, **you will lose these perks:**</string>
<string name="premium_cancel_what_you_lose_title">Are you sure you want to cancel?</string>
<string name="premium_cancel_what_you_lose_uploads_messages">Bigger **uploads** and **longer messages**</string>
<string name="premium_cancel_what_you_lose_uploads_messages_tier_1">Bigger **uploads**</string>
<string name="premium_change_discriminator_length_error">This tag is invalid. Tags must contain 4 digits.</string>
<string name="premium_change_discriminator_modal_body">When your Nitro subscription ends, your Discord Tag will be randomized. Are you sure you want to change your Discord Tag?</string>
<string name="premium_change_discriminator_modal_confirm">Change Discord Tag</string>
@ -7099,13 +7111,16 @@
<string name="premium_subscription_ending_notice_text">Youll lose access to profile customization, bigger file uploads, better screen share, and more {daysLeft}.</string>
<string name="premium_subscription_ending_tier_1_notice_button_text">Manage Plan</string>
<string name="premium_subscription_ending_tier_1_notice_text">Your Nitro Classic access ends {daysLeft}. Renew now to keep custom emoji, bigger uploads, and more.</string>
<string name="premium_subscription_ending_today_what_you_lose_title">Your Nitro access ends today.</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_cancel">Dismiss</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_keep_nitro">Keep Nitro</string>
<string name="premium_subscription_ending_what_you_lose_footer_monthly">If you reinstate Nitro, well resume charging your payment method **{price}** and continue to charge you **monthly** until you cancel the subscription. You can cancel any time from your Settings page.</string>
<string name="premium_subscription_ending_what_you_lose_footer_monthly_tier_1">If you reinstate Nitro Classic, well resume charging your payment method **{price}** and continue to charge you **monthly** until you cancel the subscription. You can cancel any time from your Settings page.</string>
<string name="premium_subscription_ending_what_you_lose_footer_yearly">If you reinstate Nitro, well resume charging your payment method **{price}** and continue to charge you **yearly** until you cancel the subscription. You can cancel any time from your Settings page.</string>
<string name="premium_subscription_ending_what_you_lose_footer_yearly_tier_1">If you reinstate Nitro Classic, well resume charging your payment method **{price}** and continue to charge you **yearly** until you cancel the subscription. You can cancel any time from your Settings page.</string>
<string name="premium_subscription_ending_what_you_lose_subtitle">If you dont keep Nitro, **you will lose:**</string>
<string name="premium_subscription_ending_what_you_lose_title">Your Nitro access ends in {daysLeft}.</string>
<string name="premium_subscription_ending_what_you_lose_subtitle_tier_1">If you dont keep Nitro Classic, **you will lose:**</string>
<string name="premium_subscription_ending_what_you_lose_title">Your Nitro access ends {daysLeft}.</string>
<string name="premium_subscription_ending_what_you_lose_title_tier_1">Your Nitro Classic access ends {daysLeft}.</string>
<string name="premium_subscription_grandfathered_upgrade_note">Your grandfathered Nitro subscription is about to be changed to Nitro Classic. If you wish to keep your current perks, including Boosts, upgrade now.</string>
<string name="premium_subscription_guild_subscription_adjustment">Boost Adjustment</string>
<string name="premium_subscription_guild_subscription_adjustment_text">You are purchasing a plan change. Your Server Boosts are being updated accordingly.</string>

View File

@ -6582,7 +6582,6 @@
<string name="premium_subscription_ending_missing_payment_notice_text">Твоят абонамент за Nitro изтича {daysLeft}. Добави метод на плащане, за да продължиш да използваш персонализирането на профила и др.</string>
<string name="premium_subscription_ending_notice_button_text">Научи повече</string>
<string name="premium_subscription_ending_notice_text">Ще изгубиш достъп до персонализирането на профила, качването на по-големи файлове, по-доброто споделяне на екрана и още след {daysLeft}.</string>
<string name="premium_subscription_ending_today_what_you_lose_title">Достъпът ти до Nitro приключва днес.</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_cancel">Затваряне</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_keep_nitro">Задръж Nitro</string>
<string name="premium_subscription_ending_what_you_lose_footer_monthly">Ако възстановиш абонамента си за Nitro, ще възобновим таксуването на **{price}** към твоя метод на плащане и ще продължим да те таксуваме **ежемесечно**, докато не отмениш абонамента си. Можеш да го отмениш по всяко време от страницата си „Настройки“.</string>

View File

@ -6586,7 +6586,6 @@
<string name="premium_subscription_ending_missing_payment_notice_text">Tvé předplatné Nitro {daysLeft} skončí. Jestli chceš dál využívat přizpůsobení profilu a další výhody, přidej platební metodu.</string>
<string name="premium_subscription_ending_notice_button_text">Zjistit více</string>
<string name="premium_subscription_ending_notice_text">Za {daysLeft} přijdeš o možnost přizpůsobení profilu, nahrávání větších souborů, lepšího sdílení obrazovky a další výhody.</string>
<string name="premium_subscription_ending_today_what_you_lose_title">Tvůj přístup k Nitru dnes končí.</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_cancel">Zahodit</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_keep_nitro">Zachovat Nitro</string>
<string name="premium_subscription_ending_what_you_lose_footer_monthly">Pokud Nitro obnovíš, začneme ti opět strhávat **{price}** prostřednictvím nastavené platební metody, a to **každý měsíc**, dokud předplatné nezrušíš. Zrušit jej můžeš kdykoliv na stránce Nastavení.</string>

View File

@ -6587,7 +6587,6 @@
<string name="premium_subscription_ending_missing_payment_notice_text">Dit Nitro-abonnement ophører {daysLeft}.Tilføj en betalingsmetode for fortsat at kunne bruge profiltilpasning med mere.</string>
<string name="premium_subscription_ending_notice_button_text">Få mere at vide</string>
<string name="premium_subscription_ending_notice_text">Du mister adgangen til profiltilpasning, større filuploads, bedre skærmdeling, og meget mere i {daysLeft}.</string>
<string name="premium_subscription_ending_today_what_you_lose_title">Din Nitro-adgang ophører i dag.</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_cancel">Afvis</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_keep_nitro">Behold Nitro</string>
<string name="premium_subscription_ending_what_you_lose_footer_monthly">Hvis du starter op med Nitro igen, genoptager vi opkrævningen af din betalingsmetode **{price}** og fortsætter med at opkræve **månedligt**, indtil du annullerer abonnementet. Du kan annullere det når som helst fra din side med Indstillinger.</string>

View File

@ -6592,7 +6592,6 @@
<string name="premium_subscription_ending_missing_payment_notice_text">Dein Nitro-Abonnement läuft {daysLeft} ab. Füge eine Zahlungsmethode hinzu, um weiterhin die Profilanpassung und viele andere Vorteile nutzen zu können.</string>
<string name="premium_subscription_ending_notice_button_text">Mehr erfahren</string>
<string name="premium_subscription_ending_notice_text">In {daysLeft} verlierst du Zugriff auf Profilanpassung, größere Datei-Uploads, bessere Bildschirmübertragungen und mehr.</string>
<string name="premium_subscription_ending_today_what_you_lose_title">Dein Nitro-Abo läuft heute aus.</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_cancel">Schließen</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_keep_nitro">Nitro behalten</string>
<string name="premium_subscription_ending_what_you_lose_footer_monthly">Wenn du dich für Nitro entscheidest, buchen wir über die gewünschte Zahlungsmethode **monatlich** **{price}** ab, bis du dein Abonnement kündigst. Du kannst dein Abonnement jederzeit in den Account-Einstellungen kündigen.</string>

View File

@ -6582,7 +6582,6 @@
<string name="premium_subscription_ending_missing_payment_notice_text">Η συνδρομή σου στο Nitro θα λήξει {daysLeft}. Πρόσθεσε έναν τρόπο πληρωμής για να συνεχίσεις να χρησιμοποιείς την προσαρμογή προφίλ και πολλά άλλα.</string>
<string name="premium_subscription_ending_notice_button_text">Μάθε περισσότερα</string>
<string name="premium_subscription_ending_notice_text">Θα χάσεις την πρόσβαση σε προσαρμογή προφίλ, μεταφόρτωση μεγαλύτερων αρχείων, καλύτερη κοινή χρήση οθόνης και πολλά άλλα σε {daysLeft}.</string>
<string name="premium_subscription_ending_today_what_you_lose_title">Η πρόσβασή σου στο Nitro λήγει σήμερα.</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_cancel">Απόρριψη</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_keep_nitro">Διατήρηση Nitro</string>
<string name="premium_subscription_ending_what_you_lose_footer_monthly">Αν επαναφέρεις το Nitro, θα συνεχίσεις να χρεώνεσαι με το ποσό των **{price}** με τον τρόπο πληρωμής που έχεις επιλέξει σε **μηνιαία βάση** μέχρι να ακυρώσεις τη συνδρομή. Μπορείς να την ακυρώσεις οποιαδήποτε στιγμή από τη σελίδα των Ρυθμίσεων.</string>

View File

@ -1197,8 +1197,12 @@
<item quantity="other">[îñ »{#}« ðåýš one two]</item>
</plurals>
<plurals name="premium_subscription_ending_what_you_lose_title_daysLeft">
<item quantity="one">[»{#}« ðåý one]</item>
<item quantity="other">[»{#}« ðåýš one]</item>
<item quantity="one">[îñ »{#}« ðåý one two]</item>
<item quantity="other">[îñ »{#}« ðåýš one two]</item>
</plurals>
<plurals name="premium_subscription_ending_what_you_lose_title_tier_1_daysLeft">
<item quantity="one">[îñ »{#}« ðåý one two]</item>
<item quantity="other">[îñ »{#}« ðåýš one two]</item>
</plurals>
<plurals name="premium_subscription_renewal_footer_trial_days">
<item quantity="one">[1 ðåý one]</item>

View File

@ -3492,7 +3492,7 @@
<string name="guild_notify_members_tooltip">[Ţĥîš ŵîļļ šéñð å ñöţîƒîçåţîöñ ţö ḿéḿɓéŕš ţĥåţ ýöûŕ Šţåĝé îš ļîVé. one two three four five six seven]</string>
<string name="guild_notify_members_tooltip_new">[Ţĥîš ŵîļļ šéñð å ñöţîƒîçåţîöñ ţö ḿéḿɓéŕš ŵĥö çåñ šéé ţĥîš çĥåññéļ. one two three four five six seven eight]</string>
<string name="guild_owner">[ŠéŕVéŕ Öŵñéŕ one two]</string>
<string name="guild_partner_application_button_pause">[Åþþļîçåţîöñš åŕé þåûšéð ƒöŕ ţĥé šûḿḿéŕ. one two three four five]</string>
<string name="guild_partner_application_button_pause">[Åþþļîçåţîöñš åŕé çûŕŕéñţļý þåûšéð. one two three four]</string>
<string name="guild_partner_application_category_description">[Ŵĥîçĥ öƒ ţĥé ƒöļļöŵîñĝ çåţéĝöŕîéš ɓéšţ ðéšçŕîɓéš ýöûŕ šéŕVéŕ¿ one two three four five six seven]</string>
<string name="guild_partner_application_category_label">[Çåţéĝöŕîéš one two]</string>
<string name="guild_partner_application_connect">[Çöññéçţ ýöûŕ šöçîåļ åççöûñţš one two three four]</string>
@ -3511,7 +3511,7 @@
<string name="guild_partner_application_other_platform">[Ðö ýöû çŕéåţé çöñţéñţ šöḿéŵĥéŕé éļšé¿ one two three four five]</string>
<string name="guild_partner_application_other_platform_description">[΃ îţ\'š ñöţ öñé öƒ ţĥé åɓöVé ŵéɓšîţéš, ýöû çåñ ļîñķ îţ ĥéŕé. one two three four five six seven]</string>
<string name="guild_partner_application_other_platform_optional">[Ðö ýöû çŕéåţé çöñţéñţ šöḿéŵĥéŕé éļšé¿ (Öþţîöñåļ) one two three four five six]</string>
<string name="guild_partner_application_pause">[Þåŕţñéŕ Þŕöĝŕåḿ åþþļîçåţîöñš åŕé çûŕŕéñţļý þåûšéð ŵĥîļé ţĥé ţéåḿ ţåķéš å ŵéļļ éåŕñéð ɓŕéåķ ƒöŕ ţĥé šûḿḿéŕ. Ŵé\'ļļ šţåŕţ åççéþţîñĝ šûɓḿîššîöñš šööñ åš ţĥé ñéхţ šéåšöñ ŕöļļš åŕöûñð. Ţåķé ţĥîš éхţŕå ţîḿé ţö ŵöŕķ öñ ýöûŕ åþþļîçåţîöñ, åñð ŵé çåñ’ţ ŵåîţ ţö šéé ýöû åþþļý ƒöŕ Þåŕţñéŕšĥîþ îñ ţĥé ñéåŕ ƒûţûŕé¡ 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]</string>
<string name="guild_partner_application_pause">[Þåŕţñéŕ Þŕöĝŕåḿ åþþļîçåţîöñš åŕé çûŕŕéñţļý þåûšéð ŵĥîļé ţĥé ţéåḿ ţåķéš å ŵéļļ éåŕñéð ɓŕéåķ. Ŵé\'ļļ šţåŕţ åççéþţîñĝ šûɓḿîššîöñš šööñ åš ţĥé ñéхţ šéåšöñ ŕöļļš åŕöûñð. Ţåķé ţĥîš éхţŕå ţîḿé ţö ŵöŕķ öñ ýöûŕ åþþļîçåţîöñ, åñð ŵé çåñ’ţ ŵåîţ ţö šéé ýöû åþþļý ƒöŕ Þåŕţñéŕšĥîþ îñ ţĥé ñéåŕ ƒûţûŕé¡ 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]</string>
<string name="guild_partner_application_server_step">[ŠéŕVéŕ Îñƒö one two]</string>
<string name="guild_partner_application_server_step_description">[Ýöû\'ŕé å ƒéŵ šţéþš åŵåý ƒŕöḿ ɓéîñĝ ŕéçöĝñîžéð åš öñé öƒ ţĥé ɓéšţ šéŕVéŕš öñ Ðîšçöŕð¡ Fîŕšţ, ŵé\'ļļ ñééð å ƒéŵ ðéţåîļš åɓöûţ ýöûŕ çöḿḿûñîţý. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen nineteen twenty one two three four]</string>
<string name="guild_partner_application_server_step_title">[Ŵĥåţ\'š ýöûŕ çöḿḿûñîţý åɓöûţ¿ one two three four]</string>
@ -3560,12 +3560,15 @@
<string name="guild_role_cancel_subscription_modal_description">[Ýöû ŵîļļ ļöšé åççéšš ţö »{numChannels}« éхçļûšîVé »{numChannels}« åñð »{numAdditionalBenefits}« åððîţîöñåļ »{numAdditionalBenefits}« öñ »{subscriptionEndDate}«. one two three four five six seven]</string>
<string name="guild_role_cancel_subscription_modal_nevermind_cta">[ÑéVéŕḿîñð one two]</string>
<string name="guild_role_cancel_subscription_modal_title">[Åŕé ýöû šûŕé ýöû ŵåñţ ţö çåñçéļ¿ one two three four]</string>
<string name="guild_role_manage_subscription_cancelled">[Çåñçéļéð one two]</string>
<string name="guild_role_manage_subscription_info_member_since">[Ḿéḿɓéŕ šîñçé one two]</string>
<string name="guild_role_manage_subscription_info_membership_ends">[Ḿéḿɓéŕšĥîþ éñðš one two three]</string>
<string name="guild_role_manage_subscription_info_next_renewal">[Ñéхţ ŕéñéŵåļ one two]</string>
<string name="guild_role_manage_subscription_info_price">[Ḿöñţĥļý Çöšţ one two]</string>
<string name="guild_role_manage_subscription_manage_options_cancel">[Çåñçéļ ḿý ḿéḿɓéŕšĥîþ one two three]</string>
<string name="guild_role_manage_subscription_manage_options_change_tier">[Šéļéçţ å ðéŕéñţ ţîéŕ one two three]</string>
<string name="guild_role_manage_subscription_manage_options_label">[Ḿåñåĝé Šûɓšçŕîþţîöñ one two three]</string>
<string name="guild_role_manage_subscription_manage_options_restart_subscription">[Ŕéšţåŕţ ḿý ḿéḿɓéŕšĥîþ one two three]</string>
<string name="guild_role_manage_subscription_page_description">[νîţåé Qûîš ƒåçîļîšî îñţéĝéŕ ñéç ļöɓöŕţîš éţ þûŕûš. Šéð åŕçû öðîö one two three four five six seven]</string>
<string name="guild_role_manage_subscription_page_title">[Þŕéḿîûḿ Ḿéḿɓéŕšĥîþ one two three]</string>
<string name="guild_role_manage_subscription_payment_method_label">[Þåýḿéñţ Ḿéţĥöð one two three]</string>
@ -3955,6 +3958,8 @@
<string name="guild_settings_audit_log_role_permissions_granted">[**Ĝŕåñţéð** »{count}« one two]</string>
<string name="guild_settings_audit_log_role_unicode_emoji_change">[Šéţ ţĥé ûñîçöðé éḿöĵî one two three]</string>
<string name="guild_settings_audit_log_role_update">[€[**¡¡»{user}«¡¡**](ûšéŕĤööķ) ûþðåţéð ţĥé ŕöļé €[**¡¡»{target}«¡¡**](ţåŕĝéţĤööķ) one two three four five six seven eight nine ten eleven twelve thirteen]</string>
<string name="guild_settings_audit_log_scheduled_event_channel">[Šéţ ţĥé çĥåññéļ ţö **¡¡»{newValue}«¡¡** one two three four]</string>
<string name="guild_settings_audit_log_scheduled_event_channel_clear">[ŔéḿöVéð ţĥé çĥåññéļ one two three]</string>
<string name="guild_settings_audit_log_scheduled_event_create">[€[**¡¡»{user}«¡¡**](ûšéŕĤööķ) šçĥéðûļéð ţĥé éVéñţ €[**¡¡»{target}«¡¡**](ţåŕĝéţĤööķ) one two three four five six seven eight nine ten eleven twelve thirteen]</string>
<string name="guild_settings_audit_log_scheduled_event_delete">[€[**¡¡»{user}«¡¡**](ûšéŕĤööķ) ðéļéţéð ţĥé šçĥéðûļéð éVéñţ €[**¡¡»{target}«¡¡**](ţåŕĝéţĤööķ) one two three four five six seven eight nine ten eleven twelve thirteen fourteen]</string>
<string name="guild_settings_audit_log_scheduled_event_description_create">[Šéţ ţĥé ðéšçŕîþţîöñ ţö **¡¡»{newValue}«¡¡** one two three four]</string>
@ -3962,6 +3967,8 @@
<string name="guild_settings_audit_log_scheduled_event_entity_type_none">[Ļîñķéð ţö **Ñöţĥîñĝ** one two three]</string>
<string name="guild_settings_audit_log_scheduled_event_entity_type_stage_instance">[Ļîñķéð ŵîţĥ å **Šţåĝé** one two three]</string>
<string name="guild_settings_audit_log_scheduled_event_entity_type_voice">[Ļîñķéð ŵîţĥ å **νöîçé Çĥåññéļ** one two three four]</string>
<string name="guild_settings_audit_log_scheduled_event_location">[Šéţ ţĥé ļöçåţîöñ ţö **¡¡»{newValue}«¡¡** one two three four]</string>
<string name="guild_settings_audit_log_scheduled_event_location_clear">[ŔéḿöVéð ţĥé ļöçåţîöñ one two three]</string>
<string name="guild_settings_audit_log_scheduled_event_name_create">[Ŵîţĥ ţĥé ñåḿé **¡¡»{newValue}«¡¡** one two three]</string>
<string name="guild_settings_audit_log_scheduled_event_skus_create">[Ŵîţĥ å ţîçķéţ one two]</string>
<string name="guild_settings_audit_log_scheduled_event_status_active">[Šéţ ţĥé šţåţûš ţö **ÅçţîVé** one two three four]</string>
@ -5898,8 +5905,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_2131891997_msg_alert_cleared">[Åļéŕţ Çļéåŕéð one two]</string>
<string name="res_2131891998_msg_no_alert_showing">[Ñö Åļéŕţ Šĥöŵîñĝ one two three]</string>
<string name="res_2131892004_msg_alert_cleared">[Åļéŕţ Çļéåŕéð one two]</string>
<string name="res_2131892005_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>
@ -6673,13 +6680,18 @@
<string name="premium_cancel_what_you_lose_back">[ÑéVéŕḿîñð, ķééþ Ñîţŕö one two three]</string>
<string name="premium_cancel_what_you_lose_boosts">[Ýöûŕ **2 ƒŕéé βööšţš** åñð **30%% βööšţ ðîšçöûñţ** one two three four five six seven eight nine ten eleven]</string>
<string name="premium_cancel_what_you_lose_boosts_applied">[»{boostCount}«]</string>
<string name="premium_cancel_what_you_lose_boosts_tier_1">[Ýöûŕ **30%% βööšţ ðîšçöûñţ** one two three four]</string>
<string name="premium_cancel_what_you_lose_emoji_stickers">[Åççéšš ţö **çûšţöḿ éḿöĵîš** åñð **šţîçķéŕš** åçŕöšš åļļ öƒ ýöûŕ šéŕVéŕš one two three four five six seven eight]</string>
<string name="premium_cancel_what_you_lose_emoji_stickers_tier_1">[Åççéšš ţö **çûšţöḿ éḿöĵîš** åçŕöšš åļļ öƒ ýöûŕ šéŕVéŕš one two three four five six seven]</string>
<string name="premium_cancel_what_you_lose_profile">[Åñ **åñîḿåţéð åVåţåŕ**, **þŕöƒîļé ɓåññéŕ**, åñð çûšţöḿ **Ðîšçöŕð Ţåĝ** one two three four five six seven eight nine ten eleven twelve thirteen]</string>
<string name="premium_cancel_what_you_lose_profile_discrim">[Åñ **åñîḿåţéð åVåţåŕ**, **þŕöƒîļé ɓåññéŕ**, åñð çûšţöḿ **Ðîšçöŕð Ţåĝ** (#»{discriminator}«) one two three four five six seven eight nine ten eleven twelve thirteen fourteen]</string>
<string name="premium_cancel_what_you_lose_profile_discrim_tier_1">[Åñ **åñîḿåţéð åVåţåŕ**, åñð çûšţöḿ **Ðîšçöŕð Ţåĝ** (#»{discriminator}«) one two three four five six seven eight nine ten eleven]</string>
<string name="premium_cancel_what_you_lose_profile_tier_1">[Åñ **åñîḿåţéð åVåţåŕ**, åñð çûšţöḿ **Ðîšçöŕð Ţåĝ** one two three four five six seven eight nine ten eleven]</string>
<string name="premium_cancel_what_you_lose_screenshare">[Ĥîĝĥéŕ **šçŕééñ šĥåŕé** Qûåļîţý one two three four]</string>
<string name="premium_cancel_what_you_lose_subtitle">[΃ ýöû çåñçéļ, **ýöû ŵîļļ ļöšé ţĥéšé þéŕķš:** one two three four five]</string>
<string name="premium_cancel_what_you_lose_title">[Åŕé ýöû šûŕé ýöû ŵåñţ ţö çåñçéļ¿ one two three four]</string>
<string name="premium_cancel_what_you_lose_uploads_messages">[βîĝĝéŕ **ûþļöåðš** åñð **ļöñĝéŕ ḿéššåĝéš** one two three four five]</string>
<string name="premium_cancel_what_you_lose_uploads_messages_tier_1">[βîĝĝéŕ **ûþļöåðš** one two three]</string>
<string name="premium_change_discriminator_length_error">[Ţĥîš ţåĝ îš îñVåļîð. Ţåĝš ḿûšţ çöñţåîñ 4 ðîĝîţš. one two three four five six]</string>
<string name="premium_change_discriminator_modal_body">[Ŵĥéñ ýöûŕ Ñîţŕö šûɓšçŕîþţîöñ éñðš, ýöûŕ Ðîšçöŕð Ţåĝ ŵîļļ ɓé ŕåñðöḿîžéð. Åŕé ýöû šûŕé ýöû ŵåñţ ţö çĥåñĝé ýöûŕ Ðîšçöŕð Ţåĝ¿ one two three four five six seven eight nine ten eleven twelve]</string>
<string name="premium_change_discriminator_modal_confirm">[Çĥåñĝé Ðîšçöŕð Ţåĝ one two three]</string>
@ -7099,13 +7111,16 @@
<string name="premium_subscription_ending_notice_text">[Ýöû’ļļ ļöšé åççéšš ţö þŕöƒîļé çûšţöḿîžåţîöñ, ɓîĝĝéŕ ƒîļé ûþļöåðš, ɓéţţéŕ šçŕééñ šĥåŕé, åñð ḿöŕé »{daysLeft}«. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen seventeen]</string>
<string name="premium_subscription_ending_tier_1_notice_button_text">[Ḿåñåĝé Þļåñ one two]</string>
<string name="premium_subscription_ending_tier_1_notice_text">[Ýöûŕ Ñîţŕö Çļåššîç åççéšš éñðš »{daysLeft}«. Ŕéñéŵ ñöŵ ţö ķééþ çûšţöḿ éḿöĵî, ɓîĝĝéŕ ûþļöåðš, åñð ḿöŕé. one two three four five six seven eight nine ten eleven twelve thirteen fourteen fiveteen sixteen]</string>
<string name="premium_subscription_ending_today_what_you_lose_title">[Ýöûŕ Ñîţŕö åççéšš éñðš ţöðåý. one two three four]</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_cancel">[Ðîšḿîšš one two]</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_keep_nitro">[Ķééþ Ñîţŕö one two]</string>
<string name="premium_subscription_ending_what_you_lose_footer_monthly">[΃ ýöû ŕéîñšţåţé Ñîţŕö, ŵé’ļļ ŕéšûḿé çĥåŕĝîñĝ ýöûŕ þåýḿéñţ ḿéţĥöð **»{price}«** åñð çöñţîñûé ţö çĥåŕĝé ýöû **ḿöñţĥļý** ûñţîļ ýöû çåñçéļ ţĥé šûɓšçŕîþţîöñ. Ýöû çåñ çåñçéļ åñý ţîḿé ƒŕöḿ ýöûŕ Šéţţîñĝš þåĝé. 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="premium_subscription_ending_what_you_lose_footer_monthly_tier_1">[΃ ýöû ŕéîñšţåţé Ñîţŕö Çļåššîç, ŵé’ļļ ŕéšûḿé çĥåŕĝîñĝ ýöûŕ þåýḿéñţ ḿéţĥöð **»{price}«** åñð çöñţîñûé ţö çĥåŕĝé ýöû **ḿöñţĥļý** ûñţîļ ýöû çåñçéļ ţĥé šûɓšçŕîþţîöñ. Ýöû çåñ çåñçéļ åñý ţîḿé ƒŕöḿ ýöûŕ Šéţţîñĝš þåĝé. 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_ending_what_you_lose_footer_yearly">[΃ ýöû ŕéîñšţåţé Ñîţŕö, ŵé’ļļ ŕéšûḿé çĥåŕĝîñĝ ýöûŕ þåýḿéñţ ḿéţĥöð **»{price}«** åñð çöñţîñûé ţö çĥåŕĝé ýöû **ýéåŕļý** ûñţîļ ýöû çåñçéļ ţĥé šûɓšçŕîþţîöñ. Ýöû çåñ çåñçéļ åñý ţîḿé ƒŕöḿ ýöûŕ Šéţţîñĝš þåĝé. 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="premium_subscription_ending_what_you_lose_footer_yearly_tier_1">[΃ ýöû ŕéîñšţåţé Ñîţŕö Çļåššîç, ŵé’ļļ ŕéšûḿé çĥåŕĝîñĝ ýöûŕ þåýḿéñţ ḿéţĥöð **»{price}«** åñð çöñţîñûé ţö çĥåŕĝé ýöû **ýéåŕļý** ûñţîļ ýöû çåñçéļ ţĥé šûɓšçŕîþţîöñ. Ýöû çåñ çåñçéļ åñý ţîḿé ƒŕöḿ ýöûŕ Šéţţîñĝš þåĝé. 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_ending_what_you_lose_subtitle">[΃ ýöû ðöñ’ţ ķééþ Ñîţŕö, **ýöû ŵîļļ ļöšé:** one two three four five six seven eight nine]</string>
<string name="premium_subscription_ending_what_you_lose_title">[Ýöûŕ Ñîţŕö åççéšš éñðš îñ »{daysLeft}«. one two three four]</string>
<string name="premium_subscription_ending_what_you_lose_subtitle_tier_1">[΃ ýöû ðöñ’ţ ķééþ Ñîţŕö Çļåššîç, **ýöû ŵîļļ ļöšé:** one two three four five six seven eight nine ten eleven]</string>
<string name="premium_subscription_ending_what_you_lose_title">[Ýöûŕ Ñîţŕö åççéšš éñðš »{daysLeft}«. one two three]</string>
<string name="premium_subscription_ending_what_you_lose_title_tier_1">[Ýöûŕ Ñîţŕö Çļåššîç åççéšš éñðš »{daysLeft}«. one two three four]</string>
<string name="premium_subscription_grandfathered_upgrade_note">[Ýöûŕ ĝŕåñðƒåţĥéŕéð Ñîţŕö šûɓšçŕîþţîöñ îš åɓöûţ ţö ɓé çĥåñĝéð ţö Ñîţŕö Çļåššîç. ΃ ýöû ŵîšĥ ţö ķééþ ýöûŕ çûŕŕéñţ þéŕķš, îñçļûðîñĝ βööšţš, ûþĝŕåðé ñöŵ. 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]</string>
<string name="premium_subscription_guild_subscription_adjustment">[βööšţ Åðĵûšţḿéñţ one two three]</string>
<string name="premium_subscription_guild_subscription_adjustment_text">[Ýöû åŕé þûŕçĥåšîñĝ å þļåñ çĥåñĝé. Ýöûŕ ŠéŕVéŕ βööšţš åŕé ɓéîñĝ ûþðåţéð åççöŕðîñĝļý. one two three four five six seven eight nine]</string>

View File

@ -6430,7 +6430,6 @@
<string name="premium_subscription_ending_missing_payment_notice_text">Tu suscripción Nitro acaba {daysLeft}. Añade un método de pago para seguir usando la personalización de perfil y más.</string>
<string name="premium_subscription_ending_notice_button_text">Más información</string>
<string name="premium_subscription_ending_notice_text">Perderás el acceso a la personalización del perfil, las subidas de archivos más grandes, compartir pantalla mejorado y más en {daysLeft}.</string>
<string name="premium_subscription_ending_today_what_you_lose_title">Tu acceso Nitro acaba hoy.</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_cancel">Cerrar</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_keep_nitro">Conservar Nitro</string>
<string name="premium_subscription_ending_what_you_lose_footer_monthly">Si vuelves a activar Nitro, reanudaremos el cargo de **{price}** en tu método de pago y seguiremos cobrándote **mensualmente** hasta que canceles la suscripción. Puedes cancelarla en cualquier momento desde la página de Ajustes.</string>

View File

@ -6582,7 +6582,6 @@
<string name="premium_subscription_ending_missing_payment_notice_text">Nitro-tilauksesi päättyy {daysLeft} kuluttua. Jos haluat käyttää profiilin mukautusta ja muita etuja myös jatkossa, lisää maksutapa.</string>
<string name="premium_subscription_ending_notice_button_text">Lue lisää</string>
<string name="premium_subscription_ending_notice_text">{daysLeft} kuluttua menetät oikeuden profiilin mukautukseen, suurempiin tiedostojen latauskokoihin, parempaan ruudunjakoon ja moneen muuhun etuun.</string>
<string name="premium_subscription_ending_today_what_you_lose_title">Nitro-käyttöoikeutesi päättyy tänään.</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_cancel">Sulje</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_keep_nitro">Pidä Nitro</string>
<string name="premium_subscription_ending_what_you_lose_footer_monthly">Jos otat Nitron jälleen käyttöön, veloitamme **{price}** maksutapaasi käyttäen ja teemme veloituksen jatkossa **kuukausittain**, kunnes perut tilauksesi. Voit kuitenkin perua tilauksen koska tahansa asetussivulta.</string>

View File

@ -6587,7 +6587,6 @@
<string name="premium_subscription_ending_missing_payment_notice_text">Ton abonnement Nitro se termine {daysLeft}. Ajoute un mode de paiement pour continuer à utiliser la personnalisation de profil et les autres avantages.</string>
<string name="premium_subscription_ending_notice_button_text">En savoir plus</string>
<string name="premium_subscription_ending_notice_text">Tu perdras accès à la personnalisation de ton profil, au chargement de fichiers plus volumineux, au partage d\'écran en meilleure qualité et à bien plus dans {daysLeft}.</string>
<string name="premium_subscription_ending_today_what_you_lose_title">Ton accès à Nitro se termine aujourd\'hui.</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_cancel">Ignorer</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_keep_nitro">Conserver l\'abonnement Nitro</string>
<string name="premium_subscription_ending_what_you_lose_footer_monthly">Si tu réinstalles Nitro, nous recommencerons à facturer ton mode de paiement **{price}** et nous continuerons à te facturer **tous les mois** jusqu\'à ce que tu résilies ton abonnement. Tu peux le résilier à tout moment depuis ta page Paramètres.</string>

View File

@ -6582,7 +6582,6 @@
<string name="premium_subscription_ending_missing_payment_notice_text">आपका Nitro सब्सक्रिप्शन {daysLeft} खत्म हो रहा है. प्रोफ़ाइल कस्टमाइज़ेशन और भी बहुत कुछ का इस्तेमाल जारी रखने के लिए पेमेंट का तरीका ऐड करें.</string>
<string name="premium_subscription_ending_notice_button_text">और ज़्यादा जानें</string>
<string name="premium_subscription_ending_notice_text">आप {daysLeft} में प्रोफ़ाइल कस्टमाइज़ेशन, बड़ी फ़ाइल को अपलोड करने, बेहतर स्क्रीन शेयर, और भी बहुत कुछ का एक्सेस खो देंगे.</string>
<string name="premium_subscription_ending_today_what_you_lose_title">Nitro का एक्सेस आज खत्म हो रहा है.</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_cancel">खारिज कर दें</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_keep_nitro">Nitro को बनाए रखें</string>
<string name="premium_subscription_ending_what_you_lose_footer_monthly">अगर आप Nitro को बहाल करते हैं, तो हम आपसे आपके पेमेंट के तरीके से **{price}** चार्ज करना शुरू कर देंगे और आप जब तक अपने सब्सक्रिप्शन को कैंसल नहीं करेंगे तब तक आपको **महीने का** चार्ज देते रहना होगा. आप किसी भी समय अपने सेटिंग्स पेज से इसे कैंसल कर सकते हैं.</string>

View File

@ -6582,7 +6582,6 @@
<string name="premium_subscription_ending_missing_payment_notice_text">Nitro pretplata će ti isteći {daysLeft}. Dodaj način plaćanja kako bi nastavio koristiti prilagođavanje profila i ostalo.</string>
<string name="premium_subscription_ending_notice_button_text">Saznaj više</string>
<string name="premium_subscription_ending_notice_text">Za {daysLeft} izgubit ćeš pristup prilagođavanjima profila, prenošenju većih datoteka, boljem dijeljenju zaslona i drugome.</string>
<string name="premium_subscription_ending_today_what_you_lose_title">Tvoj pristup Nitru završit će danas.</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_cancel">Odbaci</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_keep_nitro">Zadrži Nitro</string>
<string name="premium_subscription_ending_what_you_lose_footer_monthly">Ako sada ponovo uđeš u Nitro svijet, nastavit ćemo naplaćivati **{price}** preko tvojeg načina plaćanja **mjesečno** sve dok ne otkažeš pretplatu. Pretplatu možeš otkazati na svojoj stranici Korisničkih postavki.</string>

View File

@ -6581,7 +6581,6 @@
<string name="premium_subscription_ending_missing_payment_notice_text">A Nitro-előfizetésed {daysLeft} lejár. Adj hozzá fizetési módot, hogy tovább használhasd a profil testreszabását és más funkciókat.</string>
<string name="premium_subscription_ending_notice_button_text">További tájékoztatás</string>
<string name="premium_subscription_ending_notice_text">{daysLeft} múlva elveszíted a lehetőséget a profil testreszabására, a nagyobb fájlfeltöltésekre, a jobb képernyőmegosztásra és egyéb funkciókra.</string>
<string name="premium_subscription_ending_today_what_you_lose_title">A Nitro-hozzáférésed ma lejár.</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_cancel">Elvetés</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_keep_nitro">Nitro-előfizetés megtartása</string>
<string name="premium_subscription_ending_what_you_lose_footer_monthly">Ha visszaállítod a Nitrót, folytatjuk a díj beszedését a megadott fizetési móddal **{price}** áron, ami továbbra is **havonta** esedékes, amíg le nem mondod az előfizetésedet. A Beállítások oldalon bármikor lemondhatod.</string>

View File

@ -6588,7 +6588,6 @@
<string name="premium_subscription_ending_missing_payment_notice_text">Il tuo abbonamento a Nitro finisce {daysLeft}. Inserisci un metodo di pagamento per continuare a usare la personalizzazione del profilo e molto altro.</string>
<string name="premium_subscription_ending_notice_button_text">Scopri di più</string>
<string name="premium_subscription_ending_notice_text">Tra {daysLeft}, perderai l\'accesso alla personalizzazione del profilo, all\'upload di file di grandi dimensioni, alla condivisione schermo migliorata e a molto altro.</string>
<string name="premium_subscription_ending_today_what_you_lose_title">Il tuo accesso a Nitro finisce oggi.</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_cancel">Chiudi</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_keep_nitro">Conserva Nitro</string>
<string name="premium_subscription_ending_what_you_lose_footer_monthly">Se ripristini Nitro, riprenderemo ad addebitarti **{price}** con il tuo metodo di pagamento e continueremo a farlo **mensilmente** fino all\'annullamento dell\'abbonamento. Puoi annullare l\'abbonamento quando vuoi dalla schermata Impostazioni.</string>

View File

@ -6593,7 +6593,6 @@
<string name="premium_subscription_ending_missing_payment_notice_text">お客様の Nitro サブスクリプションは{daysLeft}終了します。プロフィールのカスタマイズなどをこれからも利用するには、お支払い方法を追加してください。</string>
<string name="premium_subscription_ending_notice_button_text">詳細</string>
<string name="premium_subscription_ending_notice_text">あと {daysLeft}で、プロフィールのカスタマイズ、大容量ファイルのアップロード、高品質な画面共有などがご利用できなくなります。</string>
<string name="premium_subscription_ending_today_what_you_lose_title">Nitro のご利用が本日終了します。</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_cancel">閉じる</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_keep_nitro">Nitro を継続</string>
<string name="premium_subscription_ending_what_you_lose_footer_monthly">Nitro を再開すると、お客様のお支払い方法への**{price}**のご請求が再開し、サブスクリプションをキャンセルされるまで**毎月**のご請求が継続します。キャンセルは設定ページからいつでもできます。</string>

View File

@ -6588,7 +6588,6 @@
<string name="premium_subscription_ending_missing_payment_notice_text">Nitro 구독이 {daysLeft} 끝나요. 프로필 맞춤 설정 등을 계속 이용하시려면 결제 수단을 추가하세요.</string>
<string name="premium_subscription_ending_notice_button_text">자세히 알아보기</string>
<string name="premium_subscription_ending_notice_text">{daysLeft} 후면 프로필 맞춤 설정, 대용량 파일 업로드, 고품질 화면 공유 등을 이용할 수 없게 돼요.</string>
<string name="premium_subscription_ending_today_what_you_lose_title">Nitro 이용이 오늘 종료돼요.</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_cancel">닫기</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_keep_nitro">Nitro 유지하기</string>
<string name="premium_subscription_ending_what_you_lose_footer_monthly">Nitro를 다시 이용하시면 구독을 취소할 때까지 선택하신 결제 방식으로 **매월** 구독료 **{price}**(이)가 청구될 거에요. 하지만 설정 페이지에서 언제든지 취소하실 수 있답니다.</string>

View File

@ -6582,7 +6582,6 @@
<string name="premium_subscription_ending_missing_payment_notice_text">Tavo Nitro prenumerata baigiasi {daysLeft}. Kad galėtum ir toliau naudotis profilio tinkinimų ir kitais pranašumais, pridėk mokėjimo būdą.</string>
<string name="premium_subscription_ending_notice_button_text">Sužinoti daugiau</string>
<string name="premium_subscription_ending_notice_text">Po {daysLeft} prarasi prieigą prie profilio tinkinimo, didesnių failų įkėlimo, aukštesnės kokybės ekrano bendrinimo ir kt.</string>
<string name="premium_subscription_ending_today_what_you_lose_title">Tavo Nitro prieiga baigiasi šiandien.</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_cancel">Atmesti</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_keep_nitro">Pasilikti Nitro</string>
<string name="premium_subscription_ending_what_you_lose_footer_monthly">Jei atkursi Nitro prenumeratą, nuskaičiuosime **{price}** tavo mokėjimo būdu ir šį mokestį nuskaitysime **kas mėnesį**, kol atšauksi prenumeratą. Tačiau gali ją bet kada atšaukti Nustatymų puslapyje.</string>

View File

@ -6587,7 +6587,6 @@
<string name="premium_subscription_ending_missing_payment_notice_text">Je Nitro-abonnement verloopt {daysLeft}. Voeg een betalingsmethode toe om te blijven profiteren van onder andere profielaanpassing.</string>
<string name="premium_subscription_ending_notice_button_text">Meer informatie</string>
<string name="premium_subscription_ending_notice_text">Je verliest over {daysLeft} toegang tot profielaanpassing, het uploaden van grotere bestanden, beter gedeeld scherm en meer.</string>
<string name="premium_subscription_ending_today_what_you_lose_title">Je toegang tot Nitro verloopt vandaag.</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_cancel">Afwijzen</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_keep_nitro">Nitro behouden</string>
<string name="premium_subscription_ending_what_you_lose_footer_monthly">Als je opnieuw voor Nitro kiest, zullen we weer **maandelijks** **{price}** afschrijven via de door jou opgegeven betalingsmethode tot je het abonnement opzegt. Je kunt op elk moment opzeggen via je instellingenpagina.</string>

View File

@ -6426,7 +6426,6 @@
<string name="premium_subscription_ending_missing_payment_notice_text">Nitro-abonnementet ditt avsluttes {daysLeft}. Legg til en betalingsmåte for å fortsatt ha tilgang til profiltilpasning og annet.</string>
<string name="premium_subscription_ending_notice_button_text">Mer informasjon</string>
<string name="premium_subscription_ending_notice_text">Du mister tilpassing av profilen din, opplasting av større filer, bedre skjermdeling og annet om {daysLeft}.</string>
<string name="premium_subscription_ending_today_what_you_lose_title">Du mister Nitro-tilgangen i dag.</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_cancel">Avvis</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_keep_nitro">Behold Nitro</string>
<string name="premium_subscription_ending_what_you_lose_footer_monthly">Hvis du tar i bruk Nitro igjen, fortsetter vi å belaste betalingsmåten din **{price}** og fortsetter å belaste deg **månedlig** inntil du sier opp abonnementet. Du kan gå til Innstillinger og si opp abonnementet når du vil.</string>

View File

@ -6592,7 +6592,6 @@
<string name="premium_subscription_ending_missing_payment_notice_text">Twoja subskrypcja Nitro kończy się {daysLeft}. Aby móc nadal korzystać m.in. z możliwości personalizacji profilu, dodaj metodę płatności.</string>
<string name="premium_subscription_ending_notice_button_text">Dowiedz się więcej</string>
<string name="premium_subscription_ending_notice_text">Za {daysLeft} stracisz m.in. dostęp do personalizacji profilu, możliwość przesyłania większych plików oraz większe możliwości w zakresie współdzielenia ekranu.</string>
<string name="premium_subscription_ending_today_what_you_lose_title">Twój dostęp do Nitro kończy się dzisiaj.</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_cancel">Odrzuć</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_keep_nitro">Zachowaj Nitro</string>
<string name="premium_subscription_ending_what_you_lose_footer_monthly">Jeżeli przywrócisz subskrypcję Nitro, zaczniemy pobierać opłaty zgodnie z wybraną metodą płatności (**{price}**) i będziemy robić to **co miesiąc** aż do momentu anulowania subskrypcji. Można ją anulować w dowolnym momencie na stronie Ustawień.</string>

View File

@ -6538,7 +6538,6 @@
<string name="premium_subscription_ending_missing_payment_notice_text">Sua assinatura Nitro termina em {daysLeft}. Adicione um método de pagamento para continuar usando funções como a personalização de perfil.</string>
<string name="premium_subscription_ending_notice_button_text">Saiba mais</string>
<string name="premium_subscription_ending_notice_text">Você perderá acesso à personalização do perfil, envio de arquivos maiores, compartilhamento de tela melhor, entre outras coisas, em {daysLeft}.</string>
<string name="premium_subscription_ending_today_what_you_lose_title">Seu acesso ao Nitro acaba hoje.</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_cancel">Ignorar</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_keep_nitro">Manter o Nitro</string>
<string name="premium_subscription_ending_what_you_lose_footer_monthly">Se você reabrir o Nitro, nós voltaremos a cobrar **{price}** do seu método de pagamento **mensalmente** até que você cancele sua assinatura. Você pode cancelá-la a qualquer momento na sua página de Configurações.</string>

View File

@ -6582,7 +6582,6 @@
<string name="premium_subscription_ending_missing_payment_notice_text">Abonamentul Nitro expiră {daysLeft}. Adaugă o metodă de plată pentru a avea în continuare acces la personalizarea profilului și multe altele.</string>
<string name="premium_subscription_ending_notice_button_text">Află mai multe</string>
<string name="premium_subscription_ending_notice_text">În {daysLeft}, vei pierde accesul la personalizarea profilului, la încărcarea fișierelor mai mari, la partajarea ecranului îmbunătățită și la multe altele.</string>
<string name="premium_subscription_ending_today_what_you_lose_title">Accesul tău la Nitro se încheie astăzi.</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_cancel">Ignoră</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_keep_nitro">Păstrează Nitro</string>
<string name="premium_subscription_ending_what_you_lose_footer_monthly">Dacă reiei abonamentul Nitro, vom începe din nou să percepem **lunar** suma de **{price}** folosindu-ți metoda de plată, până când anulezi abonamentul. Îl poți anula oricând, accesând pagina Setări.</string>

View File

@ -6593,7 +6593,6 @@
<string name="premium_subscription_ending_missing_payment_notice_text">Ваша подписка Nitro закончится {daysLeft}. Добавьте способ оплаты, чтобы сохранить доступ к персонализации профиля и другим возможностям.</string>
<string name="premium_subscription_ending_notice_button_text">Подробнее</string>
<string name="premium_subscription_ending_notice_text">Вы потеряете доступ к персонализации профиля, возможности загружать файлы большего размера, более высокому качеству видео при показе экрана и многому другому через {daysLeft}.</string>
<string name="premium_subscription_ending_today_what_you_lose_title">Ваша подписка Nitro завершается сегодня.</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_cancel">Закрыть</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_keep_nitro">Не отменять Nitro</string>
<string name="premium_subscription_ending_what_you_lose_footer_monthly">Если вы восстановите подписку Nitro, мы возобновим использование вашего способа оплаты (**{price}**) и будем взимать плату **ежемесячно**, пока вы не отмените подписку. Отменить её можно в любое время, зайдя в «Настройки пользователя».</string>

View File

@ -6430,7 +6430,6 @@
<string name="premium_subscription_ending_missing_payment_notice_text">Din Nitro-prenumeration upphör {daysLeft} Lägg till en betalningsmetod för att kunna fortsätta med profilanpassning och annat.</string>
<string name="premium_subscription_ending_notice_button_text">Läs mer</string>
<string name="premium_subscription_ending_notice_text">Om {daysLeft} kommer du att förlora åtkomsten till profilanpassning, större filuppladdningar, bättre skärmdelning och annat.</string>
<string name="premium_subscription_ending_today_what_you_lose_title">Din åtkomst till Nitro upphör idag.</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_cancel">Avvisa</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_keep_nitro">Behåll Nitro</string>
<string name="premium_subscription_ending_what_you_lose_footer_monthly">Om du återaktiverar Nitro kommer vi att återuppta debiteringen av din betalningsmetod **{price}** och fortsätta att debitera dig **varje månad** tills du säger upp prenumerationen. Du kan avbryta när som helst från din inställningssida.</string>

View File

@ -6587,7 +6587,6 @@
<string name="premium_subscription_ending_missing_payment_notice_text">การสมัครสมาชิก Nitro ของคุณกำลังจะหมดอายุลง{daysLeft} เพิ่มวิธีการชำระเงินเพื่อใช้การปรับแต่งโปรไฟล์และอื่น ๆ ต่อ</string>
<string name="premium_subscription_ending_notice_button_text">เรียนรู้เพิ่มเติม</string>
<string name="premium_subscription_ending_notice_text">คุณจะสูญเสียสิทธิ์การเข้าถึงการปรับแต่งโปรไฟล์ การอัปโหลดไฟล์ที่ใหญ่ขึ้น การแบ่งปันหน้าจอที่ดีขึ้น และอื่น ๆ ใน {daysLeft}</string>
<string name="premium_subscription_ending_today_what_you_lose_title">สิทธิ์การเข้าถึง Nitro ของคุณจะสิ้นสุดลงวันนี้</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_cancel">ปิด</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_keep_nitro">เก็บ Nitro</string>
<string name="premium_subscription_ending_what_you_lose_footer_monthly">หากคุณกู้คืน Nitro เราจะเรียกเก็บเงินตามวิธีการชำระเงินของคุณ **{price}** และดำเนินการเรียกเก็บเงินคุณต่อเป็น**รายเดือน** จนกว่าคุณจะยกเลิกการเป็นสมาชิก คุณสามารถยกเลิกได้ทุกเมื่อจากหน้าการตั้งค่าของคุณ</string>

View File

@ -6592,7 +6592,6 @@
<string name="premium_subscription_ending_missing_payment_notice_text">Nitro aboneliğin {daysLeft} sona eriyor. Profil özelleştirmeleri ve daha fazlasını kullanmaya devam etmek için bir ödeme yöntemi ekle.</string>
<string name="premium_subscription_ending_notice_button_text">Daha Fazla Bilgi Edin</string>
<string name="premium_subscription_ending_notice_text">{daysLeft} içinde profil özelleştirmeleri, daha büyük dosya yükleme, daha iyi ekran paylaşımı gibi birçok özelliğe erişimini kaybedeceksin.</string>
<string name="premium_subscription_ending_today_what_you_lose_title">Nitro erişimin bugün sona eriyor.</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_cancel">Kapat</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_keep_nitro">Nitro\'yu Bırakma</string>
<string name="premium_subscription_ending_what_you_lose_footer_monthly">Nitro\'yu yeniden etkinleştirirsen ödeme yönteminden **{price}** ücret almaya ve sen aboneliğini iptal edene kadar da **aylık** ücret almaya devam edeceğiz. Ayarlar sayfasından istediğin zaman iptal edebilirsin.</string>

View File

@ -6582,7 +6582,6 @@
<string name="premium_subscription_ending_missing_payment_notice_text">Термін дії вашої передплати Nitro спливає {daysLeft}. Додайте спосіб оплати, щоб і далі використовувати персоналізацію профілю та інші вигоди.</string>
<string name="premium_subscription_ending_notice_button_text">Дізнатися більше</string>
<string name="premium_subscription_ending_notice_text">Ви втратите персоналізацію профілю, завантаження більших файлів, кращу якість демонстрації екрана та інші вигоди за {daysLeft}.</string>
<string name="premium_subscription_ending_today_what_you_lose_title">Доступ до Nitro завершується сьогодні.</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_cancel">Відхилити</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_keep_nitro">Зберегти Nitro</string>
<string name="premium_subscription_ending_what_you_lose_footer_monthly">Якщо ви поновите Nitro, ми через ваш спосіб оплати отримаємо від вас **{price}** та продовжимо знімати цю суму **щомісяця**, доки ви не скасуєте передплату. Ви можете скасувати передплату будь-якої миті на сторінці налаштувань!</string>

View File

@ -6576,7 +6576,6 @@
<string name="premium_subscription_ending_missing_payment_notice_button_text">Thêm Thanh Toán</string>
<string name="premium_subscription_ending_missing_payment_notice_text">Gói đăng ký Nitro của bạn kết thúc vào {daysLeft}. Thêm phương thức thanh toán để tiếp tục sử dụng tùy chỉnh hồ sơ và các tính năng khác.</string>
<string name="premium_subscription_ending_notice_button_text">Tìm hiểu thêm</string>
<string name="premium_subscription_ending_today_what_you_lose_title">Quyền truy cập Nitro của bạn kết thúc vào hôm nay.</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_cancel">Hủy bỏ</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_keep_nitro">Giữ lại gói Nitro</string>
<string name="premium_subscription_ending_what_you_lose_footer_monthly">Nếu bạn khôi phục Nitro, chúng tôi sẽ tiếp tục tính phí phương thức thanh toán của bạn **{price}** và tiếp tục tính phí bạn **hàng tháng** cho đến khi bạn hủy gói đăng ký. Bạn có thể hủy bất kỳ lúc nào từ trang Cài đặt của mình.</string>

View File

@ -6587,7 +6587,6 @@
<string name="premium_subscription_ending_missing_payment_notice_text">您的 Nitro 订阅将于{daysLeft}到期。添加付款方式,继续使用个人资料自定义及更多特权吧。</string>
<string name="premium_subscription_ending_notice_button_text">了解更多</string>
<string name="premium_subscription_ending_notice_text">{daysLeft}后,您将失去个人资料自定义、更大的文件上传尺寸、更好的屏幕分享体验等权限。</string>
<string name="premium_subscription_ending_today_what_you_lose_title">您的 Nitro 访问权限将于今天到期。</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_cancel">忽略</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_keep_nitro">保留 Nitro</string>
<string name="premium_subscription_ending_what_you_lose_footer_monthly">如果您恢复 Nitro我们将继续从您的付款方式中扣除**{price}**,且依旧**按月**扣除,直至您取消订阅。不过别担心,在“用户设置”页面,您可以随时取消订阅。</string>

View File

@ -6587,7 +6587,6 @@
<string name="premium_subscription_ending_missing_payment_notice_text">您的 Nitro 訂閱將在{daysLeft}結束。只要新增付款方式,就能繼續使用個人資料自訂等功能。</string>
<string name="premium_subscription_ending_notice_button_text">瞭解更多</string>
<string name="premium_subscription_ending_notice_text">{daysLeft}後,您將無法使用個人資料自訂、更大的檔案上傳量和更好的畫面分享效能等福利。</string>
<string name="premium_subscription_ending_today_what_you_lose_title">您的 Nitro 存取權限將在今天結束。</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_cancel">關閉</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_keep_nitro">保留 Nitro</string>
<string name="premium_subscription_ending_what_you_lose_footer_monthly">如果您恢復訂閱 Nitro我們將繼續以您的付款方式收取 **{price}**,並持續**每月**定期向您收費,直到您取消訂閱為止。您可以隨時在「設定」頁面取消訂閱。</string>

View File

@ -1197,8 +1197,12 @@
<item quantity="other">in {#} days</item>
</plurals>
<plurals name="premium_subscription_ending_what_you_lose_title_daysLeft">
<item quantity="one">{#} day</item>
<item quantity="other">{#} days</item>
<item quantity="one">in {#} day</item>
<item quantity="other">in {#} days</item>
</plurals>
<plurals name="premium_subscription_ending_what_you_lose_title_tier_1_daysLeft">
<item quantity="one">in {#} day</item>
<item quantity="other">in {#} days</item>
</plurals>
<plurals name="premium_subscription_renewal_footer_trial_days">
<item quantity="one">1 day</item>

File diff suppressed because it is too large Load Diff

View File

@ -1432,7 +1432,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_2131887512_com_crashlytics_android_build_id">b9a001a16f484e74b01aaeb1909e22b7</string>
<string name="res_2131887512_com_crashlytics_android_build_id">77585dfb50cc4959a2e310a2206bd916</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>
@ -3508,7 +3508,7 @@
<string name="guild_notify_members_tooltip">This will send a notification to members that your Stage is live.</string>
<string name="guild_notify_members_tooltip_new">This will send a notification to members who can see this channel.</string>
<string name="guild_owner">Server Owner</string>
<string name="guild_partner_application_button_pause">Applications are paused for the summer.</string>
<string name="guild_partner_application_button_pause">Applications are currently paused.</string>
<string name="guild_partner_application_category_description">Which of the following categories best describes your server?</string>
<string name="guild_partner_application_category_label">Categories</string>
<string name="guild_partner_application_connect">Connect your social accounts</string>
@ -3527,7 +3527,7 @@
<string name="guild_partner_application_other_platform">Do you create content somewhere else?</string>
<string name="guild_partner_application_other_platform_description">If it\'s not one of the above websites, you can link it here.</string>
<string name="guild_partner_application_other_platform_optional">Do you create content somewhere else? (Optional)</string>
<string name="guild_partner_application_pause">Partner Program applications are currently paused while the team takes a well earned break for the summer. We\'ll start accepting submissions soon as the next season rolls around. Take this extra time to work on your application, and we cant wait to see you apply for Partnership in the near future!</string>
<string name="guild_partner_application_pause">Partner Program applications are currently paused while the team takes a well earned break. We\'ll start accepting submissions soon as the next season rolls around. Take this extra time to work on your application, and we cant wait to see you apply for Partnership in the near future!</string>
<string name="guild_partner_application_server_step">Server Info</string>
<string name="guild_partner_application_server_step_description">You\'re a few steps away from being recognized as one of the best servers on Discord! First, we\'ll need a few details about your community.</string>
<string name="guild_partner_application_server_step_title">What\'s your community about?</string>
@ -3576,12 +3576,15 @@
<string name="guild_role_cancel_subscription_modal_description">You will lose access to {numChannels} exclusive {numChannels} and {numAdditionalBenefits} additional {numAdditionalBenefits} on {subscriptionEndDate}.</string>
<string name="guild_role_cancel_subscription_modal_nevermind_cta">Nevermind</string>
<string name="guild_role_cancel_subscription_modal_title">Are you sure you want to cancel?</string>
<string name="guild_role_manage_subscription_cancelled">Canceled</string>
<string name="guild_role_manage_subscription_info_member_since">Member since</string>
<string name="guild_role_manage_subscription_info_membership_ends">Membership ends</string>
<string name="guild_role_manage_subscription_info_next_renewal">Next renewal</string>
<string name="guild_role_manage_subscription_info_price">Monthly Cost</string>
<string name="guild_role_manage_subscription_manage_options_cancel">Cancel my membership</string>
<string name="guild_role_manage_subscription_manage_options_change_tier">Select a different tier</string>
<string name="guild_role_manage_subscription_manage_options_label">Manage Subscription</string>
<string name="guild_role_manage_subscription_manage_options_restart_subscription">Restart my membership</string>
<string name="guild_role_manage_subscription_page_description">Vitae quis facilisi integer nec lobortis et purus. Sed arcu odio</string>
<string name="guild_role_manage_subscription_page_title">Premium Membership</string>
<string name="guild_role_manage_subscription_payment_method_label">Payment Method</string>
@ -3971,6 +3974,8 @@
<string name="guild_settings_audit_log_role_permissions_granted">**Granted** {count}</string>
<string name="guild_settings_audit_log_role_unicode_emoji_change">Set the unicode emoji</string>
<string name="guild_settings_audit_log_role_update">$[**!!{user}!!**](userHook) updated the role $[**!!{target}!!**](targetHook)</string>
<string name="guild_settings_audit_log_scheduled_event_channel">Set the channel to **!!{newValue}!!**</string>
<string name="guild_settings_audit_log_scheduled_event_channel_clear">Removed the channel</string>
<string name="guild_settings_audit_log_scheduled_event_create">$[**!!{user}!!**](userHook) scheduled the event $[**!!{target}!!**](targetHook)</string>
<string name="guild_settings_audit_log_scheduled_event_delete">$[**!!{user}!!**](userHook) deleted the scheduled event $[**!!{target}!!**](targetHook)</string>
<string name="guild_settings_audit_log_scheduled_event_description_create">Set the description to **!!{newValue}!!**</string>
@ -3978,6 +3983,8 @@
<string name="guild_settings_audit_log_scheduled_event_entity_type_none">Linked to **Nothing**</string>
<string name="guild_settings_audit_log_scheduled_event_entity_type_stage_instance">Linked with a **Stage**</string>
<string name="guild_settings_audit_log_scheduled_event_entity_type_voice">Linked with a **Voice Channel**</string>
<string name="guild_settings_audit_log_scheduled_event_location">Set the location to **!!{newValue}!!**</string>
<string name="guild_settings_audit_log_scheduled_event_location_clear">Removed the location</string>
<string name="guild_settings_audit_log_scheduled_event_name_create">With the name **!!{newValue}!!**</string>
<string name="guild_settings_audit_log_scheduled_event_skus_create">With a ticket</string>
<string name="guild_settings_audit_log_scheduled_event_status_active">Set the status to **Active**</string>
@ -5917,8 +5924,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_2131891997_msg_alert_cleared">Alert Cleared</string>
<string name="res_2131891998_msg_no_alert_showing">No Alert Showing</string>
<string name="res_2131892004_msg_alert_cleared">Alert Cleared</string>
<string name="res_2131892005_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>
@ -6699,13 +6706,18 @@
<string name="premium_cancel_what_you_lose_back">Nevermind, keep Nitro</string>
<string name="premium_cancel_what_you_lose_boosts">Your **2 free Boosts** and **30%% Boost discount**</string>
<string name="premium_cancel_what_you_lose_boosts_applied">{boostCount}</string>
<string name="premium_cancel_what_you_lose_boosts_tier_1">Your **30%% Boost discount**</string>
<string name="premium_cancel_what_you_lose_emoji_stickers">Access to **custom emojis** and **stickers** across all of your servers</string>
<string name="premium_cancel_what_you_lose_emoji_stickers_tier_1">Access to **custom emojis** across all of your servers</string>
<string name="premium_cancel_what_you_lose_profile">An **animated avatar**, **profile banner**, and custom **Discord Tag**</string>
<string name="premium_cancel_what_you_lose_profile_discrim">An **animated avatar**, **profile banner**, and custom **Discord Tag** (#{discriminator})</string>
<string name="premium_cancel_what_you_lose_profile_discrim_tier_1">An **animated avatar**, and custom **Discord Tag** (#{discriminator})</string>
<string name="premium_cancel_what_you_lose_profile_tier_1">An **animated avatar**, and custom **Discord Tag**</string>
<string name="premium_cancel_what_you_lose_screenshare">Higher **screen share** quality</string>
<string name="premium_cancel_what_you_lose_subtitle">If you cancel, **you will lose these perks:**</string>
<string name="premium_cancel_what_you_lose_title">Are you sure you want to cancel?</string>
<string name="premium_cancel_what_you_lose_uploads_messages">Bigger **uploads** and **longer messages**</string>
<string name="premium_cancel_what_you_lose_uploads_messages_tier_1">Bigger **uploads**</string>
<string name="premium_change_discriminator_length_error">This tag is invalid. Tags must contain 4 digits.</string>
<string name="premium_change_discriminator_modal_body">When your Nitro subscription ends, your Discord Tag will be randomized. Are you sure you want to change your Discord Tag?</string>
<string name="premium_change_discriminator_modal_confirm">Change Discord Tag</string>
@ -7125,13 +7137,16 @@
<string name="premium_subscription_ending_notice_text">Youll lose access to profile customization, bigger file uploads, better screen share, and more {daysLeft}.</string>
<string name="premium_subscription_ending_tier_1_notice_button_text">Manage Plan</string>
<string name="premium_subscription_ending_tier_1_notice_text">Your Nitro Classic access ends {daysLeft}. Renew now to keep custom emoji, bigger uploads, and more.</string>
<string name="premium_subscription_ending_today_what_you_lose_title">Your Nitro access ends today.</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_cancel">Dismiss</string>
<string name="premium_subscription_ending_what_you_lose_footer_button_keep_nitro">Keep Nitro</string>
<string name="premium_subscription_ending_what_you_lose_footer_monthly">If you reinstate Nitro, well resume charging your payment method **{price}** and continue to charge you **monthly** until you cancel the subscription. You can cancel any time from your Settings page.</string>
<string name="premium_subscription_ending_what_you_lose_footer_monthly_tier_1">If you reinstate Nitro Classic, well resume charging your payment method **{price}** and continue to charge you **monthly** until you cancel the subscription. You can cancel any time from your Settings page.</string>
<string name="premium_subscription_ending_what_you_lose_footer_yearly">If you reinstate Nitro, well resume charging your payment method **{price}** and continue to charge you **yearly** until you cancel the subscription. You can cancel any time from your Settings page.</string>
<string name="premium_subscription_ending_what_you_lose_footer_yearly_tier_1">If you reinstate Nitro Classic, well resume charging your payment method **{price}** and continue to charge you **yearly** until you cancel the subscription. You can cancel any time from your Settings page.</string>
<string name="premium_subscription_ending_what_you_lose_subtitle">If you dont keep Nitro, **you will lose:**</string>
<string name="premium_subscription_ending_what_you_lose_title">Your Nitro access ends in {daysLeft}.</string>
<string name="premium_subscription_ending_what_you_lose_subtitle_tier_1">If you dont keep Nitro Classic, **you will lose:**</string>
<string name="premium_subscription_ending_what_you_lose_title">Your Nitro access ends {daysLeft}.</string>
<string name="premium_subscription_ending_what_you_lose_title_tier_1">Your Nitro Classic access ends {daysLeft}.</string>
<string name="premium_subscription_grandfathered_upgrade_note">Your grandfathered Nitro subscription is about to be changed to Nitro Classic. If you wish to keep your current perks, including Boosts, upgrade now.</string>
<string name="premium_subscription_guild_subscription_adjustment">Boost Adjustment</string>
<string name="premium_subscription_guild_subscription_adjustment_text">You are purchasing a plan change. Your Server Boosts are being updated accordingly.</string>