X-Git-Url: https://gitweb.stoutner.com/?p=PrivacyBrowserAndroid.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fcom%2Fstoutner%2Fprivacybrowser%2Ffragments%2FSettingsFragment.java;h=cb0ca13e4883f6c0ad6ce26fe55c60ceb2527a5e;hp=55b852e1e54917692587f726be81b4a7060f23f5;hb=0a5d2eabceeafb49a957598538aa74d4f11dfce0;hpb=96cf5fae34ebc2ae7ca05322837a859943e19ba0 diff --git a/app/src/main/java/com/stoutner/privacybrowser/fragments/SettingsFragment.java b/app/src/main/java/com/stoutner/privacybrowser/fragments/SettingsFragment.java index 55b852e1..cb0ca13e 100644 --- a/app/src/main/java/com/stoutner/privacybrowser/fragments/SettingsFragment.java +++ b/app/src/main/java/com/stoutner/privacybrowser/fragments/SettingsFragment.java @@ -60,6 +60,7 @@ public class SettingsFragment extends PreferenceFragment { final Preference customUserAgentPreference = findPreference("custom_user_agent"); final Preference incognitoModePreference = findPreference("incognito_mode"); final Preference doNotTrackPreference = findPreference("do_not_track"); + final Preference allowScreenshotsPreference = findPreference("allow_screenshots"); final Preference easyListPreference = findPreference("easylist"); final Preference easyPrivacyPreference = findPreference("easyprivacy"); final Preference fanboyAnnoyanceListPreference = findPreference("fanboy_annoyance_list"); @@ -194,7 +195,7 @@ public class SettingsFragment extends PreferenceFragment { searchCustomURLPreference.setEnabled(searchString.equals("Custom URL")); - // Enable `translucentNavigationBarPreference` only if full screen browsing mode is enabled and `hide_system_bars` is disabled. + // Enable the translucent navigation bar preference only if full screen browsing mode is enabled and `hide_system_bars` is disabled. translucentNavigationBarPreference.setEnabled(fullScreenBrowsingMode && !hideSystemBars); // Set the status of the `Clear and Exit` preferences. @@ -203,23 +204,23 @@ public class SettingsFragment extends PreferenceFragment { clearFormDataPreference.setEnabled(!clearEverything); clearCachePreference.setEnabled(!clearEverything); - // Set the homepage URL as the summary text for the `Homepage` preference when the preference screen is loaded. The default is `https://duckduckgo.com`. - homepagePreference.setSummary(savedPreferences.getString("homepage", "https://duckduckgo.com")); + // Set the homepage URL as the summary text for the homepage preference. + homepagePreference.setSummary(savedPreferences.getString("homepage", "https://duckduckgo.com/?kao=-1&kak=-1")); - // Set the default font size as the summary text for the `Default Font Size` preference when the preference screen is loaded. The default is `100`. + // Set the default font size as the summary text for the preference. defaultFontSizePreference.setSummary(savedPreferences.getString("default_font_size", "100") + "%%"); - // Disable `javaScriptPreference` if `nightModeBoolean` is true. JavaScript will be enabled for all web pages. + // Disable the JavaScript preference if Night Mode is enabled. JavaScript will be enabled for all web pages. javaScriptPreference.setEnabled(!nightMode); - // Set the `javaScriptPreference` icon. + // Set the JavaScript icon. if (javaScriptEnabled || nightMode) { javaScriptPreference.setIcon(R.drawable.javascript_enabled); } else { javaScriptPreference.setIcon(R.drawable.privacy_mode); } - // Set the `firstPartyCookiesPreference` icon. + // Set the first-party cookies icon. if (firstPartyCookiesEnabled) { firstPartyCookiesPreference.setIcon(R.drawable.cookies_enabled); } else { @@ -230,7 +231,7 @@ public class SettingsFragment extends PreferenceFragment { } } - // Set the `thirdPartyCookiesPreference` icon. + // Set the third party cookies icon. if (firstPartyCookiesEnabled && Build.VERSION.SDK_INT >= 21) { if (thirdPartyCookiesEnabled) { thirdPartyCookiesPreference.setIcon(R.drawable.cookies_warning); @@ -249,7 +250,7 @@ public class SettingsFragment extends PreferenceFragment { } } - // Set the `domStoragePreference` icon. + // Set the DOM storage icon. if (javaScriptEnabled || nightMode) { // The preference is enabled. if (savedPreferences.getBoolean("dom_storage_enabled", false)) { // DOM storage is enabled. domStoragePreference.setIcon(R.drawable.dom_storage_enabled); @@ -268,7 +269,7 @@ public class SettingsFragment extends PreferenceFragment { } } - // Set the `saveFormDataPreference` icon. + // Set the save form data icon. if (savedPreferences.getBoolean("save_form_data_enabled", false)) { saveFormDataPreference.setIcon(R.drawable.form_data_enabled); } else { @@ -279,7 +280,7 @@ public class SettingsFragment extends PreferenceFragment { } } - // Set the `customUserAgentPreference` icon. + // Set the custom user agent icon. if (customUserAgentPreference.isEnabled()) { if (MainWebViewActivity.darkTheme) { customUserAgentPreference.setIcon(R.drawable.custom_user_agent_enabled_dark); @@ -294,7 +295,7 @@ public class SettingsFragment extends PreferenceFragment { } } - // Set the `incognitoModePreference` icon. + // Set the incognito mode icon. if (savedPreferences.getBoolean("incognito_mode", false)) { if (MainWebViewActivity.darkTheme) { incognitoModePreference.setIcon(R.drawable.incognito_mode_enabled_dark); @@ -309,7 +310,7 @@ public class SettingsFragment extends PreferenceFragment { } } - // Set the `doNotTrackPreference` icon. + // Set the Do Not Track icon. if (savedPreferences.getBoolean("do_not_track", false)) { if (MainWebViewActivity.darkTheme) { doNotTrackPreference.setIcon(R.drawable.block_tracking_enabled_dark); @@ -324,6 +325,21 @@ public class SettingsFragment extends PreferenceFragment { } } + // Set the allow screenshots icon. + if (savedPreferences.getBoolean("allow_screenshots", false)) { + if (MainWebViewActivity.darkTheme) { + allowScreenshotsPreference.setIcon(R.drawable.allow_screenshots_enabled_dark); + } else { + allowScreenshotsPreference.setIcon(R.drawable.allow_screenshots_enabled_light); + } + } else { + if (MainWebViewActivity.darkTheme) { + allowScreenshotsPreference.setIcon(R.drawable.allow_screenshots_disabled_dark); + } else { + allowScreenshotsPreference.setIcon(R.drawable.allow_screenshots_disabled_light); + } + } + // Set the EasyList icon. if (savedPreferences.getBoolean("easylist", true)) { if (MainWebViewActivity.darkTheme) { @@ -354,7 +370,7 @@ public class SettingsFragment extends PreferenceFragment { } } - // Set the Fanboy list icons. + // Set the Fanboy lists icons. if (fanboyAnnoyanceListEnabled) { if (MainWebViewActivity.darkTheme) { // Set the Fanboy annoyance list icon. @@ -432,7 +448,7 @@ public class SettingsFragment extends PreferenceFragment { } } - // Set the `searchCustomURLPreference` icon. + // Set the search custom URL icon. if (searchCustomURLPreference.isEnabled()) { if (MainWebViewActivity.darkTheme) { searchCustomURLPreference.setIcon(R.drawable.search_custom_url_enabled_dark); @@ -448,7 +464,7 @@ public class SettingsFragment extends PreferenceFragment { } // Set the full screen browsing mode icons. - if (fullScreenBrowsingMode) { // `fullScreenBrowsingModeBoolean` is `true`. + if (fullScreenBrowsingMode) { // Full screen browsing mode is enabled. // Set the `fullScreenBrowsingModePreference` icon according to the theme. if (MainWebViewActivity.darkTheme) { fullScreenBrowsingModePreference.setIcon(R.drawable.full_screen_enabled_dark); @@ -489,7 +505,7 @@ public class SettingsFragment extends PreferenceFragment { } } } - } else { // `fullScreenBrowsingModeBoolean` is `false`. + } else { // Full screen browsing mode is disabled. // Set the icons according to the theme. if (MainWebViewActivity.darkTheme) { fullScreenBrowsingModePreference.setIcon(R.drawable.full_screen_disabled_dark); @@ -502,7 +518,7 @@ public class SettingsFragment extends PreferenceFragment { } } - // Set the `clearEverythingPreference` icon. + // Set the clear everything preference icon. if (clearEverything) { if (MainWebViewActivity.darkTheme) { clearEverythingPreference.setIcon(R.drawable.clear_everything_enabled_dark); @@ -513,7 +529,7 @@ public class SettingsFragment extends PreferenceFragment { clearEverythingPreference.setIcon(R.drawable.clear_everything_disabled); } - // Set the `clearCookiesPreference` icon. + // Set the clear cookies preference icon. if (clearEverything || savedPreferences.getBoolean("clear_cookies", true)) { if (MainWebViewActivity.darkTheme) { clearCookiesPreference.setIcon(R.drawable.cookies_cleared_dark); @@ -524,7 +540,7 @@ public class SettingsFragment extends PreferenceFragment { clearCookiesPreference.setIcon(R.drawable.cookies_warning); } - // Set the `clearDomStoragePreference` icon. + // Set the clear DOM storage preference icon. if (clearEverything || savedPreferences.getBoolean("clear_dom_storage", true)) { if (MainWebViewActivity.darkTheme) { clearDomStoragePreference.setIcon(R.drawable.dom_storage_cleared_dark); @@ -535,7 +551,7 @@ public class SettingsFragment extends PreferenceFragment { clearDomStoragePreference.setIcon(R.drawable.dom_storage_warning); } - // Set the `clearFormDataPreference` icon. + // Set the clear form data preference icon. if (clearEverything || savedPreferences.getBoolean("clear_form_data", true)) { if (MainWebViewActivity.darkTheme) { clearFormDataPreference.setIcon(R.drawable.form_data_cleared_dark); @@ -546,7 +562,7 @@ public class SettingsFragment extends PreferenceFragment { clearFormDataPreference.setIcon(R.drawable.form_data_warning); } - // Set the `clearCachePreference` icon. + // Set the clear cache preference icon. if (clearEverything || savedPreferences.getBoolean("clear_cache", true)) { if (MainWebViewActivity.darkTheme) { clearCachePreference.setIcon(R.drawable.cache_cleared_dark); @@ -557,8 +573,8 @@ public class SettingsFragment extends PreferenceFragment { clearCachePreference.setIcon(R.drawable.cache_warning); } - // Set the `swipeToRefreshPreference` icon. - if (savedPreferences.getBoolean("swipe_to_refresh", false)) { + // Set the swipe to refresh preference icon. + if (savedPreferences.getBoolean("swipe_to_refresh", true)) { if (MainWebViewActivity.darkTheme) { swipeToRefreshPreference.setIcon(R.drawable.refresh_enabled_dark); } else { @@ -572,7 +588,7 @@ public class SettingsFragment extends PreferenceFragment { } } - // Set the `displayAdditionalAppBarIconsPreference` icon. + // Set the display additional app bar icons preference icon. if (savedPreferences.getBoolean("display_additional_app_bar_icons", false)) { if (MainWebViewActivity.darkTheme) { displayAdditionalAppBarIconsPreference.setIcon(R.drawable.more_enabled_dark); @@ -587,14 +603,14 @@ public class SettingsFragment extends PreferenceFragment { } } - // Set the `darkThemePreference` icon. + // Set the dark theme preference icon. if (savedPreferences.getBoolean("dark_theme", false)) { darkThemePreference.setIcon(R.drawable.theme_dark); } else { darkThemePreference.setIcon(R.drawable.theme_light); } - // Set the `nightModePreference` icon. + // Set the night mode preference icon. if (nightMode) { if (MainWebViewActivity.darkTheme) { nightModePreference.setIcon(R.drawable.night_mode_enabled_dark); @@ -609,7 +625,7 @@ public class SettingsFragment extends PreferenceFragment { } } - // Set the `displayWebpageImagesPreference` icon. + // Set the display webpage images preference icon. if (savedPreferences.getBoolean("display_webpage_images", true)) { if (MainWebViewActivity.darkTheme) { displayWebpageImagesPreference.setIcon(R.drawable.images_enabled_dark); @@ -843,6 +859,35 @@ public class SettingsFragment extends PreferenceFragment { break; + case "allow_screenshots": + // Update the icon. + if (sharedPreferences.getBoolean("allow_screenshots", false)) { + if (MainWebViewActivity.darkTheme) { + allowScreenshotsPreference.setIcon(R.drawable.allow_screenshots_enabled_dark); + } else { + allowScreenshotsPreference.setIcon(R.drawable.allow_screenshots_enabled_light); + } + } else { + if (MainWebViewActivity.darkTheme) { + allowScreenshotsPreference.setIcon(R.drawable.allow_screenshots_disabled_dark); + } else { + allowScreenshotsPreference.setIcon(R.drawable.allow_screenshots_disabled_light); + } + } + + // Create an intent to restart Privacy Browser. + Intent allowScreenshotsRestartIntent = getActivity().getParentActivityIntent(); + + // Assert that the intent is not null to remove the lint error below. + assert allowScreenshotsRestartIntent != null; + + // `Intent.FLAG_ACTIVITY_CLEAR_TASK` removes all activities from the stack. It requires `Intent.FLAG_ACTIVITY_NEW_TASK`. + allowScreenshotsRestartIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); + + // Make it so. + startActivity(allowScreenshotsRestartIntent); + break; + case "easylist": // Update the icon. if (sharedPreferences.getBoolean("easylist", true)) { @@ -1327,7 +1372,7 @@ public class SettingsFragment extends PreferenceFragment { case "swipe_to_refresh": // Update the icon. - if (sharedPreferences.getBoolean("swipe_to_refresh", false)) { + if (sharedPreferences.getBoolean("swipe_to_refresh", true)) { if (MainWebViewActivity.darkTheme) { swipeToRefreshPreference.setIcon(R.drawable.refresh_enabled_dark); } else { @@ -1367,17 +1412,17 @@ public class SettingsFragment extends PreferenceFragment { darkThemePreference.setIcon(R.drawable.theme_light); } - // Create an `Intent` to restart Privacy Browser. - Intent intent = getActivity().getParentActivityIntent(); + // Create an intent to restart Privacy Browser. + Intent changeThemeRestartIntent = getActivity().getParentActivityIntent(); - // Assert that `intent` is not `null` to remove the lint error below. - assert intent != null; + // Assert that the intent is not null to remove the lint error below. + assert changeThemeRestartIntent != null; // `Intent.FLAG_ACTIVITY_CLEAR_TASK` removes all activities from the stack. It requires `Intent.FLAG_ACTIVITY_NEW_TASK`. - intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); + changeThemeRestartIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); // Make it so. - startActivity(intent); + startActivity(changeThemeRestartIntent); break; case "night_mode":