Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 708d5d44 authored by Amith Yamasani's avatar Amith Yamasani
Browse files

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
parent ad759f95
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -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++;