diff options
| -rw-r--r-- | src/com/android/browser/BrowserActivity.java | 5 | ||||
| -rw-r--r-- | src/com/android/browser/TabControl.java | 10 |
2 files changed, 8 insertions, 7 deletions
diff --git a/src/com/android/browser/BrowserActivity.java b/src/com/android/browser/BrowserActivity.java index 1c136b38a..1f969afaf 100644 --- a/src/com/android/browser/BrowserActivity.java +++ b/src/com/android/browser/BrowserActivity.java @@ -460,7 +460,10 @@ public class BrowserActivity extends Activity final String appId = intent .getStringExtra(Browser.EXTRA_APPLICATION_ID); - if ((Intent.ACTION_VIEW.equals(action) || activateVoiceSearch) + if ((Intent.ACTION_VIEW.equals(action) + // If a voice search has no appId, it means that it came + // from the browser. In that case, reuse the current tab. + || (activateVoiceSearch && appId != null)) && !getPackageName().equals(appId) && (flags & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) { Tab appTab = mTabControl.getTabFromId(appId); diff --git a/src/com/android/browser/TabControl.java b/src/com/android/browser/TabControl.java index de32b033d..4be777d62 100644 --- a/src/com/android/browser/TabControl.java +++ b/src/com/android/browser/TabControl.java @@ -497,12 +497,10 @@ class TabControl { final String url = urlData.mUrl; final WebView w = t.getWebView(); if (w != null) { - if (urlData.mVoiceIntent != null) { - // In the case of a voice search, we do not want to destroy the - // back forward list, so that we can go back to the prior search - return true; - } - if (url != null && url.equals(t.getOriginalUrl())) { + if (url != null && url.equals(t.getOriginalUrl()) + // Treat a voice intent as though it is a different URL, + // since it most likely is. + && urlData.mVoiceIntent == null) { // The original url matches the current url. Just go back to the // first history item so we can load it faster than if we // rebuilt the WebView. |
