summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Neil Fuller <nfuller@google.com> 2022-10-13 12:25:32 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2022-10-13 12:25:32 +0000
commit1aed0289c9d4489b4f18ab65d0a591dc31c3eedb (patch)
tree01000f1e743c5d50c88410bb565758c6f974b23d
parent1291b83a2fb8ae8a095d50730f75013151f6ce3f (diff)
parent605d4acdcdea376d8f0f1212157b50f9fa606ff1 (diff)
Merge "Fix permission issues for network update service"
-rw-r--r--services/core/java/com/android/server/NetworkTimeUpdateService.java40
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) {