am bac6c129: Merge "Fix another issue #7097984 java.lang.SecurityException: Permission Denial:" into jb-mr1-dev

* commit 'bac6c12974c278a8045ed8deefb08d0348aa8496':
  Fix another issue #7097984 java.lang.SecurityException: Permission Denial:
This commit is contained in:
Dianne Hackborn
2012-09-04 18:52:32 -07:00
committed by Android Git Automerger
2 changed files with 27 additions and 7 deletions

View File

@@ -155,8 +155,8 @@ class AppWidgetService extends IAppWidgetService.Stub
// Register for configuration changes so we can update the names // Register for configuration changes so we can update the names
// of the widgets when the locale changes. // of the widgets when the locale changes.
mContext.registerReceiver(mBroadcastReceiver, new IntentFilter( mContext.registerReceiverAsUser(mBroadcastReceiver, UserHandle.ALL,
Intent.ACTION_CONFIGURATION_CHANGED), null, null); new IntentFilter(Intent.ACTION_CONFIGURATION_CHANGED), null, null);
// Register for broadcasts about package install, etc., so we can // Register for broadcasts about package install, etc., so we can
// update the provider list. // update the provider list.

View File

@@ -1852,8 +1852,13 @@ public class ConnectivityService extends IConnectivityManager.Stub {
Intent intent = new Intent(ConnectivityManager.ACTION_DATA_ACTIVITY_CHANGE); Intent intent = new Intent(ConnectivityManager.ACTION_DATA_ACTIVITY_CHANGE);
intent.putExtra(ConnectivityManager.EXTRA_DEVICE_TYPE, deviceType); intent.putExtra(ConnectivityManager.EXTRA_DEVICE_TYPE, deviceType);
intent.putExtra(ConnectivityManager.EXTRA_IS_ACTIVE, active); intent.putExtra(ConnectivityManager.EXTRA_IS_ACTIVE, active);
mContext.sendOrderedBroadcastAsUser(intent, UserHandle.ALL, final long ident = Binder.clearCallingIdentity();
RECEIVE_DATA_ACTIVITY_CHANGE, null, null, 0, null, null); 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()); 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 ... * Connectivity events can happen before boot has completed ...
*/ */
intent.addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT); 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. // Caller must grab mDnsLock.
@@ -3112,7 +3127,12 @@ public class ConnectivityService extends IConnectivityManager.Stub {
intent.addFlags(Intent.FLAG_RECEIVER_REPLACE_PENDING | intent.addFlags(Intent.FLAG_RECEIVER_REPLACE_PENDING |
Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT); Intent.FLAG_RECEIVER_REGISTERED_ONLY_BEFORE_BOOT);
intent.putExtra(Proxy.EXTRA_PROXY_INFO, proxy); 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 { private static class SettingsObserver extends ContentObserver {