From da69d04993dbfdcbbfb31d60582e606051a7e237 Mon Sep 17 00:00:00 2001 From: Helium314 Date: Sun, 7 Jan 2024 14:44:23 +0100 Subject: [PATCH] fix / word around issues with clipboard toolbar --- .../keyboard/clipboard/ClipboardHistoryView.kt | 6 +++++- .../openboard/inputmethod/latin/common/Colors.kt | 6 +++--- .../inputmethod/latin/utils/ToolbarUtils.kt | 4 ++-- app/src/main/res/layout/strip_container.xml | 16 ++-------------- 4 files changed, 12 insertions(+), 20 deletions(-) diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/clipboard/ClipboardHistoryView.kt b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/clipboard/ClipboardHistoryView.kt index 7065612bd..49456f7e4 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/clipboard/ClipboardHistoryView.kt +++ b/app/src/main/java/org/dslul/openboard/inputmethod/keyboard/clipboard/ClipboardHistoryView.kt @@ -64,7 +64,11 @@ class ClipboardHistoryView @JvmOverloads constructor( spacebarBackground = Settings.getInstance().current.mColors.selectAndColorDrawable(keyboardViewAttr, ColorType.SPACE_BAR_BACKGROUND) keyboardViewAttr.recycle() val keyboardAttr = context.obtainStyledAttributes(attrs, R.styleable.Keyboard, defStyle, R.style.SuggestionStripView) - listOf(ToolbarKey.LEFT, ToolbarKey.RIGHT, ToolbarKey.COPY, ToolbarKey.SELECT_ALL, ToolbarKey.CLEAR_CLIPBOARD) + // todo (maybe): setting the correct color only works because the activated state is inverted + // even when state is activated, the not activated color is set + // in suggestionStripView the same thing works correctly, wtf? + // need to properly fix it (and maybe undo the inverted isActivated) when adding a toggle key + listOf(ToolbarKey.LEFT, ToolbarKey.RIGHT, ToolbarKey.COPY, ToolbarKey.SELECT_ALL, ToolbarKey.CLEAR_CLIPBOARD, ToolbarKey.ONE_HANDED) .forEach { toolbarKeys.add(createToolbarKey(context, keyboardAttr, it)) } keyboardAttr.recycle() } diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/latin/common/Colors.kt b/app/src/main/java/org/dslul/openboard/inputmethod/latin/common/Colors.kt index 0fc10c482..2903cc812 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/latin/common/Colors.kt +++ b/app/src/main/java/org/dslul/openboard/inputmethod/latin/common/Colors.kt @@ -554,9 +554,9 @@ private fun stateList(pressed: Int, normal: Int): ColorStateList { return ColorStateList(states, intArrayOf(pressed, normal)) } -private fun activatedStateList(activated: Int, normal: Int): ColorStateList { - val states = arrayOf(intArrayOf(android.R.attr.state_activated), intArrayOf(-android.R.attr.state_activated)) - return ColorStateList(states, intArrayOf(activated, normal)) +private fun activatedStateList(normal: Int, activated: Int): ColorStateList { + val states = arrayOf(intArrayOf(-android.R.attr.state_activated), intArrayOf(android.R.attr.state_activated)) + return ColorStateList(states, intArrayOf(normal, activated)) } enum class ColorType { diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/latin/utils/ToolbarUtils.kt b/app/src/main/java/org/dslul/openboard/inputmethod/latin/utils/ToolbarUtils.kt index 2c5a856d8..415ad3c84 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/latin/utils/ToolbarUtils.kt +++ b/app/src/main/java/org/dslul/openboard/inputmethod/latin/utils/ToolbarUtils.kt @@ -25,13 +25,13 @@ fun createToolbarKey(context: Context, keyboardAttr: TypedArray, key: ToolbarKey button.scaleX = 1.2f button.scaleY = 1.2f } - button.isActivated = when (key) { + button.isActivated = !when (key) { INCOGNITO -> Settings.readAlwaysIncognitoMode(DeviceProtectedUtils.getSharedPreferences(context)) ONE_HANDED -> Settings.getInstance().current.mOneHandedModeEnabled AUTOCORRECT -> Settings.getInstance().current.mAutoCorrectionEnabledPerUserSettings else -> true } - button.setImageDrawable(keyboardAttr.getDrawable(getStyleableIconId(key))) + button.setImageDrawable(keyboardAttr.getDrawable(getStyleableIconId(key))?.mutate()) return button } diff --git a/app/src/main/res/layout/strip_container.xml b/app/src/main/res/layout/strip_container.xml index 8e5ac4f61..8260a4183 100644 --- a/app/src/main/res/layout/strip_container.xml +++ b/app/src/main/res/layout/strip_container.xml @@ -29,23 +29,11 @@ android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="match_parent" - style="?attr/suggestionStripViewStyle" - > - + style="?attr/suggestionStripViewStyle" > + -