Re-use tab for an intent created by browser
Bug: 6332680
Change-Id: If9c754e2320e8f112a816c54138918fbaf360597
diff --git a/src/com/android/browser/IntentHandler.java b/src/com/android/browser/IntentHandler.java
index ecd4545..b21c688 100644
--- a/src/com/android/browser/IntentHandler.java
+++ b/src/com/android/browser/IntentHandler.java
@@ -157,6 +157,16 @@
mController.openTab(urlData);
return;
}
+ if (Intent.ACTION_VIEW.equals(action)
+ && (appId != null)
+ && appId.startsWith(mActivity.getPackageName())) {
+ Tab appTab = mTabControl.getTabFromAppId(appId);
+ if ((appTab != null) && (appTab == mController.getCurrentTab())) {
+ mController.switchToTab(appTab);
+ mController.loadUrlDataIn(appTab, urlData);
+ return;
+ }
+ }
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.
diff --git a/src/com/android/browser/UrlHandler.java b/src/com/android/browser/UrlHandler.java
index a4df999..ac4b880 100644
--- a/src/com/android/browser/UrlHandler.java
+++ b/src/com/android/browser/UrlHandler.java
@@ -163,7 +163,7 @@
// Re-use the existing tab if the intent comes back to us
if (tab != null) {
if (tab.getAppId() == null) {
- tab.setAppId("com.android.browser-" + tab.getId());
+ tab.setAppId(mActivity.getPackageName() + "-" + tab.getId());
}
intent.putExtra(Browser.EXTRA_APPLICATION_ID, tab.getAppId());
}