diff options
author | dianlujitao <dianlujitao@lineageos.org> | 2018-02-08 21:48:44 +0800 |
---|---|---|
committer | Luca Stefani <luca.stefani.ge1@gmail.com> | 2019-12-01 13:41:15 +0100 |
commit | 2ddc752d59f0b1973da2e461a52910413b7897d3 (patch) | |
tree | fbb88c75fb87f902225ddef2b32ad918a3164a7d | |
parent | 9bd85f320e32e46853af5c57e3c889a7a95a869b (diff) | |
download | android_frameworks_base-2ddc752d59f0b1973da2e461a52910413b7897d3.tar.gz android_frameworks_base-2ddc752d59f0b1973da2e461a52910413b7897d3.tar.bz2 android_frameworks_base-2ddc752d59f0b1973da2e461a52910413b7897d3.zip |
NtpTrustedTime: Refresh NTP server from resources before requesting time
* NtpTrustedTime initialized before carrier/country specific resources
got loaded, so generally the default NTP server is always in use.
* Always fetch NTP server from resources unless secure NTP server is
set to ensure that carrier/country specific customization works.
Change-Id: I9b09680ea5640c35660d1cd0b910af22af930144
-rw-r--r-- | core/java/android/util/NtpTrustedTime.java | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/core/java/android/util/NtpTrustedTime.java b/core/java/android/util/NtpTrustedTime.java index da566c934ef..5734f2260c2 100644 --- a/core/java/android/util/NtpTrustedTime.java +++ b/core/java/android/util/NtpTrustedTime.java @@ -1,5 +1,6 @@ /* * Copyright (C) 2011 The Android Open Source Project + * Copyright (C) 2018 The LineageOS Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -63,17 +64,14 @@ public class NtpTrustedTime implements TrustedTime { final Resources res = context.getResources(); final ContentResolver resolver = context.getContentResolver(); - final String defaultServer = res.getString( - com.android.internal.R.string.config_ntpServer); final long defaultTimeout = res.getInteger( com.android.internal.R.integer.config_ntpTimeout); - final String secureServer = Settings.Global.getString( + final String server = Settings.Global.getString( resolver, Settings.Global.NTP_SERVER); final long timeout = Settings.Global.getLong( resolver, Settings.Global.NTP_TIMEOUT, defaultTimeout); - final String server = secureServer != null ? secureServer : defaultServer; sSingleton = new NtpTrustedTime(server, timeout); sContext = context; } @@ -96,10 +94,8 @@ public class NtpTrustedTime implements TrustedTime { } public boolean forceRefresh(Network network) { - if (TextUtils.isEmpty(mServer)) { - // missing server, so no trusted time available - return false; - } + final String realServer = TextUtils.isEmpty(mServer) ? sContext.getResources().getString( + com.android.internal.R.string.config_ntpServer) : mServer; // We can't do this at initialization time: ConnectivityService might not be running yet. synchronized (this) { @@ -117,7 +113,7 @@ public class NtpTrustedTime implements TrustedTime { if (LOGD) Log.d(TAG, "forceRefresh() from cache miss"); final SntpClient client = new SntpClient(); - if (client.requestTime(mServer, (int) mTimeout, network)) { + if (client.requestTime(realServer, (int) mTimeout, network)) { mHasCache = true; mCachedNtpTime = client.getNtpTime(); mCachedNtpElapsedRealtime = client.getNtpTimeReference(); |