From 8e083ee8a6fc1f50074953562ae6c0cb48d02c21 Mon Sep 17 00:00:00 2001 From: Georg Veichtlbauer <georg@vware.at> Date: Sat, 5 Aug 2023 10:07:58 +0200 Subject: [PATCH] LatinIME: Give the spacebar a special treatment * Add a fresh space bar icon * Restyle it to be closer to other keyboards * Disable long-press when in number pad mode * Hide the active language text when not in long-press mode Includes I27c02a35ed161c928c9062be5486b84f1d1f6ae5. Change-Id: I49c1ac0affa617536f416f502683a97cad7287a9 --- .../drawable/btn_keyboard_spacebar_normal_you.xml | 9 +++++++++ .../drawable/btn_keyboard_spacebar_pressed_you.xml | 9 +++++++++ java/res/drawable/btn_keyboard_spacebar_you.xml | 10 ++++++++++ java/res/drawable/sym_keyboard_space_you.xml | 13 +++++++++++++ java/res/values/keyboard-icons-you.xml | 2 +- java/res/values/themes-you.xml | 4 ++-- java/res/xml/key_styles_number.xml | 4 +--- .../inputmethod/keyboard/MainKeyboardView.java | 2 +- 8 files changed, 46 insertions(+), 7 deletions(-) create mode 100644 java/res/drawable/btn_keyboard_spacebar_normal_you.xml create mode 100644 java/res/drawable/btn_keyboard_spacebar_pressed_you.xml create mode 100644 java/res/drawable/btn_keyboard_spacebar_you.xml create mode 100644 java/res/drawable/sym_keyboard_space_you.xml diff --git a/java/res/drawable/btn_keyboard_spacebar_normal_you.xml b/java/res/drawable/btn_keyboard_spacebar_normal_you.xml new file mode 100644 index 0000000000..91e450037d --- /dev/null +++ b/java/res/drawable/btn_keyboard_spacebar_normal_you.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + SPDX-FileCopyrightText: 2023 The LineageOS Project + SPDX-License-Identifier: Apache-2.0 +--> +<shape xmlns:android="http://schemas.android.com/apk/res/android"> + <solid android:color="@color/keyboard_key_normal_color_you"/> + <corners android:radius="@dimen/keyboard_key_corner_radius_you" /> +</shape> diff --git a/java/res/drawable/btn_keyboard_spacebar_pressed_you.xml b/java/res/drawable/btn_keyboard_spacebar_pressed_you.xml new file mode 100644 index 0000000000..ab7e6d6cce --- /dev/null +++ b/java/res/drawable/btn_keyboard_spacebar_pressed_you.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + SPDX-FileCopyrightText: 2023 The LineageOS Project + SPDX-License-Identifier: Apache-2.0 +--> +<shape xmlns:android="http://schemas.android.com/apk/res/android"> + <solid android:color="@color/keyboard_key_functional_pressed_color_you"/> + <corners android:radius="@dimen/keyboard_key_corner_radius_you" /> +</shape> diff --git a/java/res/drawable/btn_keyboard_spacebar_you.xml b/java/res/drawable/btn_keyboard_spacebar_you.xml new file mode 100644 index 0000000000..ad6941c298 --- /dev/null +++ b/java/res/drawable/btn_keyboard_spacebar_you.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- + SPDX-FileCopyrightText: 2023 The LineageOS Project + SPDX-License-Identifier: Apache-2.0 +--> +<selector xmlns:android="http://schemas.android.com/apk/res/android"> + <item android:state_pressed="true" + android:drawable="@drawable/btn_keyboard_spacebar_pressed_you" /> + <item android:drawable="@drawable/btn_keyboard_spacebar_normal_you" /> +</selector> diff --git a/java/res/drawable/sym_keyboard_space_you.xml b/java/res/drawable/sym_keyboard_space_you.xml new file mode 100644 index 0000000000..e8929b38f1 --- /dev/null +++ b/java/res/drawable/sym_keyboard_space_you.xml @@ -0,0 +1,13 @@ +<!-- + SPDX-FileCopyrightText: Material Design Authors / Google LLC + SPDX-License-Identifier: Apache-2.0 +--> +<vector xmlns:android="http://schemas.android.com/apk/res/android" + android:width="24dp" + android:height="24dp" + android:viewportWidth="960" + android:viewportHeight="960"> + <path + android:fillColor="@color/icon_color_you" + android:pathData="M160,600L160,360L220,360L220,540L740,540L740,360L800,360L800,600L160,600Z"/> +</vector> diff --git a/java/res/values/keyboard-icons-you.xml b/java/res/values/keyboard-icons-you.xml index 7eee05fb4f..4351c6f3df 100644 --- a/java/res/values/keyboard-icons-you.xml +++ b/java/res/values/keyboard-icons-you.xml @@ -34,7 +34,7 @@ <item name="iconPreviousKey">@drawable/sym_keyboard_previous_you</item> <item name="iconTabKey">@drawable/sym_keyboard_tab_you</item> <item name="iconShortcutKey">@drawable/sym_keyboard_voice_you</item> - <item name="iconSpaceKeyForNumberLayout">@drawable/sym_keyboard_space_lxx_dark</item> + <item name="iconSpaceKeyForNumberLayout">@drawable/sym_keyboard_space_you</item> <item name="iconShiftKeyShifted">@drawable/sym_keyboard_shift_locked_you</item> <item name="iconShortcutKeyDisabled">@drawable/sym_keyboard_voice_off_you</item> <item name="iconLanguageSwitchKey">@drawable/sym_keyboard_language_switch_you</item> diff --git a/java/res/values/themes-you.xml b/java/res/values/themes-you.xml index bb9d44c122..d88d94b1a4 100644 --- a/java/res/values/themes-you.xml +++ b/java/res/values/themes-you.xml @@ -73,7 +73,7 @@ <item name="android:background">@color/keyboard_background_you</item> <item name="keyBackground">@drawable/btn_keyboard_key_you</item> <item name="functionalKeyBackground">@drawable/btn_keyboard_key_functional_you</item> - <item name="spacebarBackground">@drawable/btn_keyboard_key_you</item> + <item name="spacebarBackground">@drawable/btn_keyboard_spacebar_you</item> <item name="keyTextColor">@color/keyboard_key_text_color_you</item> <item name="keyTextInactivatedColor">@color/keyboard_key_functional_text_color_you</item> <item name="functionalTextColor">@color/keyboard_key_functional_text_color_you</item> @@ -98,7 +98,7 @@ <item name="gestureFloatingPreviewColor">@color/gesture_floating_preview_color_you</item> <item name="gestureTrailColor">@color/gesture_trail_color_you</item> <item name="slidingKeyInputPreviewColor">@color/sliding_key_input_preview_color_you</item> - <item name="languageOnSpacebarTextColor">@color/key_text_inactive_color_lxx_dark</item> + <item name="languageOnSpacebarTextColor">@color/key_hint_letter_color_you</item> <!-- A negative value to disable text shadow layer. --> <item name="languageOnSpacebarTextShadowRadius">-1.0</item> </style> diff --git a/java/res/xml/key_styles_number.xml b/java/res/xml/key_styles_number.xml index dbb11fde7a..bb88b976f0 100644 --- a/java/res/xml/key_styles_number.xml +++ b/java/res/xml/key_styles_number.xml @@ -103,8 +103,7 @@ <key-style latin:styleName="numSpaceKeyStyle" latin:keySpec="!icon/space_key_for_number_layout|!code/key_space" - latin:keyLabelFlags="alignIconToBottom" - latin:keyActionFlags="enableLongPress" + latin:backgroundType="functional" latin:parentStyle="numKeyBaseStyle" /> <!-- TODO: Consolidate these space key styles with numSpaceKeyStyle above by introducing <case> predicator that checks device form-factor. --> @@ -114,7 +113,6 @@ latin:styleName="tabletNumSpaceKeyStyle" latin:keySpec="!icon/space_key|!code/key_space" latin:backgroundType="functional" - latin:keyActionFlags="enableLongPress" latin:parentStyle="numKeyBaseStyle" /> </case> <case latin:keyboardTheme="LXXLight|LXXDark"> diff --git a/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java b/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java index 00d4fa236f..64ccd20bcf 100644 --- a/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java +++ b/java/src/com/android/inputmethod/keyboard/MainKeyboardView.java @@ -809,7 +809,7 @@ public final class MainKeyboardView extends KeyboardView implements DrawingProxy } super.onDrawKeyTopVisuals(key, canvas, paint, params); final int code = key.getCode(); - if (code == Constants.CODE_SPACE) { + if (code == Constants.CODE_SPACE && key.isLongPressEnabled()) { // If input language are explicitly selected. if (mLanguageOnSpacebarFormatType != LanguageOnSpacebarUtils.FORMAT_TYPE_NONE) { drawLanguageOnSpacebar(key, canvas, paint); -- GitLab