Fix a rare crash in `onPageFinished()`. https://redmine.stoutner.com/issues/424
authorSoren Stoutner <soren@stoutner.com>
Wed, 1 May 2019 16:57:07 +0000 (09:57 -0700)
committerSoren Stoutner <soren@stoutner.com>
Wed, 1 May 2019 16:57:07 +0000 (09:57 -0700)
15 files changed:
.idea/dictionaries/soren.xml
app/src/main/assets/de/about_changelog_dark.html
app/src/main/assets/de/about_changelog_light.html
app/src/main/assets/en/about_changelog_dark.html
app/src/main/assets/en/about_changelog_light.html
app/src/main/assets/es/about_changelog_dark.html
app/src/main/assets/es/about_changelog_light.html
app/src/main/assets/it/about_changelog_dark.html
app/src/main/assets/it/about_changelog_light.html
app/src/main/assets/ru/about_changelog_dark.html
app/src/main/assets/ru/about_changelog_light.html
app/src/main/assets/tr/about_changelog_dark.html
app/src/main/assets/tr/about_changelog_light.html
app/src/main/java/com/stoutner/privacybrowser/activities/MainWebViewActivity.java
fastlane/metadata/android/en-US/changelogs/44.txt [new file with mode: 0644]

index 36ddf6a..b99112e 100644 (file)
@@ -76,6 +76,7 @@
       <w>gdpr</w>
       <w>gerlach</w>
       <w>gitweb</w>
+      <w>glitchy</w>
       <w>googleplay</w>
       <w>homescreen</w>
       <w>huawei</w>
index 549037f..36c5cbd 100644 (file)
     </head>
 
     <body>
+        <h3>3.0.1 (version code 44)</h3>
+        <p>1. Mai 2019 - Mindest-API 19, Ziel-API 28</p>
+        <ul>
+            <li>Fix a bug that allowed the app bar to be scrolled off the screen when app bar scrolling was disabled, with <a href="https://redmine.stoutner.com/issues/418">no way to scroll it back</a>.
+            <li>Fix a bug that <a href="https://redmine.stoutner.com/issues/419">prevented the app bar from being displayed</a> after a tab was deleted if the new active tab was blank.</li>
+            <li>Make the <a href="https://redmine.stoutner.com/issues/421">back button close a tab</a> if the WebView is at the beginning of the history list.</li>
+        </ul>
+
         <h3><a href="https://www.stoutner.com/privacy-browser-3-0/">3.0</a> (version code 43)</h3>
         <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=aedc35976f8eda7c00bdd822c172e19cad0fc485">26. April 2019</a> - Mindest-API 19, Ziel-API 28</p>
         <ul>
index 743d50e..622e04a 100644 (file)
     </head>
 
     <body>
+        <h3>3.0.1 (version code 44)</h3>
+        <p>1. Mai 2019 - Mindest-API 19, Ziel-API 28</p>
+        <ul>
+            <li>Fix a bug that allowed the app bar to be scrolled off the screen when app bar scrolling was disabled, with <a href="https://redmine.stoutner.com/issues/418">no way to scroll it back</a>.
+            <li>Fix a bug that <a href="https://redmine.stoutner.com/issues/419">prevented the app bar from being displayed</a> after a tab was deleted if the new active tab was blank.</li>
+            <li>Make the <a href="https://redmine.stoutner.com/issues/421">back button close a tab</a> if the WebView is at the beginning of the history list.</li>
+        </ul>
+
         <h3><a href="https://www.stoutner.com/privacy-browser-3-0/">3.0</a> (version code 43)</h3>
         <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=aedc35976f8eda7c00bdd822c172e19cad0fc485">26. April 2019</a> - Mindest-API 19, Ziel-API 28</p>
         <ul>
index be10a9d..10c254b 100644 (file)
     </head>
 
     <body>
+        <h3>3.0.1 (version code 44)</h3>
+        <p>1 May 2019 - minimum API 19, target API 28</p>
+        <ul>
+            <li>Fix a bug that allowed the app bar to be scrolled off the screen when app bar scrolling was disabled, with <a href="https://redmine.stoutner.com/issues/418">no way to scroll it back</a>.
+            <li>Fix a bug that <a href="https://redmine.stoutner.com/issues/419">prevented the app bar from being displayed</a> after a tab was deleted if the new active tab was blank.</li>
+            <li>Make the <a href="https://redmine.stoutner.com/issues/421">back button close a tab</a> if the WebView is at the beginning of the history list.</li>
+        </ul>
+
         <h3><a href="https://www.stoutner.com/privacy-browser-3-0/">3.0</a> (version code 43)</h3>
         <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=aedc35976f8eda7c00bdd822c172e19cad0fc485">26 April 2019</a> - minimum API 19, target API 28</p>
         <ul>
