Improve libc time zone fallback behavior.
We should fall back to GMT if neither the environment variable nor the system property is set. This is the case if you wipe a WiFi-only device, because we currently only take the time zone from cell networks. Bug: http://b/24773112 Change-Id: I90d236d4d492b6562d75021bd312030b91c1e298
This commit is contained in:
parent
5780f9d809
commit
d1c28a361b
1 changed files with 6 additions and 1 deletions
|
@ -1316,9 +1316,10 @@ static void
|
|||
tzset_unlocked(void)
|
||||
{
|
||||
#if defined(__ANDROID__)
|
||||
// The TZ environment variable is meant to override the system-wide setting.
|
||||
const char * name = getenv("TZ");
|
||||
|
||||
// Try the "persist.sys.timezone" system property.
|
||||
// If that's not set, look at the "persist.sys.timezone" system property.
|
||||
if (name == NULL) {
|
||||
static const prop_info *pi;
|
||||
|
||||
|
@ -1340,6 +1341,10 @@ tzset_unlocked(void)
|
|||
}
|
||||
}
|
||||
|
||||
// If that's not available (because you're running AOSP on a WiFi-only
|
||||
// device, say), fall back to GMT.
|
||||
if (name == NULL) name = gmt;
|
||||
|
||||
tzsetlcl(name);
|
||||
#else
|
||||
tzsetlcl(getenv("TZ"));
|
||||
|
|
Loading…
Reference in a new issue