From 678e6b0ae5b2c135f65072ffaeda8c712a7d5cd7 Mon Sep 17 00:00:00 2001 From: Prince Yadav <66916296+prince-0408@users.noreply.github.com> Date: Sun, 12 Jul 2026 16:59:00 +0530 Subject: [PATCH 1/5] Fix UI and navigation for download data banner (#650) --- .../java/be/scri/activities/MainActivity.kt | 7 ++++ .../KeyboardLanguageMappingConstants.kt | 12 +++++++ .../helpers/english/ENInterfaceVariables.kt | 2 ++ .../helpers/french/FRInterfaceVariables.kt | 2 ++ .../helpers/german/DEInterfaceVariables.kt | 2 ++ .../helpers/italian/ITInterfaceVariables.kt | 2 ++ .../portuguese/PTInterfaceVariables.kt | 2 ++ .../helpers/russian/RUInterfaceVariables.kt | 2 ++ .../helpers/spanish/ESInterfaceVariables.kt | 2 ++ .../helpers/swedish/SVInterfaceVariables.kt | 2 ++ .../be/scri/services/GeneralKeyboardIME.kt | 28 ++++++++------- .../res/drawable/ic_arrow_circle_down_24.xml | 10 ++++++ app/src/main/res/layout/input_method_view.xml | 36 +++++++++++-------- 13 files changed, 82 insertions(+), 27 deletions(-) create mode 100644 app/src/main/res/drawable/ic_arrow_circle_down_24.xml diff --git a/app/src/keyboards/java/be/scri/activities/MainActivity.kt b/app/src/keyboards/java/be/scri/activities/MainActivity.kt index 7a1e7f939..eb137217f 100644 --- a/app/src/keyboards/java/be/scri/activities/MainActivity.kt +++ b/app/src/keyboards/java/be/scri/activities/MainActivity.kt @@ -76,6 +76,13 @@ class MainActivity : ComponentActivity() { val navController = rememberNavController() + val navigateTo = intent.getStringExtra("navigate_to") + androidx.compose.runtime.LaunchedEffect(navigateTo) { + if (navigateTo == "download_data") { + navController.navigate("download_data") + } + } + val isHintChangedMap = remember { mutableStateMapOf() } /** diff --git a/app/src/keyboards/java/be/scri/helpers/KeyboardLanguageMappingConstants.kt b/app/src/keyboards/java/be/scri/helpers/KeyboardLanguageMappingConstants.kt index 28984886f..8971f9a62 100644 --- a/app/src/keyboards/java/be/scri/helpers/KeyboardLanguageMappingConstants.kt +++ b/app/src/keyboards/java/be/scri/helpers/KeyboardLanguageMappingConstants.kt @@ -14,6 +14,18 @@ import be.scri.helpers.swedish.SVInterfaceVariables * Object containing keyboard-specific constant mappings related to language-specific UI elements. */ object KeyboardLanguageMappingConstants { + val downloadDataPlaceholder = + mapOf( + "EN" to ENInterfaceVariables.DOWNLOAD_DATA_LBL, + "ES" to ESInterfaceVariables.DOWNLOAD_DATA_LBL, + "DE" to DEInterfaceVariables.DOWNLOAD_DATA_LBL, + "IT" to ITInterfaceVariables.DOWNLOAD_DATA_LBL, + "FR" to FRInterfaceVariables.DOWNLOAD_DATA_LBL, + "PT" to PTInterfaceVariables.DOWNLOAD_DATA_LBL, + "RU" to RUInterfaceVariables.DOWNLOAD_DATA_LBL, + "SV" to SVInterfaceVariables.DOWNLOAD_DATA_LBL, + ) + val translatePlaceholder = mapOf( "EN" to ENInterfaceVariables.TRANSLATE_KEY_LBL, diff --git a/app/src/keyboards/java/be/scri/helpers/english/ENInterfaceVariables.kt b/app/src/keyboards/java/be/scri/helpers/english/ENInterfaceVariables.kt index 560970a73..647629a93 100644 --- a/app/src/keyboards/java/be/scri/helpers/english/ENInterfaceVariables.kt +++ b/app/src/keyboards/java/be/scri/helpers/english/ENInterfaceVariables.kt @@ -54,6 +54,8 @@ object ENInterfaceVariables { // MARK: Translate Command + + const val DOWNLOAD_DATA_LBL = "Please download language data" const val TRANSLATE_KEY_LBL = "Translate" const val TRANSLATE_PLACEHOLDER = "Enter a word" const val TRANSLATE_PROMPT = " en -› ${"targetLanguage()"}" diff --git a/app/src/keyboards/java/be/scri/helpers/french/FRInterfaceVariables.kt b/app/src/keyboards/java/be/scri/helpers/french/FRInterfaceVariables.kt index b2209ea10..5f800f6ed 100644 --- a/app/src/keyboards/java/be/scri/helpers/french/FRInterfaceVariables.kt +++ b/app/src/keyboards/java/be/scri/helpers/french/FRInterfaceVariables.kt @@ -56,6 +56,8 @@ object FRInterfaceVariables { // MARK: Translate Command + const val DOWNLOAD_DATA_LBL = "Please download language data" + const val TRANSLATE_KEY_LBL = "Traduire" const val TRANSLATE_PLACEHOLDER = "Entrez un mot" const val TRANSLATE_PROMPT = "fr -› targetLanguage()" diff --git a/app/src/keyboards/java/be/scri/helpers/german/DEInterfaceVariables.kt b/app/src/keyboards/java/be/scri/helpers/german/DEInterfaceVariables.kt index cb53f5571..1d48a5199 100644 --- a/app/src/keyboards/java/be/scri/helpers/german/DEInterfaceVariables.kt +++ b/app/src/keyboards/java/be/scri/helpers/german/DEInterfaceVariables.kt @@ -55,6 +55,8 @@ object DEInterfaceVariables { // MARK: Translate Command + const val DOWNLOAD_DATA_LBL = "Please download language data" + const val TRANSLATE_KEY_LBL = "Übersetzen" const val TRANSLATE_PLACEHOLDER = "Wort eingeben" const val TRANSLATE_PROMPT = "de -› targetLanguage()" diff --git a/app/src/keyboards/java/be/scri/helpers/italian/ITInterfaceVariables.kt b/app/src/keyboards/java/be/scri/helpers/italian/ITInterfaceVariables.kt index c24a0997c..f749c1c87 100644 --- a/app/src/keyboards/java/be/scri/helpers/italian/ITInterfaceVariables.kt +++ b/app/src/keyboards/java/be/scri/helpers/italian/ITInterfaceVariables.kt @@ -37,6 +37,8 @@ object ITInterfaceVariables { // MARK: Translate Command + const val DOWNLOAD_DATA_LBL = "Please download language data" + const val TRANSLATE_KEY_LBL = "Tradurre" const val TRANSLATE_PLACEHOLDER = "Inserisci una parola" const val TRANSLATE_PROMPT = "it -› targetLanguage()" diff --git a/app/src/keyboards/java/be/scri/helpers/portuguese/PTInterfaceVariables.kt b/app/src/keyboards/java/be/scri/helpers/portuguese/PTInterfaceVariables.kt index 385fc48fb..16c98f6da 100644 --- a/app/src/keyboards/java/be/scri/helpers/portuguese/PTInterfaceVariables.kt +++ b/app/src/keyboards/java/be/scri/helpers/portuguese/PTInterfaceVariables.kt @@ -37,6 +37,8 @@ object PTInterfaceVariables { // MARK: Translate Command + const val DOWNLOAD_DATA_LBL = "Please download language data" + const val TRANSLATE_KEY_LBL = "Traduzir" const val TRANSLATE_PLACEHOLDER = "Digite uma palavra" const val TRANSLATE_PROMPT = "pt -› targetLanguage()" diff --git a/app/src/keyboards/java/be/scri/helpers/russian/RUInterfaceVariables.kt b/app/src/keyboards/java/be/scri/helpers/russian/RUInterfaceVariables.kt index ab8bf7e0a..31284676d 100644 --- a/app/src/keyboards/java/be/scri/helpers/russian/RUInterfaceVariables.kt +++ b/app/src/keyboards/java/be/scri/helpers/russian/RUInterfaceVariables.kt @@ -37,6 +37,8 @@ object RUInterfaceVariables { // MARK: Translate Command + const val DOWNLOAD_DATA_LBL = "Please download language data" + const val TRANSLATE_KEY_LBL = "Перевести" const val TRANSLATE_PLACEHOLDER = "Введите слово" const val TRANSLATE_PROMPT = "ru -› targetLanguage()" diff --git a/app/src/keyboards/java/be/scri/helpers/spanish/ESInterfaceVariables.kt b/app/src/keyboards/java/be/scri/helpers/spanish/ESInterfaceVariables.kt index 2f111bf32..f8b759d9a 100644 --- a/app/src/keyboards/java/be/scri/helpers/spanish/ESInterfaceVariables.kt +++ b/app/src/keyboards/java/be/scri/helpers/spanish/ESInterfaceVariables.kt @@ -58,6 +58,8 @@ object ESInterfaceVariables { // MARK: Translate Command + const val DOWNLOAD_DATA_LBL = "Please download language data" + const val TRANSLATE_KEY_LBL = "Traducir" const val TRANSLATE_PLACEHOLDER = "Ingrese una palabra" const val TRANSLATE_PROMPT = " es -› ${"targetLanguage()"}" diff --git a/app/src/keyboards/java/be/scri/helpers/swedish/SVInterfaceVariables.kt b/app/src/keyboards/java/be/scri/helpers/swedish/SVInterfaceVariables.kt index 351c170cb..3d11face0 100644 --- a/app/src/keyboards/java/be/scri/helpers/swedish/SVInterfaceVariables.kt +++ b/app/src/keyboards/java/be/scri/helpers/swedish/SVInterfaceVariables.kt @@ -37,6 +37,8 @@ object SVInterfaceVariables { // MARK: Translate Command + const val DOWNLOAD_DATA_LBL = "Please download language data" + const val TRANSLATE_KEY_LBL = "Översätt" const val TRANSLATE_PLACEHOLDER = "Ange ett ord" const val TRANSLATE_PROMPT = "sv -› targetLanguage()" diff --git a/app/src/keyboards/java/be/scri/services/GeneralKeyboardIME.kt b/app/src/keyboards/java/be/scri/services/GeneralKeyboardIME.kt index 4957ac9fb..b3785199e 100644 --- a/app/src/keyboards/java/be/scri/services/GeneralKeyboardIME.kt +++ b/app/src/keyboards/java/be/scri/services/GeneralKeyboardIME.kt @@ -28,6 +28,7 @@ import android.view.inputmethod.EditorInfo.IME_MASK_ACTION import android.view.inputmethod.ExtractedTextRequest import android.view.inputmethod.InputConnection import android.widget.Button +import android.widget.TextView import androidx.core.content.ContextCompat import androidx.core.content.edit import androidx.core.graphics.ColorUtils @@ -365,8 +366,11 @@ abstract class GeneralKeyboardIME( val languageAlias = getLanguageAlias(language) val dbFile = applicationContext.getDatabasePath("${languageAlias}LanguageData.sqlite") val hasData = dbFile.exists() - val banner = binding.root.findViewById