From 84d4679aa9dbed4bca22f23d39cb397727a58722 Mon Sep 17 00:00:00 2001 From: Alex Ning Date: Sun, 29 Mar 2020 16:28:50 +0800 Subject: [PATCH] Finished adding advanced preferences. --- .../DeleteAllPostLayoutsAsyncTask.java | 57 ++++++++ .../DeleteAllSortTypesAsyncTask.java | 58 ++++++++ .../AsyncTask/DeleteAllThemesAsyncTask.java | 45 ++++++ .../AsyncTask/InsertCustomThemeAsyncTask.java | 6 +- .../CustomTheme/CustomThemeDao.java | 3 + .../Settings/AdvancedPreferenceFragment.java | 129 +++++++++++++++--- .../Utils/SharedPreferencesUtils.java | 2 + .../ic_info_preference_24dp.xml | 9 ++ .../res/drawable/ic_info_preference_24dp.xml | 9 ++ app/src/main/res/values/strings.xml | 14 +- app/src/main/res/xml/advanced_preferences.xml | 13 ++ app/src/main/res/xml/theme_preferences.xml | 3 +- 12 files changed, 319 insertions(+), 29 deletions(-) create mode 100644 app/src/main/java/ml/docilealligator/infinityforreddit/AsyncTask/DeleteAllPostLayoutsAsyncTask.java create mode 100644 app/src/main/java/ml/docilealligator/infinityforreddit/AsyncTask/DeleteAllSortTypesAsyncTask.java create mode 100644 app/src/main/java/ml/docilealligator/infinityforreddit/AsyncTask/DeleteAllThemesAsyncTask.java create mode 100644 app/src/main/res/drawable-night/ic_info_preference_24dp.xml create mode 100644 app/src/main/res/drawable/ic_info_preference_24dp.xml diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/AsyncTask/DeleteAllPostLayoutsAsyncTask.java b/app/src/main/java/ml/docilealligator/infinityforreddit/AsyncTask/DeleteAllPostLayoutsAsyncTask.java new file mode 100644 index 00000000..fb81d1e6 --- /dev/null +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/AsyncTask/DeleteAllPostLayoutsAsyncTask.java @@ -0,0 +1,57 @@ +package ml.docilealligator.infinityforreddit.AsyncTask; + +import android.content.SharedPreferences; +import android.os.AsyncTask; + +import java.util.Map; + +import ml.docilealligator.infinityforreddit.Utils.SharedPreferencesUtils; + +public class DeleteAllPostLayoutsAsyncTask extends AsyncTask { + + private SharedPreferences defaultSharedPreferences; + private SharedPreferences postLayoutSharedPreferences; + private DeleteAllPostLayoutsAsyncTaskListener deleteAllPostLayoutsAsyncTaskListener; + + public interface DeleteAllPostLayoutsAsyncTaskListener { + void success(); + } + + public DeleteAllPostLayoutsAsyncTask(SharedPreferences defaultSharedPreferences, + SharedPreferences postLayoutSharedPreferences, + DeleteAllPostLayoutsAsyncTaskListener deleteAllPostLayoutsAsyncTaskListener) { + this.defaultSharedPreferences = defaultSharedPreferences; + this.postLayoutSharedPreferences = postLayoutSharedPreferences; + this.deleteAllPostLayoutsAsyncTaskListener = deleteAllPostLayoutsAsyncTaskListener; + } + + @Override + protected Void doInBackground(Void... voids) { + Map keys = defaultSharedPreferences.getAll(); + SharedPreferences.Editor editor = defaultSharedPreferences.edit(); + + for(Map.Entry entry : keys.entrySet()){ + String key = entry.getKey(); + if (key.startsWith(SharedPreferencesUtils.POST_LAYOUT_SHARED_PREFERENCES_FILE) + || key.startsWith(SharedPreferencesUtils.POST_LAYOUT_FRONT_PAGE_POST) + || key.startsWith(SharedPreferencesUtils.POST_LAYOUT_POPULAR_POST) + || key.startsWith(SharedPreferencesUtils.POST_LAYOUT_ALL_POST) + || key.startsWith(SharedPreferencesUtils.POST_LAYOUT_SUBREDDIT_POST_BASE) + || key.startsWith(SharedPreferencesUtils.POST_LAYOUT_MULTI_REDDIT_POST_BASE) + || key.startsWith(SharedPreferencesUtils.POST_LAYOUT_USER_POST_BASE) + || key.startsWith(SharedPreferencesUtils.POST_LAYOUT_SEARCH_POST)) { + editor.remove(key); + } + } + editor.apply(); + + postLayoutSharedPreferences.edit().clear().apply(); + return null; + } + + @Override + protected void onPostExecute(Void aVoid) { + super.onPostExecute(aVoid); + deleteAllPostLayoutsAsyncTaskListener.success(); + } +} diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/AsyncTask/DeleteAllSortTypesAsyncTask.java b/app/src/main/java/ml/docilealligator/infinityforreddit/AsyncTask/DeleteAllSortTypesAsyncTask.java new file mode 100644 index 00000000..153e0899 --- /dev/null +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/AsyncTask/DeleteAllSortTypesAsyncTask.java @@ -0,0 +1,58 @@ +package ml.docilealligator.infinityforreddit.AsyncTask; + +import android.content.SharedPreferences; +import android.os.AsyncTask; + +import java.util.Map; + +import ml.docilealligator.infinityforreddit.Utils.SharedPreferencesUtils; + +public class DeleteAllSortTypesAsyncTask extends AsyncTask { + private SharedPreferences defaultSharedPreferences; + private SharedPreferences sortTypeSharedPreferences; + private DeleteAllSortTypesAsyncTaskListener deleteAllSortTypesAsyncTaskListener; + + public interface DeleteAllSortTypesAsyncTaskListener { + void success(); + } + + public DeleteAllSortTypesAsyncTask(SharedPreferences defaultSharedPreferences, + SharedPreferences sortTypeSharedPreferences, + DeleteAllSortTypesAsyncTaskListener deleteAllSortTypesAsyncTaskListener) { + this.defaultSharedPreferences = defaultSharedPreferences; + this.sortTypeSharedPreferences = sortTypeSharedPreferences; + this.deleteAllSortTypesAsyncTaskListener = deleteAllSortTypesAsyncTaskListener; + } + + @Override + protected Void doInBackground(Void... voids) { + Map keys = defaultSharedPreferences.getAll(); + SharedPreferences.Editor editor = defaultSharedPreferences.edit(); + + for(Map.Entry entry : keys.entrySet()){ + String key = entry.getKey(); + if (key.startsWith(SharedPreferencesUtils.SORT_TYPE_BEST_POST) || key.startsWith(SharedPreferencesUtils.SORT_TIME_BEST_POST) + || key.startsWith(SharedPreferencesUtils.SORT_TYPE_ALL_POST) || key.startsWith(SharedPreferencesUtils.SORT_TIME_ALL_POST) + || key.startsWith(SharedPreferencesUtils.SORT_TYPE_POPULAR_POST) || key.startsWith(SharedPreferencesUtils.SORT_TIME_POPULAR_POST) + || key.startsWith(SharedPreferencesUtils.SORT_TYPE_SEARCH_POST) || key.startsWith(SharedPreferencesUtils.SORT_TIME_SEARCH_POST) + || key.startsWith(SharedPreferencesUtils.SORT_TYPE_SUBREDDIT_POST_BASE) || key.startsWith(SharedPreferencesUtils.SORT_TIME_SUBREDDIT_POST_BASE) + || key.startsWith(SharedPreferencesUtils.SORT_TYPE_MULTI_REDDIT_POST_BASE) || key.startsWith(SharedPreferencesUtils.SORT_TIME_MULTI_REDDIT_POST_BASE) + || key.startsWith(SharedPreferencesUtils.SORT_TYPE_USER_POST_BASE) || key.startsWith(SharedPreferencesUtils.SORT_TIME_USER_POST_BASE) + || key.startsWith(SharedPreferencesUtils.SORT_TYPE_USER_COMMENT) || key.startsWith(SharedPreferencesUtils.SORT_TIME_USER_COMMENT) + || key.startsWith(SharedPreferencesUtils.SORT_TYPE_SEARCH_SUBREDDIT) || key.startsWith(SharedPreferencesUtils.SORT_TYPE_SEARCH_USER) + || key.startsWith(SharedPreferencesUtils.SORT_TYPE_POST_COMMENT)) { + editor.remove(key); + } + } + editor.apply(); + + sortTypeSharedPreferences.edit().clear().apply(); + return null; + } + + @Override + protected void onPostExecute(Void aVoid) { + super.onPostExecute(aVoid); + deleteAllSortTypesAsyncTaskListener.success(); + } +} diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/AsyncTask/DeleteAllThemesAsyncTask.java b/app/src/main/java/ml/docilealligator/infinityforreddit/AsyncTask/DeleteAllThemesAsyncTask.java new file mode 100644 index 00000000..0859fefd --- /dev/null +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/AsyncTask/DeleteAllThemesAsyncTask.java @@ -0,0 +1,45 @@ +package ml.docilealligator.infinityforreddit.AsyncTask; + +import android.content.SharedPreferences; +import android.os.AsyncTask; + +import ml.docilealligator.infinityforreddit.RedditDataRoomDatabase; + +public class DeleteAllThemesAsyncTask extends AsyncTask { + private RedditDataRoomDatabase redditDataRoomDatabase; + private SharedPreferences lightThemeSharedPreferences; + private SharedPreferences darkThemeSharedPreferences; + private SharedPreferences amoledThemeSharedPreferences; + private DeleteAllThemesAsyncTaskListener deleteAllThemesAsyncTaskListener; + + public interface DeleteAllThemesAsyncTaskListener { + void success(); + } + + public DeleteAllThemesAsyncTask(RedditDataRoomDatabase redditDataRoomDatabase, + SharedPreferences lightThemeSharedPreferences, + SharedPreferences darkThemeSharedPreferences, + SharedPreferences amoledThemeSharedPreferences, + DeleteAllThemesAsyncTaskListener deleteAllThemesAsyncTaskListener) { + this.redditDataRoomDatabase = redditDataRoomDatabase; + this.lightThemeSharedPreferences = lightThemeSharedPreferences; + this.darkThemeSharedPreferences = darkThemeSharedPreferences; + this.amoledThemeSharedPreferences = amoledThemeSharedPreferences; + this.deleteAllThemesAsyncTaskListener = deleteAllThemesAsyncTaskListener; + } + + @Override + protected Void doInBackground(Void... voids) { + redditDataRoomDatabase.customThemeDao().deleteAllCustomThemes(); + lightThemeSharedPreferences.edit().clear().apply(); + darkThemeSharedPreferences.edit().clear().apply(); + amoledThemeSharedPreferences.edit().clear().apply(); + return null; + } + + @Override + protected void onPostExecute(Void aVoid) { + super.onPostExecute(aVoid); + deleteAllThemesAsyncTaskListener.success(); + } +} diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/AsyncTask/InsertCustomThemeAsyncTask.java b/app/src/main/java/ml/docilealligator/infinityforreddit/AsyncTask/InsertCustomThemeAsyncTask.java index f6443841..86a0f43b 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/AsyncTask/InsertCustomThemeAsyncTask.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/AsyncTask/InsertCustomThemeAsyncTask.java @@ -49,19 +49,19 @@ public class InsertCustomThemeAsyncTask extends AsyncTask { if (customTheme.isLightTheme) { redditDataRoomDatabase.customThemeDao().unsetLightTheme(); CustomThemeSharedPreferencesUtils.insertThemeToSharedPreferences(customTheme, lightThemeSharedPreferences); - } else if (previousTheme.isLightTheme) { + } else if (previousTheme != null && previousTheme.isLightTheme) { lightThemeSharedPreferences.edit().clear().apply(); } if (customTheme.isDarkTheme) { redditDataRoomDatabase.customThemeDao().unsetDarkTheme(); CustomThemeSharedPreferencesUtils.insertThemeToSharedPreferences(customTheme, darkThemeSharedPreferences); - } else if (previousTheme.isDarkTheme) { + } else if (previousTheme != null && previousTheme.isDarkTheme) { darkThemeSharedPreferences.edit().clear().apply(); } if (customTheme.isAmoledTheme) { redditDataRoomDatabase.customThemeDao().unsetAmoledTheme(); CustomThemeSharedPreferencesUtils.insertThemeToSharedPreferences(customTheme, amoledThemeSharedPreferences); - } else if (previousTheme.isAmoledTheme) { + } else if (previousTheme != null && previousTheme.isAmoledTheme) { amoledThemeSharedPreferences.edit().clear().apply(); } redditDataRoomDatabase.customThemeDao().insert(customTheme); diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/CustomTheme/CustomThemeDao.java b/app/src/main/java/ml/docilealligator/infinityforreddit/CustomTheme/CustomThemeDao.java index 8741f8e5..68b4de13 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/CustomTheme/CustomThemeDao.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/CustomTheme/CustomThemeDao.java @@ -51,4 +51,7 @@ public interface CustomThemeDao { @Query("UPDATE custom_themes SET name = :newName WHERE name = :oldName") void updateName(String oldName, String newName); + + @Query("DELETE FROM custom_themes") + void deleteAllCustomThemes(); } diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Settings/AdvancedPreferenceFragment.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Settings/AdvancedPreferenceFragment.java index 5101e60c..de92c7fe 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/Settings/AdvancedPreferenceFragment.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Settings/AdvancedPreferenceFragment.java @@ -12,11 +12,19 @@ import androidx.fragment.app.Fragment; import androidx.preference.Preference; import androidx.preference.PreferenceFragmentCompat; +import com.google.android.material.dialog.MaterialAlertDialogBuilder; + +import org.greenrobot.eventbus.EventBus; + import javax.inject.Inject; import javax.inject.Named; +import ml.docilealligator.infinityforreddit.AsyncTask.DeleteAllPostLayoutsAsyncTask; +import ml.docilealligator.infinityforreddit.AsyncTask.DeleteAllSortTypesAsyncTask; import ml.docilealligator.infinityforreddit.AsyncTask.DeleteAllSubredditsAsyncTask; +import ml.docilealligator.infinityforreddit.AsyncTask.DeleteAllThemesAsyncTask; import ml.docilealligator.infinityforreddit.AsyncTask.DeleteAllUsersAsyncTask; +import ml.docilealligator.infinityforreddit.Event.RecreateActivityEvent; import ml.docilealligator.infinityforreddit.Infinity; import ml.docilealligator.infinityforreddit.R; import ml.docilealligator.infinityforreddit.RedditDataRoomDatabase; @@ -32,6 +40,21 @@ public class AdvancedPreferenceFragment extends PreferenceFragmentCompat { @Inject @Named("default") SharedPreferences mSharedPreferences; + @Inject + @Named("sort_type") + SharedPreferences mSortTypeSharedPreferences; + @Inject + @Named("post_layout") + SharedPreferences mPostLayoutSharedPreferences; + @Inject + @Named("light_theme") + SharedPreferences lightThemeSharedPreferences; + @Inject + @Named("dark_theme") + SharedPreferences darkThemeSharedPreferences; + @Inject + @Named("amoled_theme") + SharedPreferences amoledThemeSharedPreferences; private Activity activity; @Override @@ -44,34 +67,96 @@ public class AdvancedPreferenceFragment extends PreferenceFragmentCompat { Preference deleteUsersPreference = findPreference(SharedPreferencesUtils.DELETE_ALL_USERS_DATA_IN_DATABASE); Preference deleteSortTypePreference = findPreference(SharedPreferencesUtils.DELETE_ALL_SORT_TYPE_DATA_IN_DATABASE); Preference deletePostLaoutPreference = findPreference(SharedPreferencesUtils.DELETE_ALL_POST_LAYOUT_DATA_IN_DATABASE); + Preference deleteAllThemesPreference = findPreference(SharedPreferencesUtils.DELETE_ALL_THEMES_IN_DATABASE); + Preference resetAllSettingsPreference = findPreference(SharedPreferencesUtils.RESET_ALL_SETTINGS); - deleteSubredditsPreference.setOnPreferenceClickListener(preference -> { - new DeleteAllSubredditsAsyncTask(mRedditDataRoomDatabase, - () -> Toast.makeText(activity, R.string.delete_all_subreddits_success, Toast.LENGTH_SHORT).show()).execute(); - return true; - }); + if (deleteSubredditsPreference != null) { + deleteSubredditsPreference.setOnPreferenceClickListener(preference -> { + new MaterialAlertDialogBuilder(activity, R.style.MaterialAlertDialogTheme) + .setTitle(R.string.are_you_sure) + .setPositiveButton(R.string.yes, (dialogInterface, i) + -> new DeleteAllSubredditsAsyncTask(mRedditDataRoomDatabase, + () -> Toast.makeText(activity, R.string.delete_all_subreddits_success, Toast.LENGTH_SHORT).show()).execute()) + .setNegativeButton(R.string.no, null) + .show(); + return true; + }); + } - deleteUsersPreference.setOnPreferenceClickListener(preference -> { - new DeleteAllUsersAsyncTask(mRedditDataRoomDatabase, - () -> Toast.makeText(activity, R.string.delete_all_users_success, Toast.LENGTH_SHORT).show()).execute(); - return true; - }); + if (deleteUsersPreference != null) { + deleteUsersPreference.setOnPreferenceClickListener(preference -> { + new MaterialAlertDialogBuilder(activity, R.style.MaterialAlertDialogTheme) + .setTitle(R.string.are_you_sure) + .setPositiveButton(R.string.yes, (dialogInterface, i) + -> new DeleteAllUsersAsyncTask(mRedditDataRoomDatabase, + () -> Toast.makeText(activity, R.string.delete_all_users_success, Toast.LENGTH_SHORT).show()).execute()) + .setNegativeButton(R.string.no, null) + .show(); + return true; + }); + } - deleteSortTypePreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { - @Override - public boolean onPreferenceClick(Preference preference) { + if (deleteSortTypePreference != null) { + deleteSortTypePreference.setOnPreferenceClickListener(preference -> { + new MaterialAlertDialogBuilder(activity, R.style.MaterialAlertDialogTheme) + .setTitle(R.string.are_you_sure) + .setPositiveButton(R.string.yes, (dialogInterface, i) + -> new DeleteAllSortTypesAsyncTask(mSharedPreferences, mSortTypeSharedPreferences, () -> { + Toast.makeText(activity, R.string.delete_all_sort_types_success, Toast.LENGTH_SHORT).show(); + EventBus.getDefault().post(new RecreateActivityEvent()); + }).execute()) + .setNegativeButton(R.string.no, null) + .show(); + return true; + }); + } - return false; - } - }); + if (deletePostLaoutPreference != null) { + deletePostLaoutPreference.setOnPreferenceClickListener(preference -> { + new MaterialAlertDialogBuilder(activity, R.style.MaterialAlertDialogTheme) + .setTitle(R.string.are_you_sure) + .setPositiveButton(R.string.yes, (dialogInterface, i) + -> new DeleteAllPostLayoutsAsyncTask(mSharedPreferences, mPostLayoutSharedPreferences, () -> { + Toast.makeText(activity, R.string.delete_all_post_layouts_success, Toast.LENGTH_SHORT).show(); + EventBus.getDefault().post(new RecreateActivityEvent()); + }).execute()) + .setNegativeButton(R.string.no, null) + .show(); + return true; + }); + } - deletePostLaoutPreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { - @Override - public boolean onPreferenceClick(Preference preference) { + if (deleteAllThemesPreference != null) { + deleteAllThemesPreference.setOnPreferenceClickListener(preference -> { + new MaterialAlertDialogBuilder(activity, R.style.MaterialAlertDialogTheme) + .setTitle(R.string.are_you_sure) + .setPositiveButton(R.string.yes, (dialogInterface, i) + -> new DeleteAllThemesAsyncTask(mRedditDataRoomDatabase, lightThemeSharedPreferences, + darkThemeSharedPreferences, amoledThemeSharedPreferences, () -> { + Toast.makeText(activity, R.string.delete_all_themes_success, Toast.LENGTH_SHORT).show(); + EventBus.getDefault().post(new RecreateActivityEvent()); + }).execute()) + .setNegativeButton(R.string.no, null) + .show(); + return true; + }); + } - return false; - } - }); + if (resetAllSettingsPreference != null) { + resetAllSettingsPreference.setOnPreferenceClickListener(preference -> { + new MaterialAlertDialogBuilder(activity, R.style.MaterialAlertDialogTheme) + .setTitle(R.string.are_you_sure) + .setPositiveButton(R.string.yes, (dialogInterface, i) + -> { + mSharedPreferences.edit().clear().apply(); + Toast.makeText(activity, R.string.reset_all_settings_success, Toast.LENGTH_SHORT).show(); + EventBus.getDefault().post(new RecreateActivityEvent()); + }) + .setNegativeButton(R.string.no, null) + .show(); + return true; + }); + } } @Override diff --git a/app/src/main/java/ml/docilealligator/infinityforreddit/Utils/SharedPreferencesUtils.java b/app/src/main/java/ml/docilealligator/infinityforreddit/Utils/SharedPreferencesUtils.java index e3d3d699..906bcdd5 100644 --- a/app/src/main/java/ml/docilealligator/infinityforreddit/Utils/SharedPreferencesUtils.java +++ b/app/src/main/java/ml/docilealligator/infinityforreddit/Utils/SharedPreferencesUtils.java @@ -90,4 +90,6 @@ public class SharedPreferencesUtils { public static final String DELETE_ALL_USERS_DATA_IN_DATABASE= "delete_all_users_data_in_database"; public static final String DELETE_ALL_SORT_TYPE_DATA_IN_DATABASE= "delete_all_sort_type_data_in_database"; public static final String DELETE_ALL_POST_LAYOUT_DATA_IN_DATABASE= "delete_all_post_layout_data_in_database"; + public static final String DELETE_ALL_THEMES_IN_DATABASE = "delete_all_themes_in_database"; + public static final String RESET_ALL_SETTINGS = "reset_all_settings"; } diff --git a/app/src/main/res/drawable-night/ic_info_preference_24dp.xml b/app/src/main/res/drawable-night/ic_info_preference_24dp.xml new file mode 100644 index 00000000..10088cff --- /dev/null +++ b/app/src/main/res/drawable-night/ic_info_preference_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/drawable/ic_info_preference_24dp.xml b/app/src/main/res/drawable/ic_info_preference_24dp.xml new file mode 100644 index 00000000..88855dce --- /dev/null +++ b/app/src/main/res/drawable/ic_info_preference_24dp.xml @@ -0,0 +1,9 @@ + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index a05fb242..c976932b 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -365,12 +365,15 @@ Dark Theme Amoled Theme Manage Themes - Custom themes cannot be applied to settings page (except toolbar, status bar and navigation bar). + Custom themes cannot be applied to settings page (except toolbar, status bar and navigation bar). Advanced Delete All Subreddits in Database Delete All Users in Database - Delete All Sort Type in Database - Delete All Post Layout Data in Database + Delete All Sort Types in Database + Delete All Post Layouts in Database + Delete All Themes in Database + Reset All Settings + Clean the database and shared preferences Cannot get the link @@ -645,5 +648,10 @@ Delete all subreddits successful Delete all users successful + Delete all sort types successful + Delete all post layouts successful + Delete all themes successful + Reset all settings successful + diff --git a/app/src/main/res/xml/advanced_preferences.xml b/app/src/main/res/xml/advanced_preferences.xml index f16e572d..e475af51 100644 --- a/app/src/main/res/xml/advanced_preferences.xml +++ b/app/src/main/res/xml/advanced_preferences.xml @@ -18,4 +18,17 @@ app:key="delete_all_post_layout_data_in_database" app:title="@string/settings_delete_all_post_layout_data_in_database_title" /> + + + + + + \ No newline at end of file diff --git a/app/src/main/res/xml/theme_preferences.xml b/app/src/main/res/xml/theme_preferences.xml index f40ef592..a520fc49 100644 --- a/app/src/main/res/xml/theme_preferences.xml +++ b/app/src/main/res/xml/theme_preferences.xml @@ -42,7 +42,8 @@ app:title="@string/settings_manage_themes_title" /> \ No newline at end of file