Acknowledged
over 1 year ago

excludeAnnotations stopped working as documented in new SDKs

An excludeAnnotations clause started to return errors for the pattern in the official doc that used to work for years. 

function setLayoutVars(){
	if(dataLoading){
		scheduleDataLoading(activity);
		...
	}
	...
}

(:data)
function scheduleDataLoading(activity){	
	...
}

monkey.jungle excludes that function for some devices:

fenix3.excludeAnnotations = data

Those devices never call that function thanks to the dataLoading var.

It worked perfectly for years.

Yet with the latest SDK version (I skipped multiple versions), the raises an error:

> monkeyc -r -o late.prg -y [path2devkey] -f ../monkey.jungle -d fenix3 --typecheck 0

ERROR: fenix3: ./source/lateView.mlc:x,y: Undefined symbol ':scheduleDataLoading' detected

The documentation guides to such usage with conditinal launching excluded symbols even in an example of the excludeAnnotations with conditional launching of (:newer)newHotnessAlgorithm(){} vs. (:older)oldAndBustedAlgorithm(){} annotations

https://developer.garmin.com/connect-iq/reference-guides/jungle-reference/


What's the problem?

Is there any new compiler setting for that? 

Parents
  • Thanks. I finally did exactly that solution and it works. 

    Then Garmin guys should update the doc where the example suggests something that the compiler does not allow now.

    Or better they should fix this half-baked change, so devs need not todo such unnecessary workarounds with an impact to the memory footprint, that is already quite tight. 

    Thank you took a time to suggest the solution. 

Comment
  • Thanks. I finally did exactly that solution and it works. 

    Then Garmin guys should update the doc where the example suggests something that the compiler does not allow now.

    Or better they should fix this half-baked change, so devs need not todo such unnecessary workarounds with an impact to the memory footprint, that is already quite tight. 

    Thank you took a time to suggest the solution. 

Children
No Data