From b4a223ae67a9e2b5a1af849bb5b198ec9b8f2dbd Mon Sep 17 00:00:00 2001 From: Helium314 Date: Wed, 14 Feb 2024 11:08:44 +0100 Subject: [PATCH] rename LocaleKeyTexts, move some parts from LayoutInfos there --- .../keyboard/keyboard/KeyboardLayoutSet.java | 10 ++--- .../keyboard/keyboard/KeyboardSwitcher.java | 4 +- .../keyboard/internal/KeyboardParams.java | 4 +- .../keyboard_parser/KeyboardParser.kt | 44 +++++++++---------- ...caleKeyTexts.kt => LocaleKeyboardInfos.kt} | 27 ++++++++---- .../keyboard_parser/SimpleKeyboardParser.kt | 2 +- .../keyboard_parser/floris/TextKeyData.kt | 4 +- .../keyboard/latin/settings/Settings.java | 8 ++-- .../latin/settings/SettingsValues.java | 4 +- .../keyboard/latin/utils/PopupKeysUtils.kt | 14 +++--- 10 files changed, 63 insertions(+), 58 deletions(-) rename app/src/main/java/helium314/keyboard/keyboard/internal/keyboard_parser/{LocaleKeyTexts.kt => LocaleKeyboardInfos.kt} (92%) diff --git a/app/src/main/java/helium314/keyboard/keyboard/KeyboardLayoutSet.java b/app/src/main/java/helium314/keyboard/keyboard/KeyboardLayoutSet.java index 2dfdcc22..364c2940 100644 --- a/app/src/main/java/helium314/keyboard/keyboard/KeyboardLayoutSet.java +++ b/app/src/main/java/helium314/keyboard/keyboard/KeyboardLayoutSet.java @@ -16,8 +16,8 @@ import android.view.inputmethod.EditorInfo; import helium314.keyboard.keyboard.internal.KeyboardBuilder; import helium314.keyboard.keyboard.internal.KeyboardParams; import helium314.keyboard.keyboard.internal.UniqueKeysCache; -import helium314.keyboard.keyboard.internal.keyboard_parser.LocaleKeyTexts; -import helium314.keyboard.keyboard.internal.keyboard_parser.LocaleKeyTextsKt; +import helium314.keyboard.keyboard.internal.keyboard_parser.LocaleKeyboardInfos; +import helium314.keyboard.keyboard.internal.keyboard_parser.LocaleKeyboardInfosKt; import helium314.keyboard.latin.RichInputMethodSubtype; import helium314.keyboard.latin.utils.InputTypeUtils; import helium314.keyboard.latin.utils.Log; @@ -45,7 +45,7 @@ public final class KeyboardLayoutSet { private final Context mContext; @NonNull private final Params mParams; - public final LocaleKeyTexts mLocaleKeyTexts; + public final LocaleKeyboardInfos mLocaleKeyboardInfos; // How many layouts we forcibly keep in cache. This only includes ALPHABET (default) and // ALPHABET_AUTOMATIC_SHIFTED layouts - other layouts may stay in memory in the map of @@ -94,7 +94,7 @@ public final class KeyboardLayoutSet { public static void onSystemLocaleChanged() { clearKeyboardCache(); - LocaleKeyTextsKt.clearCache(); + LocaleKeyboardInfosKt.clearCache(); } public static void onKeyboardThemeChanged() { @@ -109,7 +109,7 @@ public final class KeyboardLayoutSet { KeyboardLayoutSet(final Context context, @NonNull final Params params) { mContext = context; mParams = params; - mLocaleKeyTexts = LocaleKeyTextsKt.getOrCreate(context, params.mSubtype.getLocale()); + mLocaleKeyboardInfos = LocaleKeyboardInfosKt.getOrCreate(context, params.mSubtype.getLocale()); } @NonNull diff --git a/app/src/main/java/helium314/keyboard/keyboard/KeyboardSwitcher.java b/app/src/main/java/helium314/keyboard/keyboard/KeyboardSwitcher.java index 8347bd1f..5f8b9cd4 100644 --- a/app/src/main/java/helium314/keyboard/keyboard/KeyboardSwitcher.java +++ b/app/src/main/java/helium314/keyboard/keyboard/KeyboardSwitcher.java @@ -303,7 +303,7 @@ public final class KeyboardSwitcher implements KeyboardState.SwitchActions { mEmojiTabStripView.setVisibility(View.VISIBLE); mClipboardHistoryView.setVisibility(View.GONE); mEmojiPalettesView.startEmojiPalettes( - mKeyboardLayoutSet.mLocaleKeyTexts.getLabelAlphabet(), + mKeyboardLayoutSet.mLocaleKeyboardInfos.getLabelAlphabet(), mKeyboardView.getKeyVisualAttribute(), keyboard.mIconsSet); mEmojiPalettesView.setVisibility(View.VISIBLE); } @@ -326,7 +326,7 @@ public final class KeyboardSwitcher implements KeyboardState.SwitchActions { mEmojiPalettesView.setVisibility(View.GONE); mClipboardHistoryView.startClipboardHistory( mLatinIME.getClipboardHistoryManager(), - mKeyboardLayoutSet.mLocaleKeyTexts.getLabelAlphabet(), + mKeyboardLayoutSet.mLocaleKeyboardInfos.getLabelAlphabet(), mKeyboardView.getKeyVisualAttribute(), keyboard.mIconsSet); mClipboardHistoryView.setVisibility(View.VISIBLE); } diff --git a/app/src/main/java/helium314/keyboard/keyboard/internal/KeyboardParams.java b/app/src/main/java/helium314/keyboard/keyboard/internal/KeyboardParams.java index a1011ad0..3d5480da 100644 --- a/app/src/main/java/helium314/keyboard/keyboard/internal/KeyboardParams.java +++ b/app/src/main/java/helium314/keyboard/keyboard/internal/KeyboardParams.java @@ -16,7 +16,7 @@ import androidx.annotation.Nullable; import helium314.keyboard.keyboard.Key; import helium314.keyboard.keyboard.KeyboardId; -import helium314.keyboard.keyboard.internal.keyboard_parser.LocaleKeyTexts; +import helium314.keyboard.keyboard.internal.keyboard_parser.LocaleKeyboardInfos; import helium314.keyboard.latin.R; import helium314.keyboard.latin.common.Constants; import helium314.keyboard.latin.settings.Settings; @@ -88,7 +88,7 @@ public class KeyboardParams { private final UniqueKeysCache mUniqueKeysCache; public boolean mAllowRedundantPopupKeys; @NonNull - public LocaleKeyTexts mLocaleKeyTexts; + public LocaleKeyboardInfos mLocaleKeyboardInfos; public int mMostCommonKeyHeight = 0; public int mMostCommonKeyWidth = 0; diff --git a/app/src/main/java/helium314/keyboard/keyboard/internal/keyboard_parser/KeyboardParser.kt b/app/src/main/java/helium314/keyboard/keyboard/internal/keyboard_parser/KeyboardParser.kt index aed7ba53..015db628 100644 --- a/app/src/main/java/helium314/keyboard/keyboard/internal/keyboard_parser/KeyboardParser.kt +++ b/app/src/main/java/helium314/keyboard/keyboard/internal/keyboard_parser/KeyboardParser.kt @@ -43,9 +43,11 @@ import java.io.File */ abstract class KeyboardParser(private val params: KeyboardParams, private val context: Context) { private val infos = layoutInfos(params) - private val defaultLabelFlags = infos.defaultLabelFlags or if (params.mId.mElementId == KeyboardId.ELEMENT_SYMBOLS || params.mId.mElementId == KeyboardId.ELEMENT_SYMBOLS_SHIFTED) + private val defaultLabelFlags = if (params.mId.isAlphabetKeyboard) { + params.mLocaleKeyboardInfos.labelFlags + } else if (params.mId.mElementId == KeyboardId.ELEMENT_SYMBOLS || params.mId.mElementId == KeyboardId.ELEMENT_SYMBOLS_SHIFTED) { Key.LABEL_FLAGS_DISABLE_HINT_LABEL // reproduce the no-hints in symbol layouts, todo: add setting - else 0 + } else 0 abstract fun parseCoreLayout(layoutContent: String): MutableList> @@ -91,7 +93,7 @@ abstract class KeyboardParser(private val params: KeyboardParams, private val co baseKeys.forEachIndexed { i, it -> val row: List = if (i == baseKeys.lastIndex && isTablet()) { // add bottom row extra keys - val tabletExtraKeys = params.mLocaleKeyTexts.getTabletExtraKeys(params.mId.mElementId) + val tabletExtraKeys = params.mLocaleKeyboardInfos.getTabletExtraKeys(params.mId.mElementId) tabletExtraKeys.first + it + tabletExtraKeys.second } else { it @@ -160,7 +162,7 @@ abstract class KeyboardParser(private val params: KeyboardParams, private val co private fun addNumberRowOrPopupKeys(baseKeys: MutableList>) { if (!params.mId.mNumberRowEnabled && params.mId.mElementId == KeyboardId.ELEMENT_SYMBOLS) { // replace first symbols row with number row, but use the labels as popupKeys - val numberRow = params.mLocaleKeyTexts.getNumberRow() + val numberRow = params.mLocaleKeyboardInfos.getNumberRow() numberRow.forEachIndexed { index, keyData -> keyData.popup.symbol = baseKeys[0].getOrNull(index)?.label } baseKeys[0] = numberRow } else if (!params.mId.mNumberRowEnabled && params.mId.isAlphabetKeyboard && infos.numbersOnTopRow) { @@ -379,7 +381,7 @@ abstract class KeyboardParser(private val params: KeyboardParams, private val co if (params.mId.mEmojiKeyEnabled) bottomRow.add(getFunctionalKeyParams(FunctionalKey.EMOJI)) bottomRow.add(keyParams) - if (infos.hasZwnjKey) + if (params.mLocaleKeyboardInfos.hasZwnjKey) bottomRow.add(getFunctionalKeyParams(FunctionalKey.ZWNJ)) } } else { @@ -393,7 +395,7 @@ abstract class KeyboardParser(private val params: KeyboardParams, private val co } private fun getNumberRow(): ArrayList = - params.mLocaleKeyTexts.getNumberRow().mapTo(ArrayList()) { + params.mLocaleKeyboardInfos.getNumberRow().mapTo(ArrayList()) { it.toKeyParams(params, additionalLabelFlags = Key.LABEL_FLAGS_DISABLE_HINT_LABEL or defaultLabelFlags) } @@ -419,7 +421,7 @@ abstract class KeyboardParser(private val params: KeyboardParams, private val co null ) FunctionalKey.ALPHA -> KeyParams( - params.mLocaleKeyTexts.labelAlphabet, + params.mLocaleKeyboardInfos.labelAlphabet, getToAlphaCode(), params, width, @@ -653,8 +655,8 @@ abstract class KeyboardParser(private val params: KeyboardParams, private val co private fun getToSymbolLabel() = if (params.mId.mElementId == KeyboardId.ELEMENT_SYMBOLS || params.mId.mElementId == KeyboardId.ELEMENT_SYMBOLS_SHIFTED) - params.mLocaleKeyTexts.labelAlphabet - else params.mLocaleKeyTexts.labelSymbol + params.mLocaleKeyboardInfos.labelAlphabet + else params.mLocaleKeyboardInfos.labelSymbol private fun getToSymbolCode() = if (params.mId.mElementId == KeyboardId.ELEMENT_NUMPAD) @@ -669,9 +671,9 @@ abstract class KeyboardParser(private val params: KeyboardParams, private val co private fun getShiftLabel(): String { val elementId = params.mId.mElementId if (elementId == KeyboardId.ELEMENT_SYMBOLS_SHIFTED) - return params.mLocaleKeyTexts.labelSymbol + return params.mLocaleKeyboardInfos.labelSymbol if (elementId == KeyboardId.ELEMENT_SYMBOLS) - return params.mLocaleKeyTexts.getShiftSymbolLabel(isTablet()) + return params.mLocaleKeyboardInfos.getShiftSymbolLabel(isTablet()) if (elementId == KeyboardId.ELEMENT_ALPHABET_MANUAL_SHIFTED || elementId == KeyboardId.ELEMENT_ALPHABET_AUTOMATIC_SHIFTED || elementId == KeyboardId.ELEMENT_ALPHABET_SHIFT_LOCKED || elementId == KeyboardId.ELEMENT_ALPHABET_SHIFT_LOCK_SHIFTED) return "!icon/shift_key_shifted" @@ -681,7 +683,7 @@ abstract class KeyboardParser(private val params: KeyboardParams, private val co private fun getPeriodLabel(): String { if (params.mId.isNumberLayout) return "." if (params.mId.isAlphabetKeyboard || params.mId.locale.language in listOf("ar", "fa")) // todo: this exception is not so great... - return params.mLocaleKeyTexts.labelPeriod + return params.mLocaleKeyboardInfos.labelPeriod return "." } @@ -692,7 +694,7 @@ abstract class KeyboardParser(private val params: KeyboardParams, private val co return "\\@" if (params.mId.isNumberLayout) return "," - return params.mLocaleKeyTexts.labelComma + return params.mLocaleKeyboardInfos.labelComma } private fun getCommaPopupKeys(): List { @@ -715,7 +717,7 @@ abstract class KeyboardParser(private val params: KeyboardParams, private val co return listOf("…") if (params.mId.isNumberLayout) return listOf(":", "…", ";", "∞", "π", "√", "°", "^") - val popupKeys = params.mLocaleKeyTexts.getPopupKeys("punctuation")!!.toMutableList() + val popupKeys = params.mLocaleKeyboardInfos.getPopupKeys("punctuation")!!.toMutableList() if (params.mId.mSubtype.isRtlSubtype) { for (i in popupKeys.indices) popupKeys[i] = popupKeys[i].rtlLabel(params) // for parentheses @@ -787,11 +789,6 @@ abstract class KeyboardParser(private val params: KeyboardParams, private val co private fun layoutInfos(params: KeyboardParams): LayoutInfos { val layout = params.mId.mSubtype.keyboardLayoutSetName val language = params.mId.locale.language - val labelFlags = if (!params.mId.isAlphabetKeyboard) 0 else when (language) { - "hy", "ar", "be", "fa", "hi", "lo", "mr", "ne", "th", "ur" -> Key.LABEL_FLAGS_FONT_NORMAL - "kn", "km", "ml", "si", "ta", "te" -> Key.LABEL_FLAGS_FONT_NORMAL or Key.LABEL_FLAGS_AUTO_X_SCALE - else -> 0 - } // only for alphabet, but some exceptions for shift layouts val enableProximityCharsCorrection = params.mId.isAlphabetKeyboard && when (layout) { "bengali_akkhor", "georgian", "hindi", "lao", "nepali_romanized", "nepali_traditional", "sinhala", "thai" -> @@ -804,12 +801,11 @@ abstract class KeyboardParser(private val params: KeyboardParams, private val co val touchPositionCorrectionData = if (params.mId.isAlphabetKeyboard && layout in listOf("armenian_phonetic", "khmer", "lao", "malayalam", "pcqwerty", "thai")) R.array.touch_position_correction_data_default else R.array.touch_position_correction_data_holo - val hasZwnjKey = params.mId.locale.language in listOf("fa", "ne", "kn", "te") // determine from language, user might have custom layout // custom non-json layout for non-uppercase language should not have shift key val hasShiftKey = !params.mId.isAlphabetKeyboard || layout !in listOf("hindi_compact", "bengali", "arabic", "arabic_pc", "hebrew", "kannada", "kannada_extended","malayalam", "marathi", "farsi", "tamil", "telugu") val numbersOnTopRow = layout !in listOf("pcqwerty", "lao", "thai", "korean_sebeolsik_390", "korean_sebeolsik_final") - return LayoutInfos(labelFlags, enableProximityCharsCorrection, allowRedundantPopupKeys, touchPositionCorrectionData, hasZwnjKey, hasShiftKey, numbersOnTopRow) + return LayoutInfos(enableProximityCharsCorrection, allowRedundantPopupKeys, touchPositionCorrectionData, hasShiftKey, numbersOnTopRow) } } @@ -819,9 +815,8 @@ abstract class KeyboardParser(private val params: KeyboardParams, private val co } -// todo: actually this should be in some separate file, or maybe part of an (extended) key texts +// todo: actually this should be in some separate file data class LayoutInfos( - val defaultLabelFlags: Int = 0, // disabled by default, but enabled for all alphabet layouts // currently set in keyboardLayoutSet val enableProximityCharsCorrection: Boolean = false, @@ -830,8 +825,9 @@ data class LayoutInfos( // there is holo, default and null // null only for popupKeys keyboard val touchPositionCorrectionData: Int? = null, - val hasZwnjKey: Boolean = false, + // some layouts do not have a shift key val hasShiftKey: Boolean = true, + // some layouts have different number layout, e.g. thai or korean_sebeolsik val numbersOnTopRow: Boolean = true, ) diff --git a/app/src/main/java/helium314/keyboard/keyboard/internal/keyboard_parser/LocaleKeyTexts.kt b/app/src/main/java/helium314/keyboard/keyboard/internal/keyboard_parser/LocaleKeyboardInfos.kt similarity index 92% rename from app/src/main/java/helium314/keyboard/keyboard/internal/keyboard_parser/LocaleKeyTexts.kt rename to app/src/main/java/helium314/keyboard/keyboard/internal/keyboard_parser/LocaleKeyboardInfos.kt index 5d8240e9..3ccce29f 100644 --- a/app/src/main/java/helium314/keyboard/keyboard/internal/keyboard_parser/LocaleKeyTexts.kt +++ b/app/src/main/java/helium314/keyboard/keyboard/internal/keyboard_parser/LocaleKeyboardInfos.kt @@ -15,7 +15,7 @@ import java.io.InputStream import java.util.Locale import kotlin.math.round -class LocaleKeyTexts(dataStream: InputStream?, locale: Locale) { +class LocaleKeyboardInfos(dataStream: InputStream?, locale: Locale) { private val popupKeys = hashMapOf>() private val priorityPopupKeys = hashMapOf>() private val extraKeys = Array?>(5) { null } @@ -44,6 +44,15 @@ class LocaleKeyTexts(dataStream: InputStream?, locale: Locale) { mutableListOf(), mutableListOf("ⁿ", "∅"), ) + val hasZwnjKey = when (locale.language) { // todo: move to the info file + "fa", "ne", "kn", "te" -> true + else -> false + } + val labelFlags = when (locale.language) { // todo: move to the info file + "hy", "ar", "be", "fa", "hi", "lo", "mr", "ne", "th", "ur" -> Key.LABEL_FLAGS_FONT_NORMAL + "kn", "km", "ml", "si", "ta", "te" -> Key.LABEL_FLAGS_FONT_NORMAL or Key.LABEL_FLAGS_AUTO_X_SCALE + else -> 0 + } init { readStream(dataStream, false) @@ -213,20 +222,20 @@ private fun addFixedColumnOrder(popupKeys: List): List { return listOf("${Key.POPUP_KEYS_FIXED_COLUMN_ORDER}${newPopupKeys.size}") + newPopupKeys } -fun getOrCreate(context: Context, locale: Locale): LocaleKeyTexts = - localeKeyTextsCache.getOrPut(locale.toString()) { - LocaleKeyTexts(getStreamForLocale(locale, context), locale) +fun getOrCreate(context: Context, locale: Locale): LocaleKeyboardInfos = + localeKeyboardInfosCache.getOrPut(locale.toString()) { + LocaleKeyboardInfos(getStreamForLocale(locale, context), locale) } fun addLocaleKeyTextsToParams(context: Context, params: KeyboardParams, popupKeysSetting: Int) { val locales = params.mSecondaryLocales + params.mId.locale - params.mLocaleKeyTexts = localeKeyTextsCache.getOrPut(locales.joinToString { it.toString() }) { + params.mLocaleKeyboardInfos = localeKeyboardInfosCache.getOrPut(locales.joinToString { it.toString() }) { createLocaleKeyTexts(context, params, popupKeysSetting) } } -private fun createLocaleKeyTexts(context: Context, params: KeyboardParams, popupKeysSetting: Int): LocaleKeyTexts { - val lkt = LocaleKeyTexts(getStreamForLocale(params.mId.locale, context), params.mId.locale) +private fun createLocaleKeyTexts(context: Context, params: KeyboardParams, popupKeysSetting: Int): LocaleKeyboardInfos { + val lkt = LocaleKeyboardInfos(getStreamForLocale(params.mId.locale, context), params.mId.locale) if (popupKeysSetting == POPUP_KEYS_MORE) lkt.addFile(context.assets.open("$LANGUAGE_TEXTS_FOLDER/all_popup_keys.txt")) else if (popupKeysSetting == POPUP_KEYS_ALL) @@ -250,10 +259,10 @@ private fun getStreamForLocale(locale: Locale, context: Context) = } } -fun clearCache() = localeKeyTextsCache.clear() +fun clearCache() = localeKeyboardInfosCache.clear() // cache the texts, so they don't need to be read over and over -private val localeKeyTextsCache = hashMapOf() +private val localeKeyboardInfosCache = hashMapOf() private const val READER_MODE_NONE = 0 private const val READER_MODE_POPUP_KEYS = 1 diff --git a/app/src/main/java/helium314/keyboard/keyboard/internal/keyboard_parser/SimpleKeyboardParser.kt b/app/src/main/java/helium314/keyboard/keyboard/internal/keyboard_parser/SimpleKeyboardParser.kt index e5029762..cb730b1c 100644 --- a/app/src/main/java/helium314/keyboard/keyboard/internal/keyboard_parser/SimpleKeyboardParser.kt +++ b/app/src/main/java/helium314/keyboard/keyboard/internal/keyboard_parser/SimpleKeyboardParser.kt @@ -35,7 +35,7 @@ class SimpleKeyboardParser( else parseKey(it) } - private fun getExtraKeys(rowIndex: Int) = params.mLocaleKeyTexts.getExtraKeys(rowIndex + 1) + private fun getExtraKeys(rowIndex: Int) = params.mLocaleKeyboardInfos.getExtraKeys(rowIndex + 1) private fun parseKey(key: String): KeyData { val split = key.splitOnWhitespace() diff --git a/app/src/main/java/helium314/keyboard/keyboard/internal/keyboard_parser/floris/TextKeyData.kt b/app/src/main/java/helium314/keyboard/keyboard/internal/keyboard_parser/floris/TextKeyData.kt index 8895b905..4da2a959 100644 --- a/app/src/main/java/helium314/keyboard/keyboard/internal/keyboard_parser/floris/TextKeyData.kt +++ b/app/src/main/java/helium314/keyboard/keyboard/internal/keyboard_parser/floris/TextKeyData.kt @@ -44,11 +44,11 @@ class TextKeyData( // } if (label.startsWith("$$$")) { // currency key if (label == "$$$") - return params.mLocaleKeyTexts.currencyKey + return params.mLocaleKeyboardInfos.currencyKey .let { it.first.toTextKey(it.second.toList(), labelFlags = Key.LABEL_FLAGS_FOLLOW_KEY_LETTER_RATIO) } // the flag is to match old parser, but why for main currency key, but not for others? val n = label.substringAfter("$$$").toIntOrNull() if (n != null && n <= 4 && n > 0) - return params.mLocaleKeyTexts.currencyKey.second[n - 1].toTextKey() + return params.mLocaleKeyboardInfos.currencyKey.second[n - 1].toTextKey() } return this } diff --git a/app/src/main/java/helium314/keyboard/latin/settings/Settings.java b/app/src/main/java/helium314/keyboard/latin/settings/Settings.java index e4ce1768..d0bc8a5d 100644 --- a/app/src/main/java/helium314/keyboard/latin/settings/Settings.java +++ b/app/src/main/java/helium314/keyboard/latin/settings/Settings.java @@ -27,7 +27,7 @@ import androidx.core.content.ContextCompat; import androidx.preference.PreferenceManager; import helium314.keyboard.keyboard.KeyboardTheme; -import helium314.keyboard.keyboard.internal.keyboard_parser.LocaleKeyTextsKt; +import helium314.keyboard.keyboard.internal.keyboard_parser.LocaleKeyboardInfosKt; import helium314.keyboard.latin.AudioAndHapticFeedbackManager; import helium314.keyboard.latin.InputAttributes; import helium314.keyboard.latin.R; @@ -522,9 +522,9 @@ public final class Settings implements SharedPreferences.OnSharedPreferenceChang public static int readMorePopupKeysPref(final SharedPreferences prefs) { return switch (prefs.getString(Settings.PREF_MORE_POPUP_KEYS, "normal")) { - case "all" -> LocaleKeyTextsKt.POPUP_KEYS_ALL; - case "more" -> LocaleKeyTextsKt.POPUP_KEYS_MORE; - default -> LocaleKeyTextsKt.POPUP_KEYS_NORMAL; + case "all" -> LocaleKeyboardInfosKt.POPUP_KEYS_ALL; + case "more" -> LocaleKeyboardInfosKt.POPUP_KEYS_MORE; + default -> LocaleKeyboardInfosKt.POPUP_KEYS_NORMAL; }; } diff --git a/app/src/main/java/helium314/keyboard/latin/settings/SettingsValues.java b/app/src/main/java/helium314/keyboard/latin/settings/SettingsValues.java index 38534d39..17df0d7e 100644 --- a/app/src/main/java/helium314/keyboard/latin/settings/SettingsValues.java +++ b/app/src/main/java/helium314/keyboard/latin/settings/SettingsValues.java @@ -17,7 +17,7 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import helium314.keyboard.compat.ConfigurationCompatKt; -import helium314.keyboard.keyboard.internal.keyboard_parser.LocaleKeyTextsKt; +import helium314.keyboard.keyboard.internal.keyboard_parser.LocaleKeyboardInfosKt; import helium314.keyboard.latin.InputAttributes; import helium314.keyboard.latin.R; import helium314.keyboard.latin.RichInputMethodManager; @@ -210,7 +210,7 @@ public class SettingsValues { mSecondaryLocales = Settings.getSecondaryLocales(prefs, mLocale); mShowMorePopupKeys = selectedSubtype.isAsciiCapable() ? Settings.readMorePopupKeysPref(prefs) - : LocaleKeyTextsKt.POPUP_KEYS_NORMAL; + : LocaleKeyboardInfosKt.POPUP_KEYS_NORMAL; mColors = Settings.getColorsForCurrentTheme(context, prefs); // read locale-specific popup key settings, fall back to global settings diff --git a/app/src/main/java/helium314/keyboard/latin/utils/PopupKeysUtils.kt b/app/src/main/java/helium314/keyboard/latin/utils/PopupKeysUtils.kt index 4a85ffa2..f2e4298c 100644 --- a/app/src/main/java/helium314/keyboard/latin/utils/PopupKeysUtils.kt +++ b/app/src/main/java/helium314/keyboard/latin/utils/PopupKeysUtils.kt @@ -40,11 +40,11 @@ fun createPopupKeysArray(popupSet: PopupSet<*>?, params: KeyboardParams, label: val types = if (params.mId.isAlphabetKeyboard) params.mPopupKeyTypes else allPopupKeyTypes types.forEach { type -> when (type) { - POPUP_KEYS_NUMBER -> params.mLocaleKeyTexts.getNumberLabel(popupSet?.numberIndex)?.let { popupKeys.add(it) } + POPUP_KEYS_NUMBER -> params.mLocaleKeyboardInfos.getNumberLabel(popupSet?.numberIndex)?.let { popupKeys.add(it) } POPUP_KEYS_LAYOUT -> popupSet?.getPopupKeyLabels(params)?.let { popupKeys.addAll(it) } POPUP_KEYS_SYMBOLS -> popupSet?.symbol?.let { popupKeys.add(it) } - POPUP_KEYS_LANGUAGE -> params.mLocaleKeyTexts.getPopupKeys(label)?.let { popupKeys.addAll(it) } - POPUP_KEYS_LANGUAGE_PRIORITY -> params.mLocaleKeyTexts.getPriorityPopupKeys(label)?.let { popupKeys.addAll(it) } + POPUP_KEYS_LANGUAGE -> params.mLocaleKeyboardInfos.getPopupKeys(label)?.let { popupKeys.addAll(it) } + POPUP_KEYS_LANGUAGE_PRIORITY -> params.mLocaleKeyboardInfos.getPriorityPopupKeys(label)?.let { popupKeys.addAll(it) } } } if (!popupKeysDelegate.isInitialized() || popupKeys.isEmpty()) @@ -75,11 +75,11 @@ fun getHintLabel(popupSet: PopupSet<*>?, params: KeyboardParams, label: String): var hintLabel: String? = null for (type in params.mPopupKeyLabelSources) { when (type) { - POPUP_KEYS_NUMBER -> params.mLocaleKeyTexts.getNumberLabel(popupSet?.numberIndex)?.let { hintLabel = it } + POPUP_KEYS_NUMBER -> params.mLocaleKeyboardInfos.getNumberLabel(popupSet?.numberIndex)?.let { hintLabel = it } POPUP_KEYS_LAYOUT -> popupSet?.getPopupKeyLabels(params)?.let { hintLabel = it.firstOrNull() } POPUP_KEYS_SYMBOLS -> popupSet?.symbol?.let { hintLabel = it } - POPUP_KEYS_LANGUAGE -> params.mLocaleKeyTexts.getPopupKeys(label)?.let { hintLabel = it.firstOrNull() } - POPUP_KEYS_LANGUAGE_PRIORITY -> params.mLocaleKeyTexts.getPriorityPopupKeys(label)?.let { hintLabel = it.firstOrNull() } + POPUP_KEYS_LANGUAGE -> params.mLocaleKeyboardInfos.getPopupKeys(label)?.let { hintLabel = it.firstOrNull() } + POPUP_KEYS_LANGUAGE_PRIORITY -> params.mLocaleKeyboardInfos.getPriorityPopupKeys(label)?.let { hintLabel = it.firstOrNull() } } if (hintLabel != null) break } @@ -93,7 +93,7 @@ fun getHintLabel(popupSet: PopupSet<*>?, params: KeyboardParams, label: String): private fun transformLabel(label: String, params: KeyboardParams): String = if (label == "$$$") { // currency key if (params.mId.passwordInput()) "$" - else params.mLocaleKeyTexts.currencyKey.first + else params.mLocaleKeyboardInfos.currencyKey.first } else if (params.mId.mSubtype.isRtlSubtype) { label.rtlLabel(params) } else label