index a7a9f45..c1aa4e9 100644 (file)
     </head>
 
     <body>
+        <h3>3.0.1 (version code 44)</h3>
+        <p>1 May 2019 - minimum API 19, target API 28</p>
+        <ul>
+            <li>Fix a bug that allowed the app bar to be scrolled off the screen when app bar scrolling was disabled, with <a href="https://redmine.stoutner.com/issues/418">no way to scroll it back</a>.
+            <li>Fix a bug that <a href="https://redmine.stoutner.com/issues/419">prevented the app bar from being displayed</a> after a tab was deleted if the new active tab was blank.</li>
+            <li>Make the <a href="https://redmine.stoutner.com/issues/421">back button close a tab</a> if the WebView is at the beginning of the history list.</li>
+        </ul>
+
         <h3><a href="https://www.stoutner.com/privacy-browser-3-0/">3.0</a> (version code 43)</h3>
         <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=aedc35976f8eda7c00bdd822c172e19cad0fc485">26 April 2019</a> - minimum API 19, target API 28</p>
         <ul>
index 3e3068e..fbca9d4 100644 (file)
     </head>
 
     <body>
+        <h3>3.0.1 (código de versión 44)</h3>
+        <p>1 de mayo de 2019 - API mínimo 19, API dirigido 28</p>
+        <ul>
+            <li>Fix a bug that allowed the app bar to be scrolled off the screen when app bar scrolling was disabled, with <a href="https://redmine.stoutner.com/issues/418">no way to scroll it back</a>.
+            <li>Fix a bug that <a href="https://redmine.stoutner.com/issues/419">prevented the app bar from being displayed</a> after a tab was deleted if the new active tab was blank.</li>
+            <li>Make the <a href="https://redmine.stoutner.com/issues/421">back button close a tab</a> if the WebView is at the beginning of the history list.</li>
+        </ul>
+
         <h3><a href="https://www.stoutner.com/privacy-browser-3-0/">3.0</a> (código de versión 43)</h3>
         <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=aedc35976f8eda7c00bdd822c172e19cad0fc485">26 de abril de 2019</a> - API mínimo 19, API dirigido 28</p>
         <ul>
index d0e5c8f..4fba6ed 100644 (file)
     </head>
 
     <body>
+        <h3>3.0.1 (código de versión 44)</h3>
+        <p>1 de mayo de 2019 - API mínimo 19, API dirigido 28</p>
+        <ul>
+            <li>Fix a bug that allowed the app bar to be scrolled off the screen when app bar scrolling was disabled, with <a href="https://redmine.stoutner.com/issues/418">no way to scroll it back</a>.
+            <li>Fix a bug that <a href="https://redmine.stoutner.com/issues/419">prevented the app bar from being displayed</a> after a tab was deleted if the new active tab was blank.</li>
+            <li>Make the <a href="https://redmine.stoutner.com/issues/421">back button close a tab</a> if the WebView is at the beginning of the history list.</li>
+        </ul>
+
         <h3><a href="https://www.stoutner.com/privacy-browser-3-0/">3.0</a> (código de versión 43)</h3>
         <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=aedc35976f8eda7c00bdd822c172e19cad0fc485">26 de abril de 2019</a> - API mínimo 19, API dirigido 28</p>
         <ul>
index e58ac85..6ab3f7a 100644 (file)
     </head>
 
     <body>
