From a829d55e8af65d08d998b8166e42420dda8cf2ff Mon Sep 17 00:00:00 2001 From: Mathew Inwood Date: Fri, 2 Sep 2011 14:16:25 +0100 Subject: Clear back stack after submitted query into preloaded page. This ensures that the blank searchbox page does not appear in the back stack. Bug: 5252128 Change-Id: I93e2e7f7c1c69e6e0e93b38acf1c7c9dc887ec19 --- src/com/android/browser/PreloadedTabControl.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'src/com/android/browser/PreloadedTabControl.java') diff --git a/src/com/android/browser/PreloadedTabControl.java b/src/com/android/browser/PreloadedTabControl.java index ed066f27c..4ffe6b47b 100644 --- a/src/com/android/browser/PreloadedTabControl.java +++ b/src/com/android/browser/PreloadedTabControl.java @@ -21,6 +21,7 @@ import android.util.Log; import android.webkit.SearchBox; import java.util.Map; +import java.util.regex.Pattern; /** * Class to manage the controlling of preloaded tab. @@ -74,6 +75,7 @@ public class PreloadedTabControl { } maybeSetQuery(query, sb); if (LOGD_ENABLED) Log.d(LOGTAG, "Submitting query " + query); + final String currentUrl = mTab.getUrl(); sb.onsubmit(new SearchBox.SearchBoxListener() { @Override public void onSubmitComplete(boolean called) { @@ -83,7 +85,21 @@ public class PreloadedTabControl { if (LOGD_ENABLED) Log.d(LOGTAG, "Query not submitted; falling back"); loadUrl(fallbackUrl, fallbackHeaders); // make sure that the failed, preloaded URL is cleared from the back stack - mTab.clearBackStackWhenItemAdded(fallbackUrl); + mTab.clearBackStackWhenItemAdded(Pattern.compile( + "^" + Pattern.quote(fallbackUrl) + "$")); + } else { + // ignore the next fragment change, to avoid leaving a blank page in the browser + // after the query has been submitted. + String currentWithoutFragment = Uri.parse(currentUrl) + .buildUpon() + .fragment(null) + .toString(); + mTab.clearBackStackWhenItemAdded( + Pattern.compile( + "^" + + Pattern.quote(currentWithoutFragment) + + "(\\#.*)?" + + "$")); } }}); return true; -- cgit v1.2.3