- A Descriptive Title:
- Simulator does not consider jungles of the target app when System.exitTo() is used to open it
- Simulator does not consider jungles of the target app when System.exitTo() is used to open it
- The Environment:
- CIQ SDK 3.0.8
- CIQ SDK 3.0.8
- A detailed description of the issue
- Simulator does not consider jungles of the target app when System.exitTo() is used to open it. So things like "excludeAnnotations" are not correctly handled.
- Simulator does not consider jungles of the target app when System.exitTo() is used to open it. So things like "excludeAnnotations" are not correctly handled.
- Steps to reproduce the issue
- Create two new projects: an app which will be the caller (IntentBug_Caller) and an app which will be the target (IntentBug_Target).
- Both apps should support ONLY the Fenix 5, the Vivoactive 3 and the Vivoactive HR
- Modify the files as indicated below.
- Run the apps separately on any of these devices and you will understand the issue. (run the target app first, so it gets installed)
- Create two new projects: an app which will be the caller (IntentBug_Caller) and an app which will be the target (IntentBug_Target).
- A code sample that can reproduce the issue:
monkey.jungle (of the target)
project.manifest = manifest.xml
vivoactive_hr.excludeAnnotations = i_am_a_fenix5;i_am_a_vivoactive3
vivoactive3.excludeAnnotations = i_am_a_vivoactive_hr;i_am_a_fenix5
fenix5.excludeAnnotations = i_am_a_vivoactive_hr;i_am_a_vivoactive3
IntentBug_TargetView.mc
using Toybox.WatchUi;
using Toybox.Graphics as Gfx;
class IntentBug_TargetView extends WatchUi.View {
function initialize() {
View.initialize();
}
function onLayout(dc){}
function onShow(){}
function onHide(){}
function onUpdate(dc) {
View.onUpdate(dc);
var whichCodesDoIHave = "I own these functions:";
if (IntentBug_TargetView has :vivoactivehr_code){
whichCodesDoIHave += "\n vivoactivehr_code";
}
if (IntentBug_TargetView has :vivoactive3_code){
whichCodesDoIHave += "\n vivoactive3_code";
}
if (IntentBug_TargetView has :fenix5_code){
whichCodesDoIHave += "\n fenix5_code";
}
dc.setColor(Gfx.COLOR_BLACK, Gfx.COLOR_BLACK);
dc.clear();
dc.setColor(Gfx.COLOR_WHITE, Gfx.COLOR_BLACK);
dc.drawText(dc.getWidth()/2, dc.getHeight()/2, Gfx.FONT_SMALL, whichCodesDoIHave, Gfx.TEXT_JUSTIFY_CENTER|Gfx.TEXT_JUSTIFY_VCENTER);
}
(:i_am_a_vivoactive_hr) function vivoactivehr_code(){
}
(:i_am_a_vivoactive3) function vivoactive3_code(){
}
(:i_am_a_fenix5) function fenix5_code(){
}
}
IntentBug_CallerView.mc
using Toybox.WatchUi;
using Toybox.System as Sys;
class IntentBug_CallerView extends WatchUi.View {
function initialize() {
View.initialize();
}
function onLayout(dc){}
function onShow(){}
function onHide(){}
function onUpdate(dc) {
View.onUpdate(dc);
// Just call the target app (using the correct manifest-id):
Sys.exitTo(new Sys.Intent("manifest-id://fb4da7ad-d875-4c74-824d-45a4a316e57b", {"dummy" => "dummy"}));
}
}