Skip to content

Commit b41477b

Browse files
Menu: add titles to FavouriteApps, GesturePatterns, FingerMode (#2247)
These three menus passed a null menuId to BaseMenu, so the title header introduced in #2236 was skipped entirely. Give each a stable menuId constant and map it in MenuConstants.getTitleResource to an existing string resource so the header renders. CustomGestureConfirmation remains intentionally titleless (transient mid-gesture prompt). No new strings, no UX behavior change beyond the title appearing. Co-authored-by: Owen McGirr <o.a.mcgirr@gmail.com>
1 parent 1e522fb commit b41477b

4 files changed

Lines changed: 16 additions & 2 deletions

File tree

app/src/main/java/com/enaboapps/switchify/service/menu/menus/favouriteapps/FavouriteAppsMenu.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package com.enaboapps.switchify.service.menu.menus.favouriteapps
22

33
import com.enaboapps.switchify.service.core.SwitchifyAccessibilityService
44
import com.enaboapps.switchify.service.menu.menus.BaseMenu
5+
import com.enaboapps.switchify.service.menu.structure.MenuConstants
56
import com.enaboapps.switchify.service.utils.FavouriteAppsManager
67

78
/**
@@ -12,6 +13,7 @@ class FavouriteAppsMenu(
1213
) : BaseMenu(
1314
accessibilityService = accessibilityService,
1415
items = emptyList(),
16+
menuId = MenuConstants.MenuIds.FAVOURITE_APPS_MENU,
1517
dynamicLoad = {
1618
val favouriteAppsManager = FavouriteAppsManager(accessibilityService)
1719
val apps = favouriteAppsManager.getFavouriteApps()

app/src/main/java/com/enaboapps/switchify/service/menu/menus/gestures/FingerModeMenu.kt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package com.enaboapps.switchify.service.menu.menus.gestures
33
import com.enaboapps.switchify.service.core.SwitchifyAccessibilityService
44
import com.enaboapps.switchify.service.menu.MenuItem
55
import com.enaboapps.switchify.service.menu.menus.BaseMenu
6+
import com.enaboapps.switchify.service.menu.structure.MenuConstants
67
import com.enaboapps.switchify.service.menu.structure.MenuStructureHolder
78

89
/**
@@ -16,7 +17,11 @@ import com.enaboapps.switchify.service.menu.structure.MenuStructureHolder
1617
* immediate feedback when finger modes are changed.
1718
*/
1819
class FingerModeMenu(accessibilityService: SwitchifyAccessibilityService) :
19-
BaseMenu(accessibilityService, buildFingerModeMenuItems(accessibilityService)) {
20+
BaseMenu(
21+
accessibilityService,
22+
buildFingerModeMenuItems(accessibilityService),
23+
MenuConstants.MenuIds.FINGER_MODE_MENU
24+
) {
2025

2126
companion object {
2227
private fun buildFingerModeMenuItems(accessibilityService: SwitchifyAccessibilityService): List<MenuItem> {

app/src/main/java/com/enaboapps/switchify/service/menu/menus/gestures/GesturePatternsMenu.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,15 @@ import com.enaboapps.switchify.service.core.SwitchifyAccessibilityService
55
import com.enaboapps.switchify.service.gestures.patterns.store.GesturePatternStore
66
import com.enaboapps.switchify.service.menu.MenuItem
77
import com.enaboapps.switchify.service.menu.menus.BaseMenu
8+
import com.enaboapps.switchify.service.menu.structure.MenuConstants
89

910
class GesturePatternsMenu(
1011
accessibilityService: SwitchifyAccessibilityService
1112
) :
1213
BaseMenu(
1314
accessibilityService,
1415
buildGesturePatternsMenuItems(accessibilityService),
15-
null, // No menuId - this is a dynamic menu
16+
MenuConstants.MenuIds.GESTURE_PATTERNS_MENU,
1617
{ getGesturePatterns(accessibilityService) }
1718
) {
1819

app/src/main/java/com/enaboapps/switchify/service/menu/structure/MenuConstants.kt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ object MenuConstants {
2323
const val MEDIA_CONTROL_MENU = "media_control_menu"
2424
const val EDIT_MENU = "edit_menu"
2525
const val SETTINGS_MENU = "settings_menu"
26+
const val FAVOURITE_APPS_MENU = "favourite_apps_menu"
27+
const val GESTURE_PATTERNS_MENU = "gesture_patterns_menu"
28+
const val FINGER_MODE_MENU = "finger_mode_menu"
2629
}
2730

2831
fun getTitleResource(menuId: String?): Int? = when (menuId) {
@@ -38,6 +41,9 @@ object MenuConstants {
3841
MenuIds.MEDIA_CONTROL_MENU -> R.string.menu_title_media_control
3942
MenuIds.EDIT_MENU -> R.string.menu_title_edit
4043
MenuIds.SETTINGS_MENU -> R.string.menu_title_settings
44+
MenuIds.FAVOURITE_APPS_MENU -> R.string.menu_title_favourite_apps
45+
MenuIds.GESTURE_PATTERNS_MENU -> R.string.gesture_patterns_title
46+
MenuIds.FINGER_MODE_MENU -> R.string.menu_item_finger_mode
4147
else -> null
4248
}
4349

0 commit comments

Comments
 (0)