From 6c0b4f393ae8e728c7a7943bfbdcdd27d6642192 Mon Sep 17 00:00:00 2001 From: Jeff Sharkey Date: Tue, 12 Jun 2012 21:06:30 -0700 Subject: [PATCH] Clear identity when snoozing limit. Continues to check MANAGE_NETWORK_POLICY permission. This allows SystemUI to invoke snoozeLimit() without CONNECTIVITY_INTERNAL. Bug: 6653091 Change-Id: I464bf62b79f2647c6b6db151251a0036897d0cc0 --- .../android/server/net/NetworkPolicyManagerService.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/services/java/com/android/server/net/NetworkPolicyManagerService.java b/services/java/com/android/server/net/NetworkPolicyManagerService.java index c4abac971b64e..d4e9cbcd74a0c 100644 --- a/services/java/com/android/server/net/NetworkPolicyManagerService.java +++ b/services/java/com/android/server/net/NetworkPolicyManagerService.java @@ -1407,7 +1407,13 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { @Override public void snoozeLimit(NetworkTemplate template) { mContext.enforceCallingOrSelfPermission(MANAGE_NETWORK_POLICY, TAG); - performSnooze(template, TYPE_LIMIT); + + final long token = Binder.clearCallingIdentity(); + try { + performSnooze(template, TYPE_LIMIT); + } finally { + Binder.restoreCallingIdentity(token); + } } private void performSnooze(NetworkTemplate template, int type) {