]> gitweb.stoutner.com Git - PrivacyBrowserAndroid.git/commitdiff
Reload the website after returning from the Domains activity. https://redmine.stoutn...
authorSoren Stoutner <soren@stoutner.com>
Mon, 14 May 2018 20:10:15 +0000 (13:10 -0700)
committerSoren Stoutner <soren@stoutner.com>
Mon, 14 May 2018 20:10:15 +0000 (13:10 -0700)
app/src/main/java/com/stoutner/privacybrowser/activities/MainWebViewActivity.java

index 0bf8d0d6e0929f9cc7efbe4e1fb468b54dba7f96..999241b3d0bd588532eed48714f78d6f408ae9b2 100644 (file)
@@ -1109,7 +1109,7 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
             public boolean shouldOverrideUrlLoading(WebView view, String url) {
                 if (url.startsWith("http")) {  // Load the URL in Privacy Browser.
                     // Apply the domain settings for the new URL.
-                    applyDomainSettings(url, true);
+                    applyDomainSettings(url, true, false);
 
                     // Returning false causes the current `WebView` to handle the URL and prevents it from adding redirects to the history list.
                     return false;
@@ -1242,7 +1242,7 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
 
                     // Apply any custom domain settings if the URL was loaded by navigating history.
                     if (navigatingHistory) {
-                        applyDomainSettings(url, true);
+                        applyDomainSettings(url, true, false);
                     }
 
                     // Set `urlIsLoading` to `true`, so that redirects while loading do not trigger changes in the user agent, which forces another reload of the existing page.
@@ -1298,7 +1298,7 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
                         inputMethodManager.showSoftInput(urlTextBox, 0);
 
                         // Apply the domain settings.  This clears any settings from the previous domain.
-                        applyDomainSettings(formattedUrlString, true);
+                        applyDomainSettings(formattedUrlString, true, false);
                     } else {  // `WebView` has loaded a webpage.
                         // Set `formattedUrlString`.
                         formattedUrlString = url;
@@ -1487,7 +1487,7 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
         // Apply the domain settings if returning from the Domains activity.
         if (reapplyDomainSettingsOnRestart) {
             // Reapply the domain settings.
-            applyDomainSettings(formattedUrlString, false);
+            applyDomainSettings(formattedUrlString, false, true);
 
             // Reset `reapplyDomainSettingsOnRestart`.
             reapplyDomainSettingsOnRestart = false;
@@ -3043,7 +3043,7 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
 
     private void loadUrl(String url) {
         // Apply any custom domain settings.
-        applyDomainSettings(url, true);
+        applyDomainSettings(url, true, false);
 
         // Load the URL.
         mainWebView.loadUrl(url, customHeaders);
@@ -3235,10 +3235,10 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
         }
     }
 
-    //
+    // `reloadWebsite` is used if returnig from the Domains activity.  Otherwise JavaScript might not function correctly if it is newly enabled.
     // The deprecated `.getDrawable()` must be used until the minimum API >= 21.
     @SuppressWarnings("deprecation")
-    private void applyDomainSettings(String url, boolean resetFavoriteIcon) {
+    private void applyDomainSettings(String url, boolean resetFavoriteIcon, boolean reloadWebsite) {
         // Reset `navigatingHistory`.
         navigatingHistory = false;
 
@@ -3532,6 +3532,11 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook
             if (mainMenu != null) {
                 updatePrivacyIcons(true);
             }
+
+            // Reload the website if returning from the Domains activity.
+            if (reloadWebsite) {
+                mainWebView.reload();
+            }
         }
     }