]> gitweb.stoutner.com Git - PrivacyBrowserAndroid.git/commitdiff
Prevent the wrong page being displayed on restart. https://redmine.stoutner.com...
authorSoren Stoutner <soren@stoutner.com>
Wed, 4 Oct 2023 19:11:12 +0000 (12:11 -0700)
committerSoren Stoutner <soren@stoutner.com>
Wed, 4 Oct 2023 19:11:12 +0000 (12:11 -0700)
app/build.gradle
app/src/main/assets/it/about_changelog.html
app/src/main/java/com/stoutner/privacybrowser/activities/MainWebViewActivity.kt
app/src/main/java/com/stoutner/privacybrowser/helpers/BookmarksDatabaseHelper.kt
build.gradle

index ce9b5ec11b4d950d767b6f363fc3908ef7333727..4e970eb1c87bbf26f96ab278a0e16fe0eb2aa989 100644 (file)
@@ -85,14 +85,14 @@ dependencies {
     implementation 'androidx.coordinatorlayout:coordinatorlayout:1.2.0'
     implementation 'androidx.core:core-ktx:1.10.1'
     implementation 'androidx.drawerlayout:drawerlayout:1.2.0'
-    implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1'
-    implementation 'androidx.preference:preference-ktx:1.2.0'
+    implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.2'
+    implementation 'androidx.preference:preference-ktx:1.2.1'
     implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
     implementation 'androidx.viewpager:viewpager:1.0.0'
     implementation 'androidx.webkit:webkit:1.7.0'
 
     // Include the Kotlin standard library.  This should be the same version number listed in project build.gradle.
-    implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.8.10'
+    implementation 'org.jetbrains.kotlin:kotlin-stdlib:1.8.22'
 
     // Include the Google material library.
     implementation 'com.google.android.material:material:1.9.0'
index 5fe05f990c1db24b00fc6426986e6724fe5a04c7..368fb0cdeac086c3138ada18f203848e2d989606 100644 (file)
@@ -34,7 +34,7 @@
         <ul>
             <li>Sistemazione di un crash che avveniva muovendo un segnalibro <a href="https://redmine.stoutner.com/issues/1028">nella cartella principale</a>.</li>
             <li>Utilizzo della segreta e non documentata <a href="https://redmine.stoutner.com/issues/1023">funzionalità di visione della sorgente</a> di WebView.</li>
-            <li>Fix Domain Settings sometimes being created as <a href="https://redmine.stoutner.com/issues/1032">Enabled instead of System Default</a>.</li>
+            <li>Sistemazione delle impostazioni dei domini che a volte erano salvate come <a href="https://redmine.stoutner.com/issues/1032">Abilitate invece che come Default di Sistema</a>.</li>
             <li>Spostamento dello <a href="https://redmine.stoutner.com/issues/1011">User Agent al di sotto del DOM Storage</a> nell'elenco delle impostazioni dei domini.</li>
             <li>Creazione di una <a href="https://redmine.stoutner.com/issues/672">speciale finestra di dialogo di cifratura</a> per gli URL di contenuto.</li>
             <li>Sistemazione di un crash che avveniva quando Privacy Browser era riavviato mentre era visualizzata
index de608492aade9b22fe3e09a62d0b1990155dc7df..1e41ca201686b4a502ddcf904b3ff11c20dd8bae 100644 (file)
@@ -4207,11 +4207,14 @@ class MainWebViewActivity : AppCompatActivity(), CreateBookmarkDialog.CreateBook
                 // Close the find on page bar if it is open.
                 closeFindOnPage(null)
 
-                // Select the same page in the view pager.
-                webViewViewPager2.currentItem = tab.position
+                // Update the view pager when it has quiesced.  Otherwise, if a page launched by a new intent on restart has not yet been created, the view pager will not be updated to match the tab layout.
+                webViewViewPager2.post {
+                    // Select the same page in the view pager.
+                    webViewViewPager2.currentItem = tab.position
 
-                // Set the current WebView.
-                setCurrentWebView(tab.position)
+                    // Set the current WebView.
+                    setCurrentWebView(tab.position)
+                }
             }
 
             override fun onTabUnselected(tab: TabLayout.Tab) {}
@@ -4223,8 +4226,8 @@ class MainWebViewActivity : AppCompatActivity(), CreateBookmarkDialog.CreateBook
                     // Calculate the milliseconds since the last restart.  This can be replaced by the simpler LocalDateTime once the minimum API >= 26.
                     val millisecondsSinceLastRestart = Date().time - restartTime.time
 
-                    // Only display the SSL certificate dialog if it has been at least 2 seconds since the last restart as deep restarts sometimes end up selecting a tab twice.
-                    if (millisecondsSinceLastRestart > 2000) {
+                    // Only display the SSL certificate dialog if it has been at least 3 seconds since the last restart as deep restarts sometimes end up selecting a tab twice.
+                    if (millisecondsSinceLastRestart > 3000) {
                         // Instantiate the View SSL Certificate dialog.
                         val viewSslCertificateDialogFragment: DialogFragment = ViewSslCertificateDialog.displayDialog(currentWebView!!.webViewFragmentId, currentWebView!!.getFavoriteIcon())
 
index c4c8ebb0a1e8f0de4ec973e27b5c9efe597f4e71..6241b49f77d9202d844ca6bab586e7043903dce4 100644 (file)
@@ -885,7 +885,7 @@ class BookmarksDatabaseHelper(context: Context) : SQLiteOpenHelper(context, BOOK
     }
 
     private fun generateFolderId(): Long {
-        // Get the current time in epoch format.
+        // Get the current time in epoch format (in milliseconds).
         val possibleFolderId = Date().time
 
         // Get a readable database.
index 64d9b31b0994c3b9453643885b187de7da9bd8ce..f5007a0acac68c92ad21c076f6b286bf6bd21be2 100644 (file)
@@ -27,7 +27,7 @@ buildscript {
 
     dependencies {
         classpath 'com.android.tools.build:gradle:8.0.2'
-        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.10"
+        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.22"
 
         // NOTE: Do not place your application dependencies here; they belong
         // in the individual module build.gradle files