SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
// Store the general preference information.
- String defaultFontSizeString = sharedPreferences.getString("default_font_size", getString(R.string.font_size_default_value));
+ String defaultFontSizeString = sharedPreferences.getString("font_size", getString(R.string.font_size_default_value));
String defaultUserAgentName = sharedPreferences.getString("user_agent", getString(R.string.user_agent_default_value));
defaultCustomUserAgentString = sharedPreferences.getString("custom_user_agent", getString(R.string.custom_user_agent_default_value));
boolean defaultSwipeToRefresh = sharedPreferences.getBoolean("swipe_to_refresh", true);
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(context);
// Store the default settings.
- final String defaultUserAgentName = sharedPreferences.getString("user_agent", "Privacy Browser");
- final String defaultCustomUserAgentString = sharedPreferences.getString("custom_user_agent", "PrivacyBrowser/1.0");
- String defaultFontSizeString = sharedPreferences.getString("default_font_size", "100");
+ final String defaultUserAgentName = sharedPreferences.getString("user_agent", getString(R.string.user_agent_default_value));
+ final String defaultCustomUserAgentString = sharedPreferences.getString("custom_user_agent", getString(R.string.custom_user_agent_default_value));
+ String defaultFontSizeString = sharedPreferences.getString("font_size", getString(R.string.font_size_default_value));
boolean defaultSwipeToRefresh = sharedPreferences.getBoolean("swipe_to_refresh", true);
final boolean defaultNightMode = sharedPreferences.getBoolean("night_mode", false);
final boolean defaultDisplayWebpageImages = sharedPreferences.getBoolean("display_webpage_images", true);
final Preference clearFormDataPreference = findPreference("clear_form_data"); // The clear form data preference can be removed once the minimum API >= 26.
final Preference clearCachePreference = findPreference("clear_cache");
final Preference homepagePreference = findPreference("homepage");
- final Preference defaultFontSizePreference = findPreference("default_font_size");
+ final Preference fontSizePreference = findPreference("font_size");
final Preference swipeToRefreshPreference = findPreference("swipe_to_refresh");
final Preference downloadWithExternalAppPreference = findPreference("download_with_external_app");
final Preference displayAdditionalAppBarIconsPreference = findPreference("display_additional_app_bar_icons");
// Set the homepage URL as the summary text for the homepage preference.
homepagePreference.setSummary(savedPreferences.getString("homepage", getString(R.string.homepage_default_value)));
- // Set the default font size as the summary text for the preference.
- defaultFontSizePreference.setSummary(savedPreferences.getString("default_font_size", getString(R.string.font_size_default_value)) + "%%");
+ // Set the font size as the summary text for the preference.
+ fontSizePreference.setSummary(savedPreferences.getString("font_size", getString(R.string.font_size_default_value)) + "%%");
// Disable the JavaScript preference if Night Mode is enabled. JavaScript will be enabled for all web pages.
javaScriptPreference.setEnabled(!nightMode);
homepagePreference.setSummary(sharedPreferences.getString("homepage", getString(R.string.homepage_default_value)));
break;
- case "default_font_size":
- // Update the summary text of `default_font_size`.
- defaultFontSizePreference.setSummary(sharedPreferences.getString("default_font_size", getString(R.string.font_size_default_value)) + "%%");
+ case "font_size":
+ // Update the font size summary text.
+ fontSizePreference.setSummary(sharedPreferences.getString("font_size", getString(R.string.font_size_default_value)) + "%%");
break;
case "swipe_to_refresh":
public static final String EXPORT_SUCCESSFUL = "Export Successful";
public static final String IMPORT_SUCCESSFUL = "Import Successful";
- private static final int SCHEMA_VERSION = 2;
+ private static final int SCHEMA_VERSION = 3;
private static final String PREFERENCES_TABLE = "preferences";
// The preferences constants.
private static final String CLEAR_FORM_DATA = "clear_form_data";
private static final String CLEAR_CACHE = "clear_cache";
private static final String HOMEPAGE = "homepage";
- private static final String DEFAULT_FONT_SIZE = "default_font_size";
+ private static final String FONT_SIZE = "font_size";
private static final String SWIPE_TO_REFRESH = "swipe_to_refresh";
private static final String DOWNLOAD_WITH_EXTERNAL_APP = "download_with_external_app";
private static final String DISPLAY_ADDITIONAL_APP_BAR_ICONS = "display_additional_app_bar_icons";
CLEAR_FORM_DATA + " BOOLEAN, " +
CLEAR_CACHE + " BOOLEAN, " +
HOMEPAGE + " TEXT, " +
- DEFAULT_FONT_SIZE + " TEXT, " +
+ FONT_SIZE + " TEXT, " +
SWIPE_TO_REFRESH + " BOOLEAN, " +
DOWNLOAD_WITH_EXTERNAL_APP + " BOOLEAN, " +
DISPLAY_ADDITIONAL_APP_BAR_ICONS + " BOOLEAN, " +
preferencesContentValues.put(CLEAR_FORM_DATA, sharedPreferences.getBoolean(CLEAR_FORM_DATA, true)); // Clear form data can be removed once the minimum API >= 26.
preferencesContentValues.put(CLEAR_CACHE, sharedPreferences.getBoolean(CLEAR_CACHE, true));
preferencesContentValues.put(HOMEPAGE, sharedPreferences.getString(HOMEPAGE, context.getString(R.string.homepage_default_value)));
- preferencesContentValues.put(DEFAULT_FONT_SIZE, sharedPreferences.getString(DEFAULT_FONT_SIZE, context.getString(R.string.font_size_default_value)));
+ preferencesContentValues.put(FONT_SIZE, sharedPreferences.getString(FONT_SIZE, context.getString(R.string.font_size_default_value)));
preferencesContentValues.put(SWIPE_TO_REFRESH, sharedPreferences.getBoolean(SWIPE_TO_REFRESH, true));
preferencesContentValues.put(DOWNLOAD_WITH_EXTERNAL_APP, sharedPreferences.getBoolean(DOWNLOAD_WITH_EXTERNAL_APP, false));
preferencesContentValues.put(DISPLAY_ADDITIONAL_APP_BAR_ICONS, sharedPreferences.getBoolean(DISPLAY_ADDITIONAL_APP_BAR_ICONS, false));
} else {
importDatabase.execSQL("UPDATE " + PREFERENCES_TABLE + " SET " + DOWNLOAD_WITH_EXTERNAL_APP + " = " + 0);
}
+
+ // 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
+ // 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.
+
+ // Get a cursor with the current `default_font_size` value.
+ Cursor importDatabasePreferenceCursor = importDatabase.rawQuery("SELECT default_font_size FROM " + PREFERENCES_TABLE, null);
+
+ // Move to the beginning fo the cursor.
+ importDatabasePreferenceCursor.moveToFirst();
+
+ // Get the current value in `default_font_size`.
+ String fontSize = importDatabasePreferenceCursor.getString(importDatabasePreferenceCursor.getColumnIndex("default_font_size"));
+
+ // Close the cursor.
+ importDatabasePreferenceCursor.close();
+
+ // Create a new column named `font_size`.
+ importDatabase.execSQL("ALTER TABLE " + PREFERENCES_TABLE + " ADD COLUMN " + FONT_SIZE + " TEXT");
+
+ // Place the font size string in the new column.
+ importDatabase.execSQL("UPDATE " + PREFERENCES_TABLE + " SET " + FONT_SIZE + " = " + fontSize);
}
}
.putBoolean(CLEAR_FORM_DATA, importPreferencesCursor.getInt(importPreferencesCursor.getColumnIndex(CLEAR_FORM_DATA)) == 1)
.putBoolean(CLEAR_CACHE, importPreferencesCursor.getInt(importPreferencesCursor.getColumnIndex(CLEAR_CACHE)) == 1)
.putString(HOMEPAGE, importPreferencesCursor.getString(importPreferencesCursor.getColumnIndex(HOMEPAGE)))
- .putString(DEFAULT_FONT_SIZE, importPreferencesCursor.getString(importPreferencesCursor.getColumnIndex(DEFAULT_FONT_SIZE)))
+ .putString(FONT_SIZE, importPreferencesCursor.getString(importPreferencesCursor.getColumnIndex(FONT_SIZE)))
.putBoolean(SWIPE_TO_REFRESH, importPreferencesCursor.getInt(importPreferencesCursor.getColumnIndex(SWIPE_TO_REFRESH)) == 1)
.putBoolean(DOWNLOAD_WITH_EXTERNAL_APP, importPreferencesCursor.getInt(importPreferencesCursor.getColumnIndex(DOWNLOAD_WITH_EXTERNAL_APP)) == 1)
.putBoolean(DISPLAY_ADDITIONAL_APP_BAR_ICONS, importPreferencesCursor.getInt(importPreferencesCursor.getColumnIndex(DISPLAY_ADDITIONAL_APP_BAR_ICONS)) == 1)
<string name="custom_url">Eigene URL</string>
<string name="general">Allgemein</string>
<string name="homepage">Startseite</string>
- <string name="default_font_size">Standard-Schriftgröße</string>
- <string-array name="default_font_size_entries">
+ <string name="font_size_preference">Schriftgröße</string>
+ <string-array name="font_size_entries">
<item>25%</item>
<item>50%</item>
<item>75%</item>
<string name="clear_cache_summary">Borra la caché de WebView.</string>
<string name="general">General</string>
<string name="homepage">Página de inicio</string>
- <string name="default_font_size">Tamaño de fuente por defecto</string>
- <string-array name="default_font_size_entries">
+ <string name="font_size_preference">Tamaño de fuente</string>
+ <string-array name="font_size_entries">
<item>25%</item>
<item>50%</item>
<item>75%</item>
<string name="clear_cache_summary">Cancella solo la cache di WebView.</string>
<string name="general">Generale</string>
<string name="homepage">Homepage</string>
- <string name="default_font_size">Dimensione standard carattere</string>
- <string-array name="default_font_size_entries">
+ <string name="font_size_preference">Dimensione font</string>
+ <string-array name="font_size_entries">
<item>25%</item>
<item>50%</item>
<item>75%</item>
<string name="clear_cache_summary">Очищает кэш WebView.</string>
<string name="general">Общее</string>
<string name="homepage">Домашняя страница</string>
- <string name="default_font_size">Размер шрифта по умолчанию</string>
- <string-array name="default_font_size_entries">
+ <string name="font_size_preference">Размер шрифта</string>
+ <string-array name="font_size_entries">
<item>25%</item>
<item>50%</item>
<item>75%</item>
<string name="clear_cache_summary">Clears WebView’s cache.</string>
<string name="general">General</string>
<string name="homepage">Homepage</string>
- <string name="default_font_size">Default font size</string>
- <string-array name="default_font_size_entries">
+ <string name="font_size_preference">Font size</string>
+ <string-array name="font_size_entries">
<item>25%</item>
<item>50%</item>
<item>75%</item>
<item>175%</item>
<item>200%</item>
</string-array>
- <string-array name="default_font_size_entry_values" translatable="false"> <!-- None of the items in this `string-array` should be translated. -->
+ <string-array name="font_size_entry_values" translatable="false"> <!-- None of the items in this `string-array` should be translated. -->
<item>25</item>
<item>50</item>
<item>75</item>
android:icon="?attr/homepageIcon" />
<ListPreference
- android:key="default_font_size"
- android:title="@string/default_font_size"
- android:entries="@array/default_font_size_entries"
- android:entryValues="@array/default_font_size_entry_values"
+ android:key="font_size"
+ android:title="@string/font_size_preference"
+ android:entries="@array/font_size_entries"
+ android:entryValues="@array/font_size_entry_values"
android:defaultValue="@string/font_size_default_value"
android:icon="?attr/fontSizeIcon" />