Ticket Created
over 3 years ago

CIQQA-788

triggering onTemporalEvent works bad

windows, sdk 4.0.6

Now when I choose from simulator's menu background events it simple call onTemporalEvent even there is no such event waiting to handle!

This command should only speed up the call  of onTemporalEvent if I previously called registerForTemporalEvent.

Now I have to write some code to prevent situations that are not possible in reality and of course have to use annotation debug/release (2 functions - and remember about changes in both \) if i want to save memory.

  • You can name it as you want, but should be fixed.

    I know you are very experienced developer so you should report this to Garmin once or you  haven't met my case or  you don't understand my case.

    1. Goal event is good served but goal event is external event.

    2. Temporary event is internal, initiated by developer - the problem is when you have more than one task to do in background.

    Good serving manual temporary event is:

    - simulator temporary event

    - check if background is running and waiting for temporary event and if yes triggering onTemporalEvent  

  • It's not a bug in my eyes.  And I've done many things with a background service over the years.

  • 2. And since I have reported this bug, it means that it is important from a programmer's point of view,

  • 1. It doesn't matter 'how much', bug is bug, things should be done well.

  • How much have you done with a background service?  I don't think what you see is a bug, but actually a feature.  

    With the menu in the sim you can trigger a temporal event at any time, and not have to wait for the registered time for it to run.  You can't do something like it on a real device, as it's something to speed up development,  If you only want the background to run based on the registered time/duration, don't use the menu in the sim.  Also, understand that the registered time is based on when you first register the event, not when you start your app in the sim.

    Real devices are different in other ways, where a background can run multiple time when the main app isn't running.  An example is if you are recording a run, the temporal event will run as scheduled, but the main app doesn't run.  If you are running a CIQ device app, the temporal event won't run at all