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 36ddf6a6e96777955a591c1625b08146cf5edc6f..b99112e294a7f0aa9224d0b01f868677f7ecd132 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 549037f2fc1041b527e3e801eb42410361e817d5..36c5cbd61ec06418440b5bfe3d7681a67f701df9 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 743d50eb29033de6ecc9bbc91461252a9cedab27..622e04a950a23522edf3cd0998720ebef12dd459 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 be10a9d66ccd6c627b804055046389368d1ec86e..10c254b4eb33dc17ccb2804a31ec75814abbf806 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 a7a9f458f9f822b0696973279224137059261647..c1aa4e9d1e0b14fcbf32c25cbb5c0eca11e1d9d1 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 3e3068ee2c647625082c6611efbc70b8f713f004..fbca9d4d43a6d8eb7c465acdbb701a9e2d5d0248 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 d0e5c8f10bd4de26ffdce199f4673b1e06f467c5..4fba6ed87d0e76a9888fad0ddba6dd1b7e79d8b4 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 e58ac85ac3bcedcf3a24e4224f3f32a16717a649..6ab3f7a834386341c1fa87640b307415f51e9c33 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 be400fe6753a90345ab4ba5166c819e9d41c77e6..a40b2223cefdd5f66bf14ba7d7364966201a9e54 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 4074dd53ec81bb9c32298e3ef4fe885f3fe20b9a..37aa06c8c26d43f1801e4ab681ae89f980eb5eb2 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 99582a68504c12f4bcf8672e9873e089b5fa4d19..102cfc6373e2f47ceddf8c1d394195bb6c4e6a87 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 5e1f9b7e7bed0c5f7dff9944a1ef883898564805..e2ad34206354b7f571270129901dc69fef90e10c 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 493bcf8c7ac1de9c5a29ebcd2373f6352fa62adc..01f926416fc4317820e78a6316e2dc2036dca1a6 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 b6ba809717074ee392dee17ad0fc4dcdafe4ce9c..8a2a32ca58dbad83e95de1ee88c90245ff632845 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