Loading services/core/java/com/android/server/timedetector/GnssTimeUpdateService.java +4 −4 Original line number Diff line number Diff line Loading @@ -263,11 +263,11 @@ public final class GnssTimeUpdateService extends Binder { long gnssUnixEpochTimeMillis = locationTime.getUnixEpochTimeMillis(); long elapsedRealtimeMs = locationTime.getElapsedRealtimeNanos() / 1_000_000L; UnixEpochTime timeSignal = new UnixEpochTime(elapsedRealtimeMs, gnssUnixEpochTimeMillis); mLastSuggestedGnssTime = timeSignal; UnixEpochTime unixEpochTime = new UnixEpochTime(elapsedRealtimeMs, gnssUnixEpochTimeMillis); mLastSuggestedGnssTime = unixEpochTime; GnssTimeSuggestion timeSuggestion = new GnssTimeSuggestion(timeSignal); mTimeDetectorInternal.suggestGnssTime(timeSuggestion); GnssTimeSuggestion suggestion = new GnssTimeSuggestion(unixEpochTime); mTimeDetectorInternal.suggestGnssTime(suggestion); } @Override Loading services/core/java/com/android/server/timedetector/TimeDetectorInternal.java +14 −6 Original line number Diff line number Diff line Loading @@ -56,11 +56,19 @@ public interface TimeDetectorInternal { * valid but does not change the time because it matches the current device time is considered * accepted. */ boolean setManualTimeForDpm(@NonNull ManualTimeSuggestion manualTimeSuggestion); boolean setManualTimeForDpm(@NonNull ManualTimeSuggestion suggestion); /** Used to pass new network time suggestions to the time detector. */ void suggestNetworkTime(@NonNull NetworkTimeSuggestion timeSignal); /** * Suggests a network time to the time detector. The suggestion may not be used by the time * detector to set the device's time depending on device configuration and user settings, but * can replace previous network suggestions received. */ void suggestNetworkTime(@NonNull NetworkTimeSuggestion suggestion); /** Used to pass new GNSS time suggestions to the time detector. */ void suggestGnssTime(@NonNull GnssTimeSuggestion timeSignal); /** * Suggests a GNSS-derived time to the time detector. The suggestion may not be used by the time * detector to set the device's time depending on device configuration and user settings, but * can replace previous GNSS suggestions received. */ void suggestGnssTime(@NonNull GnssTimeSuggestion suggestion); } services/core/java/com/android/server/timedetector/TimeDetectorInternalImpl.java +9 −9 Original line number Diff line number Diff line Loading @@ -72,24 +72,24 @@ public class TimeDetectorInternalImpl implements TimeDetectorInternal { } @Override public boolean setManualTimeForDpm(@NonNull ManualTimeSuggestion timeSignal) { Objects.requireNonNull(timeSignal); public boolean setManualTimeForDpm(@NonNull ManualTimeSuggestion suggestion) { Objects.requireNonNull(suggestion); int userId = mCurrentUserIdentityInjector.getCurrentUserId(); return mTimeDetectorStrategy.suggestManualTime(userId, timeSignal, false); return mTimeDetectorStrategy.suggestManualTime(userId, suggestion, false); } @Override public void suggestNetworkTime(@NonNull NetworkTimeSuggestion timeSignal) { Objects.requireNonNull(timeSignal); public void suggestNetworkTime(@NonNull NetworkTimeSuggestion suggestion) { Objects.requireNonNull(suggestion); mHandler.post(() -> mTimeDetectorStrategy.suggestNetworkTime(timeSignal)); mHandler.post(() -> mTimeDetectorStrategy.suggestNetworkTime(suggestion)); } @Override public void suggestGnssTime(@NonNull GnssTimeSuggestion timeSignal) { Objects.requireNonNull(timeSignal); public void suggestGnssTime(@NonNull GnssTimeSuggestion suggestion) { Objects.requireNonNull(suggestion); mHandler.post(() -> mTimeDetectorStrategy.suggestGnssTime(timeSignal)); mHandler.post(() -> mTimeDetectorStrategy.suggestGnssTime(suggestion)); } } services/core/java/com/android/server/timedetector/TimeDetectorService.java +6 −6 Original line number Diff line number Diff line Loading @@ -319,9 +319,9 @@ public final class TimeDetectorService extends ITimeDetectorService.Stub } @Override public boolean setManualTime(@NonNull ManualTimeSuggestion timeSignal) { public boolean setManualTime(@NonNull ManualTimeSuggestion suggestion) { enforceManageTimeDetectorPermission(); Objects.requireNonNull(timeSignal); Objects.requireNonNull(suggestion); // This calls suggestManualTime() as the logic is identical, it only differs in the // permission required, which is handled on the line above. Loading @@ -330,7 +330,7 @@ public final class TimeDetectorService extends ITimeDetectorService.Stub try { final boolean bypassUserPolicyChecks = false; return mTimeDetectorStrategy.suggestManualTime( userId, timeSignal, bypassUserPolicyChecks); userId, suggestion, bypassUserPolicyChecks); } finally { Binder.restoreCallingIdentity(token); } Loading Loading @@ -363,11 +363,11 @@ public final class TimeDetectorService extends ITimeDetectorService.Stub /** * Suggests network time with permission checks. For use by {@link TimeDetectorShellCommand}. */ void suggestNetworkTime(@NonNull NetworkTimeSuggestion timeSignal) { void suggestNetworkTime(@NonNull NetworkTimeSuggestion suggestion) { enforceSuggestNetworkTimePermission(); Objects.requireNonNull(timeSignal); Objects.requireNonNull(suggestion); mHandler.post(() -> mTimeDetectorStrategy.suggestNetworkTime(timeSignal)); mHandler.post(() -> mTimeDetectorStrategy.suggestNetworkTime(suggestion)); } /** Loading services/core/java/com/android/server/timedetector/TimeDetectorStrategy.java +10 −6 Original line number Diff line number Diff line Loading @@ -87,7 +87,7 @@ public interface TimeDetectorStrategy extends Dumpable { boolean confirmTime(@NonNull UnixEpochTime confirmationTime); /** Processes the suggested time from telephony sources. */ void suggestTelephonyTime(@NonNull TelephonyTimeSuggestion timeSuggestion); void suggestTelephonyTime(@NonNull TelephonyTimeSuggestion suggestion); /** * Processes the suggested manually entered time. Returns {@code false} if the suggestion was Loading @@ -98,11 +98,15 @@ public interface TimeDetectorStrategy extends Dumpable { * @param bypassUserPolicyChecks {@code true} for device policy manager use cases where device * policy restrictions that should apply to actual users can be ignored */ boolean suggestManualTime(@UserIdInt int userId, @NonNull ManualTimeSuggestion timeSuggestion, boolean suggestManualTime(@UserIdInt int userId, @NonNull ManualTimeSuggestion suggestion, boolean bypassUserPolicyChecks); /** Processes the suggested time from network sources. */ void suggestNetworkTime(@NonNull NetworkTimeSuggestion timeSuggestion); /** * Processes the suggested network time. The suggestion may not be used to set the device's time * depending on device configuration and user settings, but can replace previous network * suggestions received. */ void suggestNetworkTime(@NonNull NetworkTimeSuggestion suggestion); /** * Returns the latest (accepted) network time suggestion. Returns {@code null} if there isn't Loading @@ -119,10 +123,10 @@ public interface TimeDetectorStrategy extends Dumpable { void clearLatestNetworkSuggestion(); /** Processes the suggested time from gnss sources. */ void suggestGnssTime(@NonNull GnssTimeSuggestion timeSuggestion); void suggestGnssTime(@NonNull GnssTimeSuggestion suggestion); /** Processes the suggested time from external sources. */ void suggestExternalTime(@NonNull ExternalTimeSuggestion timeSuggestion); void suggestExternalTime(@NonNull ExternalTimeSuggestion suggestion); // Utility methods below are to be moved to a better home when one becomes more obvious. Loading Loading
services/core/java/com/android/server/timedetector/GnssTimeUpdateService.java +4 −4 Original line number Diff line number Diff line Loading @@ -263,11 +263,11 @@ public final class GnssTimeUpdateService extends Binder { long gnssUnixEpochTimeMillis = locationTime.getUnixEpochTimeMillis(); long elapsedRealtimeMs = locationTime.getElapsedRealtimeNanos() / 1_000_000L; UnixEpochTime timeSignal = new UnixEpochTime(elapsedRealtimeMs, gnssUnixEpochTimeMillis); mLastSuggestedGnssTime = timeSignal; UnixEpochTime unixEpochTime = new UnixEpochTime(elapsedRealtimeMs, gnssUnixEpochTimeMillis); mLastSuggestedGnssTime = unixEpochTime; GnssTimeSuggestion timeSuggestion = new GnssTimeSuggestion(timeSignal); mTimeDetectorInternal.suggestGnssTime(timeSuggestion); GnssTimeSuggestion suggestion = new GnssTimeSuggestion(unixEpochTime); mTimeDetectorInternal.suggestGnssTime(suggestion); } @Override Loading
services/core/java/com/android/server/timedetector/TimeDetectorInternal.java +14 −6 Original line number Diff line number Diff line Loading @@ -56,11 +56,19 @@ public interface TimeDetectorInternal { * valid but does not change the time because it matches the current device time is considered * accepted. */ boolean setManualTimeForDpm(@NonNull ManualTimeSuggestion manualTimeSuggestion); boolean setManualTimeForDpm(@NonNull ManualTimeSuggestion suggestion); /** Used to pass new network time suggestions to the time detector. */ void suggestNetworkTime(@NonNull NetworkTimeSuggestion timeSignal); /** * Suggests a network time to the time detector. The suggestion may not be used by the time * detector to set the device's time depending on device configuration and user settings, but * can replace previous network suggestions received. */ void suggestNetworkTime(@NonNull NetworkTimeSuggestion suggestion); /** Used to pass new GNSS time suggestions to the time detector. */ void suggestGnssTime(@NonNull GnssTimeSuggestion timeSignal); /** * Suggests a GNSS-derived time to the time detector. The suggestion may not be used by the time * detector to set the device's time depending on device configuration and user settings, but * can replace previous GNSS suggestions received. */ void suggestGnssTime(@NonNull GnssTimeSuggestion suggestion); }
services/core/java/com/android/server/timedetector/TimeDetectorInternalImpl.java +9 −9 Original line number Diff line number Diff line Loading @@ -72,24 +72,24 @@ public class TimeDetectorInternalImpl implements TimeDetectorInternal { } @Override public boolean setManualTimeForDpm(@NonNull ManualTimeSuggestion timeSignal) { Objects.requireNonNull(timeSignal); public boolean setManualTimeForDpm(@NonNull ManualTimeSuggestion suggestion) { Objects.requireNonNull(suggestion); int userId = mCurrentUserIdentityInjector.getCurrentUserId(); return mTimeDetectorStrategy.suggestManualTime(userId, timeSignal, false); return mTimeDetectorStrategy.suggestManualTime(userId, suggestion, false); } @Override public void suggestNetworkTime(@NonNull NetworkTimeSuggestion timeSignal) { Objects.requireNonNull(timeSignal); public void suggestNetworkTime(@NonNull NetworkTimeSuggestion suggestion) { Objects.requireNonNull(suggestion); mHandler.post(() -> mTimeDetectorStrategy.suggestNetworkTime(timeSignal)); mHandler.post(() -> mTimeDetectorStrategy.suggestNetworkTime(suggestion)); } @Override public void suggestGnssTime(@NonNull GnssTimeSuggestion timeSignal) { Objects.requireNonNull(timeSignal); public void suggestGnssTime(@NonNull GnssTimeSuggestion suggestion) { Objects.requireNonNull(suggestion); mHandler.post(() -> mTimeDetectorStrategy.suggestGnssTime(timeSignal)); mHandler.post(() -> mTimeDetectorStrategy.suggestGnssTime(suggestion)); } }
services/core/java/com/android/server/timedetector/TimeDetectorService.java +6 −6 Original line number Diff line number Diff line Loading @@ -319,9 +319,9 @@ public final class TimeDetectorService extends ITimeDetectorService.Stub } @Override public boolean setManualTime(@NonNull ManualTimeSuggestion timeSignal) { public boolean setManualTime(@NonNull ManualTimeSuggestion suggestion) { enforceManageTimeDetectorPermission(); Objects.requireNonNull(timeSignal); Objects.requireNonNull(suggestion); // This calls suggestManualTime() as the logic is identical, it only differs in the // permission required, which is handled on the line above. Loading @@ -330,7 +330,7 @@ public final class TimeDetectorService extends ITimeDetectorService.Stub try { final boolean bypassUserPolicyChecks = false; return mTimeDetectorStrategy.suggestManualTime( userId, timeSignal, bypassUserPolicyChecks); userId, suggestion, bypassUserPolicyChecks); } finally { Binder.restoreCallingIdentity(token); } Loading Loading @@ -363,11 +363,11 @@ public final class TimeDetectorService extends ITimeDetectorService.Stub /** * Suggests network time with permission checks. For use by {@link TimeDetectorShellCommand}. */ void suggestNetworkTime(@NonNull NetworkTimeSuggestion timeSignal) { void suggestNetworkTime(@NonNull NetworkTimeSuggestion suggestion) { enforceSuggestNetworkTimePermission(); Objects.requireNonNull(timeSignal); Objects.requireNonNull(suggestion); mHandler.post(() -> mTimeDetectorStrategy.suggestNetworkTime(timeSignal)); mHandler.post(() -> mTimeDetectorStrategy.suggestNetworkTime(suggestion)); } /** Loading
services/core/java/com/android/server/timedetector/TimeDetectorStrategy.java +10 −6 Original line number Diff line number Diff line Loading @@ -87,7 +87,7 @@ public interface TimeDetectorStrategy extends Dumpable { boolean confirmTime(@NonNull UnixEpochTime confirmationTime); /** Processes the suggested time from telephony sources. */ void suggestTelephonyTime(@NonNull TelephonyTimeSuggestion timeSuggestion); void suggestTelephonyTime(@NonNull TelephonyTimeSuggestion suggestion); /** * Processes the suggested manually entered time. Returns {@code false} if the suggestion was Loading @@ -98,11 +98,15 @@ public interface TimeDetectorStrategy extends Dumpable { * @param bypassUserPolicyChecks {@code true} for device policy manager use cases where device * policy restrictions that should apply to actual users can be ignored */ boolean suggestManualTime(@UserIdInt int userId, @NonNull ManualTimeSuggestion timeSuggestion, boolean suggestManualTime(@UserIdInt int userId, @NonNull ManualTimeSuggestion suggestion, boolean bypassUserPolicyChecks); /** Processes the suggested time from network sources. */ void suggestNetworkTime(@NonNull NetworkTimeSuggestion timeSuggestion); /** * Processes the suggested network time. The suggestion may not be used to set the device's time * depending on device configuration and user settings, but can replace previous network * suggestions received. */ void suggestNetworkTime(@NonNull NetworkTimeSuggestion suggestion); /** * Returns the latest (accepted) network time suggestion. Returns {@code null} if there isn't Loading @@ -119,10 +123,10 @@ public interface TimeDetectorStrategy extends Dumpable { void clearLatestNetworkSuggestion(); /** Processes the suggested time from gnss sources. */ void suggestGnssTime(@NonNull GnssTimeSuggestion timeSuggestion); void suggestGnssTime(@NonNull GnssTimeSuggestion suggestion); /** Processes the suggested time from external sources. */ void suggestExternalTime(@NonNull ExternalTimeSuggestion timeSuggestion); void suggestExternalTime(@NonNull ExternalTimeSuggestion suggestion); // Utility methods below are to be moved to a better home when one becomes more obvious. Loading