Skip to content

Commit fdad2d3

Browse files
committed
#1949 feat: floating buttons are completely invisible when pressed if background and border opacity is set to 0
1 parent 9f4aa6c commit fdad2d3

File tree

4 files changed

+28
-7
lines changed

4 files changed

+28
-7
lines changed

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,8 @@
2121
- [#1982](https://github.com/keymapperorg/KeyMapper/issues/1982) Text action does not need Key Mapper input method on Android 13+.
2222
- [#1989](https://github.com/keymapperorg/KeyMapper/issues/1989) center the "Trigger and actions" and "Constraint and more" tabs.
2323
- [#1392](https://github.com/keymapperorg/KeyMapper/issues/1392) Add action to enable/disable/toggle night shift.
24-
- [#1675](https://github.com/keymapperorg/KeyMapper/issues/1675) Option to make floating buttons movable
24+
- [#1675](https://github.com/keymapperorg/KeyMapper/issues/1675) Option to make floating buttons movable.
25+
- [#1949](https://github.com/keymapperorg/KeyMapper/issues/1949) Floating buttons are completely invisible when pressed if background and border opacity is set to 0.
2526

2627
## [4.0.0 Beta 6](https://github.com/sds100/KeyMapper/releases/tag/v4.0.0-beta.06)
2728

base/src/main/java/io/github/sds100/keymapper/base/home/KeyMapListItemCreator.kt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,16 @@ class KeyMapListItemCreator(
6060
val triggerKeys = keyMap.trigger.keys.map { key ->
6161
when (key) {
6262
is AssistantTriggerKey -> assistantTriggerKeyName(key)
63+
6364
is KeyEventTriggerKey -> keyEventTriggerKeyName(
6465
key,
6566
showDeviceDescriptors,
6667
)
6768

6869
is FloatingButtonKey -> floatingButtonKeyName(key)
70+
6971
is FingerprintTriggerKey -> fingerprintKeyName(key)
72+
7073
is EvdevTriggerKey -> evdevTriggerKeyName(key)
7174
}
7275
}
@@ -238,6 +241,13 @@ class KeyMapListItemCreator(
238241

239242
if (key.button == null) {
240243
append(getString(R.string.deleted_floating_button_text_key_map_list_item))
244+
} else if (key.button.appearance.text.isBlank()) {
245+
append(
246+
getString(
247+
R.string.floating_button_text_key_map_list_item_empty,
248+
key.button.layoutName,
249+
),
250+
)
241251
} else {
242252
append(
243253
getString(
@@ -265,7 +275,9 @@ class KeyMapListItemCreator(
265275

266276
val deviceName = when (key.device) {
267277
is KeyEventTriggerDevice.Internal -> null
278+
268279
is KeyEventTriggerDevice.Any -> getString(R.string.any_device)
280+
269281
is KeyEventTriggerDevice.External -> {
270282
if (showDeviceDescriptors) {
271283
InputDeviceUtils.appendDeviceDescriptorToName(
@@ -349,12 +361,15 @@ class KeyMapListItemCreator(
349361
FingerprintGestureType.SWIPE_DOWN -> append(
350362
getString(R.string.trigger_key_fingerprint_gesture_down),
351363
)
364+
352365
FingerprintGestureType.SWIPE_UP -> append(
353366
getString(R.string.trigger_key_fingerprint_gesture_up),
354367
)
368+
355369
FingerprintGestureType.SWIPE_LEFT -> append(
356370
getString(R.string.trigger_key_fingerprint_gesture_left),
357371
)
372+
358373
FingerprintGestureType.SWIPE_RIGHT -> append(
359374
getString(R.string.trigger_key_fingerprint_gesture_right),
360375
)

base/src/main/java/io/github/sds100/keymapper/base/trigger/TriggerKeyListItem.kt

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -142,10 +142,14 @@ fun TriggerKeyListItem(
142142
)
143143
}
144144

145-
is TriggerKeyListItemModel.FloatingButton -> stringResource(
146-
R.string.trigger_key_floating_button_description,
147-
model.buttonName,
148-
)
145+
is TriggerKeyListItemModel.FloatingButton -> if (model.buttonName.isBlank()) {
146+
stringResource(R.string.trigger_key_floating_button_description_empty)
147+
} else {
148+
stringResource(
149+
R.string.trigger_key_floating_button_description,
150+
model.buttonName,
151+
)
152+
}
149153

150154
is TriggerKeyListItemModel.KeyEvent -> model.keyName
151155

base/src/main/res/values/strings.xml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1428,19 +1428,19 @@
14281428
<string name="floating_button_menu_configure">Configure</string>
14291429
<string name="floating_button_menu_use_trigger">Use trigger</string>
14301430
<string name="floating_button_config_delete_button">Delete</string>
1431-
<string name="floating_button_config_button_text_label">Button text (Tip: use an emoji)</string>
1431+
<string name="floating_button_config_button_text_label">Button text (optional) (Tip: use an emoji)</string>
14321432
<string name="floating_button_config_button_size_label">Button size:</string>
14331433
<string name="floating_button_config_border_opacity_label">Border opacity:</string>
14341434
<string name="floating_button_config_background_opacity_label">Background opacity:</string>
14351435
<string name="floating_button_config_cancel_button">Cancel</string>
14361436
<string name="floating_button_config_done_button">Done</string>
1437-
<string name="floating_button_config_empty_text_error">The button must have text!</string>
14381437
<string name="floating_button_config_show_over_status_bar">Show over notification panel</string>
14391438
<string name="floating_button_config_show_over_input_method">Show over keyboard</string>
14401439
<string name="floating_button_config_lock_position">Lock in position</string>
14411440
<string name="floating_buttons_product_title">Floating buttons</string>
14421441
<string name="floating_buttons_product_description">Floating buttons display over the apps you want. They work just like real buttons, and you can place, style, and map them however you like.</string>
14431442
<string name="floating_button_text_key_map_list_item">Floating button %s (%s)</string>
1443+
<string name="floating_button_text_key_map_list_item_empty">Floating button (no text) (%s)</string>
14441444
<string name="deleted_floating_button_text_key_map_list_item">Deleted floating button</string>
14451445
<string name="tip_caps_lock_expert_mode_title">Better Caps Lock compatibility</string>
14461446
<string name="tip_caps_lock_expert_mode_text">Expert Mode provides better compatibility for Caps Lock remapping. Tap \'Use Expert Mode\' and record it again.</string>
@@ -1584,6 +1584,7 @@
15841584
<string name="trigger_key_shortcut_add_assistant">Side key trigger</string>
15851585
<string name="trigger_key_shortcut_add_fingerprint_gesture">Fingerprint gesture</string>
15861586
<string name="trigger_key_floating_button_description">Floating button: %s</string>
1587+
<string name="trigger_key_floating_button_description_empty">Floating button (no text)</string>
15871588
<string name="trigger_key_fingerprint_gesture_up">Swipe up fingerprint reader</string>
15881589
<string name="trigger_key_fingerprint_gesture_down">Swipe down fingerprint reader</string>
15891590
<string name="trigger_key_fingerprint_gesture_left">Swipe left fingerprint reader</string>

0 commit comments

Comments
 (0)