181282f9128922e72b0b7091a1ffe54d23e0a896 |
|
28-Mar-2018 |
Neil Fuller <nfuller@google.com> |
Remove more zones by improving algorithm The zone tree algorithm that is used to generate tzlookup.xml was not eliminating zones that have a long period of no-DST until the specified end time. This change improves the algorithm and thereby will reduce the number of (unnecessarily) selectable zones in the new time zone picker. This is a desirable change. The new picker removes some zones that were present in the old picker (not all removed as part of this change). These are: (br) America/Recife - Bahia used instead, and Fortaleza also has a higher priority. Bahia as been the same as Recife since 2012-02-26T02:00:00Z and has a much larger population. Fortaleza has been the same as Recife since 2000-10-22T02:00:00Z and has a higher city population (but not if the area is expanded to the state). (ru) Asia/Yakutsk - Chita used instead. Has been the same as Yakutsk since 2016-03-26T18:00:00Z, Chita has a larger population. (au) Australia/Hobart - Sydney is available instead, and they have been the same since 2007-10-27T16:00:00Z This change removes the following zones from the new picker that were previously visible only in the new picker: (ar) America/Argentina/Mendoza - Same as America/Argentina/Buenos_Aires since 2009-03-15T02:00:00Z (au) Australia/Lindeman - Same a Brisbane since 1994-03-05T16:00:00Z (br) America/Belem - Same as America/Fortaleza since 2002-02-17T02:00:00Z (br) America/Fortaleza - Same as America/Bahia since 2012-02-26T02:00:00Z (br) America/Araguaina - Same as America/Bahia since 2013-02-17T02:00:00Z (br) America/Santarem - Same as America/Fortaleza since 2008-06-24T04:00:00Z (br) America/Porto_Velho - Same as America/Manaus since 1994-02-20T03:00:00Z (br) America/Boa_Vista - Same as America/Manaus since 2000-10-15T03:00:00Z (ca) America/Swift_Current - Same as America/Regina since 1972-04-30T09:00:00Z (ca) America/Creston - Same as America/Dawson_Creek since 1972-08-30T09:00:00Z (ca) America/Fort_Nelson - Same as America/Dawson_Creek since 2015-03-08T10:00:00Z (id) Asia/Pontianak - Same as Asia/Jakarta since 1987-12-31T16:00:00Z (kz) Asia/Qyzylorda - Same as Asia/Almaty since 2004-10-30T21:00:00Z (mh) Pacific/Kwajalein - Same as Pacific/Majuro since 1993-08-20T12:00:00Z (my) Asia/Kuching - Same as Asia/Kuala_Lumpur since 1981-12-31T16:30:00Z (ru) Asia/Yakutsk - Same as Asia/Chita since 2016-03-26T18:00:00Z (ru) Asia/Novokuznetsk - Same as Asia/Krasnoyarsk since 2016-03-26T20:00:00Z (ru) Asia/Tomsk - Same as Asia/Barnaul since 2016-05-28T20:00:00Z (ru) Europe/Ulyanovsk - Same as Europe/Saratov since 2016-12-03T23:00:00Z Other changes exist to "notafter" times but these should have no effect on the new picker since they are all in the past. Bug: 77227594 Test: Ran tzlookup_generator tests Test: Visual inspection in the picker Merged-In: I0d2f32ae8c7cbb8e604962096b905940d27af414 Change-Id: I0d2f32ae8c7cbb8e604962096b905940d27af414 (cherry picked from commit 5f05dc20eba62dced6bdac5bac75ecaa60263b7b)
/system/timezone/tzlookup_generator/src/main/java/com/android/libcore/timezone/tzlookup/zonetree/ZoneOffsetPeriod.java
|
ffc430367ab3e24195476dc6499ea939b67d31f6 |
|
19-Mar-2018 |
Neil Fuller <nfuller@google.com> |
Tests and tidy up for the zonetrees code Some logic has been tidied up, methods renamed and responsibilities moved to enable easier testing. The tests revealed a bug that caused the first time zone transition after 1970 to be skipped so this has been fixed and the tzlookup.xml file regenerated with update-tzdata.py. Bug: 72142943 Test: ran all tests, see tzlookup_generator/README.android Test: ran update-tzdata.py and looked at tzlookup.xml Merged-In: Ia344cee9fe19628d798c055d01c776a5f8e0e272 Change-Id: Ia344cee9fe19628d798c055d01c776a5f8e0e272 (cherry picked from commit 0d8c2e75de6c30a5aa899b2c21f3e7cf9f1d2397)
/system/timezone/tzlookup_generator/src/main/java/com/android/libcore/timezone/tzlookup/zonetree/ZoneOffsetPeriod.java
|
1926bcbbf6843851f313c88c09f495b25bfacab0 |
|
09-Mar-2018 |
Neil Fuller <nfuller@google.com> |
Annotating zones that are not strictly necessary. This change adds a host-side code to help reduce the number of zones considered for a new time zone picker. The TzLookupGenerator will now output additional "notafter" attributes for zones that do not need to be considered after a point in time. The tool relies on data from ICU to establish zone rules / naming information and the priority information held in countryzones.txt. When two or more zones are effectively identical for a period the priority is used to decide which zone should carry forward and which zone should have "notafter" added. Also included is a tool (UniqueZonesVisualizer) to help debugging problems with zone prioritization with tools like "dot". This change contains an integration test for TzLookupGenerator. zonetree classes are currently lacking unit tests. This will be resolved in a follow up commit when time allows. Bug: 72142943 Test: Visual inspection of tzlookup.xml Test: Ran tzlookup_generator/ tests, see README.android Change-Id: I37568bc923bcaadb8b1305eec5dc1fea2ae3012b Merged-In: I37568bc923bcaadb8b1305eec5dc1fea2ae3012b (cherry picked from commit 73638ad4eebd581d3b96c7f6a7e0fad2e23bae7d)
/system/timezone/tzlookup_generator/src/main/java/com/android/libcore/timezone/tzlookup/zonetree/ZoneOffsetPeriod.java
|