+        <h3>3.0.1 (versione codice 44)</h3>
+        <p>1 Maggio 2019 - minima API 19, target API 28</p>
+        <ul>
+            <li>Fix a bug that allowed the app bar to be scrolled off the screen when app bar scrolling was disabled, with <a href="https://redmine.stoutner.com/issues/418">no way to scroll it back</a>.
+            <li>Fix a bug that <a href="https://redmine.stoutner.com/issues/419">prevented the app bar from being displayed</a> after a tab was deleted if the new active tab was blank.</li>
+            <li>Make the <a href="https://redmine.stoutner.com/issues/421">back button close a tab</a> if the WebView is at the beginning of the history list.</li>
+        </ul>
+
         <h3><a href="https://www.stoutner.com/privacy-browser-3-0/">3.0</a> (versione codice 43)</h3>
         <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=aedc35976f8eda7c00bdd822c172e19cad0fc485">26 Aprile 2019</a> - minima API 19, target API 28</p>
         <ul>
index be400fe..a40b222 100644 (file)
     </head>
 
     <body>
+        <h3>3.0.1 (versione codice 44)</h3>
+        <p>1 Maggio 2019 - minima API 19, target API 28</p>
+        <ul>
+            <li>Fix a bug that allowed the app bar to be scrolled off the screen when app bar scrolling was disabled, with <a href="https://redmine.stoutner.com/issues/418">no way to scroll it back</a>.
+            <li>Fix a bug that <a href="https://redmine.stoutner.com/issues/419">prevented the app bar from being displayed</a> after a tab was deleted if the new active tab was blank.</li>
+            <li>Make the <a href="https://redmine.stoutner.com/issues/421">back button close a tab</a> if the WebView is at the beginning of the history list.</li>
+        </ul>
+
         <h3><a href="https://www.stoutner.com/privacy-browser-3-0/">3.0</a> (versione codice 43)</h3>
         <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=aedc35976f8eda7c00bdd822c172e19cad0fc485">26 Aprile 2019</a> - minima API 19, target API 28</p>
         <ul>
index 4074dd5..37aa06c 100644 (file)
     </head>
 
     <body>
+        <h3>3.0.1 (код версии 44)</h3>
+        <p>1 мая 2019 года - minimum API 19, target API 28</p>
+        <ul>
+            <li>Fix a bug that allowed the app bar to be scrolled off the screen when app bar scrolling was disabled, with <a href="https://redmine.stoutner.com/issues/418">no way to scroll it back</a>.
+            <li>Fix a bug that <a href="https://redmine.stoutner.com/issues/419">prevented the app bar from being displayed</a> after a tab was deleted if the new active tab was blank.</li>
+            <li>Make the <a href="https://redmine.stoutner.com/issues/421">back button close a tab</a> if the WebView is at the beginning of the history list.</li>
+        </ul>
+
         <h3><a href="https://www.stoutner.com/privacy-browser-3-0/">3.0</a> (код версии 43)</h3>
         <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=aedc35976f8eda7c00bdd822c172e19cad0fc485">26 апреля 2019 года</a> - minimum API 19, target API 28</p>
         <ul>
index 99582a6..102cfc6 100644 (file)
     </head>
 
     <body>
+        <h3>3.0.1 (код версии 44)</h3>
+        <p>1 мая 2019 года - minimum API 19, target API 28</p>
+        <ul>
+            <li>Fix a bug that allowed the app bar to be scrolled off the screen when app bar scrolling was disabled, with <a href="https://redmine.stoutner.com/issues/418">no way to scroll it back</a>.
+            <li>Fix a bug that <a href="https://redmine.stoutner.com/issues/419">prevented the app bar from being displayed</a> after a tab was deleted if the new active tab was blank.</li>
+            <li>Make the <a href="https://redmine.stoutner.com/issues/421">back button close a tab</a> if the WebView is at the beginning of the history list.</li>
+        </ul>
+
         <h3><a href="https://www.stoutner.com/privacy-browser-3-0/">3.0</a> (код версии 43)</h3>
         <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=aedc35976f8eda7c00bdd822c172e19cad0fc485">26 апреля 2019 года</a> - minimum API 19, target API 28</p>
         <ul>
index 5e1f9b7..e2ad342 100644 (file)
     </head>
 
     <body>
