summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorAndroid (Google) Code Review <android-gerrit@google.com>2009-07-29 16:45:14 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2009-07-29 16:45:14 -0700
commitcda5ad5b70e705d4b371cd32ececfcf919b3b3a1 (patch)
tree721d83ef0d426409ba44585097f3b5ea019d12c6 /services
parentd1399070b9749d1a70f18426d1c668cf3070d7ec (diff)
parent9b91d78a21f6e66f571169f2c6f2f94e638511e8 (diff)
downloadframeworks_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.java28
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,