From 61cf9d6d48d999c3b29082fc1f2ec2c0fe914f87 Mon Sep 17 00:00:00 2001 From: Sebastian Seedorf Date: Sun, 27 Oct 2019 21:47:11 +0100 Subject: [PATCH] Preference optimizations --- .../fuplanner/fragments/PrefsFragment.java | 43 +++++++++------ .../values-de/{arrays.xml => preferences.xml} | 2 +- app/src/main/res/values/arrays.xml | 54 ------------------- app/src/main/res/values/preferences.xml | 48 +++++++++++++++++ 4 files changed, 76 insertions(+), 71 deletions(-) rename app/src/main/res/values-de/{arrays.xml => preferences.xml} (99%) delete mode 100644 app/src/main/res/values/arrays.xml diff --git a/app/src/main/java/de/sebse/fuplanner/fragments/PrefsFragment.java b/app/src/main/java/de/sebse/fuplanner/fragments/PrefsFragment.java index 0bf3be1..c1dfaad 100644 --- a/app/src/main/java/de/sebse/fuplanner/fragments/PrefsFragment.java +++ b/app/src/main/java/de/sebse/fuplanner/fragments/PrefsFragment.java @@ -15,6 +15,7 @@ import de.sebse.fuplanner.services.fulogin.AccountGeneral; import de.sebse.fuplanner.services.kvv.sync.KVVContentProvider; import de.sebse.fuplanner.tools.CustomAccountManager; import de.sebse.fuplanner.tools.Preferences; +import de.sebse.fuplanner.tools.logging.Logger; public class PrefsFragment extends PreferenceFragmentCompat implements SharedPreferences.OnSharedPreferenceChangeListener { @@ -52,26 +53,36 @@ public class PrefsFragment extends PreferenceFragmentCompat implements SharedPre if (preference instanceof ListPreference) preference.setSummary(((ListPreference) preference).getEntry()); - if (getActivity() != null && getActivity() instanceof MainActivity) { - CustomAccountManager accountManager = ((MainActivity) getActivity()).getAccountManager(); - if (accountManager != null) { - Account accountByType = accountManager.getAccountByType(AccountGeneral.ACCOUNT_TYPE); - if (accountByType != null) { - ContentResolver.setSyncAutomatically(accountByType, KVVContentProvider.PROVIDER_NAME, true); - ContentResolver.addPeriodicSync( - accountByType, - KVVContentProvider.PROVIDER_NAME, - Bundle.EMPTY, - Long.parseLong(Preferences.getStringArray(getActivity(), R.array.pref_sync_frequency))); + if (s.equals(requireContext().getString(R.string.pref_sync_frequency))) { + if (getActivity() != null && getActivity() instanceof MainActivity) { + CustomAccountManager accountManager = ((MainActivity) getActivity()).getAccountManager(); + if (accountManager != null) { + Account accountByType = accountManager.getAccountByType(AccountGeneral.ACCOUNT_TYPE); + if (accountByType != null) { + ContentResolver.setSyncAutomatically(accountByType, KVVContentProvider.PROVIDER_NAME, true); + ContentResolver.addPeriodicSync( + accountByType, + KVVContentProvider.PROVIDER_NAME, + Bundle.EMPTY, + Long.parseLong(Preferences.getStringArray(getActivity(), R.array.pref_sync_frequency))); + } } } } - String nightMode = Preferences.getStringArray(requireContext(), R.array.pref_night_mode); - switch (nightMode) { - case "night": AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES); break; - case "day": AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO); break; - default: AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM); break; + if (s.equals(requireContext().getString(R.string.pref_night_mode))) { + String nightMode = Preferences.getStringArray(requireContext(), R.array.pref_night_mode); + switch (nightMode) { + case "night": + AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES); + break; + case "day": + AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO); + break; + default: + AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM); + break; + } } } } \ No newline at end of file diff --git a/app/src/main/res/values-de/arrays.xml b/app/src/main/res/values-de/preferences.xml similarity index 99% rename from app/src/main/res/values-de/arrays.xml rename to app/src/main/res/values-de/preferences.xml index 282a311..c3acaa8 100644 --- a/app/src/main/res/values-de/arrays.xml +++ b/app/src/main/res/values-de/preferences.xml @@ -6,7 +6,7 @@ Angestellter Andere - + Jede Stunde Alle 2 Stunden diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml deleted file mode 100644 index cc38383..0000000 --- a/app/src/main/res/values/arrays.xml +++ /dev/null @@ -1,54 +0,0 @@ - - - - All - Student - Employee - Other - - - all - student - employee - other - - - - Every hour - Every 2 hours - Every 4 hours - Every 6 hours - Every 12 hours - Every 24 hours - - - 1 - 2 - 4 - 6 - 12 - 24 - - - - Show every meal - Show only vegetarian meals - Show only vegan meals - - - all - vegetarian - vegan - - - - Follow system default - Always day mode - Always night mode - - - auto - day - night - - \ No newline at end of file diff --git a/app/src/main/res/values/preferences.xml b/app/src/main/res/values/preferences.xml index 39cac80..716100b 100644 --- a/app/src/main/res/values/preferences.xml +++ b/app/src/main/res/values/preferences.xml @@ -1,6 +1,18 @@ + + All + Student + Employee + Other + + + all + student + employee + other + @string/pref_price_group @string/pref_price_group_default @@ -8,6 +20,22 @@ pref_price_group all + + Every hour + Every 2 hours + Every 4 hours + Every 6 hours + Every 12 hours + Every 24 hours + + + 1 + 2 + 4 + 6 + 12 + 24 + @string/pref_sync_frequency @string/pref_sync_frequency_default @@ -15,6 +43,16 @@ pref_sync_frequency 6 + + Show every meal + Show only vegetarian meals + Show only vegan meals + + + all + vegetarian + vegan + @string/pref_food_level @string/pref_food_level_default @@ -22,6 +60,16 @@ pref_food_level all + + Follow system default + Always day mode + Always night mode + + + auto + day + night + @string/pref_night_mode @string/pref_night_mode_default