Acknowledged
CIQQA-3915

ActionMenu not closing after selection on touch-based watches (simulator)

I observed the following issue in the simulator on touch-based watches:

  • When using an ActionMenu

  • and selecting an option in the ActionMenu, the delegate's onSelect() is called, but the action menu is not closed.

  • Selecting the same option again does not trigger onSelect() anymore.

  • When pressing the back button, the delegate's onBack() is not called. Instead, the app crashes with a Null Reference Error.

The ActionMenu is opened from the onSelect() handler of a CustomMenuItem, i.e. the user selects the menu item in a CustomMenu, which then opens the ActionMenu.

This occurred on all touch-based watches I tested: Vivoactive 6, Venu 2 Square, Venu 4, and Venu X1. I do not have a physical device, so I cannot tell whether this also happens on real devices or if it is a simulator issue.

Here is the source code used to reproduce the issue:

https://github.com/openhab/openhab-garmin/releases/tag/Issue-%23296

/source/main/user-interface/features/sitemap/shared/CommandMenuHandler.mc opens the ActionMenu.

/source/main/user-interface/features/sitemap/shared/CommandActionMenuDelegate.mc implements the input delegate.

Note that onBack() is currently commented out, since I normally do not need it. I only added it temporarily while debugging this issue.

  • but Fenix-8 series failed in the Sim and as we all don't have massive range of physical hardware to test on I went safe

    That is interesting. I was wrong in assuming that only touch-based devices are affected. I can also reproduce the issue in the simulator on various Fenix models, but only when using touch input.

    If I use the buttons to confirm the selection in the ActionMenu, it works correctly. If I use touch input, the issue occurs.

    In the simulator this also happens on the Epix Pro Gen 2, but it does not occur on my physical watch.

    So I would cautiously and optimistically assume that this is only a simulator issue.

  • >> Have you seen these issues only in the simulator, or also on real devices?

    I saw in the Sim so changed code before deploying as my FR255 was OK both IRL and in Sim (I think... will have to go back and test again) ... but Fenix-8 series failed in the Sim and as we all don't have massive range of physical hardware to test on I went safe

  • Ah, thanks for confirming this - I was getting similar uncatchable errors on ActionMenu 2nd time opening,

    Have you seen these issues only in the simulator, or also on real devices?

  • Ah, thanks for confirming this - I was getting similar uncatchable errors on ActionMenu 2nd time opening, I changed them all to Menu2 for stability but is obviously less UI consistent

  • You try doing a popView at the end of your onSelect code?

    I tried this and it does close the action menu, but it also pops the underlying view from which the action menu was opened.

    What actually works is calling switchToView with the underlying view. This closes the action menu and returns to the underlying view.

    I have reached out to a user who has a Venu 2 to check whether the issue also occurs on a real device. If it does, I will implement switching back to the underlying view as a workaround.