Stop showing long names for local timezones when it is ambiguous
Context: Android uses a hand-crafted list for timezones to pick from in Settings. Independently of what we actually show the user, when a user is selecting their timezone they are selecting an olson timezone ID. Separate olson ids exist for a sets of zone rules. If two places have differed in their zone rules in the past they have different olson ids. Olson Ids are usually named after cities and have "exemplar locations", e.g. "Europe/London" covers the UK and the exemplar location is "London". Exemplar locations were often chosen based on historic considerations and do not necessarily make sense to contemporary users. Normal Android users don't know or care about any of this, but they do understand geography/cities and sometimes understand things like timezone names like "British Summer Time" (but usually not in other countries). Unfortunately timezone names understood by users also don't have a one-to-one mapping with olson IDs. Two places can have the same timezone name for part of the year but not the rest. For example, all of a the country Foo may be using "Foo Standard Time" for part of the year, but in summer some parts of the country may switch to "Foo Summer Time" while others stay on "Foo Standard Time". These would have different Olson Ids. Also, two places that historically differed in their choice of timezone rules may have since aligned. e.g. parts of Europe. They still have their own olson ids. The Android hand-crafted list is (I assume) based on a set of compromises to provide reasonable coverage of users' needs without overwhelming them with too many choices for historic irrelevancies. To assist with picking a timezone that makes sense to a user, Android currently does the following: When selecting a timezone: For "local" timezones Android shows the timezone "long name". e.g. "British Summer Time", "Eastern Standard Time". For non-local timezones Android uses the exemplar location (e.g. the city). This had an issue: Some "local" timezones, e.g. Australia for English (Australian), would show multiple entries for the same long timezone name without any way of telling them apart. After this change: This change means that settings now uses the exemplar location in preference when the Android display strings would be ambiguous. For countries where there is no ambiguity (e.g. the UK) Android continues to use the timezone long name. Bug: 19058953 Bug: https://code.google.com/p/android-developer-preview/issues/detail?id=2132 Change-Id: I01651f2416f500652bd2bcf447d056efd4fd3598
Loading
Please register or sign in to comment