diff options
author | Android (Google) Code Review <android-gerrit@google.com> | 2009-07-29 16:45:14 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2009-07-29 16:45:14 -0700 |
commit | cda5ad5b70e705d4b371cd32ececfcf919b3b3a1 (patch) | |
tree | 721d83ef0d426409ba44585097f3b5ea019d12c6 /services | |
parent | d1399070b9749d1a70f18426d1c668cf3070d7ec (diff) | |
parent | 9b91d78a21f6e66f571169f2c6f2f94e638511e8 (diff) | |
download | frameworks_base-cda5ad5b70e705d4b371cd32ececfcf919b3b3a1.zip frameworks_base-cda5ad5b70e705d4b371cd32ececfcf919b3b3a1.tar.gz frameworks_base-cda5ad5b70e705d4b371cd32ececfcf919b3b3a1.tar.bz2 |
am 9b91d78a: Merge change 8911 into donut
Merge commit '9b91d78a21f6e66f571169f2c6f2f94e638511e8'
* commit '9b91d78a21f6e66f571169f2c6f2f94e638511e8':
Fix issue #1999179: search -> click result -> press home = search dialog is shown then hidden
Diffstat (limited to 'services')
-rw-r--r-- | services/java/com/android/server/am/ActivityManagerService.java | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/services/java/com/android/server/am/ActivityManagerService.java b/services/java/com/android/server/am/ActivityManagerService.java index 7bd2532..552d5be 100644 --- a/services/java/com/android/server/am/ActivityManagerService.java +++ b/services/java/com/android/server/am/ActivityManagerService.java @@ -4766,6 +4766,34 @@ public final class ActivityManagerService extends ActivityManagerNative implemen } } + public void closeSystemDialogs(String reason) { + Intent intent = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS); + if (reason != null) { + intent.putExtra("reason", reason); + } + + final int uid = Binder.getCallingUid(); + final long origId = Binder.clearCallingIdentity(); + synchronized (this) { + int i = mWatchers.beginBroadcast(); + while (i > 0) { + i--; + IActivityWatcher w = mWatchers.getBroadcastItem(i); + if (w != null) { + try { + w.closingSystemDialogs(reason); + } catch (RemoteException e) { + } + } + } + mWatchers.finishBroadcast(); + + broadcastIntentLocked(null, null, intent, null, + null, 0, null, null, null, false, false, -1, uid); + } + Binder.restoreCallingIdentity(origId); + } + private void restartPackageLocked(final String packageName, int uid) { uninstallPackageLocked(packageName, uid, false); Intent intent = new Intent(Intent.ACTION_PACKAGE_RESTARTED, |