Ticket Created
over 4 years ago

ACROPOLIS-2993

Unable to dynamically update Menu2 title - works in sim, not on device

I modded the SDK's Menu2Sample to fire a timer every second which calls both setTitle() and updateItem(), followed by WatchUi.requestUpdate(), to cycle through 3 values for the title and an item sublabel. In the sim, both the title and the item sublabel are updated. For a real 935, only the item sublabel is updated.

The presence of the title as an option in the Menu2 constructor, as well as the availability of a separate setTitle() method, seems to imply that setTitle() should be able to work dynamically. (Otherwise what's the purpose of setTitle()?) Not to mention the fact that it does work dynamically in the sim.

If it's intentional that the title can't be updated dynamically, it would be nice to:

1) Update the docs to make this clear

2) Update the behavior in the sim

It would also be nice if the docs explicitly called out the fact that Menu2.onUpdate can't be overridden due to the fact that it's a native view. (Same with any other views which may have this restriction, such as ProgressBar.)

Sim:

https://ibb.co/qp7vX7Y

FR935:

https://ibb.co/4gkYkJH

Environment:

- Windows 10

- VS Code 1.54.1

- Monkey C extension 0.1.9

- CIQ SDK 3.2.5

- FR935 firmware 21.00

  • Thanks for some sensible comment of this finally  , appreciate that!

    But you see, that is one of the main problems why I am often so negative here. Before your team (CIQ) finally take full responsibility for the CIQ platform, there will always be similar mess. YOUR TEAM must know how the platform should behave on devices, write documentation accordingly and be able to verify this with product teams. Period. There is no excuse to this uncertainty between yours and product teams which bubbles out to the public. In properly working environment if this issue occur and lets say Brad gets such response from product team, he should immediately review this topic internally and not write similar responses to public. And lets not mention how old this functionality already is. 

    How do you think my clients, who want to have their own CIQ apps, can rely on WearSoft when I can't rely on your platform? Ask other B2B devs if you have any... This is not about bug, this is again about your abilities to handle it... 




  • Jan,

    Travis' comments indicate that the product is exhibiting the expected behavior, but when you initially raised this issue, it wasn't clear to my team which was correct. We reported this to the product team after Brad was able to reproduce the issue exactly as you described on devices. Based on the comments from one of the product teams, it looks like they were also unclear about the desired behavior, so they mistakenly claimed they were unable to reproduce the issue using the test app and reproduction steps provided by Brad (even though they actually were reproducing it). As a result, they asked Brad whether you could try with updated firmware since they believed this issue had already be addressed.

    So here's where we're at:

    1. We can confirm there's a difference between the behavior in the simulator and products
    2. We can reproduce the issue on products exactly as you've described
    3. It appears there is work that has been done for another product to allow this behavior, but it depends on additional work in the Connect IQ VM (this may be the change Travis had referred to)

    From here, we'll need to ensure all products make the changes mentioned in #3 for consistent behavior, assuming that's the ultimate goal. We must also confirm that the sim matches new product behavior, and it's probably worth revisiting the API docs to clarify anything accordingly.

  • So is it bug again? SmileyRolling eyes Guys, you must be really smoking something... 

    Explain what exactly you failed to reproduce and where or send us your code used for it. Otherwise I don't believe you even tried, taking into account post from Travis above - under which simply doesn't make sense to write such response. 

  • The device team has been attempting to replicate the issue and cannot seem to find a way to reproduce it. Are you still having issues with this? 

  • Hi Travis, 

    but that is violation against your documentation, isn't it? Why not to mention this limitation there, so user will not have to find it after spending days of development on simulator where it works just fine? 

    These are some of those frustrating moments of CIQ development which I often referring to - when you realise that you can throw away significant development time because it doesn't work "as it should" in the real world.