From 8cd4c56d559436ee6c5b81df9a411bbf211be7fd Mon Sep 17 00:00:00 2001 From: Soren Stoutner Date: Fri, 14 Dec 2018 13:48:33 -0700 Subject: [PATCH] Update preference names. https://redmine.stoutner.com/issues/343 --- .../assets/de/about_contributors_dark.html | 6 +- .../assets/de/about_contributors_light.html | 6 +- .../assets/en/about_contributors_dark.html | 5 +- .../assets/en/about_contributors_light.html | 5 +- .../assets/es/about_contributors_dark.html | 5 +- .../assets/es/about_contributors_light.html | 5 +- .../assets/it/about_contributors_dark.html | 5 +- .../assets/it/about_contributors_light.html | 5 +- .../assets/ru/about_contributors_dark.html | 5 +- .../assets/ru/about_contributors_light.html | 5 +- .../activities/MainWebViewActivity.java | 16 ++-- .../fragments/SettingsFragment.java | 84 +++++++++--------- .../helpers/DomainsDatabaseHelper.java | 18 ++-- .../helpers/ImportExportDatabaseHelper.java | 30 +++---- app/src/main/res/xml/preferences.xml | 14 +-- .../metadata/android/en-US/images/icon.png | Bin 26792 -> 27842 bytes 16 files changed, 113 insertions(+), 101 deletions(-) diff --git a/app/src/main/assets/de/about_contributors_dark.html b/app/src/main/assets/de/about_contributors_dark.html index c060e20d..90b90837 100644 --- a/app/src/main/assets/de/about_contributors_dark.html +++ b/app/src/main/assets/de/about_contributors_dark.html @@ -34,12 +34,14 @@ Hendrik Knackstedt

Mitwirkende

- Stefan Erhardt: German
Francesco Buratti: Italienisch
Jose A. León: Spanisch

Past Translators

- Aaron Gerlach: German
+ Stefan Erhardt: German
+ Aaron Gerlach: German + +

Mitwirkung ist willkommen in Form von Code und Übersetzung.

diff --git a/app/src/main/assets/de/about_contributors_light.html b/app/src/main/assets/de/about_contributors_light.html index a34228a6..1f5f9f46 100644 --- a/app/src/main/assets/de/about_contributors_light.html +++ b/app/src/main/assets/de/about_contributors_light.html @@ -34,12 +34,14 @@ Hendrik Knackstedt

Mitwirkende

- Stefan Erhardt: German
Francesco Buratti: Italienisch
Jose A. León: Spanisch

Past Translators

- Aaron Gerlach: German
+ Stefan Erhardt: German
+ Aaron Gerlach: German + +

Mitwirkung ist willkommen in Form von Code und Übersetzung.

diff --git a/app/src/main/assets/en/about_contributors_dark.html b/app/src/main/assets/en/about_contributors_dark.html index 2a3c2f61..4e4accba 100644 --- a/app/src/main/assets/en/about_contributors_dark.html +++ b/app/src/main/assets/en/about_contributors_dark.html @@ -32,13 +32,14 @@ Hendrik Knackstedt

Translators

- Stefan Erhardt: German
Francesco Buratti: Italian
Jose A. León: Spanish

Past Translators

- Aaron Gerlach: German
+ Stefan Erhardt: German
+ Aaron Gerlach: German +

Contributors are welcome to submit both code and translations.

diff --git a/app/src/main/assets/en/about_contributors_light.html b/app/src/main/assets/en/about_contributors_light.html index a664cfaa..e904b0bf 100644 --- a/app/src/main/assets/en/about_contributors_light.html +++ b/app/src/main/assets/en/about_contributors_light.html @@ -32,13 +32,14 @@ Hendrik Knackstedt

Translators

- Stefan Erhardt: German
Francesco Buratti: Italian
Jose A. León: Spanish

Past Translators

- Aaron Gerlach: German
+ Stefan Erhardt: German
+ Aaron Gerlach: German +

Contributors are welcome to submit both code and translations.

diff --git a/app/src/main/assets/es/about_contributors_dark.html b/app/src/main/assets/es/about_contributors_dark.html index 22292fc5..aa895a34 100644 --- a/app/src/main/assets/es/about_contributors_dark.html +++ b/app/src/main/assets/es/about_contributors_dark.html @@ -34,13 +34,14 @@ Hendrik Knackstedt

Traductores

- Stefan Erhardt: Alemán
Francesco Buratti: Italiano
Jose A. León: Español

Traductores anteriores

- Aaron Gerlach: Alemán
+ Stefan Erhardt: Alemán
+ Aaron Gerlach: Alemán +

