BUG 描述:
客户反馈网络时间同步慢
BUG 产生原因:
访问原生NTP服务慢常获取不到时间
动作/解决方案:
增加访问多组NTP服务器获取时间,调整访问间隔。
--- a/android/frameworks/base/core/java/android/util/NtpTrustedTime.java
+++ b/android/frameworks/base/core/java/android/util/NtpTrustedTime.java
@@ -42,6 +42,13 @@ public class NtpTrustedTime implements TrustedTime {
private final String mServer;
private final long mTimeout;
+ //NTP server, added by fan, 2019.8.7
+ private final String mBServer1 = "ntp1.aliyun.com";
+ private final String mBServer2 = "cn.pool.ntp.org";
+ private final String mBServer3 = "cn.ntp.org.cn";
+ private final String mBServer4 = "ntp6.aliyun.com";
+ //end.
+
private ConnectivityManager mCM;
private boolean mHasCache;
@@ -101,7 +108,13 @@ 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)) {
+
+ //NTP server, added by fan, 2019.8.7
+ if (client.requestTime(mServer, (int) mTimeout) ||
+ client.requestTime(mBServer1, (int) mTimeout) ||
+ client.requestTime(mBServer2, (int) mTimeout) ||
+ client.requestTime(mBServer3, (int) mTimeout) ||
+ client.requestTime(mBServer4, (int) mTimeout)) {
mHasCache = true;
mCachedNtpTime = client.getNtpTime();
mCachedNtpElapsedRealtime = client.getNtpTimeReference();
@@ -110,6 +123,7 @@ public class NtpTrustedTime implements TrustedTime {
} else {
return false;
}
+ //end.
}
--- a/android/frameworks/base/core/res/res/values/config.xml
+++ b/android/frameworks/base/core/res/res/values/config.xml
@@ -1597,11 +1597,15 @@
<string translatable="false" name="config_ntpServer">2.android.pool.ntp.org</string>
<!-- Normal polling frequency in milliseconds -->
<integer name="config_ntpPollingInterval">86400000</integer>
+
+ <!-- NTP server, added by fan, 2019.8.7-->
<!-- Try-again polling interval in milliseconds, in case the network request failed -->
- <integer name="config_ntpPollingIntervalShorter">60000</integer>
+ <integer name="config_ntpPollingIntervalShorter">10000</integer>
<!-- Number of times to try again with the shorter interval, before backing
off until the normal polling interval. A value < 0 indicates infinite. -->
- <integer name="config_ntpRetry">3</integer>
+ <integer name="config_ntpRetry">30</integer>
+ <!--end.-->