On first boot and NTP lookup, set the time even if it's not off by 5+ secs.
This enables SetupWizard to get an ACTION_TIME_CHANGED event. Bug: 6432127 Change-Id: I42b8d6672372dc1aa4aa43128b5d801875ccf057
This commit is contained in:
@@ -165,9 +165,15 @@ public class NetworkTimeUpdateService {
|
||||
if (mTime.getCacheAge() < POLLING_INTERVAL_MS) {
|
||||
final long ntp = mTime.currentTimeMillis();
|
||||
mTryAgainCounter = 0;
|
||||
mLastNtpFetchTime = SystemClock.elapsedRealtime();
|
||||
if (Math.abs(ntp - currentTime) > TIME_ERROR_THRESHOLD_MS) {
|
||||
// If the clock is more than N seconds off or this is the first time it's been
|
||||
// fetched since boot, set the current time.
|
||||
if (Math.abs(ntp - currentTime) > TIME_ERROR_THRESHOLD_MS
|
||||
|| mLastNtpFetchTime == NOT_SET) {
|
||||
// Set the system time
|
||||
if (DBG && mLastNtpFetchTime == NOT_SET
|
||||
&& Math.abs(ntp - currentTime) <= TIME_ERROR_THRESHOLD_MS) {
|
||||
Log.d(TAG, "For initial setup, rtc = " + currentTime);
|
||||
}
|
||||
if (DBG) Log.d(TAG, "Ntp time to be set = " + ntp);
|
||||
// Make sure we don't overflow, since it's going to be converted to an int
|
||||
if (ntp / 1000 < Integer.MAX_VALUE) {
|
||||
@@ -176,6 +182,7 @@ public class NetworkTimeUpdateService {
|
||||
} else {
|
||||
if (DBG) Log.d(TAG, "Ntp time is close enough = " + ntp);
|
||||
}
|
||||
mLastNtpFetchTime = SystemClock.elapsedRealtime();
|
||||
} else {
|
||||
// Try again shortly
|
||||
mTryAgainCounter++;
|
||||
|
||||
Reference in New Issue
Block a user