]> gitweb.stoutner.com Git - PrivacyBrowserAndroid.git/commitdiff
Restore edits in the URL bar when switching tabs. https://redmine.stoutner.com/issue...
authorSoren Stoutner <soren@stoutner.com>
Tue, 22 Oct 2024 19:23:38 +0000 (12:23 -0700)
committerSoren Stoutner <soren@stoutner.com>
Tue, 22 Oct 2024 19:23:38 +0000 (12:23 -0700)
app/src/main/java/com/stoutner/privacybrowser/activities/MainWebViewActivity.kt
app/src/main/java/com/stoutner/privacybrowser/views/NestedScrollWebView.kt
app/src/main/res/values-es/strings.xml
app/src/main/res/values-it/strings.xml
build.gradle
gradle/wrapper/gradle-wrapper.properties

index c6172edd6a456c996f4597ab70854848be82aa88..4adec9e59c7b657369894c19de6874e221021d7a 100644 (file)
@@ -630,6 +630,22 @@ class MainWebViewActivity : AppCompatActivity(), CreateBookmarkDialog.CreateBook
             urlRelativeLayout = findViewById(R.id.url_relativelayout)
             urlEditText = findViewById(R.id.url_edittext)
 
+            // Store the URL when it is changed.  This enables the restoring of partially-typed URLs when tabs change.
+            urlEditText.addTextChangedListener(object : TextWatcher {
+                override fun beforeTextChanged(charSequence: CharSequence, start: Int, count: Int, after: Int) {
+                    // Do nothing.
+                }
+
+                override fun onTextChanged(charSequence: CharSequence, start: Int, before: Int, count: Int) {
+                    // Do nothing.
+                }
+
+                override fun afterTextChanged(editable: Editable) {
+                    // Store the URL
+                    currentWebView?.currentUrl = editable.toString()
+                }
+            })
+
             // Initially disable the sliding drawers.  They will be enabled once the filter lists are loaded.
             drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED)
 
@@ -4411,7 +4427,7 @@ class MainWebViewActivity : AppCompatActivity(), CreateBookmarkDialog.CreateBook
 
             override fun afterTextChanged(editable: Editable) {
                 // Search for the text in the WebView if it is not null.  Sometimes on resume after a period of non-use the WebView will be null.
-                currentWebView?.findAllAsync(findOnPageEditText.text.toString())
+                currentWebView?.findAllAsync(editable.toString())
             }
         })
 
@@ -6242,11 +6258,11 @@ class MainWebViewActivity : AppCompatActivity(), CreateBookmarkDialog.CreateBook
             updatePrivacyIcons(true)
 
             // Get the current URL.
-            val urlString = currentWebView!!.url
+            val urlString = currentWebView!!.currentUrl
 
             // Update the URL edit text if not loading a new intent.  Otherwise, this will be handled by `onPageStarted()` (if called) and `onPageFinished()`.
             if (!loadingNewIntent) {  // A new intent is not being loaded.
-                if ((urlString == null) || (urlString == "about:blank")) {  // The WebView is blank.
+                if (urlString.isBlank()) {  // The WebView is blank.
                     // Display the hint in the URL edit text.
                     urlEditText.text = null
 
index b5b805d88cd90bdac75776d0cfd808149b05a971..f2ec71d59c8eb59415889523e1cabdd9c4a0981b 100644 (file)
@@ -14,7 +14,7 @@
  * GNU General Public License for more details.
  *
  * You should have received a copy of the GNU General Public License
- * along with Privacy Browser Android.  If not, see <http://www.gnu.org/licenses/>.
+ * along with Privacy Browser Android.  If not, see <https://www.gnu.org/licenses/>.
  */
 
 package com.stoutner.privacybrowser.views
index d9940aa66aaf454732406167022ba8dfd475e431..37717b41e6ea1d0aff51aa63d6a8db60704f1cce 100644 (file)
@@ -5,7 +5,7 @@
 
   Translation 2017-2024 Jose A. León.  Copyright assigned to Soren Stoutner <soren@stoutner.com>.
 
-  This file is part of Privacy Browser Android <https://www.stoutner.com/privacy-browser-android>.
+  This file is part of Privacy Browser Android <https://www.stoutner.com/privacy-browser-android/>.
 
   Privacy Browser Android is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -18,7 +18,7 @@
   GNU General Public License for more details.
 
   You should have received a copy of the GNU General Public License
-  along with Privacy Browser Android.  If not, see <http://www.gnu.org/licenses/>. -->
+  along with Privacy Browser Android.  If not, see <https://www.gnu.org/licenses/>. -->
 
 <resources>
     <!-- Activities. -->
     <string name="selected">Seleccionados:\u0020 %1$d</string>
     <string name="move_up">Subir</string>
     <string name="move_down">Bajar</string>
+    <string name="move_to_top">Ir arriba</string>
+    <string name="move_to_bottom">Ir abajo</string>
     <string name="edit">Editar</string>
     <string name="delete">Borrar</string>
     <string name="select_all">Selectionar todo</string>
index b573c6bf769ff02c49bddd5167b8c6584758b15e..b0f0d5d790bcdeee3ac0cc8afe7e2f41a57b4f18 100644 (file)
@@ -5,7 +5,7 @@
 
   Translation 2017-2024 Francesco Buratti.  Copyright assigned to Soren Stoutner <soren@stoutner.com>.
 
-  This file is part of Privacy Browser Android <https://www.stoutner.com/privacy-browser-android>.
+  This file is part of Privacy Browser Android <https://www.stoutner.com/privacy-browser-android/>.
 
   Privacy Browser Android is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -18,7 +18,7 @@
   GNU General Public License for more details.
 
   You should have received a copy of the GNU General Public License
-  along with Privacy Browser Android.  If not, see <http://www.gnu.org/licenses/>. -->
+  along with Privacy Browser Android.  If not, see <https://www.gnu.org/licenses/>. -->
 
 <resources>
     <!-- Activities. -->
     <string name="selected">Selezionato:\u0020 %1$d</string>
     <string name="move_up">Sposta sopra</string>
     <string name="move_down">Sposta sotto</string>
+    <string name="move_to_top">Sposta in Alto</string>
+    <string name="move_to_bottom">Sposta in Basso</string>
     <string name="edit">Modifica</string>
     <string name="delete">Elimina</string>
     <string name="select_all">Seleziona tutto</string>
index da3439b9fe32aaef2f069a909c157913f4091978..8088fb4fbab1caf80b007aae6b9944455fecbc69 100644 (file)
@@ -26,7 +26,7 @@ buildscript {
     }
 
     dependencies {
-        classpath 'com.android.tools.build:gradle:8.6.1'
+        classpath 'com.android.tools.build:gradle:8.7.1'
         classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.9.20"
 
         // NOTE: Do not place your application dependencies here; they belong
index 73b1537852ff81247bcb28c70ad7132c7754a7cc..ab3102cf1253e5372ef299845397d3a20a00d53d 100644 (file)
 # GNU General Public License for more details.
 #
 # You should have received a copy of the GNU General Public License
-# along with Privacy Browser Android.  If not, see <http://www.gnu.org/licenses/>.
+# along with Privacy Browser Android.  If not, see <https://www.gnu.org/licenses/>.
 
 #Thu Oct 15 14:40:42 MST 2020
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip