From 40f39a70d0312ad054b80af70f80836d5c91bc35 Mon Sep 17 00:00:00 2001 From: Helium314 Date: Wed, 31 Jan 2024 19:49:50 +0100 Subject: [PATCH] some fixes --- app/build.gradle | 2 +- app/src/main/AndroidManifest.xml | 17 ++++------------- .../internal/keyboard_parser/KeyboardParser.kt | 4 ++-- .../keyboard_parser/SimpleKeyboardParser.kt | 8 +++++--- .../main/java/helium314/keyboard/latin/App.kt | 12 +++++++++++- app/src/test/java/helium314/keyboard/Shadows.kt | 2 +- 6 files changed, 24 insertions(+), 21 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 6d8f06b3..40f2f01c 100755 --- a/app/build.gradle +++ b/app/build.gradle @@ -7,7 +7,7 @@ android { buildToolsVersion = '34.0.0' defaultConfig { - applicationId "helium314.keyboard.latin" + applicationId "helium314.keyboard" minSdkVersion 21 targetSdkVersion 34 versionCode 1000 diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 84c94f6d..b99f9492 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -1,17 +1,8 @@ - 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 5ab8c5a4..79172493 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 @@ -204,10 +204,10 @@ abstract class KeyboardParser(private val params: KeyboardParams, private val co val layoutName = Settings.readSymbolsLayoutName(context, params.mId.locale) val layout = if (layoutName.startsWith(CUSTOM_LAYOUT_PREFIX)) { val parser = if (layoutName.endsWith("json")) JsonKeyboardParser(params, context) - else SimpleKeyboardParser(params, context) + else SimpleKeyboardParser(params, context, false) parser.parseCoreLayout(getLayoutFile(layoutName, context).readText()) } else { - SimpleKeyboardParser(params, context).parseCoreLayout(context.readAssetsFile("layouts/$layoutName.txt")) + SimpleKeyboardParser(params, context, false).parseCoreLayout(context.readAssetsFile("layouts/$layoutName.txt")) } layout.forEachIndexed { i, row -> val baseRow = baseKeys.getOrNull(i) ?: return@forEachIndexed 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 e3aae3c5..4ba0848f 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 @@ -13,9 +13,11 @@ import helium314.keyboard.latin.common.splitOnWhitespace * for alphabet, 3 keys for symbols and 4 keys for shift symbols. MoreKeys on period and comma get * merged with defaults. */ -class SimpleKeyboardParser(private val params: KeyboardParams, private val context: Context) : KeyboardParser(params, context) { - private val addExtraKeys = params.mId.mSubtype.keyboardLayoutSetName.endsWith("+") - +class SimpleKeyboardParser( + private val params: KeyboardParams, + context: Context, + private val addExtraKeys: Boolean = params.mId.mSubtype.keyboardLayoutSetName.endsWith("+") && params.mId.isAlphabetKeyboard +) : KeyboardParser(params, context) { override fun parseCoreLayout(layoutContent: String): MutableList> { val rowStrings = layoutContent.replace("\r\n", "\n").split("\\n\\s*\\n".toRegex()) return rowStrings.mapIndexedNotNullTo(mutableListOf()) { i, row -> diff --git a/app/src/main/java/helium314/keyboard/latin/App.kt b/app/src/main/java/helium314/keyboard/latin/App.kt index 91024ea9..118904ad 100644 --- a/app/src/main/java/helium314/keyboard/latin/App.kt +++ b/app/src/main/java/helium314/keyboard/latin/App.kt @@ -1,3 +1,4 @@ +// SPDX-License-Identifier: Apache-2.0 AND GPL-3.0-only package helium314.keyboard.latin import android.app.Application @@ -9,6 +10,7 @@ import helium314.keyboard.latin.settings.Settings import helium314.keyboard.latin.settings.USER_DICTIONARY_SUFFIX import helium314.keyboard.latin.utils.DeviceProtectedUtils import helium314.keyboard.latin.utils.DictionaryInfoUtils +import helium314.keyboard.latin.utils.Log import helium314.keyboard.latin.utils.upgradeToolbarPref import java.io.File @@ -33,6 +35,7 @@ class App : Application() { fun checkVersionUpgrade(context: Context) { val prefs = DeviceProtectedUtils.getSharedPreferences(context) val oldVersion = prefs.getInt(Settings.PREF_VERSION_CODE, 0) + Log.d("test", "old v $oldVersion, current ${BuildConfig.VERSION_CODE}") if (oldVersion == BuildConfig.VERSION_CODE) return upgradeToolbarPref(prefs) @@ -85,6 +88,7 @@ private fun upgradesWhenComingFromOldAppName(context: Context) { } prefs.all.toMap().forEach { if (it.key.startsWith("pref_key_") && it.key != "pref_key_longpress_timeout") { + Log.d("test", "adjusting ${it.key}") var remove = true when (val value = it.value) { is Boolean -> prefs.edit().putBoolean(it.key.substringAfter("pref_key_"), value).apply() @@ -97,6 +101,7 @@ private fun upgradesWhenComingFromOldAppName(context: Context) { if (remove) prefs.edit().remove(it.key).apply() } else if (it.key.startsWith("pref_")) { + Log.d("test", "adjusting ${it.key}") var remove = true when (val value = it.value) { is Boolean -> prefs.edit().putBoolean(it.key.substringAfter("pref_"), value).apply() @@ -108,19 +113,24 @@ private fun upgradesWhenComingFromOldAppName(context: Context) { } if (remove) prefs.edit().remove(it.key).apply() + } else { + Log.d("test", "keeping ${it.key}") } } // change more_keys to popup_keys if (prefs.contains("more_keys_order")) { + Log.d("test", "more_keys_order") prefs.edit().putString(Settings.PREF_POPUP_KEYS_ORDER, prefs.getString("more_keys_order", "")).apply() prefs.edit().remove("more_keys_order").apply() } if (prefs.contains("more_keys_labels_order")) { + Log.d("test", "more_keys_labels_order") prefs.edit().putString(Settings.PREF_POPUP_KEYS_LABELS_ORDER, prefs.getString("more_keys_labels_order", "")).apply() prefs.edit().remove("more_keys_labels_order").apply() } if (prefs.contains("more_more_keys")) { - prefs.edit().putString(Settings.PREF_POPUP_KEYS_ORDER, prefs.getString("more_more_keys", "")).apply() + Log.d("test", "more_more_keys") + prefs.edit().putString(Settings.PREF_MORE_POPUP_KEYS, prefs.getString("more_more_keys", "")).apply() prefs.edit().remove("more_more_keys").apply() } // upgrade additional subtype locale strings diff --git a/app/src/test/java/helium314/keyboard/Shadows.kt b/app/src/test/java/helium314/keyboard/Shadows.kt index e5ddc720..b43fa027 100644 --- a/app/src/test/java/helium314/keyboard/Shadows.kt +++ b/app/src/test/java/helium314/keyboard/Shadows.kt @@ -27,7 +27,7 @@ object ShadowLocaleManagerCompat { class ShadowInputMethodManager2 : ShadowInputMethodManager() { @Implementation override fun getInputMethodList() = listOf( - InputMethodInfo("helium314.keyboard.latin.debug", "LatinIME", "openboard debug", null), + InputMethodInfo("helium314.keyboard.debug", "LatinIME", "openboard debug", null), ) @Implementation fun getShortcutInputMethodsAndSubtypes() = emptyMap>()