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.-->