summaryrefslogtreecommitdiffstats
path: root/services/java/com/android/server/ConnectivityService.java
diff options
context:
space:
mode:
authorDianne Hackborn <hackbod@google.com>2012-09-04 18:50:30 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2012-09-04 18:50:30 -0700
commitbac6c12974c278a8045ed8deefb08d0348aa8496 (patch)
tree1de6070a76cef74dca2a065cfb3038edf1f58cc1 /services/java/com/android/server/ConnectivityService.java
parent68093520872476fc19b50c096a9536a826c084e5 (diff)
parentfd8bf5c790749b0382c9d70424cac2367d6276e3 (diff)
downloadframeworks_base-bac6c12974c278a8045ed8deefb08d0348aa8496.zip
frameworks_base-bac6c12974c278a8045ed8deefb08d0348aa8496.tar.gz
frameworks_base-bac6c12974c278a8045ed8deefb08d0348aa8496.tar.bz2
Merge "Fix another issue #7097984 java.lang.SecurityException: Permission Denial:" into jb-mr1-dev
Diffstat (limited to 'services/java/com/android/server/ConnectivityService.java')
-rw-r--r--services/java/com/android/server/ConnectivityService.java30
1 files changed, 25 insertions, 5 deletions
diff --git a/services/java/com/android/server/ConnectivityService.java b/services/java/com/android/server/ConnectivityService.java
index 04991bb..cbbfda1 100644
--- a/services/java/com/android/server/ConnectivityService.java
+++ b/services/java/com/android/server/ConnectivityService.java
@@ -1852,8 +1852,13 @@ public class ConnectivityService extends IConnectivityManager.Stub {
Intent intent = new Intent(ConnectivityManager.ACTION_DATA_ACTIVITY_CHANGE);
intent.putExtra(ConnectivityManager.EXTRA_DEVICE_TYPE, deviceType);
intent.putExtra(ConnectivityManager.EXTRA_IS_ACTIVE, active);
- mContext.sendOrderedBroadcastAsUser(intent, UserHandle.ALL,
- RECEIVE_DATA_ACTIVITY_CHANGE, null, null, 0, null, null);
+ final long ident = Binder.clearCallingIdentity();
+ try {
+ mContext.sendOrderedBroadcastAsUser(intent, UserHandle.ALL,
+ RECEIVE_DATA_ACTIVITY_CHANGE, null, null, 0, null, null);
+ } finally {
+ Binder.restoreCallingIdentity(ident);
+ }
}
/**
@@ -1927,7 +1932,12 @@ public class ConnectivityService extends IConnectivityManager.Stub {
log("sendStickyBroadcast: action=" + intent.getAction());
}
- mContext.sendStickyBroadcastAsUser(intent, UserHandle.ALL);
+ final long ident = Binder.clearCallingIdentity();
+ try {
+ mContext.sendStickyBroadcastAsUser(intent, UserHandle.ALL);
+ } finally {
+ Binder.restoreCallingIdentity(ident);
+ }
}
}
@@ -2467,7 +2477,12 @@ public class ConnectivityService extends IConnectivityManager.Stub {
* Connectivity events can happen before boot has completed ...
*/
intent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT);
- mContext.sendBroadcastAsUser(intent, UserHandle.ALL);
+ final long ident = Binder.clearCallingIdentity();
+ try {
+ mContext.sendBroadcastAsUser(intent, UserHandle.ALL);
+ } finally {
+ Binder.restoreCallingIdentity(ident);
+ }
}
// Caller must grab mDnsLock.
@@ -3112,7 +3127,12 @@ public class ConnectivityService extends IConnectivityManager.Stub {
intent.addFlags(Intent.FLAG_RECEIVER_REPLACE_PENDING |
Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT);
intent.putExtra(Proxy.EXTRA_PROXY_INFO, proxy);
- mContext.sendStickyBroadcastAsUser(intent, UserHandle.ALL);
+ final long ident = Binder.clearCallingIdentity();
+ try {
+ mContext.sendStickyBroadcastAsUser(intent, UserHandle.ALL);
+ } finally {
+ Binder.restoreCallingIdentity(ident);
+ }
}
private static class SettingsObserver extends ContentObserver {