diff --git a/app/src/keyboards/java/be/scri/services/GeneralKeyboardIME.kt b/app/src/keyboards/java/be/scri/services/GeneralKeyboardIME.kt index 0d9a9902..16115def 100644 --- a/app/src/keyboards/java/be/scri/services/GeneralKeyboardIME.kt +++ b/app/src/keyboards/java/be/scri/services/GeneralKeyboardIME.kt @@ -651,10 +651,6 @@ abstract class GeneralKeyboardIME( return isActionSearch || isUriType || hasSearchHint } - override fun isClipboardKeyEnabled(): Boolean = PreferencesHelper.getIsClipboardKeyEnabled(this, language) - - override fun isFloatingKeyEnabled(): Boolean = PreferencesHelper.getIsFloatingKeyEnabled(this, language) - private fun loadLanguageData() { val languageAlias = getLanguageAlias(language) dataContract = dbManagers.getLanguageContract(languageAlias) diff --git a/app/src/main/assets/i18n b/app/src/main/assets/i18n index 59695ea9..4a830f94 160000 --- a/app/src/main/assets/i18n +++ b/app/src/main/assets/i18n @@ -1 +1 @@ -Subproject commit 59695ea900119f09a440050b6695129fecaf45f9 +Subproject commit 4a830f9423bf1f31f06858a00cb93620ba07e383 diff --git a/app/src/main/java/be/scri/helpers/KeyboardBase.kt b/app/src/main/java/be/scri/helpers/KeyboardBase.kt index e2c0aa15..4c1ee3df 100644 --- a/app/src/main/java/be/scri/helpers/KeyboardBase.kt +++ b/app/src/main/java/be/scri/helpers/KeyboardBase.kt @@ -39,10 +39,6 @@ class KeyboardBase { fun isSearchBar(): Boolean fun isFloatingModeActive(): Boolean - - fun isClipboardKeyEnabled(): Boolean - - fun isFloatingKeyEnabled(): Boolean } /** Horizontal gap default for all rows */ diff --git a/app/src/main/java/be/scri/helpers/PreferencesHelper.kt b/app/src/main/java/be/scri/helpers/PreferencesHelper.kt index 1f3d0283..fa2c74a6 100644 --- a/app/src/main/java/be/scri/helpers/PreferencesHelper.kt +++ b/app/src/main/java/be/scri/helpers/PreferencesHelper.kt @@ -26,8 +26,6 @@ object PreferencesHelper { private const val DEFAULT_CURRENCY = "default_currency" private const val HOLD_FOR_ALT_KEYS = "hold_for_alt_keys" private const val INCREASE_TEXT_SIZE = "increase_text_size" - private const val CLIPBOARD_KEY_ON_KEYBOARD = "clipboard_key_on_keyboard" - private const val FLOATING_KEY_ON_KEYBOARD = "floating_key_on_keyboard" /** * Sets the translation source language for a given language. @@ -536,56 +534,6 @@ object PreferencesHelper { return sharedPref.getBoolean(getLanguageSpecificPreferenceKey(HOLD_FOR_ALT_KEYS, language), true) } - /** - * Sets the preference for showing or hiding the clipboard key on the keyboard. - */ - fun setClipboardKeyPreference( - context: Context, - language: String, - enabled: Boolean, - ) { - val sharedPref = context.getSharedPreferences(SCRIBE_PREFS, Context.MODE_PRIVATE) - sharedPref.edit { - putBoolean(getLanguageSpecificPreferenceKey(CLIPBOARD_KEY_ON_KEYBOARD, language), enabled) - } - } - - /** - * Retrieves whether the clipboard key is enabled on the keyboard for a given language. - */ - fun getIsClipboardKeyEnabled( - context: Context, - language: String, - ): Boolean { - val sharedPref = context.getSharedPreferences(SCRIBE_PREFS, Context.MODE_PRIVATE) - return sharedPref.getBoolean(getLanguageSpecificPreferenceKey(CLIPBOARD_KEY_ON_KEYBOARD, language), true) - } - - /** - * Sets the preference for showing or hiding the floating key on the keyboard. - */ - fun setFloatingKeyPreference( - context: Context, - language: String, - enabled: Boolean, - ) { - val sharedPref = context.getSharedPreferences(SCRIBE_PREFS, Context.MODE_PRIVATE) - sharedPref.edit { - putBoolean(getLanguageSpecificPreferenceKey(FLOATING_KEY_ON_KEYBOARD, language), enabled) - } - } - - /** - * Retrieves whether the floating key is enabled on the keyboard for a given language. - */ - fun getIsFloatingKeyEnabled( - context: Context, - language: String, - ): Boolean { - val sharedPref = context.getSharedPreferences(SCRIBE_PREFS, Context.MODE_PRIVATE) - return sharedPref.getBoolean(getLanguageSpecificPreferenceKey(FLOATING_KEY_ON_KEYBOARD, language), false) - } - /** * Resets the application hints, marking them as not shown in the shared preferences. * diff --git a/app/src/main/java/be/scri/ui/screens/LanguageSettingsScreen.kt b/app/src/main/java/be/scri/ui/screens/LanguageSettingsScreen.kt index b47549ae..19a5e7b9 100644 --- a/app/src/main/java/be/scri/ui/screens/LanguageSettingsScreen.kt +++ b/app/src/main/java/be/scri/ui/screens/LanguageSettingsScreen.kt @@ -109,19 +109,6 @@ fun LanguageSettingsScreen( ) } - val clipboardKeyOnKeyboardState = - remember { - mutableStateOf( - PreferencesHelper.getIsClipboardKeyEnabled(context, language), - ) - } - - val floatingKeyOnKeyboardState = - remember { - mutableStateOf( - PreferencesHelper.getIsFloatingKeyEnabled(context, language), - ) - } val wordByWordDeletionState = remember { mutableStateOf( @@ -167,24 +154,6 @@ fun LanguageSettingsScreen( shouldDisableAccentCharacter, ) }, - toggleClipboardKeyOnKeyboard = clipboardKeyOnKeyboardState.value, - onToggleClipboardKeyOnKeyboard = { isEnabled -> - clipboardKeyOnKeyboardState.value = isEnabled - PreferencesHelper.setClipboardKeyPreference( - context, - language, - isEnabled, - ) - }, - toggleFloatingKeyOnKeyboard = floatingKeyOnKeyboardState.value, - onToggleFloatingKeyOnKeyboard = { isEnabled -> - floatingKeyOnKeyboardState.value = isEnabled - PreferencesHelper.setFloatingKeyPreference( - context, - language, - isEnabled, - ) - }, onCurrencySelect = onCurrencySelect, ), ) @@ -374,17 +343,12 @@ private fun getFunctionalityListData(settings: FunctionalitySettings): List Unit, toggleDisableAccentCharacter: Boolean, onToggleDisableAccentCharacter: (Boolean) -> Unit, - toggleClipboardKeyOnKeyboard: Boolean, - onToggleClipboardKeyOnKeyboard: (Boolean) -> Unit, - toggleFloatingKeyOnKeyboard: Boolean, - onToggleFloatingKeyOnKeyboard: (Boolean) -> Unit, onCurrencySelect: () -> Unit, ): List { val list: MutableList = mutableListOf() @@ -411,14 +375,6 @@ private fun getLayoutListData( ), ) - list.add( - ScribeItem.SwitchItem( - title = R.string.i18n_app_settings_keyboard_layout_floating_on_keyboard, - desc = R.string.i18n_app_settings_keyboard_layout_floating_on_keyboard_description, - state = toggleFloatingKeyOnKeyboard, - onToggle = onToggleFloatingKeyOnKeyboard, - ), - ) list.add( ScribeItem.ClickableItem( title = R.string.i18n_app_settings_keyboard_layout_default_currency, diff --git a/app/src/main/java/be/scri/views/KeyboardView.kt b/app/src/main/java/be/scri/views/KeyboardView.kt index f75f232b..3bd08f38 100644 --- a/app/src/main/java/be/scri/views/KeyboardView.kt +++ b/app/src/main/java/be/scri/views/KeyboardView.kt @@ -1151,6 +1151,18 @@ class KeyboardView key.icon = resources.getDrawable(drawableId) key.icon!!.applyColorFilter(mTextColor) } else { + if (code == KeyboardBase.KEYCODE_FLOAT_TOGGLE) { + val isFloating = + (context as? KeyboardBase.KeyboardContextProvider)?.isFloatingModeActive() == true || + (mPopupParent?.context as? KeyboardBase.KeyboardContextProvider)?.isFloatingModeActive() == true + val floatIconRes = + if (isFloating) { + R.drawable.ic_keyboard_dismiss + } else { + R.drawable.ic_float_keyboard + } + key.icon = resources.getDrawable(floatIconRes, context.theme) + } val isIconOnlyKey = code == KEYCODE_DELETE || code == KEYCODE_SHIFT || diff --git a/app/src/main/res/drawable/ic_keyboard_dismiss.xml b/app/src/main/res/drawable/ic_keyboard_dismiss.xml index f371a272..6bd602da 100644 --- a/app/src/main/res/drawable/ic_keyboard_dismiss.xml +++ b/app/src/main/res/drawable/ic_keyboard_dismiss.xml @@ -4,6 +4,7 @@ android:viewportWidth="24" android:viewportHeight="24"> + android:fillColor="#FFFFFFFF" + android:pathData="M19,3H5C3.9,3 3,3.9 3,5v14c0,1.1 0.9,2 2,2h14c1.1,0 2,-0.9 2,-2V5C21,3.9 20.1,3 19,3z M19,19H5V5h14V19z M16.59,8.59L12,13.17L7.41,8.59L6,10l6,6l6,-6L16.59,8.59z"/> + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0a42b25e..1c901873 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -14,9 +14,5 @@ Drag keyboard Clipboard Floating keyboard - Clipboard key on keyboard - Include a key to access the clipboard on the main keyboard. - Floating key on keyboard - Include a key to float the keyboard UI on the main keyboard.