From e21c135b90d6e6889eee91ac49dd5bac8ce8139e Mon Sep 17 00:00:00 2001 From: Helium314 Date: Sat, 24 May 2025 16:50:51 +0200 Subject: [PATCH] don't include default latin non-qwerty layout in subtype display name so now we're back at "French" and not "French (AZERTY)" --- .../helium314/keyboard/latin/utils/SubtypeLocaleUtils.kt | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/helium314/keyboard/latin/utils/SubtypeLocaleUtils.kt b/app/src/main/java/helium314/keyboard/latin/utils/SubtypeLocaleUtils.kt index 9ef0f1b03..0861bf952 100644 --- a/app/src/main/java/helium314/keyboard/latin/utils/SubtypeLocaleUtils.kt +++ b/app/src/main/java/helium314/keyboard/latin/utils/SubtypeLocaleUtils.kt @@ -124,7 +124,10 @@ object SubtypeLocaleUtils { return subtype.locale().toString() + "/" + subtype.mainLayoutNameOrQwerty() } - /** Subtype display name is (), defaults to system locale */ + /** + * Subtype display name is when using the default layout, or () otherwise + * [displayLocale] defaults to system locale + */ fun InputMethodSubtype.displayName(displayLocale: Locale? = null): String { if (displayLocale == null) resourceSubtypeDisplayNameCache[hashCode()]?.let { return it } @@ -136,7 +139,9 @@ object SubtypeLocaleUtils { LayoutUtilsCustom.getDisplayName(layoutName) ) } - if (keyboardLayoutToDisplayName.containsKey(layoutName)) { + // if it's a default layout, we want to use the nameResId instead of explicitly showing the layout name + if (keyboardLayoutToDisplayName.containsKey(layoutName) + && SubtypeSettings.getResourceSubtypesForLocale(locale()).none { it.mainLayoutName() == layoutName }) { return resources.getString( R.string.subtype_with_layout_generic, locale().localizedDisplayName(resources, displayLocale),