X-Git-Url: https://gitweb.stoutner.com/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fcom%2Fstoutner%2Fprivacybrowser%2Ffragments%2FSettingsFragment.kt;h=b5d14b44c054863896066a1ecd7a9167946a9faf;hb=HEAD;hp=61d45ef11c169afa67ca60807b1127fa5983ca94;hpb=2562fecd31bce18ba708033e5b69736dc82e737d;p=PrivacyBrowserAndroid.git diff --git a/app/src/main/java/com/stoutner/privacybrowser/fragments/SettingsFragment.kt b/app/src/main/java/com/stoutner/privacybrowser/fragments/SettingsFragment.kt index 61d45ef1..b5d14b44 100644 --- a/app/src/main/java/com/stoutner/privacybrowser/fragments/SettingsFragment.kt +++ b/app/src/main/java/com/stoutner/privacybrowser/fragments/SettingsFragment.kt @@ -33,7 +33,6 @@ import android.widget.ArrayAdapter import androidx.appcompat.app.AppCompatDelegate import androidx.preference.Preference -import androidx.preference.PreferenceCategory import androidx.preference.PreferenceFragmentCompat import com.stoutner.privacybrowser.R @@ -65,7 +64,6 @@ class SettingsFragment : PreferenceFragmentCompat() { private lateinit var clearCookiesPreference: Preference private lateinit var clearDomStoragePreference: Preference private lateinit var clearEverythingPreference: Preference - private lateinit var clearFormDataPreference: Preference // The clear form data preference can be removed once the minimum API >= 26. private lateinit var clearLogcatPreference: Preference private lateinit var cookiesPreference: Preference private lateinit var customUserAgentPreference: Preference @@ -73,13 +71,13 @@ class SettingsFragment : PreferenceFragmentCompat() { private lateinit var displayAdditionalAppBarIconsPreference: Preference private lateinit var displayWebpageImagesPreference: Preference private lateinit var domStoragePreference: Preference - private lateinit var downloadWithExternalAppPreference: Preference + private lateinit var downloadProviderEntryValuesStringArray: Array + private lateinit var downloadProviderPreference: Preference private lateinit var easyListPreference: Preference private lateinit var easyPrivacyPreference: Preference private lateinit var fanboyAnnoyanceListPreference: Preference private lateinit var fanboySocialBlockingListPreference: Preference private lateinit var fontSizePreference: Preference - private lateinit var formDataPreference: Preference // The form data preference can be removed once the minimum API >= 26. private lateinit var fullScreenBrowsingModePreference: Preference private lateinit var hideAppBarPreference: Preference private lateinit var displayUnderCutoutsPreference: Preference @@ -126,7 +124,6 @@ class SettingsFragment : PreferenceFragmentCompat() { javaScriptPreference = findPreference(getString(R.string.javascript_key))!! cookiesPreference = findPreference(getString(R.string.cookies_key))!! domStoragePreference = findPreference(getString(R.string.dom_storage_key))!! - formDataPreference = findPreference(getString(R.string.save_form_data_key))!! // The form data preference can be removed once the minimum API >= 26. userAgentPreference = findPreference(getString(R.string.user_agent_key))!! customUserAgentPreference = findPreference(getString(R.string.custom_user_agent_key))!! incognitoModePreference = findPreference(getString(R.string.incognito_mode_key))!! @@ -150,14 +147,13 @@ class SettingsFragment : PreferenceFragmentCompat() { clearEverythingPreference = findPreference(getString(R.string.clear_everything_key))!! clearCookiesPreference = findPreference(getString(R.string.clear_cookies_key))!! clearDomStoragePreference = findPreference(getString(R.string.clear_dom_storage_key))!! - clearFormDataPreference = findPreference(getString(R.string.clear_form_data_key))!! // The clear form data preference can be removed once the minimum API >= 26. clearLogcatPreference = findPreference(getString(R.string.clear_logcat_key))!! clearCachePreference = findPreference(getString(R.string.clear_cache_key))!! homepagePreference = findPreference(getString(R.string.homepage_key))!! fontSizePreference = findPreference(getString(R.string.font_size_key))!! openIntentsInNewTabPreference = findPreference(getString(R.string.open_intents_in_new_tab_key))!! swipeToRefreshPreference = findPreference(getString(R.string.swipe_to_refresh_key))!! - downloadWithExternalAppPreference = findPreference(getString(R.string.download_with_external_app_key))!! + downloadProviderPreference = findPreference(getString(R.string.download_provider_key))!! scrollAppBarPreference = findPreference(getString(R.string.scroll_app_bar_key))!! bottomAppBarPreference = findPreference(getString(R.string.bottom_app_bar_key))!! displayAdditionalAppBarIconsPreference = findPreference(getString(R.string.display_additional_app_bar_icons_key))!! @@ -183,17 +179,6 @@ class SettingsFragment : PreferenceFragmentCompat() { val fullScreenBrowsingMode = sharedPreferences.getBoolean(getString(R.string.full_screen_browsing_mode_key), false) val clearEverything = sharedPreferences.getBoolean(getString(R.string.clear_everything_key), true) - // Remove the form data preferences if the API is >= 26 as they no longer do anything. - if (Build.VERSION.SDK_INT >= 26) { - // Get handles for the categories. - val privacyCategory = findPreference(getString(R.string.privacy_category_key))!! - val clearAndExitCategory = findPreference(getString(R.string.clear_and_exit_category_key))!! - - // Remove the form data preferences. - privacyCategory.removePreference(formDataPreference) - clearAndExitCategory.removePreference(clearFormDataPreference) - } - // Only enable Fanboy's social blocking list preference if Fanboy's annoyance list is disabled. fanboySocialBlockingListPreference.isEnabled = !fanboyAnnoyanceListEnabled @@ -270,7 +255,6 @@ class SettingsFragment : PreferenceFragmentCompat() { // Set the status of the clear and exit preferences. clearCookiesPreference.isEnabled = !clearEverything clearDomStoragePreference.isEnabled = !clearEverything - clearFormDataPreference.isEnabled = !clearEverything // Clear form data can be removed once the minimum API is >= 26. clearLogcatPreference.isEnabled = !clearEverything clearCachePreference.isEnabled = !clearEverything @@ -280,6 +264,16 @@ class SettingsFragment : PreferenceFragmentCompat() { // Set the font size as the summary text for the preference. fontSizePreference.summary = sharedPreferences.getString(getString(R.string.font_size_key), getString(R.string.font_size_default_value)) + "%" + // Get the download provider entry values string array + downloadProviderEntryValuesStringArray = resources.getStringArray(R.array.download_provider_entry_values) + + // Set the summary text for the download provider preference. + downloadProviderPreference.summary = when (sharedPreferences.getString(getString(R.string.download_provider_key), getString(R.string.download_provider_default_value))) { + downloadProviderEntryValuesStringArray[0] -> getString(R.string.download_with_privacy_browser) // Privacy Browser is selected. + downloadProviderEntryValuesStringArray[1] -> getString(R.string.download_with_android_download_manager) // Android download manager is selected. + else -> getString(R.string.download_with_external_app) // External app is selected. + } + // Get the app theme string arrays. appThemeEntriesStringArray = resources.getStringArray(R.array.app_theme_entries) appThemeEntryValuesStringArray = resources.getStringArray(R.array.app_theme_entry_values) @@ -333,14 +327,6 @@ class SettingsFragment : PreferenceFragmentCompat() { domStoragePreference.setIcon(R.drawable.dom_storage_ghosted) } - // Set the save form data icon if API < 26. Save form data has no effect on API >= 26. - if (Build.VERSION.SDK_INT < 26) { - if (sharedPreferences.getBoolean(getString(R.string.save_form_data_key), false)) - formDataPreference.setIcon(R.drawable.form_data_enabled) - else - formDataPreference.setIcon(R.drawable.form_data_disabled) - } - // Set the custom user agent icon. if (customUserAgentPreference.isEnabled) customUserAgentPreference.setIcon(R.drawable.custom_user_agent_enabled) @@ -484,14 +470,6 @@ class SettingsFragment : PreferenceFragmentCompat() { else clearDomStoragePreference.setIcon(R.drawable.clear_dom_storage_disabled) - // Set the clear form data icon if the API < 26. It has no effect on newer versions of Android. - if (Build.VERSION.SDK_INT < 26) { - if (clearEverything || sharedPreferences.getBoolean(getString(R.string.clear_form_data_key), true)) - clearFormDataPreference.setIcon(R.drawable.clear_form_data_enabled) - else - clearFormDataPreference.setIcon(R.drawable.clear_form_data_disabled) - } - // Set the clear logcat icon. if (clearEverything || sharedPreferences.getBoolean(getString(R.string.clear_logcat_key), true)) clearLogcatPreference.setIcon(R.drawable.clear_logcat_enabled) @@ -516,12 +494,6 @@ class SettingsFragment : PreferenceFragmentCompat() { else swipeToRefreshPreference.setIcon(R.drawable.refresh_disabled) - // Set the download with external app icon. - if (sharedPreferences.getBoolean(getString(R.string.download_with_external_app_key), false)) - downloadWithExternalAppPreference.setIcon(R.drawable.download_with_external_app_enabled) - else - downloadWithExternalAppPreference.setIcon(R.drawable.download_with_external_app_disabled) - // Set the scroll app bar icon. if (sharedPreferences.getBoolean(getString(R.string.scroll_app_bar_key), false)) scrollAppBarPreference.setIcon(R.drawable.app_bar_enabled) @@ -674,14 +646,6 @@ class SettingsFragment : PreferenceFragmentCompat() { domStoragePreference.setIcon(R.drawable.dom_storage_disabled) } - getString(R.string.save_form_data_key) -> { // Saved form data can be removed once the minimum API >= 26. - // Update the icon. - if (sharedPreferences.getBoolean(getString(R.string.save_form_data_key), false)) - formDataPreference.setIcon(R.drawable.form_data_enabled) - else - formDataPreference.setIcon(R.drawable.form_data_disabled) - } - getString(R.string.user_agent_key) -> { // Get the new user agent name. val newUserAgentName = sharedPreferences.getString(getString(R.string.user_agent_key), getString(R.string.user_agent_default_value)) @@ -960,7 +924,6 @@ class SettingsFragment : PreferenceFragmentCompat() { // Update the status of the clear and exit preferences. clearCookiesPreference.isEnabled = !newClearEverythingBoolean clearDomStoragePreference.isEnabled = !newClearEverythingBoolean - clearFormDataPreference.isEnabled = !newClearEverythingBoolean // Clear form data can be removed once the minimum API >= 26. clearLogcatPreference.isEnabled = !newClearEverythingBoolean clearCachePreference.isEnabled = !newClearEverythingBoolean @@ -982,14 +945,6 @@ class SettingsFragment : PreferenceFragmentCompat() { else clearDomStoragePreference.setIcon(R.drawable.clear_dom_storage_disabled) - // Update the clear form data preference icon if the API < 26. - if (Build.VERSION.SDK_INT < 26) { - if (newClearEverythingBoolean || sharedPreferences.getBoolean(getString(R.string.clear_form_data_key), true)) - clearFormDataPreference.setIcon(R.drawable.clear_form_data_enabled) - else - clearFormDataPreference.setIcon(R.drawable.clear_form_data_disabled) - } - // Update the clear logcat preference icon. if (newClearEverythingBoolean || sharedPreferences.getBoolean(getString(R.string.clear_logcat_key), true)) clearLogcatPreference.setIcon(R.drawable.clear_logcat_enabled) @@ -1019,14 +974,6 @@ class SettingsFragment : PreferenceFragmentCompat() { clearDomStoragePreference.setIcon(R.drawable.clear_dom_storage_disabled) } - getString(R.string.clear_form_data_key) -> { - // Update the icon. - if (sharedPreferences.getBoolean(getString(R.string.clear_form_data_key), true)) - clearFormDataPreference.setIcon(R.drawable.clear_form_data_enabled) - else - clearFormDataPreference.setIcon(R.drawable.clear_form_data_disabled) - } - getString(R.string.clear_logcat_key) -> { // Update the icon. if (sharedPreferences.getBoolean(getString(R.string.clear_logcat_key), true)) @@ -1069,12 +1016,13 @@ class SettingsFragment : PreferenceFragmentCompat() { swipeToRefreshPreference.setIcon(R.drawable.refresh_disabled) } - getString(R.string.download_with_external_app_key) -> { - // Update the icon. - if (sharedPreferences.getBoolean(getString(R.string.download_with_external_app_key), false)) - downloadWithExternalAppPreference.setIcon(R.drawable.download_with_external_app_enabled) - else - downloadWithExternalAppPreference.setIcon(R.drawable.download_with_external_app_disabled) + getString(R.string.download_provider_key) -> { + // Set the summary text for the download provider preference. + downloadProviderPreference.summary = when (sharedPreferences.getString(getString(R.string.download_provider_key), getString(R.string.download_provider_default_value))) { + downloadProviderEntryValuesStringArray[0] -> getString(R.string.download_with_privacy_browser) // Privacy Browser is selected. + downloadProviderEntryValuesStringArray[1] -> getString(R.string.download_with_android_download_manager) // Android download manager is selected. + else -> getString(R.string.download_with_external_app) // External app is selected. + } } getString(R.string.scroll_app_bar_key) -> {