X-Git-Url: https://gitweb.stoutner.com/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fcom%2Fstoutner%2Fprivacybrowser%2FMainWebViewActivity.java;h=2edbfdfeea2efd2f6eb21176b37f4bb986f311c9;hb=57b05bcbae9759d4b58ce3b96ede61992eb34eee;hp=99fef852d35edf0618b5a448095d3f9171d8ef33;hpb=8f89d3c5ef3625bec2dd8a99fae255f5c6f46636;p=PrivacyBrowserAndroid.git diff --git a/app/src/main/java/com/stoutner/privacybrowser/MainWebViewActivity.java b/app/src/main/java/com/stoutner/privacybrowser/MainWebViewActivity.java index 99fef852..2edbfdfe 100644 --- a/app/src/main/java/com/stoutner/privacybrowser/MainWebViewActivity.java +++ b/app/src/main/java/com/stoutner/privacybrowser/MainWebViewActivity.java @@ -82,6 +82,10 @@ public class MainWebViewActivity extends AppCompatActivity implements Navigation public static boolean thirdPartyCookiesEnabled; // domStorageEnabled is public static so it can be accessed from SettingsFragment. It is also used in onCreate(), onCreateOptionsMenu(), and onOptionsItemSelected(). public static boolean domStorageEnabled; + // javaScriptDisabledSearchURL is public static so it can be accessed from SettingsFragment. It is also used in onCreate() and loadURLFromTextBox(). + public static String javaScriptDisabledSearchURL; + // javaScriptEnabledSearchURL is public static so it can be accessed from SettingsFragment. It is also used in onCreate() and loadURLFromTextBox(). + public static String javaScriptEnabledSearchURL; // homepage is public static so it can be accessed from SettingsFragment. It is also used in onCreate() and onOptionsItemSelected(). public static String homepage; // swipeToRefresh is public static so it can be accessed from SettingsFragment. It is also used in onCreate(). @@ -314,28 +318,65 @@ public class MainWebViewActivity extends AppCompatActivity implements Navigation // Get the shared preference values. SharedPreferences savedPreferences = PreferenceManager.getDefaultSharedPreferences(this); - // Set JavaScript initial status. + // Set JavaScript initial status. The default value is false. javaScriptEnabled = savedPreferences.getBoolean("javascript_enabled", false); mainWebView.getSettings().setJavaScriptEnabled(javaScriptEnabled); // Initialize cookieManager. cookieManager = CookieManager.getInstance(); - // Set cookies initial status. + // Set cookies initial status. The default value is false. firstPartyCookiesEnabled = savedPreferences.getBoolean("first_party_cookies_enabled", false); cookieManager.setAcceptCookie(firstPartyCookiesEnabled); - // Set third-party cookies initial status if API >= 21. + // Set third-party cookies initial status if API >= 21. The default value is false. if (Build.VERSION.SDK_INT >= 21) { thirdPartyCookiesEnabled = savedPreferences.getBoolean("third_party_cookies_enabled", false); cookieManager.setAcceptThirdPartyCookies(mainWebView, thirdPartyCookiesEnabled); } - // Set DOM storage initial status. + // Set DOM storage initial status. The default value is false. domStorageEnabled = savedPreferences.getBoolean("dom_storage_enabled", false); mainWebView.getSettings().setDomStorageEnabled(domStorageEnabled); - // Set homepage initial status. + // Set the user agent initial status. + String userAgentString = savedPreferences.getString("user_agent", "Default user agent"); + switch (userAgentString) { + case "Default user agent": + // Do nothing. + break; + + case "Custom user agent": + // Set the custom user agent on mainWebView, The default is "PrivacyBrowser/1.0". + mainWebView.getSettings().setUserAgentString(savedPreferences.getString("custom_user_agent", "PrivacyBrowser/1.0")); + break; + + default: + // Set the selected user agent on mainWebView. The default is "PrivacyBrowser/1.0". + mainWebView.getSettings().setUserAgentString(savedPreferences.getString("user_agent", "PrivacyBrowser/1.0")); + break; + } + + // Set the initial string for JavaScript disabled search. + if (savedPreferences.getString("javascript_disabled_search", "https://duckduckgo.com/html/?q=").equals("Custom URL")) { + // Get the custom URL string. The default is "". + javaScriptDisabledSearchURL = savedPreferences.getString("javascript_disabled_search_custom_url", ""); + } else { + // Use the string from javascript_disabled_search. + javaScriptDisabledSearchURL = savedPreferences.getString("javascript_disabled_search", "https://duckduckgo.com/html/?q="); + } + + // Set the initial string for JavaScript enabled search. + if (savedPreferences.getString("javascript_enabled_search", "https://duckduckgo.com/?q=").equals("Custom URL")) { + // Get the custom URL string. The default is "". + javaScriptEnabledSearchURL = savedPreferences.getString("javascript_enabled_search_custom_url", ""); + } else { + // Use the string from javascript_enabled_search. + javaScriptEnabledSearchURL = savedPreferences.getString("javascript_enabled_search", "https://duckduckgo.com/?q="); + } + + + // Set homepage initial status. The default value is "https://www.duckduckgo.com". homepage = savedPreferences.getString("homepage", "https://www.duckduckgo.com"); // Set swipe to refresh initial status. The default is true. @@ -604,8 +645,10 @@ public class MainWebViewActivity extends AppCompatActivity implements Navigation case R.id.refresh: mainWebView.reload(); + return true; default: + // Don't consume the event. return super.onOptionsItemSelected(menuItem); } } @@ -781,9 +824,9 @@ public class MainWebViewActivity extends AppCompatActivity implements Navigation // Use the correct search URL based on javaScriptEnabled. if (javaScriptEnabled) { - formattedUrlString = "https://duckduckgo.com/?q=" + encodedUrlString; - } else { - formattedUrlString = "https://duckduckgo.com/html/?q=" + encodedUrlString; + formattedUrlString = javaScriptEnabledSearchURL + encodedUrlString; + } else { // JavaScript is disabled. + formattedUrlString = javaScriptDisabledSearchURL + encodedUrlString; } }