Fix DevicePolicyManager crash when settings password quality (and possibly others).

Bug: 7130570

Clear the calling identity before broadcasting to all users.

Change-Id: Ibe84af1ee00aecfe4b2d5bb7731a952f617b4885
This commit is contained in:
Amith Yamasani
2012-09-10 10:24:36 -07:00
parent 25c925e665
commit b7a685978f

View File

@ -721,7 +721,13 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub {
private void sendChangedNotification() {
Intent intent = new Intent(DevicePolicyManager.ACTION_DEVICE_POLICY_MANAGER_STATE_CHANGED);
intent.setFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY);
mContext.sendBroadcastAsUser(intent, UserHandle.ALL);
long ident = Binder.clearCallingIdentity();
try {
// TODO: This shouldn't be sent to all users, if DPM is per user.
mContext.sendBroadcastAsUser(intent, UserHandle.ALL);
} finally {
Binder.restoreCallingIdentity(ident);
}
}
private void loadSettingsLocked() {