diff options
| author | 2022-10-13 12:25:32 +0000 | |
|---|---|---|
| committer | 2022-10-13 12:25:32 +0000 | |
| commit | 1aed0289c9d4489b4f18ab65d0a591dc31c3eedb (patch) | |
| tree | 01000f1e743c5d50c88410bb565758c6f974b23d | |
| parent | 1291b83a2fb8ae8a095d50730f75013151f6ce3f (diff) | |
| parent | 605d4acdcdea376d8f0f1212157b50f9fa606ff1 (diff) | |
Merge "Fix permission issues for network update service"
| -rw-r--r-- | services/core/java/com/android/server/NetworkTimeUpdateService.java | 40 |
1 files changed, 27 insertions, 13 deletions
diff --git a/services/core/java/com/android/server/NetworkTimeUpdateService.java b/services/core/java/com/android/server/NetworkTimeUpdateService.java index 2015dc929a59..804d7f3b7d60 100644 --- a/services/core/java/com/android/server/NetworkTimeUpdateService.java +++ b/services/core/java/com/android/server/NetworkTimeUpdateService.java @@ -165,9 +165,14 @@ public class NetworkTimeUpdateService extends Binder { mContext.enforceCallingPermission( android.Manifest.permission.SET_TIME, "clear latest network time"); - mTime.clearCachedTimeResult(); + final long token = Binder.clearCallingIdentity(); + try { + mTime.clearCachedTimeResult(); - mLocalLog.log("clearTimeForTests"); + mLocalLog.log("clearTimeForTests"); + } finally { + Binder.restoreCallingIdentity(token); + } } /** @@ -181,15 +186,19 @@ public class NetworkTimeUpdateService extends Binder { mContext.enforceCallingPermission( android.Manifest.permission.SET_TIME, "force network time refresh"); - boolean success = mTime.forceRefresh(); - mLocalLog.log("forceRefreshForTests: success=" + success); + final long token = Binder.clearCallingIdentity(); + try { + boolean success = mTime.forceRefresh(); + mLocalLog.log("forceRefreshForTests: success=" + success); - if (success) { - makeNetworkTimeSuggestion(mTime.getCachedTimeResult(), - "Origin: NetworkTimeUpdateService: forceRefreshForTests"); + if (success) { + makeNetworkTimeSuggestion(mTime.getCachedTimeResult(), + "Origin: NetworkTimeUpdateService: forceRefreshForTests"); + } + return success; + } finally { + Binder.restoreCallingIdentity(token); } - - return success; } /** @@ -201,10 +210,15 @@ public class NetworkTimeUpdateService extends Binder { mContext.enforceCallingPermission( android.Manifest.permission.SET_TIME, "set NTP server config for tests"); - mLocalLog.log("Setting server config for tests: hostname=" + hostname - + ", port=" + port - + ", timeout=" + timeout); - mTime.setServerConfigForTests(hostname, port, timeout); + final long token = Binder.clearCallingIdentity(); + try { + mLocalLog.log("Setting server config for tests: hostname=" + hostname + + ", port=" + port + + ", timeout=" + timeout); + mTime.setServerConfigForTests(hostname, port, timeout); + } finally { + Binder.restoreCallingIdentity(token); + } } private void onPollNetworkTime(int event) { |