X-Git-Url: https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fcom%2Fstoutner%2Fprivacybrowser%2Fviews%2FNestedScrollWebView.java;h=c3f2fc51e2ee8e341b6cdf7667fffb877d71c186;hp=c7a2227802391dd10cbb7a2ed6bee2d663df3605;hb=0488649384ddea89d768c1fc1cc5fb71f8af6528;hpb=ffdec8106ad23f62ca529749ade99f51e336ce55 diff --git a/app/src/main/java/com/stoutner/privacybrowser/views/NestedScrollWebView.java b/app/src/main/java/com/stoutner/privacybrowser/views/NestedScrollWebView.java index c7a22278..c3f2fc51 100644 --- a/app/src/main/java/com/stoutner/privacybrowser/views/NestedScrollWebView.java +++ b/app/src/main/java/com/stoutner/privacybrowser/views/NestedScrollWebView.java @@ -1,5 +1,5 @@ /* - * Copyright © 2019 Soren Stoutner . + * Copyright © 2019-2020 Soren Stoutner . * * This file is part of Privacy Browser . * @@ -65,15 +65,15 @@ public class NestedScrollWebView extends WebView implements NestedScrollingChild private boolean domainSettingsApplied; private int domainSettingsDatabaseId; + // Keep track of the current URL. This is used to not block resource requests to the main URL. + private String currentUrl; + // Keep track of when the domain name changes so that domain settings can be reapplied. This should never be null. private String currentDomainName = ""; // Track the status of first-party cookies. private boolean acceptFirstPartyCookies; - // Track the domain settings JavaScript status. This can be removed once night mode does not require JavaScript. - private boolean domainSettingsJavaScriptEnabled; - // Track the resource requests. private List resourceRequests = Collections.synchronizedList(new ArrayList<>()); // Using a synchronized list makes adding resource requests thread safe. private boolean easyListEnabled; @@ -114,18 +114,15 @@ public class NestedScrollWebView extends WebView implements NestedScrollingChild // The ignore pinned domain information tracker. This is set when a user proceeds past a pinned mismatch dialog to prevent the dialog from showing again until after the domain changes. private boolean ignorePinnedDomainInformation; - // Track navigation of history. - private boolean navigatingHistory; - // The default or favorite icon. private Bitmap favoriteOrDefaultIcon; - // Track night mode. - private boolean nightMode; - // Track swipe to refresh. private boolean swipeToRefresh; + // Track a URL waiting for a proxy. + private String waitingForProxyUrlString = ""; + // The nested scrolling child helper is used throughout the class. private NestedScrollingChildHelper nestedScrollingChildHelper; @@ -230,6 +227,18 @@ public class NestedScrollWebView extends WebView implements NestedScrollingChild } + // Current URL. + public void setCurrentUrl(String url) { + // Store the current URL. + currentUrl = url; + } + + public String getCurrentUrl() { + // Return the current URL. + return currentUrl; + } + + // Current domain name. To function well when called, the domain name should never be allowed to be null. public void setCurrentDomainName(@NonNull String domainName) { // Store the current domain name. @@ -259,18 +268,6 @@ public class NestedScrollWebView extends WebView implements NestedScrollingChild } - // Domain settings JavaScript enabled. This can be removed once night mode does not require JavaScript. - public void setDomainSettingsJavaScriptEnabled(boolean status) { - // Store the domain settings JavaScript status. - domainSettingsJavaScriptEnabled = status; - } - - public boolean getDomainSettingsJavaScriptEnabled() { - // Return the domain settings JavaScript status. - return domainSettingsJavaScriptEnabled; - } - - // Resource requests. public void addResourceRequest(String[] resourceRequest) { // Add the resource request to the list. @@ -592,18 +589,6 @@ public class NestedScrollWebView extends WebView implements NestedScrollingChild } - // Navigating history. - public void setNavigatingHistory(boolean status) { - // Set the status of navigating history. - navigatingHistory = status; - } - - public boolean getNavigatingHistory() { - // Return the status of navigating history. - return navigatingHistory; - } - - // Favorite or default icon. public void initializeFavoriteIcon() { // Get the default favorite icon drawable. `ContextCompat` must be used until API >= 21. @@ -635,18 +620,6 @@ public class NestedScrollWebView extends WebView implements NestedScrollingChild } - // Night mode. - public void setNightMode(boolean status) { - // Store the night mode status. - nightMode = status; - } - - public boolean getNightMode() { - // Return the night mode status. - return nightMode; - } - - // Swipe to refresh. public void setSwipeToRefresh(boolean status) { // Store the swipe to refresh status. @@ -659,6 +632,22 @@ public class NestedScrollWebView extends WebView implements NestedScrollingChild } + // Waiting for proxy. + public void setWaitingForProxyUrlString(String urlString) { + // Store the waiting for proxy URL string. + waitingForProxyUrlString = urlString; + } + + public String getWaitingForProxyUrlString() { + // Return the waiting for proxy URL string. + return waitingForProxyUrlString; + } + + public void resetWaitingForProxyUrlString() { + // Clear the waiting for proxy URL string. + waitingForProxyUrlString = ""; + } + // Scroll range. public int getHorizontalScrollRange() { // Return the horizontal scroll range.