ERA reports system error for Turkish day/month name when calling toUpper().toCharArray()

Just seen this error in ERA:

Error Name: System Error
Occurrences: 2
First Occurrence: 2020-01-21
Last Occurrence: 2020-01-21
Devices:
    vívoactive® 3: 7.20
App Versions: 0.1.4
Languages: tur
Backtrace:
    myView.useUnsupportedFieldFont:619
    myView.gfxOnUpdate:4841
    myView.onUpdate:1579
    myApp.onUpdate:120

It occurs on this line:

        var sArray = s.toUpper().toCharArray();

Where s is the day or month name from:

  var dateInfoMedium = gregorian.info(timeNow, Time.FORMAT_MEDIUM);

I'm assuming this should all work in the Turkish language?

Is this the sort of thing that Garmin automatically pick up from their own ERA reports and will fix at some point?

  • I just tried Turkish on my watch and can confirm it also crashed - so it will be "Tue" or "Jan", whatever that is in Turkish Slight smile

  • So the Turkish for "Tue" is "Salı" and it seems to be the last character of that word causing the problem.

    First I noticed that character (in lowercase as it is) will not even display on my Fenix 5X+ in the simulator (But does for other watches like the Vivo 3 and Fenix 6)

    Second both "Salı".toUpper() and "Salı".toCharArray() work fine.

    It is just "Salı".toUpper().toCharArray() that does not work Slight smile

    So it is a problem just with the uppercase version of that character!

    I'll try and implement a workaround just for Turkish, and not allow the day or date names to be displayed in uppercase for now ...