tree f2b2b699d9b96fc39391b5acae29dc98a0fd081e
parent 73dd066b6d8147d09fdc3aa1c192cc8d6e31f280
author Neil Fuller <nfuller@google.com> 1602523961 +0100
committer Neil Fuller <nfuller@google.com> 1604420772 +0000

RESTRICT AUTOMERGE Update Android from 2020a to 2020b [R]

Update Android from 2020a to 2020b [R]

Notes for Android time zone maintainers:
Like all tzdb updates, the binary files in this commit should not be
patched to other release branches: they are not guaranteed to work.
Also note that there are associated changes in external/icu and often
others that should also be applied.  tzdb updates are incremental
changes: all previous tzdb updates should be applied.  Look for
aosp/<release>-dev changes for backports. If you have a local branch
with ICU changes the ICU .dat file in external/icu will not apply
cleanly.  Instead, make equivalent changes to text files and run
system/timezone/update-tzdata.py.

----------

IANA TZDB 2020b release description:

   Briefly:
     Revised predictions for Morocco's changes starting in 2023.
     Canada's Yukon changes to -07 on 2020-11-01, not 2020-03-08.
     Macquarie Island has stayed in sync with Tasmania since 2011.
     Casey, Antarctica is at +08 in winter and +11 in summer.
     zic no longer supports -y, nor the TYPE field of Rules.

   Changes to future timestamps

     Morocco's spring-forward after Ramadan is now predicted to occur
     no sooner than two days after Ramadan, instead of one day.
     (Thanks to Milamber.)  The first altered prediction is for 2023,
     now predicted to spring-forward on April 30 instead of April 23.

   Changes to past and future timestamps

    Casey Station, Antarctica has been using +08 in winter and +11 in
    summer since 2018.  The most recent transition from +08 to +11 was
    2020-10-04 00:01.  Also, Macquarie Island has been staying in
    sync with Tasmania since 2011.  (Thanks to Steffen Thorsen.)

   Changes to past and future time zone abbreviations and DST flags

     Canada's Yukon, represented by America/Whitehorse and
     America/Dawson, changes its time zone rules from -08/-07 to
     permanent -07 on 2020-11-01, not on 2020-03-08 as 2020a had it.
     This change affects only the time zone abbreviation (MST vs PDT)
     and daylight saving flag for the period between the two dates.
     (Thanks to Andrew G. Smith.)

   Changes to past timestamps

     Correct several transitions for Hungary for 1918/1983.
     For example, the 1983-09-25 fall-back was at 01:00, not 03:00.
     (Thanks to Géza Nyáry.)  Also, the 1890 transition to standard
     time was on 11-01, not 10-01 (thanks to Michael Deckers).

     The 1891 French transition was on March 16, not March 15.  The
     1911-03-11 French transition was at midnight, not a minute later.
     Monaco's transitions were on 1892-06-01 and 1911-03-29, not
     1891-03-15 and 1911-03-11.  (Thanks to Michael Deckers.)

Bug: 170712024
Test: Ran CtsLibcoreTestCases, CtsLibcoreOjTestCases, CtsBionicTestCases
Test: CtsIcuTestCases
Change-Id: Ia0b3d3a2de87e44ee03f6bd264f6120a63f9dfc4
Merged-In: Ia0b3d3a2de87e44ee03f6bd264f6120a63f9dfc4
(cherry picked from commit 633367f239e20d5eb52f6a33e4e937012146d554)