Los colaboradores son bienvenidos para enviar tanto código como traducciones.

diff --git a/app/src/main/assets/es/about_contributors_light.html b/app/src/main/assets/es/about_contributors_light.html index e2f548f6..2ec2ef14 100644 --- a/app/src/main/assets/es/about_contributors_light.html +++ b/app/src/main/assets/es/about_contributors_light.html @@ -34,13 +34,14 @@ Hendrik Knackstedt

Traductores

- Stefan Erhardt: Alemán
Francesco Buratti: Italiano
Jose A. León: Español

Traductores anteriores

- Aaron Gerlach: Alemán
+ Stefan Erhardt: Alemán
+ Aaron Gerlach: Alemán +

Los colaboradores son bienvenidos para enviar tanto código como traducciones.

diff --git a/app/src/main/assets/it/about_contributors_dark.html b/app/src/main/assets/it/about_contributors_dark.html index 897e84e3..2466d651 100644 --- a/app/src/main/assets/it/about_contributors_dark.html +++ b/app/src/main/assets/it/about_contributors_dark.html @@ -34,13 +34,14 @@ Hendrik Knackstedt

Traduttori

- Stefan Erhardt: Tedesco
Francesco Buratti: Italiano
Jose A. León: Spagnolo

Traduttori precedenti

- Aaron Gerlach: Tedesco
+ Stefan Erhardt: Tedesco
+ Aaron Gerlach: Tedesco +

Si accettano contributi per lo sviluppo di codice e traduzioni.

diff --git a/app/src/main/assets/it/about_contributors_light.html b/app/src/main/assets/it/about_contributors_light.html index cdd366a5..cfa75ee1 100644 --- a/app/src/main/assets/it/about_contributors_light.html +++ b/app/src/main/assets/it/about_contributors_light.html @@ -34,13 +34,14 @@ Hendrik Knackstedt

Traduttori

- Stefan Erhardt: Tedesco
Francesco Buratti: Italiano
Jose A. León: Spagnolo

Traduttori precedenti

- Aaron Gerlach: Tedesco
+ Stefan Erhardt: Tedesco
+ Aaron Gerlach: Tedesco +

Si accettano contributi per lo sviluppo di codice e traduzioni.

diff --git a/app/src/main/assets/ru/about_contributors_dark.html b/app/src/main/assets/ru/about_contributors_dark.html index d4353b46..9be4b751 100644 --- a/app/src/main/assets/ru/about_contributors_dark.html +++ b/app/src/main/assets/ru/about_contributors_dark.html @@ -32,13 +32,14 @@ Hendrik Knackstedt

Переводчики

- Stefan Erhardt: немецкий
Francesco Buratti: итальянский
Jose A. León: испанский

Предыдущие переводчики

- Aaron Gerlach: немецкий
+ Stefan Erhardt: немецкий
+ Aaron Gerlach: немецкий +

Приглашаем помочь как кодом, так и переводом.

diff --git a/app/src/main/assets/ru/about_contributors_light.html b/app/src/main/assets/ru/about_contributors_light.html index d26a1875..7941a6fc 100644 --- a/app/src/main/assets/ru/about_contributors_light.html +++ b/app/src/main/assets/ru/about_contributors_light.html @@ -32,13 +32,14 @@ Hendrik Knackstedt

Переводчики

- Stefan Erhardt: немецкий
Francesco Buratti: итальянский
Jose A. León: испанский

Предыдущие переводчики

- Aaron Gerlach: немецкий
+ Stefan Erhardt: немецкий
+ Aaron Gerlach: немецкий +

Приглашаем помочь как кодом, так и переводом.

