[tz] Morocco time change not working on many Android phones
Neil Fuller
nfuller at google.com
Wed May 27 12:03:40 UTC 2020
To expand on what enh@ said and provide some more context:
One of my responsibilities on Android is the time zone data source-code
updates. I can confirm it's complicated! The short answer is that the
Morocco change didn't give maintainers a lot of time to react. The number
of devices, manufacturers and users involved for Android alone is quite
humbling! Literally billions of devices, millions of users, spread over
thousands of different types of device.
I am a software engineer, so I can provide some technical information
around Android tzdb updates for future reference (see text below my name).
Paul is correct: it is my understanding that the Essential PH-1 device is
using the Google-managed APEX update mechanism.
I hope the information below helps explain what the situation is. As more
devices move to the APEX update mechanism we should continue to see
improvements here. That said, I think four working weeks from tzdb release
to device is always going to be difficult with so many parties and devices
involved.
Neil.
--
Google UK Limited
Registered Office: 6 Pancras Square, London, N1C 4AG
Registered in England Number: 3977902
-------------
The Android OS has two main copies of time zone data: one that is used by
Android's libc (bionic) and its java.util.TimeZone class, and a copy
associated with Android's embedded of International Components for Unicode
libraries (ICU4C and ICU4J). ICU has additional information like
translations for zone names and other time zone metadata that need to be
updated. Both copies are updated when I produce source code updates, though
manufacturers can create their own source code updates if they wish.
We alert partners to source updates for recent releases (currently from
8.0/Oreo up to Android 10) and we make them available to all via the AOSP
project. For example,
https://android-review.googlesource.com/q/topic:%22tzdb2020a_pie-dev%22+(status:open%20OR%20status:merged)
is the Android 9 backport of the tzdb 2020a update.
For many devices (i.e. those before Android 10, the Q3 2019 release) the
device update process is entirely handled by the manufacturer, either via a
full "over the air" (OTA) system image update, via the APK mechanism linked
by Paul, or a proprietary mechanism. All these mechanisms the manufacturer
is responsible for.
For Android 10 devices that support APEX updates, Google now manages the
update via Google Play System Update (internal name Project Mainline
<https://android-developers.googleblog.com/2019/05/fresher-os-with-projects-treble-and-mainline.html>).
For devices that don't, the information for earlier releases is currently
still true. I know the Android Mainline folks handling building / signing /
QA and partner coordination for the Google-managed APEX update have been
working hard to get an APEX update out in time for the Morocco offset
change. For any update there still needs to be a lot of coordination
between Google and the manufacturer partners. Google rolls out updates like
this very carefully. My understanding is that the update was available to
100% of Mainline updatable devices by Friday 22nd May. Yesterday morning
(26th May) I checked my personal Android 10 device (which I know does have
Google-managed APEX updates), and found that it had updated to 2020a, but
it did take a manual reboot by me before that was the case.
On Tue, 26 May 2020 at 16:37, enh via tz <tz at iana.org> wrote:
> On Sun, May 24, 2020 at 11:45 AM Paul Eggert <eggert at cs.ucla.edu> wrote:
> >
> > On 5/24/20 12:51 AM, Semlali Naoufal wrote:
> > > I would like to inform you that the time has been advanced by one hour
> today on Android Smartphones while the time change should not be made until
> 31.05.2020 as already reported.
> > >
> > > Has the patch below been deployed correctly?
> >
> > Yes and no. It depends on your Android phone's support and whether you've
> > updated its software recently and rebooted.
> >
> > Android has a complex relationship with tzdata. According to
> > <https://source.android.com/devices/tech/config/timezone-rules>, time
> zone data
> > is distributed in Android 10 via an Android Pony Express (APEX)
> container and in
> > Android 8.1 and 9 via an Android Package (APK), and updates take effect
> after
> > you reboot your phone. I guess in earlier releases tzdata was just part
> of the
> > operating system. (If Android is like GNU/Linux it has two copies of
> tzdata, one
> > for Java and the other for native apps; if so, I suppose it's possible
> for the
> > two copies to disagree.)
>
> like Linux, no: ART doesn't have its own copy of tzdata.
>
> are there two copies? yes: icu has its own slightly different database
> built from tzdata, in addition the "normal" (it's just all the tzdata
> files concatenated with a small header) tzdata. but they're both in
> the apk or apex.
>
> > So, whether your Android phone works in Morocco right now depends on how
> well
> > your phone's supplier updated its APEX or APX or OS (depending on how
> old the
> > phone is) and whether you've rebooted. I just now checked the Android
> clock
> > application in two recently-rebooted Android phones in my household, and
> one (a
> > Nokia 6.1 running Android 10 - April security patch) had the wrong time
> for
> > Morocco, whereas the other (an Essential PH-1 running Android 10 -
> February
> > security patch) had the correct time.
> >
> > Nokia is pretty good about keeping the Nokia 6.1 up to date, but
> apparently has
> > not issued an APEX container for tzdb 2020a (or maybe has mistakenly
> issued both
> > APEX and APX with an out-of-date APX). Essential went out of business in
> > February so it surprised me that its phone's tzdata is up to date;
> perhaps the
> > APEX updating mechanism is not vendor-specific?
> >
> > I searched online for how this APEX stuff really works and came up
> empty. I
> > don't know how Google broadcasts the latest APEX version for tzdata, or
> why the
> > Essential PH-1's tzdata is up-to-date despite not having OS updates since
> > February. Perhaps someone with some Android expertise could chime in.
>
> apexes, like apks, are updated via the Play Store.
>
> > There are two bottom lines here.
> >
> > 1. Your experience will vary depending on who is maintaining your
> Android phone.
> >
> > 2. The Moroccan government should announce its time zone rules much
> earlier if
> > it wants more of its people's phones to work correctly.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mm.icann.org/pipermail/tz/attachments/20200527/e4478c8f/attachment.htm>
More information about the tz
mailing list