]> gitweb.stoutner.com Git - PrivacyBrowserAndroid.git/blobdiff - app/src/main/java/com/stoutner/privacybrowser/activities/MainWebViewActivity.java
Fix a crash on restart by a new intent. https://redmine.stoutner.com/issues/981
[PrivacyBrowserAndroid.git] / app / src / main / java / com / stoutner / privacybrowser / activities / MainWebViewActivity.java
index f2bf75366c0288d993e970a2615f7b623e54d990..91c3a71ebbaa125590debe2d2bbf99ead47a0e2f 100644 (file)
@@ -759,8 +759,18 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
                 }
             }
         } 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);