summaryrefslogtreecommitdiff
path: root/core/java/android/util
diff options
context:
space:
mode:
authorRemi NGUYEN VAN <reminv@google.com>2018-05-18 01:44:44 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2018-05-18 01:44:44 +0000
commit646dfc77039404a52e51d44df78fc819cfb263dd (patch)
treee679d255e6410a86fa041c7f9fea94b61b90647b /core/java/android/util
parent71c11daaf581679fa419c7343d0c14b612af6197 (diff)
parent6657d42602a25264ccbf70ce2eb36f3974518139 (diff)
Merge changes Ieb0a5d24,I44df6668
* changes: Fix SntpClientTest failures with no active network Allow specifying a network for SNTP time sync
Diffstat (limited to 'core/java/android/util')
-rw-r--r--core/java/android/util/NtpTrustedTime.java19
1 files changed, 16 insertions, 3 deletions
diff --git a/core/java/android/util/NtpTrustedTime.java b/core/java/android/util/NtpTrustedTime.java
index ed2d3c60fcd0..30d7b6c0786c 100644
--- a/core/java/android/util/NtpTrustedTime.java
+++ b/core/java/android/util/NtpTrustedTime.java
@@ -20,6 +20,7 @@ import android.content.ContentResolver;
import android.content.Context;
import android.content.res.Resources;
import android.net.ConnectivityManager;
+import android.net.Network;
import android.net.NetworkInfo;
import android.net.SntpClient;
import android.os.SystemClock;
@@ -80,6 +81,18 @@ public class NtpTrustedTime implements TrustedTime {
@Override
public boolean forceRefresh() {
+ // We can't do this at initialization time: ConnectivityService might not be running yet.
+ synchronized (this) {
+ if (mCM == null) {
+ mCM = sContext.getSystemService(ConnectivityManager.class);
+ }
+ }
+
+ final Network network = mCM == null ? null : mCM.getActiveNetwork();
+ return forceRefresh(network);
+ }
+
+ public boolean forceRefresh(Network network) {
if (TextUtils.isEmpty(mServer)) {
// missing server, so no trusted time available
return false;
@@ -88,11 +101,11 @@ public class NtpTrustedTime implements TrustedTime {
// We can't do this at initialization time: ConnectivityService might not be running yet.
synchronized (this) {
if (mCM == null) {
- mCM = (ConnectivityManager) sContext.getSystemService(Context.CONNECTIVITY_SERVICE);
+ mCM = sContext.getSystemService(ConnectivityManager.class);
}
}
- final NetworkInfo ni = mCM == null ? null : mCM.getActiveNetworkInfo();
+ final NetworkInfo ni = mCM == null ? null : mCM.getNetworkInfo(network);
if (ni == null || !ni.isConnected()) {
if (LOGD) Log.d(TAG, "forceRefresh: no connectivity");
return false;
@@ -101,7 +114,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)) {
+ if (client.requestTime(mServer, (int) mTimeout, network)) {
mHasCache = true;
mCachedNtpTime = client.getNtpTime();
mCachedNtpElapsedRealtime = client.getNtpTimeReference();