TL;DR
The confirmation dialog causes an audio application to exit prematurely on a Fenix 7s, but not, for example, on a Forerunner 955. This happens on the device itself, not in the simulator.
Scenario
- As a basis for the test, use the example audio provider app included with SDK. Modify it so that a Confirmation dialog is popped from the ConfigurePlayback view (code is included below).
- Load the test audio app on to a Fenix 7.
- On the watch, select the test audio provider and open up its ConfigurePlayback view.
- Observe the CIQ monkey logo
- Click the ENTER button.
- Observe that the confirmation dialog is successfully presented
- Click the Checkmark icon
Expected Result
Clicking the checkmark should cause the confirmation dialog to complete and we should be returned to ConfigurePlayback view. We should therefore see the CIQ monkey logo after clicking the checkmark.
Observed Result
Clicking the checkmark causes the audio application to exit prematurely and we're returned to the "player" view. This means we don't see the CIQ monkey logo.
Software Versions Affected
Software version 18.14
CIQ: 5.0.1
Comparison to other Devices
If you try this same experiment on a Foreruner 955, you will see the expected results holds true.
Comparison to other types of Applications
If you try this same experiment on a Fenix 7s but instead create a Watch App, not an audio app, the Confirmation works, i.e. it doesn't exit the app.
Planned Mitigation
Creating a custom confirmation view. This will unfortunately mean that it won't be automatically customized to the system.
Example Code
Use the default audio app skeleton app from the SDK and make the following change to the configure playback delegate:
import Toybox.Lang;
import Toybox.WatchUi;
class Fenix7AudioConfirmTestConfigurePlaybackDelegate extends WatchUi.BehaviorDelegate {
function initialize() {
BehaviorDelegate.initialize();
}
function onSelect() as Boolean {
WatchUi.pushView(new Confirmation("Confirm?"), new ConfirmationDelegate(), WatchUi.SLIDE_UP);
return true;
}
}