summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvan Millar <emillar@google.com>2009-11-06 11:59:39 -0800
committerEvan Millar <emillar@google.com>2009-11-06 11:59:39 -0800
commitdc1396c881b80074c99d171aee02d3a5486180ca (patch)
treeadbb41f50fe7930d688c225271e59060b060d75f
parent97b30e2f6239a3ca2b9489ce09320aaf317f9fc8 (diff)
downloadframeworks_base-dc1396c881b80074c99d171aee02d3a5486180ca.zip
frameworks_base-dc1396c881b80074c99d171aee02d3a5486180ca.tar.gz
frameworks_base-dc1396c881b80074c99d171aee02d3a5486180ca.tar.bz2
Only use FLAG_ACTIVITY_CLEAR_TOP on the search intent when from global search.
Fixes http://b/issue?id=2178591
-rw-r--r--core/java/android/app/SearchDialog.java7
1 files changed, 5 insertions, 2 deletions
diff --git a/core/java/android/app/SearchDialog.java b/core/java/android/app/SearchDialog.java
index 8faef59..e5a769b 100644
--- a/core/java/android/app/SearchDialog.java
+++ b/core/java/android/app/SearchDialog.java
@@ -1646,8 +1646,11 @@ public class SearchDialog extends Dialog implements OnItemClickListener, OnItemS
Intent intent = new Intent(action);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
// We need CLEAR_TOP to avoid reusing an old task that has other activities
- // on top of the one we want.
- intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
+ // on top of the one we want. We don't want to do this in in-app search though,
+ // as it can be destructive to the activity stack.
+ if (mGlobalSearchMode) {
+ intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
+ }
if (data != null) {
intent.setData(data);
}