X-Git-Url: https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fcom%2Fstoutner%2Fprivacybrowser%2FSettingsFragment.java;fp=app%2Fsrc%2Fmain%2Fjava%2Fcom%2Fstoutner%2Fprivacybrowser%2FSettingsFragment.java;h=f52397b19abfb69df19d64d22f9b139fa9f3c135;hp=35021b3e8d09dcb333bf70d2954fc98123cf4a95;hb=5be7baa728da6b72d7cd104e4c30d8fe1a41c757;hpb=b0a048867d5582bc693ba8699a75aa93b4fa1b69 diff --git a/app/src/main/java/com/stoutner/privacybrowser/SettingsFragment.java b/app/src/main/java/com/stoutner/privacybrowser/SettingsFragment.java index 35021b3e..f52397b1 100644 --- a/app/src/main/java/com/stoutner/privacybrowser/SettingsFragment.java +++ b/app/src/main/java/com/stoutner/privacybrowser/SettingsFragment.java @@ -19,6 +19,7 @@ package com.stoutner.privacybrowser; +import android.annotation.SuppressLint; import android.content.SharedPreferences; import android.os.Build; import android.os.Bundle; @@ -35,17 +36,40 @@ public class SettingsFragment extends PreferenceFragment { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.preferences); - final Preference homepagePreference = findPreference("homepage"); - // Initialize savedPreferences. savedPreferences = getPreferenceScreen().getSharedPreferences(); + + // Set the JavaScript-disabled search URL as the summary text for the JavaScript-disabled search preference when the preference screen is loaded. + // The default is "https://duckduckgo.com/html/?q=". + final Preference javaScriptDisabledSearchPreference = findPreference("javascript_disabled_search"); + javaScriptDisabledSearchPreference.setSummary(savedPreferences.getString("javascript_disabled_search", "https://duckduckgo.com/html/?q=")); + + // Set the summary text for "javascript_disabled_search_custom_url" (the default is "") and enable it if "javascript_disabled_search" is set to "Custom URL". + final Preference javaScriptDisabledSearchCustomURLPreference = findPreference("javascript_disabled_search_custom_url"); + javaScriptDisabledSearchCustomURLPreference.setSummary(savedPreferences.getString("javascript_disabled_search_custom_url", "")); + javaScriptDisabledSearchCustomURLPreference.setEnabled(javaScriptDisabledSearchPreference.getSummary().equals("Custom URL")); + + // Set the JavaScript-enabed searchURL as the summary text for the JavaScript-enabled search preference when the preference screen is loaded. + // The default is "https://duckduckgo.com/?q=". + final Preference javaScriptEnabledSearchPreference = findPreference("javascript_enabled_search"); + javaScriptEnabledSearchPreference.setSummary(savedPreferences.getString("javascript_enabled_search", "https://duckduckgo.com/?q=")); + + // Set the summary text for "javascript_enabled_search_custom_url" (the default is "") and enable it if "javascript_enabled_search" is set to "Custom URL". + final Preference javaScriptEnabledSearchCustomURLPreference = findPreference("javascript_enabled_search_custom_url"); + javaScriptEnabledSearchCustomURLPreference.setSummary(savedPreferences.getString("javascript_enabled_search_custom_url", "")); + javaScriptEnabledSearchCustomURLPreference.setEnabled(javaScriptEnabledSearchPreference.getSummary().equals("Custom URL")); + // Set the homepage URL as the summary text for the Homepage preference when the preference screen is loaded. The default is "https://www.duckduckgo.com". + final Preference homepagePreference = findPreference("homepage"); homepagePreference.setSummary(savedPreferences.getString("homepage", "https://www.duckduckgo.com")); + // Listen for preference changes. preferencesListener = new SharedPreferences.OnSharedPreferenceChangeListener() { @Override + // Remove Android Studio's warning about the dangers of using SetJavaScriptEnabled. + @SuppressLint("SetJavaScriptEnabled") public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { // Several keys need to update the toggleJavaScript icon. @@ -135,6 +159,42 @@ public class SettingsFragment extends PreferenceFragment { } return; + case "javascript_disabled_search": + // Set the new search URL as the summary text for the JavaScript-disabled search preference. The default is "https://duckduckgo.com/html/?q=". + javaScriptDisabledSearchPreference.setSummary(sharedPreferences.getString("javascript_disabled_search", "https://duckduckgo.com/html/?q=")); + + // Enable "javascript_disabled_search_custom_url" if "javascript_disabled_search" is set to "Custom URL". + javaScriptDisabledSearchCustomURLPreference.setEnabled(javaScriptDisabledSearchPreference.getSummary().equals("Custom URL")); + + // Update the javaScriptDisabledSearchURL variable. The default is "https://duckduckgo.com/html/?q=". + MainWebViewActivity.javaScriptDisabledSearchURL = sharedPreferences.getString("javascript_disabled_search", "https://duckduckgo.com/html/?q="); + return; + + case "javascript_disabled_search_custom_url": + // Set the new custom search URL as the summary text for "javascript_disabled_search_custom_url". The default is "". + javaScriptDisabledSearchCustomURLPreference.setSummary(sharedPreferences.getString("javascript_disabled_search_custom_url", "")); + + // Update javaScriptDisabledSearchCustomURL. The default is "". + MainWebViewActivity.javaScriptDisabledSearchCustomURL = sharedPreferences.getString("javascript_disabled_search_custom_url", ""); + + case "javascript_enabled_search": + // Set the new search URL as the summary text for the JavaScript-enabled search preference. The default is "https://duckduckgo.com/?q=". + javaScriptEnabledSearchPreference.setSummary(sharedPreferences.getString("javascript_enabled_search", "https://duckduckgo.com/?q=")); + + // Enable "javascript_enabled_search_custom_url" if "javascript_enabled_search" is set to "Custom URL". + javaScriptEnabledSearchCustomURLPreference.setEnabled(javaScriptEnabledSearchPreference.getSummary().equals("Custom URL")); + + // Update the javaScriptEnabledSearchURL variable. The default is "https://duckduckgo.com/?q=". + MainWebViewActivity.javaScriptEnabledSearchURL = sharedPreferences.getString("javascript_enabled_search", "https://duckduckgo.com/?q="); + return; + + case "javascript_enabled_search_custom_url": + // Set the new custom search URL as the summary text for "javascript_enabled_search_custom_url". The default is "". + javaScriptEnabledSearchCustomURLPreference.setSummary(sharedPreferences.getString("javascript_enabled_search_custom_url", "")); + + // Update javaScriptEnabledSearchCustomURL. The default is "". + MainWebViewActivity.javaScriptEnabledSearchCustomURL = sharedPreferences.getString("javascript_enabled_search_custom_url", ""); + case "homepage": // Set the new homepage URL as the summary text for the Homepage preference. The default is "https://www.duckduckgo.com". homepagePreference.setSummary(sharedPreferences.getString("homepage", "https://www.duckduckgo.com")); @@ -149,6 +209,7 @@ public class SettingsFragment extends PreferenceFragment { // Update swipeRefreshLayout to match the new state. MainWebViewActivity.swipeToRefresh.setEnabled(MainWebViewActivity.swipeToRefreshEnabled); + return; // If no match, do nothing. default: @@ -160,8 +221,8 @@ public class SettingsFragment extends PreferenceFragment { savedPreferences.registerOnSharedPreferenceChangeListener(preferencesListener); } - // It is necessary to reregister the listener on every resume or it will randomly stop working for the user because apps can be paused and resumed at any time, - // even when they are in the foreground. + // It is necessary to re-register the listener on every resume or it will randomly stop working because apps can be paused and resumed at any time + // even while running in the foreground. @Override public void onResume() { super.onResume();