}
}
} else { // The app has been restarted.
- // Set the saved tab position to be the size of the saved state array list. The tab position is 0 based, meaning the at the new tab will be the tab position that is restored.
- savedTabPosition = savedStateArrayList.size();
+ // Get the information from the intent.
+ String intentAction = intent.getAction();
+ Uri intentUriData = intent.getData();
+ String intentStringExtra = intent.getStringExtra(Intent.EXTRA_TEXT);
+
+ // Determine if this is a web search.
+ boolean isWebSearch = ((intentAction != null) && intentAction.equals(Intent.ACTION_WEB_SEARCH));
+
+ // If the new intent will open a new tab, set the saved tab position to be the size of the saved state array list.
+ // The tab position is 0 based, meaning the at the new tab will be the tab position that is restored.
+ if (intentUriData != null || intentStringExtra != null || isWebSearch)
+ savedTabPosition = savedStateArrayList.size();
// Replace the intent that started the app with this one. This will load the tab after the others have been restored.
setIntent(intent);