diff --git a/app/src/main/java/com/stoutner/privacybrowser/activities/MainWebViewActivity.java b/app/src/main/java/com/stoutner/privacybrowser/activities/MainWebViewActivity.java index 16a02ad2..88e27260 100644 --- a/app/src/main/java/com/stoutner/privacybrowser/activities/MainWebViewActivity.java +++ b/app/src/main/java/com/stoutner/privacybrowser/activities/MainWebViewActivity.java @@ -2743,7 +2743,7 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this); // Get the JavaScript preference. - javaScriptEnabled = sharedPreferences.getBoolean("javascript_enabled", false); + javaScriptEnabled = sharedPreferences.getBoolean("javascript", false); } // Apply the JavaScript setting to the WebView. @@ -4267,15 +4267,15 @@ public class MainWebViewActivity extends AppCompatActivity implements CreateBook } } else { // The new URL does not have custom domain settings. Load the defaults. // Store the values from `sharedPreferences` in variables. - javaScriptEnabled = sharedPreferences.getBoolean("javascript_enabled", false); - firstPartyCookiesEnabled = sharedPreferences.getBoolean("first_party_cookies_enabled", false); - thirdPartyCookiesEnabled = sharedPreferences.getBoolean("third_party_cookies_enabled", false); - domStorageEnabled = sharedPreferences.getBoolean("dom_storage_enabled", false); - saveFormDataEnabled = sharedPreferences.getBoolean("save_form_data_enabled", false); // Form data can be removed once the minimum API >= 26. + javaScriptEnabled = sharedPreferences.getBoolean("javascript", false); + firstPartyCookiesEnabled = sharedPreferences.getBoolean("first_party_cookies", false); + thirdPartyCookiesEnabled = sharedPreferences.getBoolean("third_party_cookies", false); + domStorageEnabled = sharedPreferences.getBoolean("dom_storage", false); + saveFormDataEnabled = sharedPreferences.getBoolean("save_form_data", false); // Form data can be removed once the minimum API >= 26. easyListEnabled = sharedPreferences.getBoolean("easylist", true); easyPrivacyEnabled = sharedPreferences.getBoolean("easyprivacy", true); - fanboysAnnoyanceListEnabled = sharedPreferences.getBoolean("fanboy_annoyance_list", true); - fanboysSocialBlockingListEnabled = sharedPreferences.getBoolean("fanboy_social_blocking_list", true); + fanboysAnnoyanceListEnabled = sharedPreferences.getBoolean("fanboys_annoyance_list", true); + fanboysSocialBlockingListEnabled = sharedPreferences.getBoolean("fanboys_social_blocking_list", true); ultraPrivacyEnabled = sharedPreferences.getBoolean("ultraprivacy", true); blockAllThirdPartyRequests = sharedPreferences.getBoolean("block_all_third_party_requests", false); 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 be0d85b4..af87568b 100644 --- a/app/src/main/java/com/stoutner/privacybrowser/fragments/SettingsFragment.java +++ b/app/src/main/java/com/stoutner/privacybrowser/fragments/SettingsFragment.java @@ -55,11 +55,11 @@ public class SettingsFragment extends PreferenceFragment { savedPreferences = getPreferenceScreen().getSharedPreferences(); // Get handles for the preferences. - final Preference javaScriptPreference = findPreference("javascript_enabled"); - final Preference firstPartyCookiesPreference = findPreference("first_party_cookies_enabled"); - final Preference thirdPartyCookiesPreference = findPreference("third_party_cookies_enabled"); - final Preference domStoragePreference = findPreference("dom_storage_enabled"); - final Preference saveFormDataPreference = findPreference("save_form_data_enabled"); // The form data preference can be removed once the minimum API >= 26. + final Preference javaScriptPreference = findPreference("javascript"); + final Preference firstPartyCookiesPreference = findPreference("first_party_cookies"); + final Preference thirdPartyCookiesPreference = findPreference("third_party_cookies"); + final Preference domStoragePreference = findPreference("dom_storage"); + final Preference saveFormDataPreference = findPreference("save_form_data"); // The form data preference can be removed once the minimum API >= 26. final Preference userAgentPreference = findPreference("user_agent"); final Preference customUserAgentPreference = findPreference("custom_user_agent"); final Preference incognitoModePreference = findPreference("incognito_mode"); @@ -67,8 +67,8 @@ public class SettingsFragment extends PreferenceFragment { final Preference allowScreenshotsPreference = findPreference("allow_screenshots"); final Preference easyListPreference = findPreference("easylist"); final Preference easyPrivacyPreference = findPreference("easyprivacy"); - final Preference fanboyAnnoyanceListPreference = findPreference("fanboy_annoyance_list"); - final Preference fanboySocialBlockingListPreference = findPreference("fanboy_social_blocking_list"); + final Preference fanboyAnnoyanceListPreference = findPreference("fanboys_annoyance_list"); + final Preference fanboySocialBlockingListPreference = findPreference("fanboys_social_blocking_list"); final Preference ultraPrivacyPreference = findPreference("ultraprivacy"); final Preference blockAllThirdPartyRequestsPreference = findPreference("block_all_third_party_requests"); final Preference proxyThroughOrbotPreference = findPreference("proxy_through_orbot"); @@ -104,11 +104,11 @@ public class SettingsFragment extends PreferenceFragment { String searchString = savedPreferences.getString("search", getString(R.string.search_default_value)); // Get booleans that are used in multiple places from the preferences. - final boolean javaScriptEnabled = savedPreferences.getBoolean("javascript_enabled", false); - boolean firstPartyCookiesEnabled = savedPreferences.getBoolean("first_party_cookies_enabled", false); - boolean thirdPartyCookiesEnabled = savedPreferences.getBoolean("third_party_cookies_enabled", false); - boolean fanboyAnnoyanceListEnabled = savedPreferences.getBoolean("fanboy_annoyance_list", true); - boolean fanboySocialBlockingEnabled = savedPreferences.getBoolean("fanboy_social_blocking_list", true); + final boolean javaScriptEnabled = savedPreferences.getBoolean("javascript", false); + boolean firstPartyCookiesEnabled = savedPreferences.getBoolean("first_party_cookies", false); + boolean thirdPartyCookiesEnabled = savedPreferences.getBoolean("third_party_cookies", false); + boolean fanboyAnnoyanceListEnabled = savedPreferences.getBoolean("fanboys_annoyance_list", true); + boolean fanboySocialBlockingEnabled = savedPreferences.getBoolean("fanboys_social_blocking_list", true); boolean proxyThroughOrbot = savedPreferences.getBoolean("proxy_through_orbot", false); boolean fullScreenBrowsingMode = savedPreferences.getBoolean("full_screen_browsing_mode", false); boolean hideSystemBars = savedPreferences.getBoolean("hide_system_bars", false); @@ -270,7 +270,7 @@ public class SettingsFragment extends PreferenceFragment { // Set the DOM storage icon. if (javaScriptEnabled || nightMode) { // The preference is enabled. - if (savedPreferences.getBoolean("dom_storage_enabled", false)) { // DOM storage is enabled. + if (savedPreferences.getBoolean("dom_storage", false)) { // DOM storage is enabled. domStoragePreference.setIcon(R.drawable.dom_storage_enabled); } else { // DOM storage is disabled. if (MainWebViewActivity.darkTheme) { @@ -289,7 +289,7 @@ public class SettingsFragment extends PreferenceFragment { // 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 (savedPreferences.getBoolean("save_form_data_enabled", false)) { + if (savedPreferences.getBoolean("save_form_data", false)) { saveFormDataPreference.setIcon(R.drawable.form_data_enabled); } else { if (MainWebViewActivity.darkTheme) { @@ -711,9 +711,9 @@ public class SettingsFragment extends PreferenceFragment { // Listen for preference changes. preferencesListener = (SharedPreferences sharedPreferences, String key) -> { switch (key) { - case "javascript_enabled": + case "javascript": // Update the icons and the DOM storage preference status. - if (sharedPreferences.getBoolean("javascript_enabled", false)) { // The JavaScript preference is enabled. + if (sharedPreferences.getBoolean("javascript", false)) { // The JavaScript preference is enabled. // Update the icon for the JavaScript preference. javaScriptPreference.setIcon(R.drawable.javascript_enabled); @@ -721,7 +721,7 @@ public class SettingsFragment extends PreferenceFragment { domStoragePreference.setEnabled(true); // Update the icon for the DOM storage preference. - if (sharedPreferences.getBoolean("dom_storage_enabled", false)) { + if (sharedPreferences.getBoolean("dom_storage", false)) { domStoragePreference.setIcon(R.drawable.dom_storage_enabled); } else { if (MainWebViewActivity.darkTheme) { @@ -746,15 +746,15 @@ public class SettingsFragment extends PreferenceFragment { } break; - case "first_party_cookies_enabled": - // Update the icons for `first_party_cookies_enabled` and `third_party_cookies_enabled`. - if (sharedPreferences.getBoolean("first_party_cookies_enabled", false)) { - // Set the icon for `first_party_cookies_enabled`. + case "first_party_cookies": + // Update the icons for `first_party_cookies` and `third_party_cookies`. + if (sharedPreferences.getBoolean("first_party_cookies", false)) { + // Set the icon for `first_party_cookies`. firstPartyCookiesPreference.setIcon(R.drawable.cookies_enabled); - // Update the icon for `third_party_cookies_enabled`. + // Update the icon for `third_party_cookies`. if (Build.VERSION.SDK_INT >= 21) { - if (sharedPreferences.getBoolean("third_party_cookies_enabled", false)) { + if (sharedPreferences.getBoolean("third_party_cookies", false)) { thirdPartyCookiesPreference.setIcon(R.drawable.cookies_warning); } else { if (MainWebViewActivity.darkTheme) { @@ -770,15 +770,15 @@ public class SettingsFragment extends PreferenceFragment { thirdPartyCookiesPreference.setIcon(R.drawable.cookies_ghosted_light); } } - } else { // `first_party_cookies_enabled` is `false`. - // Update the icon for `first_party_cookies_enabled`. + } else { // `first_party_cookies` is `false`. + // Update the icon for `first_party_cookies`. if (MainWebViewActivity.darkTheme) { firstPartyCookiesPreference.setIcon(R.drawable.cookies_disabled_dark); } else { firstPartyCookiesPreference.setIcon(R.drawable.cookies_disabled_light); } - // Set the icon for `third_party_cookies_enabled` to be ghosted. + // Set the icon for `third_party_cookies` to be ghosted. if (MainWebViewActivity.darkTheme) { thirdPartyCookiesPreference.setIcon(R.drawable.cookies_ghosted_dark); } else { @@ -786,13 +786,13 @@ public class SettingsFragment extends PreferenceFragment { } } - // Enable `third_party_cookies_enabled` if `first_party_cookies_enabled` is `true` and API >= 21. - thirdPartyCookiesPreference.setEnabled(sharedPreferences.getBoolean("first_party_cookies_enabled", false) && (Build.VERSION.SDK_INT >= 21)); + // Enable `third_party_cookies` if `first_party_cookies` is `true` and API >= 21. + thirdPartyCookiesPreference.setEnabled(sharedPreferences.getBoolean("first_party_cookies", false) && (Build.VERSION.SDK_INT >= 21)); break; - case "third_party_cookies_enabled": + case "third_party_cookies": // Update the icon. - if (sharedPreferences.getBoolean("third_party_cookies_enabled", false)) { + if (sharedPreferences.getBoolean("third_party_cookies", false)) { thirdPartyCookiesPreference.setIcon(R.drawable.cookies_warning); } else { if (MainWebViewActivity.darkTheme) { @@ -803,9 +803,9 @@ public class SettingsFragment extends PreferenceFragment { } break; - case "dom_storage_enabled": + case "dom_storage": // Update the icon. - if (sharedPreferences.getBoolean("dom_storage_enabled", false)) { + if (sharedPreferences.getBoolean("dom_storage", false)) { domStoragePreference.setIcon(R.drawable.dom_storage_enabled); } else { if (MainWebViewActivity.darkTheme) { @@ -817,9 +817,9 @@ public class SettingsFragment extends PreferenceFragment { break; // Save form data can be removed once the minimum API >= 26. - case "save_form_data_enabled": + case "save_form_data": // Update the icon. - if (sharedPreferences.getBoolean("save_form_data_enabled", false)) { + if (sharedPreferences.getBoolean("save_form_data", false)) { saveFormDataPreference.setIcon(R.drawable.form_data_enabled); } else { if (MainWebViewActivity.darkTheme) { @@ -990,9 +990,9 @@ public class SettingsFragment extends PreferenceFragment { } break; - case "fanboy_annoyance_list": - boolean currentFanboyAnnoyanceList = sharedPreferences.getBoolean("fanboy_annoyance_list", true); - boolean currentFanboySocialBlockingList = sharedPreferences.getBoolean("fanboy_social_blocking_list", true); + case "fanboys_annoyance_list": + boolean currentFanboyAnnoyanceList = sharedPreferences.getBoolean("fanboys_annoyance_list", true); + boolean currentFanboySocialBlockingList = sharedPreferences.getBoolean("fanboys_social_blocking_list", true); // Update the Fanboy icons. if (currentFanboyAnnoyanceList) { // Fanboy's annoyance list is enabled. @@ -1037,9 +1037,9 @@ public class SettingsFragment extends PreferenceFragment { fanboySocialBlockingListPreference.setEnabled(!currentFanboyAnnoyanceList); break; - case "fanboy_social_blocking_list": + case "fanboys_social_blocking_list": // Update the icon. - if (sharedPreferences.getBoolean("fanboy_social_blocking_list", true)) { + if (sharedPreferences.getBoolean("fanboys_social_blocking_list", true)) { if (MainWebViewActivity.darkTheme) { fanboySocialBlockingListPreference.setIcon(R.drawable.social_media_enabled_dark); } else { @@ -1553,7 +1553,7 @@ public class SettingsFragment extends PreferenceFragment { // Store the current night mode status. boolean currentNightModeBoolean = sharedPreferences.getBoolean("night_mode", false); - boolean currentJavaScriptBoolean = sharedPreferences.getBoolean("javascript_enabled", false); + boolean currentJavaScriptBoolean = sharedPreferences.getBoolean("javascript", false); // Update the icon. if (currentNightModeBoolean) { @@ -1581,9 +1581,9 @@ public class SettingsFragment extends PreferenceFragment { javaScriptPreference.setIcon(R.drawable.privacy_mode); } - // Update the `domStoragePreference` icon. + // Update the DOM storage preference icon. if (currentNightModeBoolean || currentJavaScriptBoolean) { // The preference is enabled. - if (sharedPreferences.getBoolean("dom_storage_enabled", false)) { // DOM storage is enabled. + if (sharedPreferences.getBoolean("dom_storage", false)) { // DOM storage is enabled. domStoragePreference.setIcon(R.drawable.dom_storage_enabled); } else { // DOM storage is disabled. if (MainWebViewActivity.darkTheme) { diff --git a/app/src/main/java/com/stoutner/privacybrowser/helpers/DomainsDatabaseHelper.java b/app/src/main/java/com/stoutner/privacybrowser/helpers/DomainsDatabaseHelper.java index 2ed01cb4..9494d991 100644 --- a/app/src/main/java/com/stoutner/privacybrowser/helpers/DomainsDatabaseHelper.java +++ b/app/src/main/java/com/stoutner/privacybrowser/helpers/DomainsDatabaseHelper.java @@ -161,8 +161,8 @@ public class DomainsDatabaseHelper extends SQLiteOpenHelper { // Get the default block list settings. boolean easyListEnabled = sharedPreferences.getBoolean("easylist", true); boolean easyPrivacyEnabled = sharedPreferences.getBoolean("easyprivacy", true); - boolean fanboyAnnoyanceListEnabled = sharedPreferences.getBoolean("fanboy_annoyance_list", true); - boolean fanboySocialBlockingListEnabled = sharedPreferences.getBoolean("fanboy_social_blocking_list", true); + boolean fanboyAnnoyanceListEnabled = sharedPreferences.getBoolean("fanboys_annoyance_list", true); + boolean fanboySocialBlockingListEnabled = sharedPreferences.getBoolean("fanboys_social_blocking_list", true); // Set EasyList for existing rows according to the current system-wide default. if (easyListEnabled) { @@ -276,15 +276,15 @@ public class DomainsDatabaseHelper extends SQLiteOpenHelper { SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(appContext); // Get the default settings. - boolean javaScriptEnabled = sharedPreferences.getBoolean("javascript_enabled", false); - boolean firstPartyCookiesEnabled = sharedPreferences.getBoolean("first_party_cookies_enabled", false); - boolean thirdPartyCookiesEnabled = sharedPreferences.getBoolean("third_party_cookies_enabled", false); - boolean domStorageEnabled = sharedPreferences.getBoolean("dom_storage_enabled", false); - boolean saveFormDataEnabled = sharedPreferences.getBoolean("save_form_data_enabled", false); // Form data can be removed once the minimum API >= 26. + boolean javaScriptEnabled = sharedPreferences.getBoolean("javascript", false); + boolean firstPartyCookiesEnabled = sharedPreferences.getBoolean("first_party_cookies", false); + boolean thirdPartyCookiesEnabled = sharedPreferences.getBoolean("third_party_cookies", false); + boolean domStorageEnabled = sharedPreferences.getBoolean("dom_storage", false); + boolean saveFormDataEnabled = sharedPreferences.getBoolean("save_form_data", false); // Form data can be removed once the minimum API >= 26. boolean easyListEnabled = sharedPreferences.getBoolean("easylist", true); boolean easyPrivacyEnabled = sharedPreferences.getBoolean("easyprivacy", true); - boolean fanboyAnnoyanceListEnabled = sharedPreferences.getBoolean("fanboy_annoyance_list", true); - boolean fanboySocialBlockingListEnabled = sharedPreferences.getBoolean("fanboy_social_blocking_list", true); + boolean fanboyAnnoyanceListEnabled = sharedPreferences.getBoolean("fanboys_annoyance_list", true); + boolean fanboySocialBlockingListEnabled = sharedPreferences.getBoolean("fanboys_social_blocking_list", true); boolean ultraPrivacyEnabled = sharedPreferences.getBoolean("ultraprivacy", true); boolean blockAllThirdPartyRequests = sharedPreferences.getBoolean("block_all_third_party_requests", false); diff --git a/app/src/main/java/com/stoutner/privacybrowser/helpers/ImportExportDatabaseHelper.java b/app/src/main/java/com/stoutner/privacybrowser/helpers/ImportExportDatabaseHelper.java index 1312f8a1..5f8dcee0 100644 --- a/app/src/main/java/com/stoutner/privacybrowser/helpers/ImportExportDatabaseHelper.java +++ b/app/src/main/java/com/stoutner/privacybrowser/helpers/ImportExportDatabaseHelper.java @@ -236,11 +236,11 @@ public class ImportExportDatabaseHelper { // Create a ContentValues with the preferences information. ContentValues preferencesContentValues = new ContentValues(); - preferencesContentValues.put(JAVASCRIPT, sharedPreferences.getBoolean("javascript_enabled", false)); - preferencesContentValues.put(FIRST_PARTY_COOKIES, sharedPreferences.getBoolean("first_party_cookies_enabled", false)); - preferencesContentValues.put(THIRD_PARTY_COOKIES, sharedPreferences.getBoolean("third_party_cookies_enabled", false)); - preferencesContentValues.put(DOM_STORAGE, sharedPreferences.getBoolean("dom_storage_enabled", false)); - preferencesContentValues.put(SAVE_FORM_DATA, sharedPreferences.getBoolean("save_form_data_enabled", false)); // Save form data can be removed once the minimum API >= 26. + preferencesContentValues.put(JAVASCRIPT, sharedPreferences.getBoolean(JAVASCRIPT, false)); + preferencesContentValues.put(FIRST_PARTY_COOKIES, sharedPreferences.getBoolean(FIRST_PARTY_COOKIES, false)); + preferencesContentValues.put(THIRD_PARTY_COOKIES, sharedPreferences.getBoolean(THIRD_PARTY_COOKIES, false)); + preferencesContentValues.put(DOM_STORAGE, sharedPreferences.getBoolean(DOM_STORAGE, false)); + preferencesContentValues.put(SAVE_FORM_DATA, sharedPreferences.getBoolean(SAVE_FORM_DATA, false)); // Save form data can be removed once the minimum API >= 26. preferencesContentValues.put(USER_AGENT, sharedPreferences.getString(USER_AGENT, context.getString(R.string.user_agent_default_value))); preferencesContentValues.put(CUSTOM_USER_AGENT, sharedPreferences.getString(CUSTOM_USER_AGENT, context.getString(R.string.custom_user_agent_default_value))); preferencesContentValues.put(INCOGNITO_MODE, sharedPreferences.getBoolean(INCOGNITO_MODE, false)); @@ -248,8 +248,8 @@ public class ImportExportDatabaseHelper { preferencesContentValues.put(ALLOW_SCREENSHOTS, sharedPreferences.getBoolean(ALLOW_SCREENSHOTS, false)); preferencesContentValues.put(EASYLIST, sharedPreferences.getBoolean(EASYLIST, true)); preferencesContentValues.put(EASYPRIVACY, sharedPreferences.getBoolean(EASYPRIVACY, true)); - preferencesContentValues.put(FANBOYS_ANNOYANCE_LIST, sharedPreferences.getBoolean("fanboy_annoyance_list", true)); - preferencesContentValues.put(FANBOYS_SOCIAL_BLOCKING_LIST, sharedPreferences.getBoolean("fanboy_social_blocking_list", true)); + preferencesContentValues.put(FANBOYS_ANNOYANCE_LIST, sharedPreferences.getBoolean(FANBOYS_ANNOYANCE_LIST, true)); + preferencesContentValues.put(FANBOYS_SOCIAL_BLOCKING_LIST, sharedPreferences.getBoolean(FANBOYS_SOCIAL_BLOCKING_LIST, true)); preferencesContentValues.put(ULTRAPRIVACY, sharedPreferences.getBoolean(ULTRAPRIVACY, true)); preferencesContentValues.put(BLOCK_ALL_THIRD_PARTY_REQUESTS, sharedPreferences.getBoolean(BLOCK_ALL_THIRD_PARTY_REQUESTS, false)); preferencesContentValues.put(PROXY_THROUGH_ORBOT, sharedPreferences.getBoolean(PROXY_THROUGH_ORBOT, false)); @@ -367,7 +367,7 @@ public class ImportExportDatabaseHelper { // Upgrade from schema version 2. case 2: - // Once the SQLite version is >= 3.25.0 `ALTER TABLE RENAME` can be used. https://www.sqlite.org/lang_altertable.html https://www.sqlite.org/changes.html + // Once the SQLite version is >= 3.25.0 `ALTER TABLE RENAME COLUMN` can be used. https://www.sqlite.org/lang_altertable.html https://www.sqlite.org/changes.html // https://developer.android.com/reference/android/database/sqlite/package-summary // In the meantime, we can create a new column with the new name. There is no need to delete the old column on the temporary import database. @@ -498,12 +498,12 @@ public class ImportExportDatabaseHelper { // Import the preference data. sharedPreferences.edit() - .putBoolean("javascript_enabled", importPreferencesCursor.getInt(importPreferencesCursor.getColumnIndex(JAVASCRIPT)) == 1) - .putBoolean("first_party_cookies_enabled", importPreferencesCursor.getInt(importPreferencesCursor.getColumnIndex(FIRST_PARTY_COOKIES)) == 1) - .putBoolean("third_party_cookies_enabled", importPreferencesCursor.getInt(importPreferencesCursor.getColumnIndex(THIRD_PARTY_COOKIES)) == 1) - .putBoolean("dom_storage_enabled", importPreferencesCursor.getInt(importPreferencesCursor.getColumnIndex(DOM_STORAGE)) == 1) + .putBoolean(JAVASCRIPT, importPreferencesCursor.getInt(importPreferencesCursor.getColumnIndex(JAVASCRIPT)) == 1) + .putBoolean(FIRST_PARTY_COOKIES, importPreferencesCursor.getInt(importPreferencesCursor.getColumnIndex(FIRST_PARTY_COOKIES)) == 1) + .putBoolean(THIRD_PARTY_COOKIES, importPreferencesCursor.getInt(importPreferencesCursor.getColumnIndex(THIRD_PARTY_COOKIES)) == 1) + .putBoolean(DOM_STORAGE, importPreferencesCursor.getInt(importPreferencesCursor.getColumnIndex(DOM_STORAGE)) == 1) // Save form data can be removed once the minimum API >= 26. - .putBoolean("save_form_data_enabled", importPreferencesCursor.getInt(importPreferencesCursor.getColumnIndex(SAVE_FORM_DATA)) == 1) + .putBoolean(SAVE_FORM_DATA, importPreferencesCursor.getInt(importPreferencesCursor.getColumnIndex(SAVE_FORM_DATA)) == 1) .putString(USER_AGENT, importPreferencesCursor.getString(importPreferencesCursor.getColumnIndex(USER_AGENT))) .putString(CUSTOM_USER_AGENT, importPreferencesCursor.getString(importPreferencesCursor.getColumnIndex(CUSTOM_USER_AGENT))) .putBoolean(INCOGNITO_MODE, importPreferencesCursor.getInt(importPreferencesCursor.getColumnIndex(INCOGNITO_MODE)) == 1) @@ -511,8 +511,8 @@ public class ImportExportDatabaseHelper { .putBoolean(ALLOW_SCREENSHOTS, importPreferencesCursor.getInt(importPreferencesCursor.getColumnIndex(ALLOW_SCREENSHOTS)) == 1) .putBoolean(EASYLIST, importPreferencesCursor.getInt(importPreferencesCursor.getColumnIndex(EASYLIST)) == 1) .putBoolean(EASYPRIVACY, importPreferencesCursor.getInt(importPreferencesCursor.getColumnIndex(EASYPRIVACY)) == 1) - .putBoolean("fanboy_annoyance_list", importPreferencesCursor.getInt(importPreferencesCursor.getColumnIndex(FANBOYS_ANNOYANCE_LIST)) == 1) - .putBoolean("fanboy_social_blocking_list", importPreferencesCursor.getInt(importPreferencesCursor.getColumnIndex(FANBOYS_SOCIAL_BLOCKING_LIST)) == 1) + .putBoolean(FANBOYS_ANNOYANCE_LIST, importPreferencesCursor.getInt(importPreferencesCursor.getColumnIndex(FANBOYS_ANNOYANCE_LIST)) == 1) + .putBoolean(FANBOYS_SOCIAL_BLOCKING_LIST, importPreferencesCursor.getInt(importPreferencesCursor.getColumnIndex(FANBOYS_SOCIAL_BLOCKING_LIST)) == 1) .putBoolean(ULTRAPRIVACY, importPreferencesCursor.getInt(importPreferencesCursor.getColumnIndex(ULTRAPRIVACY)) == 1) .putBoolean(BLOCK_ALL_THIRD_PARTY_REQUESTS, importPreferencesCursor.getInt(importPreferencesCursor.getColumnIndex(BLOCK_ALL_THIRD_PARTY_REQUESTS)) == 1) .putBoolean(PROXY_THROUGH_ORBOT, importPreferencesCursor.getInt(importPreferencesCursor.getColumnIndex(PROXY_THROUGH_ORBOT)) == 1) diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml index b0404343..8c24d1a7 100644 --- a/app/src/main/res/xml/preferences.xml +++ b/app/src/main/res/xml/preferences.xml @@ -24,32 +24,32 @@ android:title="@string/privacy" > @@ -105,13 +105,13 @@ android:defaultValue="true" /> diff --git a/fastlane/metadata/android/en-US/images/icon.png b/fastlane/metadata/android/en-US/images/icon.png index 7cde566f1bc5ac8df9ef991125285eb48eae482c..eecb13ead7b0565dce9fe67dccc64a8aa37725c0 100644 GIT binary patch literal 27842 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 tX_&b*q<|@S{DES literal 26792 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 X<&br`H2P#9*#i9wM%u;a?W6t|SJ+3i -- 2.45.2