From e7d9080c499806fa392e932bf7c7a6318dede166 Mon Sep 17 00:00:00 2001 From: Helium314 Date: Mon, 1 Jan 2024 14:07:53 +0100 Subject: [PATCH] correctly read pinned keys when they are not in the toolbar --- .../latin/suggestions/SuggestionStripView.java | 11 +++++++---- .../openboard/inputmethod/latin/utils/ToolbarUtils.kt | 3 +-- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/org/dslul/openboard/inputmethod/latin/suggestions/SuggestionStripView.java b/app/src/main/java/org/dslul/openboard/inputmethod/latin/suggestions/SuggestionStripView.java index e7a65ecb4..6e2103a8a 100644 --- a/app/src/main/java/org/dslul/openboard/inputmethod/latin/suggestions/SuggestionStripView.java +++ b/app/src/main/java/org/dslul/openboard/inputmethod/latin/suggestions/SuggestionStripView.java @@ -196,7 +196,6 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick setupKey(button, colors); mToolbar.addView(button); } - keyboardAttr.recycle(); final int toolbarHeight = Math.min(mToolbarExpandKey.getLayoutParams().height, (int) getResources().getDimension(R.dimen.config_suggestions_strip_height)); mToolbarExpandKey.getLayoutParams().height = toolbarHeight; @@ -216,13 +215,17 @@ public final class SuggestionStripView extends RelativeLayout implements OnClick mToolbarExpandKey.getLayoutParams().width *= 0.82; for (final ToolbarKey pinnedKey : Settings.readPinnedKeys(prefs)) { + final ImageButton button = createToolbarKey(context, keyboardAttr, pinnedKey); + button.setLayoutParams(toolbarKeyLayoutParams); + setupKey(button, colors); + mPinnedKeys.addView(button); final View pinnedKeyInToolbar = mToolbar.findViewWithTag(pinnedKey); - if (pinnedKeyInToolbar == null) continue; - pinnedKeyInToolbar.setBackground(mEnabledToolKeyBackground); - addKeyToPinnedKeys(pinnedKey); + if (pinnedKeyInToolbar != null) + pinnedKeyInToolbar.setBackground(mEnabledToolKeyBackground); } colors.setBackground(this, ColorType.SUGGESTION_BACKGROUND); + keyboardAttr.recycle(); } /** 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 7e4a25059..2c5a856d8 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 @@ -20,7 +20,6 @@ fun createToolbarKey(context: Context, keyboardAttr: TypedArray, key: ToolbarKey val contentDescriptionId = context.resources.getIdentifier(key.name.lowercase(), "string", context.packageName) if (contentDescriptionId != 0) button.contentDescription = context.getString(contentDescriptionId) - val icon = keyboardAttr.getDrawable(getStyleableIconId(key)) if (key == LEFT || key == RIGHT || key == UP || key == DOWN) { // arrows look a little awkward when not scaled button.scaleX = 1.2f @@ -32,7 +31,7 @@ fun createToolbarKey(context: Context, keyboardAttr: TypedArray, key: ToolbarKey AUTOCORRECT -> Settings.getInstance().current.mAutoCorrectionEnabledPerUserSettings else -> true } - button.setImageDrawable(icon) + button.setImageDrawable(keyboardAttr.getDrawable(getStyleableIconId(key))) return button }