diff options
| author | Amith Yamasani <yamasani@google.com> | 2012-05-02 11:50:31 -0700 |
|---|---|---|
| committer | Amith Yamasani <yamasani@google.com> | 2012-05-02 16:16:56 -0700 |
| commit | 708d5d444bd47db96a47cf5153bdfb8b0f3b975b (patch) | |
| tree | 57be67254df397729412de80234cd8500b9c1205 /services/java/com/android/server/NetworkTimeUpdateService.java | |
| parent | ad759f958a8bd87982b3f34d8424d1ac69c20342 (diff) | |
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
Diffstat (limited to 'services/java/com/android/server/NetworkTimeUpdateService.java')
| -rw-r--r-- | services/java/com/android/server/NetworkTimeUpdateService.java | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/services/java/com/android/server/NetworkTimeUpdateService.java b/services/java/com/android/server/NetworkTimeUpdateService.java index 1ff914f2afd2..76972bce8f84 100644 --- a/services/java/com/android/server/NetworkTimeUpdateService.java +++ b/services/java/com/android/server/NetworkTimeUpdateService.java @@ -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++; |
