]> gitweb.stoutner.com Git - PrivacyBrowserAndroid.git/blobdiff - app/src/main/java/com/stoutner/privacybrowser/activities/MainWebViewActivity.kt
Reorder domain settings entries. https://redmine.stoutner.com/issues/1011
[PrivacyBrowserAndroid.git] / app / src / main / java / com / stoutner / privacybrowser / activities / MainWebViewActivity.kt
index ffa89265081f2846a831cb6b55d8e22b981b1254..8fb1bc38900941cfceedfbcd400f160bb12f6138 100644 (file)
@@ -774,7 +774,7 @@ class MainWebViewActivity : AppCompatActivity(), CreateBookmarkDialog.CreateBook
             }
         } else {  // The app has been restarted.
             // 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.
+            // The tab position is 0 based, meaning the new tab will be the tab position that is restored.
             if ((intentUriData != null) || (intentStringExtra != null) || isWebSearch)
                 savedTabPosition = savedStateArrayList!!.size
 
@@ -3982,17 +3982,12 @@ class MainWebViewActivity : AppCompatActivity(), CreateBookmarkDialog.CreateBook
                 // Set the first page as the current WebView.
                 setCurrentWebView(0)
             } else {  // The first tab is not selected.
-                // Create a handler move to the page.
-                val setCurrentPageHandler = Handler(Looper.getMainLooper())
+                // Switch to the page before the saved tab position.
+                webViewViewPager2.post { webViewViewPager2.currentItem = (savedTabPosition - 1) }
 
-                // Create a runnable to move to the page.
-                val setCurrentPageRunnable = Runnable {
-                    // Move to the page.
-                    webViewViewPager2.currentItem = savedTabPosition
-                }
-
-                // Move to the page after 50 milliseconds, which should be enough time to for the WebView state adapter to populate the restored pages.
-                setCurrentPageHandler.postDelayed(setCurrentPageRunnable, 50)
+                // Switch to the saved tab position.
+                // This has to be done twice because, for some reason, if the above step is skipped there is some race condition where nothing happens and the first page is displayed.
+                webViewViewPager2.post { webViewViewPager2.currentItem = savedTabPosition }
             }
 
             // Get the intent that started the app.