+        <h3>3.0.1 (version code 44)</h3>
+        <p>1 May 2019 - minimum API 19, target API 28</p>
+        <ul>
+            <li>Fix a bug that allowed the app bar to be scrolled off the screen when app bar scrolling was disabled, with <a href="https://redmine.stoutner.com/issues/418">no way to scroll it back</a>.
+            <li>Fix a bug that <a href="https://redmine.stoutner.com/issues/419">prevented the app bar from being displayed</a> after a tab was deleted if the new active tab was blank.</li>
+            <li>Make the <a href="https://redmine.stoutner.com/issues/421">back button close a tab</a> if the WebView is at the beginning of the history list.</li>
+        </ul>
+
         <h3><a href="https://www.stoutner.com/privacy-browser-3-0/">3.0</a> (version code 43)</h3>
         <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=aedc35976f8eda7c00bdd822c172e19cad0fc485">26 Nisan 2019</a> - minimum API 19, target API 28</p>
         <ul>
index 493bcf8..01f9264 100644 (file)
     </head>
 
     <body>
+        <h3>3.0.1 (version code 44)</h3>
+        <p>1 May 2019 - minimum API 19, target API 28</p>
+        <ul>
+            <li>Fix a bug that allowed the app bar to be scrolled off the screen when app bar scrolling was disabled, with <a href="https://redmine.stoutner.com/issues/418">no way to scroll it back</a>.
+            <li>Fix a bug that <a href="https://redmine.stoutner.com/issues/419">prevented the app bar from being displayed</a> after a tab was deleted if the new active tab was blank.</li>
+            <li>Make the <a href="https://redmine.stoutner.com/issues/421">back button close a tab</a> if the WebView is at the beginning of the history list.</li>
+        </ul>
+
         <h3><a href="https://www.stoutner.com/privacy-browser-3-0/">3.0</a> (version code 43)</h3>
         <p><a href="https://git.stoutner.com/?p=PrivacyBrowser.git;a=commitdiff;h=aedc35976f8eda7c00bdd822c172e19cad0fc485">26 Nisan 2019</a> - minimum API 19, target API 28</p>
         <ul>
index b6ba809..8a2a32c 100644 (file)
@@ -3160,6 +3160,9 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
         } else {  // There isn't anything to do in Privacy Browser.
             // Run the default commands.
             super.onBackPressed();
+
+            // Manually kill Privacy Browser.  Otherwise, it is glitchy when restarted.
+            System.exit(0);
         }
     }
 
@@ -5374,10 +5377,15 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
                         CheckPinnedMismatchHelper.checkPinnedMismatch(getSupportFragmentManager(), nestedScrollWebView);
                     }
 
+                    // Get the current URL from the nested scroll WebView.  This is more accurate than using the URL passed into the method, which is sometimes not the final one.
+                    String currentUrl = nestedScrollWebView.getUrl();
+
                     // Update the URL text bar if the page is currently selected and the user is not currently typing in the URL edit text.
-                    if ((tabLayout.getSelectedTabPosition() == currentPagePosition) && !urlEditText.hasFocus()) {
+                    // Crash records show that, in some crazy way, it is possible for the current URL to be blank at this point.
+                    // Probably some sort of race condition when Privacy Browser is being resumed.
+                    if ((tabLayout.getSelectedTabPosition() == currentPagePosition) && !urlEditText.hasFocus() && (currentUrl != null)) {
                         // Check to see if the URL is `about:blank`.
-                        if (nestedScrollWebView.getUrl().equals("about:blank")) {  // The WebView is blank.
+                        if (currentUrl.equals("about:blank")) {  // The WebView is blank.
                             // Display the hint in the URL edit text.
                             urlEditText.setText("");
 
@@ -5394,7 +5402,7 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
                             applyDomainSettings(nestedScrollWebView, "", true, false);
                         } else {  // The WebView has loaded a webpage.
                             // Display the final URL.  Getting the URL from the WebView instead of using the one provided by `onPageFinished()` makes websites like YouTube function correctly.
-                            urlEditText.setText(nestedScrollWebView.getUrl());
+                            urlEditText.setText(currentUrl);
 
                             // Apply text highlighting to the URL.
                             highlightUrlText();
diff --git a/fastlane/metadata/android/en-US/changelogs/44.txt b/fastlane/metadata/android/en-US/changelogs/44.txt
new file mode 100644 (file)
index 0000000..957c845
--- /dev/null
@@ -0,0 +1,3 @@
+• Fix a bug that allowed the app bar to be scrolled off the screen when app bar scrolling was disabled, with no way to scroll it back.
+• Fix a bug that prevented the app bar from being displayed after a tab was deleted if the new active tab was blank.
+• Make the back button close a tab if the WebView is at the beginning of the history list.
\ No newline at end of file