From 0c78fe5f1256489129e0f447ed5d87d4be308257 Mon Sep 17 00:00:00 2001 From: Aleksandras Kostarevas Date: Wed, 28 Aug 2024 20:09:36 +0300 Subject: [PATCH] Fix hints and outputText --- java/src/org/futo/inputmethod/keyboard/Key.kt | 10 +++++++++- .../org/futo/inputmethod/v2keyboard/LayoutEngine.kt | 4 +++- .../org/futo/inputmethod/v2keyboard/TemplateKeys.kt | 2 +- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/java/src/org/futo/inputmethod/keyboard/Key.kt b/java/src/org/futo/inputmethod/keyboard/Key.kt index ed8c5dd43..3d92ce087 100644 --- a/java/src/org/futo/inputmethod/keyboard/Key.kt +++ b/java/src/org/futo/inputmethod/keyboard/Key.kt @@ -129,7 +129,7 @@ data class Key( val hintLabel: String? = null, /** Hint icon to display instead of hint label. Icon takes precedence over a label */ - val hintIconId: String? = null, + val hintIconId: String? = if(hintLabel?.isNotEmpty() == true) { "" } else { null }, /** Flags of the label */ val labelFlags: Int, @@ -190,6 +190,14 @@ data class Key( /** Key is enabled and responds on press */ val isEnabled: Boolean = code != Constants.CODE_UNSPECIFIED, ) { + /** Validation */ + init { + assert((code == Constants.CODE_OUTPUT_TEXT && outputText != null) || + (code != Constants.CODE_OUTPUT_TEXT && outputText == null)) { + "Output text validation failed: $code $outputText" + } + } + /** The current pressed state of this key */ private var mPressed = false diff --git a/java/src/org/futo/inputmethod/v2keyboard/LayoutEngine.kt b/java/src/org/futo/inputmethod/v2keyboard/LayoutEngine.kt index 8e455f6f9..bb6780850 100644 --- a/java/src/org/futo/inputmethod/v2keyboard/LayoutEngine.kt +++ b/java/src/org/futo/inputmethod/v2keyboard/LayoutEngine.kt @@ -503,7 +503,9 @@ data class LayoutEngine( labelFlags = data.labelFlags, moreKeys = data.moreKeys, moreKeysColumnAndFlags = data.moreKeyFlags, - visualStyle = data.style + visualStyle = data.style, + outputText = data.outputText, + hintLabel = data.hint.ifEmpty { null } ) params.onAddKey(key) diff --git a/java/src/org/futo/inputmethod/v2keyboard/TemplateKeys.kt b/java/src/org/futo/inputmethod/v2keyboard/TemplateKeys.kt index a95851393..5d4a2f35e 100644 --- a/java/src/org/futo/inputmethod/v2keyboard/TemplateKeys.kt +++ b/java/src/org/futo/inputmethod/v2keyboard/TemplateKeys.kt @@ -159,7 +159,7 @@ data class EnterKey( repeatable = false, moreKeyFlags = moreKeyFlags, countsToKeyCoordinate = false, - hint = "", + hint = " ", labelFlags = 0 ) }