Showing part number?

Is there an easy way for a user to get the part number of the device?

Why do I ask?

Because a 235 user is saying the layout of my watchface looks like it's for a square watch. I do this (snippet follows)

var part = Sys.getDeviceSettings().partNumber;
if(part.equals("006-B2156-00") or part.equals("006-B2431-00") or part.equals("006-B2157-00"))

Set a flag accordingly and layout the watch face depending on the value of the flag. This works 100% in the simulator and for MANY MANY other users of the 230,235,630,D2,Fenix,Fenix HR,VA,Epix,920.

The only thing I can think of is that this users particular 235 device isn't returning 006-B2431-00.

This maybe a clue : "I'm using 235 with SW version 3.30 (Thai version)". Does the thai version return a different value?

I could write a little app that simply shows the part but is there another way? Ta.
  • Former Member
    Former Member
    World wide and APAC watches will return different part numbers. You can look at all the part number entries in the devices.xml file listed under a specific device ID entry. In this case these are the part number entries for the 235:

    <part_numbers>
    <part_number number="006-B2431-00" firmwareVersion="310">
    <languages>
    <language font_set="ww">hrv</language>
    <language font_set="ww">ces</language>
    <language font_set="ww">dan</language>
    <language font_set="ww">dut</language>
    <language font_set="ww">eng</language>
    <language font_set="ww">fin</language>
    <language font_set="ww">fre</language>
    <language font_set="ww">deu</language>
    <language font_set="ww">gre</language>
    <language font_set="ww">hun</language>
    <language font_set="ww">ita</language>
    <language font_set="ww">nob</language>
    <language font_set="ww">pol</language>
    <language font_set="ww">por</language>
    <language font_set="ww">rus</language>
    <language font_set="ww">slo</language>
    <language font_set="ww">slv</language>
    <language font_set="ww">spa</language>
    <language font_set="ww">swe</language>
    </languages>
    </part_number>
    <part_number number="006-B2396-00" firmwareVersion="310">
    <languages>
    <language font_set="ww">eng</language>
    <language font_set="ww">ind</language>
    <language font_set="apac_chn">zhs</language>
    <language font_set="apac_twn">zht</language>
    <language font_set="apac_tha">tha</language>
    </languages>
    </part_number>
    <part_number number="006-B2397-00" firmwareVersion="310">
    <languages>
    <language font_set="ww">eng</language>
    <language font_set="apac_jpn">jpn</language>
    </languages>
    </part_number>
    <part_number number="006-B2516-00" firmwareVersion="310">
    <languages>
    <language font_set="ww">eng</language>
    </languages>
    </part_number>
    </part_numbers>


    Edit: this XML was taken from the 1.2.5 SDK
  • This is the kind of situation where using a resource to indicate the device is probably the best solution. You can create a device-specific resource file for each device model. That will allow your app to work properly for all variants of the device without having to compare device strings. I found that having many device strings in a program consumes a lot of memory.

    Travis
  • You could just use System.deviceSettings().screenShape as an easy way to see what display you're running on, and just worry about device specific stuff on something like "SCREEN_SHAPE_RECTANGLE".
  • you mean something like a model wise template?
    how one could do that?

    model wise font sizing and spacing is driving me mad!

  • This thread is over 6 years old.  Today, look at using Jungles.