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

Commit fe7af3e5 authored by Kanyinsola's avatar Kanyinsola
Browse files

Fix bug in NetworkTimeUpdateService

Reset try again counter after a successful NTP refresh
Reset alarm to run at exactly mPollingIntervalMs after the last
NTP update.

Bug: b/217357882
Test: Existing unit tests still pass.
Change-Id: Ibee93ab305f5bcaa149007c15d12c583227678b9
parent faedb36f
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -171,7 +171,9 @@ public class NetworkTimeUpdateService extends Binder {
                >= mPollingIntervalMs) {
            if (DBG) Log.d(TAG, "Stale NTP fix; forcing refresh");
            boolean isSuccessful = mTime.forceRefresh();
            if (!isSuccessful) {
            if (isSuccessful) {
                mTryAgainCounter = 0;
            } else {
                String logMsg = "forceRefresh() returned false: cachedNtpResult=" + cachedNtpResult
                        + ", currentElapsedRealtimeMillis=" + currentElapsedRealtimeMillis;

@@ -188,7 +190,8 @@ public class NetworkTimeUpdateService extends Binder {
                && cachedNtpResult.getAgeMillis(currentElapsedRealtimeMillis)
                < mPollingIntervalMs) {
            // Obtained fresh fix; schedule next normal update
            resetAlarm(mPollingIntervalMs);
            resetAlarm(mPollingIntervalMs
                    - cachedNtpResult.getAgeMillis(currentElapsedRealtimeMillis));

            // Suggest the time to the time detector. It may choose use it to set the system clock.
            TimestampedValue<Long> timeSignal = new TimestampedValue<>(