From dc1396c881b80074c99d171aee02d3a5486180ca Mon Sep 17 00:00:00 2001 From: Evan Millar Date: Fri, 6 Nov 2009 11:59:39 -0800 Subject: [PATCH] Only use FLAG_ACTIVITY_CLEAR_TOP on the search intent when from global search. Fixes http://b/issue?id=2178591 --- core/java/android/app/SearchDialog.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/core/java/android/app/SearchDialog.java b/core/java/android/app/SearchDialog.java index 8faef59bab251..e5a769bb59dd6 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); }