summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordianlujitao <dianlujitao@lineageos.org>2018-02-08 21:48:44 +0800
committerLuca Stefani <luca.stefani.ge1@gmail.com>2019-12-01 13:41:15 +0100
commit2ddc752d59f0b1973da2e461a52910413b7897d3 (patch)
treefbb88c75fb87f902225ddef2b32ad918a3164a7d
parent9bd85f320e32e46853af5c57e3c889a7a95a869b (diff)
downloadandroid_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.java14
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();