Acknowledged
CIQQA-3113

bug: swipe right on the left side of the screen triggers onKey(KEY_ESC)

I noticed this with my app in simulator (fr955, SDK 8.1.1), and then I checked it with the Input sample and it also reproduces it, so it's clearly a bug both in the simulator and even on real devices (tested on real fr965). A similar bug was already reported 4 years ago: https://forums.garmin.com/developer/connect-iq/i/bug-reports/vivoactive-4s-swipe-identified-as-a-key-pressed

To reproduce:

- run the Input sample from the SDK on fr955 in the simulator.

- swipe right in a way that you touch in the middle or the right side of the screen => correctly, only swipe event is triggered

- swipe right touching in the left side of the screen => onKey(KEY_ESC) is triggered (It's not clear when this happens, in the Input sample it looks like sometimes this only happens every 2nd time you swipe on the left side of the screen)

Parents
  • > this is by design

    Then based on all the arguments made previously, it's not a good design. Specifically I see 2 problems with InputDelegate/BehaviorDelegate:

    A] Swipe right [starting from the left side] triggers both onBack[] [good] and KEY_ESC [bad!]

    [speaking of sim differences: in the sim KEY_ESC is only triggered sometimes, but on a real device, KEY_ESC is always triggered]

    B] Swipe right [starting from anywhere but the left side] triggers onBack [bad]

    Why this is a problem:

    1] it doesn't match the behaviour on a real device. See 3] and 4] below, for example

    2] it makes it hard [or impossible] for devs to ignore touches

    3] it makes it hard [or impossible] for devs to implement device apps which use the BACK key to take a lap [just like a real device], but who also wish to *not* use a right swipe to take a lap. Note that no real device uses a right swipe to take a lap

    4] It doesn't match the behaviour of Menu2 [within a CIQ app]. In Menu2, swipe right from the left side triggers onBack [good], and swipe right from anywhere else does not trigger onBack [also good]. Menu2 works just like the native menus [which is a good thing]

    5] It makes it hard [or impossible] for devs to implement a view where a chart can be panned with left and right swipes [just like the charts in native glances]

    It just results in a user experience which is limited and inconsistent with the native device [and within CIQ itself - e.g. Menu2].

Comment
  • > this is by design

    Then based on all the arguments made previously, it's not a good design. Specifically I see 2 problems with InputDelegate/BehaviorDelegate:

    A] Swipe right [starting from the left side] triggers both onBack[] [good] and KEY_ESC [bad!]

    [speaking of sim differences: in the sim KEY_ESC is only triggered sometimes, but on a real device, KEY_ESC is always triggered]

    B] Swipe right [starting from anywhere but the left side] triggers onBack [bad]

    Why this is a problem:

    1] it doesn't match the behaviour on a real device. See 3] and 4] below, for example

    2] it makes it hard [or impossible] for devs to ignore touches

    3] it makes it hard [or impossible] for devs to implement device apps which use the BACK key to take a lap [just like a real device], but who also wish to *not* use a right swipe to take a lap. Note that no real device uses a right swipe to take a lap

    4] It doesn't match the behaviour of Menu2 [within a CIQ app]. In Menu2, swipe right from the left side triggers onBack [good], and swipe right from anywhere else does not trigger onBack [also good]. Menu2 works just like the native menus [which is a good thing]

    5] It makes it hard [or impossible] for devs to implement a view where a chart can be panned with left and right swipes [just like the charts in native glances]

    It just results in a user experience which is limited and inconsistent with the native device [and within CIQ itself - e.g. Menu2].

Children
No Data