How can I find out the number of colors a device supports?

Is there any API which can return the device supported color depth? Or do I have to do it the hard way and see if System.getDeviceSettings().partNumber is in this list to know if it is limited to 14 colors?

displayName deviceId deviceFamily bitsPerPixel partNumbers_0_
_connectIQVersion_
partNumbers_0_
_number_
D2Tm Bravo d2bravo round-218x218 4 1.4.4 006-B2262-00
D2Tm Bravo Titanium d2bravo_titanium round-218x218 4 1.4.4 006-B2547-00
fēnix® 3 / tactix® Bravo / quatix® 3 fenix3 round-218x218 4 1.4.4 006-B2050-00
fēnix® 3 HR fenix3_hr round-218x218 4 1.4.4 006-B2413-00
Forerunner® 230 fr230 semiround-215x180 4 1.4.4 006-B2157-00
Forerunner® 235 fr235 semiround-215x180 4 1.4.4 006-B2431-00
Forerunner® 630 fr630 semiround-215x180 4 1.4.4 006-B2156-00
Forerunner® 920XT fr920xt rectangle-205x148 4 1.4.4 006-B1765-00
Forerunner® 45 fr45 round-208x208 4 1.4.5 006-B3282-00
Garmin SwimTm 2 garminswim2 round-208x208 4 1.4.5 006-B3405-00
Forerunner® 735xt fr735xt semiround-215x180 4 2.4.1 006-B2158-00
Edge® 130 edge130 rectangle-230x303 1 3.1.1 006-B2909-00
Edge® 130 Plus edge130plus rectangle-230x303 1 3.2.0 006-B3558-00
Forerunner® 55 fr55 round-208x208 4 3.2.5 006-B3869-00
DescentTm G1 / G1 Solar descentg1 semioctagon-176x176 1 3.2.7 006-B4005-00
Instinct® 2 / Solar / Dual Power / dēzl Edition instinct2 semioctagon-176x176 1 3.3.4 006-B3888-00
Instinct® 2S / Solar / Dual Power instinct2s semioctagon-163x156 1 3.3.4 006-B3889-00
Instinct® Crossover instinctcrossover semioctagon-176x176 1 3.3.6 006-B4155-00
  • True, I do not expect Garmin to fix it. What I'm asking for, and the point I'm trying to make, is that if everyone has to do this because we're all in the same boat then has anyone come up with a solution outside of Garmin we can all use, or based on the 10,000+ apps in the store there are 10,000+ reinvented wheels? What I'm hearing is "Go and invent your own wheel."

  • It might be that a generally-useful  "easy" solution might be too big. So, even if something like this existed, it might be abandoned fairly quickly to make room memory-limited devices.

    jim_m_58 described the way people generally deal with it.

    Once you go through the pain of setting such a scheme up, it's fairly easy to add new devices.

    Most of the 10,000+ apps don't deal with it at all (my app/widget doesn't).

  • In my case I might be able to safely assume that Garmin won't be making any more 14 color devices, so the existing list is complete. Thus, this might be OK:

    private var _hiColor as Boolean = false;
    var lowColorPN as Array<Number> = [2262, 2547, 2050, 2413, 2157, 2431, 2156, 1765, 3282, 
    			3405, 2158, 2909, 3558, 3869, 4005, 3888, 3889, 4155] as Array<Number>;
    var thisDev = System.getDeviceSettings();
    var pnNum = thisDev.partNumber.substring(5,9).toNumber();
    var pnIdx = _lowColorPN.indexOf(pnNum);
    _hiColor = (pnIdx != null && pnIdx < 0);
    lowColorPN = null;
    

    My frustration is that of all the other information I can get like API version, part number, screen shape, resolution, etc, that color depth got left out. It's the potholes on this road that make me feel like I'm driving around New Orleans again.

  • What you did doesn't seem too hard.

    If one is coming from a more modern/capable environment (like C#), there is code out there to do almost anything and there's not much cost adding it to your product.

    It does seem we won't see new 14 color ones.

    It's the potholes on this road that make me feel like I'm driving around New Orleans again.

    At least there, the music is good!

  • I generate my monkey.jungle with a script that parses compiler.json and simulator.json for these kind of things. If you have python i can send it (it's on GitHub, but I'll need to add some examples and readme)

  • Parsing the json is the easy part, PHP does in with one function. It's the jungle file that I've struggled with in the past. The annotations part just didn't want to work for me. It sure wouldn't hurt to see some working examples, so whatever you feel free to float my way would be appreciated.

  • You can see it here: https://github.com/flocsy/garmin-dev-tools/tree/main/monkey-generator I'll try to add a README in the next few days. You'll need to look for easier example projects to figure out your problems with annotations, this won't really help you, 'cause it's "over complicated"