Acknowledged
CIQQA-3865

CustomMenuItem.isFocused() incorrect on real Edge 850 device

I tried to implement a focus indicator in my CustomMenu. On these devices, CustomMenu already provides a native focus indicator: a frame with rounded inner corners. The frame uses the system background color rather than the background color defined for the CustomMenu, and its color also changes automatically when switching between standard mode (white) and night mode (dark grey).

Based on what I see in the native menus, the intended behavior seems to be that the focused menu item uses a contrasting background color, creating a rounded focus-indicator effect.

To replicate this, I rely on CustomMenuItem.isFocused(). In the simulator, this works as expected. On the real device, however, it behaves incorrectly. Initially when activating focus, isFocused() is stuck on the third item and only starts reporting correctly once I scroll past it. When I scroll back up, isFocused() gets stuck on the current item. It only starts updating again after pressing Up a third time, and then it remains two items below the actual focus, similar to the initial state. 

  • The issue still occurs with SDK 9.1.

  •  any chance of getting this fixed in the near future? It practically renders button-based control of CustomMenu unusable on the Edge 850, and presumably also the Edge 550 (where it is worse, because there is no touch).

  • Here is how the app looks in the simulator.

    On the real device, the second item is focused as well, but the rendering differs: the white rounded focus frame is most likely drawn behind the second item (it’s the one that becomes active when I press Select), but it’s not visible against the white background.

    At the same time, isFocused() returns true for the third item, so that item is rendered with a black background. Because the native focus indicator is actually drawn on a different row, the black background has no rounded edges, and the focus styling ends up split across two different items.