81.11 - Beta (81111)

This commit is contained in:
Juby210 2021-06-27 23:03:13 +02:00
parent 231993b3d5
commit fa74d3261b
Signed by untrusted user: Juby210
GPG key ID: F459CEC5C92E1482
11 changed files with 103 additions and 68 deletions

View file

@ -10,8 +10,8 @@ android {
applicationId 'com.discord'
minSdkVersion 21
targetSdkVersion 29
versionCode 81110
versionName "81.10 - Beta"
versionCode 81111
versionName "81.11 - Beta"
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="81110" android:versionName="81.10 - Beta" 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="81111" android:versionName="81.11 - Beta" 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

@ -172,7 +172,7 @@ public class App extends Application {
loggingProvider.init(appLog);
c.i.c.c.e(this);
String str = null;
if (BuildUtils.INSTANCE.isValidBuildVersionName("81.10 - Beta")) {
if (BuildUtils.INSTANCE.isValidBuildVersionName("81.11 - Beta")) {
FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(true);
} else {
FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(false);

View file

@ -15,7 +15,7 @@ public final class StoreClientVersion extends Store {
private int clientMinVersion;
private final String clientMinVersionKey = "CLIENT_OUTDATED_KEY";
private final SerializedSubject<Boolean, Boolean> clientOutdatedSubject = new SerializedSubject<>(BehaviorSubject.m0(Boolean.FALSE));
private final int clientVersion = 81110;
private final int clientVersion = 81111;
public static final /* synthetic */ void access$setClientMinVersion(StoreClientVersion storeClientVersion, int i) {
storeClientVersion.setClientMinVersion(i);

View file

@ -77,7 +77,7 @@ public final class AnalyticSuperProperties {
private final void setBaselineProperties() {
String locale = Locale.getDefault().toString();
m.checkNotNullExpressionValue(locale, "Locale.getDefault().toString()");
updateSuperProperties(h0.mapOf(o.to("browser", "Discord Android"), o.to("browser_user_agent", "Discord-Android/81110"), o.to("client_build_number", 81110), o.to("client_version", "81.10 - Beta"), o.to("device", Build.MODEL + ", " + Build.PRODUCT), o.to("os", "Android"), o.to("os_sdk_version", String.valueOf(Build.VERSION.SDK_INT)), o.to("os_version", Build.VERSION.RELEASE), o.to("system_locale", t.replace$default(locale, "_", "-", false, 4, (Object) null))));
updateSuperProperties(h0.mapOf(o.to("browser", "Discord Android"), o.to("browser_user_agent", "Discord-Android/81111"), o.to("client_build_number", 81111), o.to("client_version", "81.11 - Beta"), o.to("device", Build.MODEL + ", " + Build.PRODUCT), o.to("os", "Android"), o.to("os_sdk_version", String.valueOf(Build.VERSION.SDK_INT)), o.to("os_version", Build.VERSION.RELEASE), o.to("system_locale", t.replace$default(locale, "_", "-", false, 4, (Object) null))));
}
private final void setSuperProperties(Map<String, ? extends Object> map) {

View file

@ -176,7 +176,7 @@ public final class RestAPI implements RestAPIInterface {
@Override // com.discord.restapi.RequiredHeadersInterceptor.HeadersProvider
public String getUserAgent() {
return "Discord-Android/81110";
return "Discord-Android/81111";
}
}

View file

@ -100,7 +100,7 @@ public final class WidgetFatalCrash extends AppFragment {
textView2.setText(b.j(this, 2131887893, objArr2, null, 4));
TextView textView3 = getBinding().b;
m.checkNotNullExpressionValue(textView3, "binding.fatalCrashAppVersion");
textView3.setText(b.j(this, 2131887886, new Object[]{"81.10 - Beta"}, null, 4));
textView3.setText(b.j(this, 2131887886, new Object[]{"81.11 - Beta"}, null, 4));
TextView textView4 = getBinding().d;
m.checkNotNullExpressionValue(textView4, "binding.fatalCrashOsVersion");
textView4.setText(b.j(this, 2131887889, new Object[]{String.valueOf(Build.VERSION.SDK_INT)}, null, 4));

View file

@ -271,7 +271,7 @@ public final class WidgetSettings extends AppFragment implements OnTabSelectedLi
TextView textView = binding.f;
m.checkNotNullExpressionValue(textView, "appInfoHeader");
String string = getString(2131886360);
textView.setText(string + " - 81.10 - Beta (81110)");
textView.setText(string + " - 81.11 - Beta (81111)");
binding.w.setOnClickListener(new WidgetSettings$onViewBound$$inlined$with$lambda$2(this));
binding.t.setOnClickListener(WidgetSettings$onViewBound$1$4.INSTANCE);
binding.q.setOnClickListener(WidgetSettings$onViewBound$1$5.INSTANCE);

View file

@ -359,39 +359,29 @@ public final class WidgetUserSheet extends AppBottomSheet {
TextInputLayout textInputLayout2 = getBinding().f1997z;
m.checkNotNullExpressionValue(textInputLayout2, "binding.userSheetNoteTextFieldWrap");
textInputLayout2.setEnabled(true);
String userNote = loaded.getUserNote();
TextInputLayout textInputLayout3 = getBinding().f1997z;
m.checkNotNullExpressionValue(textInputLayout3, "binding.userSheetNoteTextFieldWrap");
if (!m.areEqual(userNote, ViewExtensions.getTextOrEmpty(textInputLayout3))) {
ViewExtensions.setTextIfDifferent(textInputLayout3, loaded.getUserNote());
} else if (userNoteFetchState instanceof StoreUserNotes.UserNoteState.Loading) {
TextInputLayout textInputLayout4 = getBinding().f1997z;
m.checkNotNullExpressionValue(textInputLayout4, "binding.userSheetNoteTextFieldWrap");
ViewExtensions.setText(textInputLayout4, loaded.getUserNote());
}
} else if (userNoteFetchState instanceof StoreUserNotes.UserNoteState.Loading) {
textInputLayout4.setHint(getString(2131890843));
TextInputLayout textInputLayout5 = getBinding().f1997z;
m.checkNotNullExpressionValue(textInputLayout5, "binding.userSheetNoteTextFieldWrap");
textInputLayout5.setHint(getString(2131890843));
textInputLayout5.setEnabled(false);
TextInputLayout textInputLayout6 = getBinding().f1997z;
m.checkNotNullExpressionValue(textInputLayout6, "binding.userSheetNoteTextFieldWrap");
ViewExtensions.setText(textInputLayout6, "");
ViewExtensions.setTextIfDifferent(textInputLayout6, loaded.getUserNote());
} else if (userNoteFetchState instanceof StoreUserNotes.UserNoteState.Loaded) {
TextInputLayout textInputLayout7 = getBinding().f1997z;
m.checkNotNullExpressionValue(textInputLayout7, "binding.userSheetNoteTextFieldWrap");
textInputLayout7.setEnabled(false);
} else if (userNoteFetchState instanceof StoreUserNotes.UserNoteState.Loaded) {
textInputLayout7.setHint(getString(2131891446));
TextInputLayout textInputLayout8 = getBinding().f1997z;
m.checkNotNullExpressionValue(textInputLayout8, "binding.userSheetNoteTextFieldWrap");
textInputLayout8.setHint(getString(2131891446));
textInputLayout8.setEnabled(true);
TextInputLayout textInputLayout9 = getBinding().f1997z;
m.checkNotNullExpressionValue(textInputLayout9, "binding.userSheetNoteTextFieldWrap");
textInputLayout9.setEnabled(true);
String userNote2 = loaded.getUserNote();
TextInputLayout textInputLayout10 = getBinding().f1997z;
m.checkNotNullExpressionValue(textInputLayout10, "binding.userSheetNoteTextFieldWrap");
if (!m.areEqual(userNote2, ViewExtensions.getTextOrEmpty(textInputLayout10))) {
TextInputLayout textInputLayout11 = getBinding().f1997z;
m.checkNotNullExpressionValue(textInputLayout11, "binding.userSheetNoteTextFieldWrap");
ViewExtensions.setText(textInputLayout11, loaded.getUserNote());
}
ViewExtensions.setTextIfDifferent(textInputLayout9, loaded.getUserNote());
}
}

View file

@ -1675,19 +1675,28 @@ public final class WidgetUserSheetViewModel extends AppViewModel<ViewState> {
/* JADX DEBUG: Multi-variable search result rejected for r14v1, resolved type: java.lang.Boolean */
/* JADX DEBUG: Multi-variable search result rejected for r1v7, resolved type: java.lang.Float */
/* JADX DEBUG: Multi-variable search result rejected for r1v31, resolved type: java.lang.Float */
/* JADX DEBUG: Multi-variable search result rejected for r1v23, resolved type: java.lang.Float */
/* JADX DEBUG: Multi-variable search result rejected for r14v4, resolved type: java.lang.Boolean */
/* JADX WARN: Multi-variable type inference failed */
/* JADX WARNING: Code restructure failed: missing block: B:19:0x008a, code lost:
if (r8 != null) goto L_0x0091;
/* JADX WARNING: Code restructure failed: missing block: B:105:0x022a, code lost:
if ((r5 == null || r5.length() == 0) == false) goto L_0x022f;
*/
/* JADX WARNING: Removed duplicated region for block: B:68:0x01c4 */
/* JADX WARNING: Removed duplicated region for block: B:69:0x01c9 */
/* JADX WARNING: Removed duplicated region for block: B:72:0x01d4 */
/* JADX WARNING: Removed duplicated region for block: B:79:0x01e8 */
/* JADX WARNING: Removed duplicated region for block: B:87:0x01fc */
/* JADX WARNING: Removed duplicated region for block: B:90:0x0208 */
/* JADX WARNING: Removed duplicated region for block: B:91:0x020d */
/* JADX WARNING: Code restructure failed: missing block: B:19:0x008c, code lost:
if (r8 != null) goto L_0x0093;
*/
/* JADX WARNING: Removed duplicated region for block: B:100:0x021e */
/* JADX WARNING: Removed duplicated region for block: B:113:0x023d */
/* JADX WARNING: Removed duplicated region for block: B:117:0x024a */
/* JADX WARNING: Removed duplicated region for block: B:118:0x024f */
/* JADX WARNING: Removed duplicated region for block: B:68:0x01c6 */
/* JADX WARNING: Removed duplicated region for block: B:69:0x01cb */
/* JADX WARNING: Removed duplicated region for block: B:72:0x01d6 */
/* JADX WARNING: Removed duplicated region for block: B:75:0x01db */
/* JADX WARNING: Removed duplicated region for block: B:76:0x01e0 */
/* JADX WARNING: Removed duplicated region for block: B:79:0x01e9 */
/* JADX WARNING: Removed duplicated region for block: B:88:0x0202 */
/* JADX WARNING: Removed duplicated region for block: B:91:0x0207 */
/* JADX WARNING: Removed duplicated region for block: B:92:0x020c */
private final void handleStoreState(StoreState storeState) {
List list;
ManageUserContext manageUserContext;
@ -1698,9 +1707,13 @@ public final class WidgetUserSheetViewModel extends AppViewModel<ViewState> {
StreamContext streamContext;
String encodedStreamKey;
ViewState viewState;
String str3;
String userNote;
StoreUserNotes.UserNoteState userNoteFetchState;
ModelUserNote note;
String note;
ViewState viewState2;
boolean z3;
String str3;
ModelUserNote note2;
ModelApplicationStream stream;
String str4;
List<Long> roles;
@ -1714,7 +1727,8 @@ public final class WidgetUserSheetViewModel extends AppViewModel<ViewState> {
Map<Long, GuildMember> computedMembers = storeState.getComputedMembers();
Map<Long, GuildRole> guildRoles = storeState.getGuildRoles();
Guild guild = storeState.getGuild();
boolean z3 = me2.getId() == user.getId();
boolean z4 = true;
boolean z5 = me2.getId() == user.getId();
boolean isSystemUser = user.isSystemUser();
GuildMember guildMember = (GuildMember) a.e(user, computedMembers);
GuildMember guildMember2 = computedMembers.get(Long.valueOf(me2.getId()));
@ -1736,22 +1750,22 @@ public final class WidgetUserSheetViewModel extends AppViewModel<ViewState> {
str = null;
manageUserContext = ManageUserContext.Companion.from(guild, me2, user, guildMember2.getRoles(), guildMember.getRoles(), storeState.getPermissions(), guildRoles);
}
boolean z4 = channel != null && channel.p() == me2.getId();
boolean z6 = channel != null && channel.p() == me2.getId();
int type = ModelUserRelationship.getType(storeState.getUserRelationshipType());
VoiceState voiceState = (VoiceState) a.e(user, storeState.getMySelectedVoiceChannelVoiceStates());
VoiceState voiceState2 = storeState.getMySelectedVoiceChannelVoiceStates().get(Long.valueOf(me2.getId()));
boolean isInSameVoiceChannel = isInSameVoiceChannel(voiceState2, voiceState);
boolean z5 = this.isVoiceContext || isInSameVoiceChannel;
boolean selfMuted = z3 ? storeState.getSelfMuted() : storeState.getMuted();
Boolean valueOf = z3 ? Boolean.valueOf(storeState.getSelfDeafened()) : str;
if (!z3) {
boolean z7 = this.isVoiceContext || isInSameVoiceChannel;
boolean selfMuted = z5 ? storeState.getSelfMuted() : storeState.getMuted();
Boolean valueOf = z5 ? Boolean.valueOf(storeState.getSelfDeafened()) : str;
if (!z5) {
z2 = isSystemUser;
f = Float.valueOf(PerceptualVolumeUtils.amplitudeToPerceptual$default(PerceptualVolumeUtils.INSTANCE, storeState.getOutputVolume(), 0.0f, 2, str));
} else {
z2 = isSystemUser;
f = str;
}
UserProfileVoiceSettingsView.ViewState viewState2 = new UserProfileVoiceSettingsView.ViewState(selfMuted, valueOf, f);
UserProfileVoiceSettingsView.ViewState viewState3 = new UserProfileVoiceSettingsView.ViewState(selfMuted, valueOf, f);
VoiceState voiceState3 = (VoiceState) a.e(user, storeState.getCurrentChannelVoiceStates());
if (channel != null) {
if (AnimatableValueParser.p1(channel)) {
@ -1760,16 +1774,16 @@ public final class WidgetUserSheetViewModel extends AppViewModel<ViewState> {
str4 = guild.getName();
}
str2 = str4;
UserProfileAdminView.ViewState createAdminViewState = createAdminViewState(channel, z4, z3, manageUserContext, voiceState3);
UserProfileAdminView.ViewState createAdminViewState = createAdminViewState(channel, z6, z5, manageUserContext, voiceState3);
ModelUserProfile userProfile = storeState.getUserProfile();
UserProfileConnectionsView.ViewState createConnectionsViewState = createConnectionsViewState(userProfile, z3, z2);
UserProfileConnectionsView.ViewState createConnectionsViewState = createConnectionsViewState(userProfile, z5, z2);
streamContext = storeState.getStreamContext();
encodedStreamKey = (streamContext != null || (stream = streamContext.getStream()) == null) ? null : stream.getEncodedStreamKey();
if (encodedStreamKey != null && !this.fetchedPreviews.contains(encodedStreamKey)) {
this.storeApplicationStreamPreviews.fetchStreamPreviewIfNotFetching(streamContext);
this.fetchedPreviews.add(encodedStreamKey);
}
UserProfileStageActionsView.ViewState viewState3 = new UserProfileStageActionsView.ViewState(z3, storeState.getStageChannel(), storeState.m58getMyStageRolestwRsX0(), storeState.m59getUserStageRolestwRsX0(), storeState.getUserRequestToSpeakState(), isInSameVoiceChannel(voiceState2, voiceState), false, false, 192, null);
UserProfileStageActionsView.ViewState viewState4 = new UserProfileStageActionsView.ViewState(z5, storeState.getStageChannel(), storeState.m58getMyStageRolestwRsX0(), storeState.m59getUserStageRolestwRsX0(), storeState.getUserRequestToSpeakState(), isInSameVoiceChannel(voiceState2, voiceState), false, false, 192, null);
String d = userProfile.getUser().d();
List<Node<MessageRenderContext>> createAndProcessBioAstFromText = d == null ? createAndProcessBioAstFromText(d) : null;
viewState = getViewState();
@ -1777,30 +1791,47 @@ public final class WidgetUserSheetViewModel extends AppViewModel<ViewState> {
viewState = null;
}
ViewState.Loaded loaded = (ViewState.Loaded) viewState;
if (loaded == null || (str3 = loaded.getUserNote()) == null) {
userNote = loaded == null ? loaded.getUserNote() : null;
userNoteFetchState = storeState.getUserNoteFetchState();
if (!(userNoteFetchState instanceof StoreUserNotes.UserNoteState.Loaded)) {
userNoteFetchState = null;
}
StoreUserNotes.UserNoteState.Loaded loaded2 = (StoreUserNotes.UserNoteState.Loaded) userNoteFetchState;
str3 = (loaded2 != null || (note = loaded2.getNote()) == null) ? null : note.getNote();
note = (loaded2 != null || (note2 = loaded2.getNote()) == null) ? null : note2.getNote();
viewState2 = getViewState();
if (!(viewState2 instanceof ViewState.Loaded)) {
viewState2 = null;
}
ViewState.Loaded loaded3 = (ViewState.Loaded) viewState2;
z3 = !((loaded3 == null ? loaded3.getUserNoteFetchState() : null) instanceof StoreUserNotes.UserNoteState.Loading) && !(storeState.getUserNoteFetchState() instanceof StoreUserNotes.UserNoteState.Loading);
if (userNote == null) {
}
z4 = false;
if (!z3 || z4) {
if (note != null) {
str3 = note;
updateViewState(new ViewState.Loaded(user, z5, z7, viewState3, voiceState3, storeState.getRichPresence(), str2, list, createAdminViewState, viewState4, channel, streamContext, guild == null ? guild.getName() : null, type, createConnectionsViewState, storeState.getUserNoteFetchState(), str3, isInSameVoiceChannel, createAndProcessBioAstFromText));
this.mostRecentStoreState = storeState;
}
} else if (userNote != null) {
str3 = userNote;
updateViewState(new ViewState.Loaded(user, z5, z7, viewState3, voiceState3, storeState.getRichPresence(), str2, list, createAdminViewState, viewState4, channel, streamContext, guild == null ? guild.getName() : null, type, createConnectionsViewState, storeState.getUserNoteFetchState(), str3, isInSameVoiceChannel, createAndProcessBioAstFromText));
this.mostRecentStoreState = storeState;
}
if (str3 == null) {
str3 = "";
}
updateViewState(new ViewState.Loaded(user, z3, z5, viewState2, voiceState3, storeState.getRichPresence(), str2, list, createAdminViewState, viewState3, channel, streamContext, guild == null ? guild.getName() : null, type, createConnectionsViewState, storeState.getUserNoteFetchState(), str3, isInSameVoiceChannel, createAndProcessBioAstFromText));
updateViewState(new ViewState.Loaded(user, z5, z7, viewState3, voiceState3, storeState.getRichPresence(), str2, list, createAdminViewState, viewState4, channel, streamContext, guild == null ? guild.getName() : null, type, createConnectionsViewState, storeState.getUserNoteFetchState(), str3, isInSameVoiceChannel, createAndProcessBioAstFromText));
this.mostRecentStoreState = storeState;
}
str2 = str;
UserProfileAdminView.ViewState createAdminViewState = createAdminViewState(channel, z4, z3, manageUserContext, voiceState3);
UserProfileAdminView.ViewState createAdminViewState = createAdminViewState(channel, z6, z5, manageUserContext, voiceState3);
ModelUserProfile userProfile = storeState.getUserProfile();
UserProfileConnectionsView.ViewState createConnectionsViewState = createConnectionsViewState(userProfile, z3, z2);
UserProfileConnectionsView.ViewState createConnectionsViewState = createConnectionsViewState(userProfile, z5, z2);
streamContext = storeState.getStreamContext();
if (streamContext != null) {
}
this.storeApplicationStreamPreviews.fetchStreamPreviewIfNotFetching(streamContext);
this.fetchedPreviews.add(encodedStreamKey);
UserProfileStageActionsView.ViewState viewState3 = new UserProfileStageActionsView.ViewState(z3, storeState.getStageChannel(), storeState.m58getMyStageRolestwRsX0(), storeState.m59getUserStageRolestwRsX0(), storeState.getUserRequestToSpeakState(), isInSameVoiceChannel(voiceState2, voiceState), false, false, 192, null);
UserProfileStageActionsView.ViewState viewState4 = new UserProfileStageActionsView.ViewState(z5, storeState.getStageChannel(), storeState.m58getMyStageRolestwRsX0(), storeState.m59getUserStageRolestwRsX0(), storeState.getUserRequestToSpeakState(), isInSameVoiceChannel(voiceState2, voiceState), false, false, 192, null);
String d = userProfile.getUser().d();
if (d == null) {
}
@ -1808,15 +1839,29 @@ public final class WidgetUserSheetViewModel extends AppViewModel<ViewState> {
if (!(viewState instanceof ViewState.Loaded)) {
}
ViewState.Loaded loaded = (ViewState.Loaded) viewState;
if (loaded == null) {
}
userNoteFetchState = storeState.getUserNoteFetchState();
if (!(userNoteFetchState instanceof StoreUserNotes.UserNoteState.Loaded)) {
}
StoreUserNotes.UserNoteState.Loaded loaded2 = (StoreUserNotes.UserNoteState.Loaded) userNoteFetchState;
if (loaded2 != null) {
}
if (str3 == null) {
viewState2 = getViewState();
if (!(viewState2 instanceof ViewState.Loaded)) {
}
updateViewState(new ViewState.Loaded(user, z3, z5, viewState2, voiceState3, storeState.getRichPresence(), str2, list, createAdminViewState, viewState3, channel, streamContext, guild == null ? guild.getName() : null, type, createConnectionsViewState, storeState.getUserNoteFetchState(), str3, isInSameVoiceChannel, createAndProcessBioAstFromText));
ViewState.Loaded loaded3 = (ViewState.Loaded) viewState2;
if (!((loaded3 == null ? loaded3.getUserNoteFetchState() : null) instanceof StoreUserNotes.UserNoteState.Loading)) {
}
if (userNote == null) {
}
z4 = false;
if (!z3) {
}
if (note != null) {
}
str3 = "";
updateViewState(new ViewState.Loaded(user, z5, z7, viewState3, voiceState3, storeState.getRichPresence(), str2, list, createAdminViewState, viewState4, channel, streamContext, guild == null ? guild.getName() : null, type, createConnectionsViewState, storeState.getUserNoteFetchState(), str3, isInSameVoiceChannel, createAndProcessBioAstFromText));
this.mostRecentStoreState = storeState;
}
@ -2107,7 +2152,7 @@ public final class WidgetUserSheetViewModel extends AppViewModel<ViewState> {
if (loaded == null) {
return;
}
if (!m.areEqual(loaded.getUserNote(), str)) {
if ((!m.areEqual(loaded.getUserNote(), str)) && !(loaded.getUserNoteFetchState() instanceof StoreUserNotes.UserNoteState.Loading)) {
updateViewState(ViewState.Loaded.copy$default(loaded, null, false, false, null, null, null, null, null, null, null, null, null, null, 0, null, null, str, false, null, 458751, null));
}
}

View file

@ -1341,7 +1341,7 @@
<string name="color_picker_presets">Presets</string>
<string name="color_picker_title">Select a color</string>
<string name="color_picker_transparency">Transparency</string>
<string name="res_2131887421_com_crashlytics_android_build_id">c8db8258b308408b8258511bab75ee5a</string>
<string name="res_2131887421_com_crashlytics_android_build_id">1d281d84cb934cf88d6151bf5e0686b8</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>