diff --git a/app/src/main/java/helium314/keyboard/keyboard/Key.java b/app/src/main/java/helium314/keyboard/keyboard/Key.java index edfd089d..3d091797 100644 --- a/app/src/main/java/helium314/keyboard/keyboard/Key.java +++ b/app/src/main/java/helium314/keyboard/keyboard/Key.java @@ -327,7 +327,7 @@ public class Key implements Comparable { // Final attributes. mCode = key.mCode; mLabel = key.mLabel; - mHintLabel = key.mHintLabel; + mHintLabel = PopopUtilKt.findPopupHintLabel(popupKeys, key.mHintLabel); mLabelFlags = key.mLabelFlags; mIconName = key.mIconName; mWidth = key.mWidth; diff --git a/app/src/main/java/helium314/keyboard/keyboard/PopopUtil.kt b/app/src/main/java/helium314/keyboard/keyboard/PopopUtil.kt new file mode 100644 index 00000000..f5cbf138 --- /dev/null +++ b/app/src/main/java/helium314/keyboard/keyboard/PopopUtil.kt @@ -0,0 +1,9 @@ +package helium314.keyboard.keyboard + +import helium314.keyboard.keyboard.internal.PopupKeySpec + +fun findPopupHintLabel(popupKeys: Array?, oldHintLabel: String?): String? { + if (popupKeys == null || oldHintLabel == null) return null + if (popupKeys.any { it.mLabel == oldHintLabel }) return oldHintLabel + return popupKeys.firstOrNull { it.mLabel != null }?.mLabel +} \ No newline at end of file