Preference optimizations

This commit is contained in:
Sebastian Seedorf
2019-10-27 21:47:11 +01:00
parent 8abad827a7
commit 61cf9d6d48
4 changed files with 76 additions and 71 deletions

View File

@@ -15,6 +15,7 @@ import de.sebse.fuplanner.services.fulogin.AccountGeneral;
import de.sebse.fuplanner.services.kvv.sync.KVVContentProvider; import de.sebse.fuplanner.services.kvv.sync.KVVContentProvider;
import de.sebse.fuplanner.tools.CustomAccountManager; import de.sebse.fuplanner.tools.CustomAccountManager;
import de.sebse.fuplanner.tools.Preferences; import de.sebse.fuplanner.tools.Preferences;
import de.sebse.fuplanner.tools.logging.Logger;
public class PrefsFragment extends PreferenceFragmentCompat implements SharedPreferences.OnSharedPreferenceChangeListener { public class PrefsFragment extends PreferenceFragmentCompat implements SharedPreferences.OnSharedPreferenceChangeListener {
@@ -52,6 +53,7 @@ public class PrefsFragment extends PreferenceFragmentCompat implements SharedPre
if (preference instanceof ListPreference) if (preference instanceof ListPreference)
preference.setSummary(((ListPreference) preference).getEntry()); preference.setSummary(((ListPreference) preference).getEntry());
if (s.equals(requireContext().getString(R.string.pref_sync_frequency))) {
if (getActivity() != null && getActivity() instanceof MainActivity) { if (getActivity() != null && getActivity() instanceof MainActivity) {
CustomAccountManager accountManager = ((MainActivity) getActivity()).getAccountManager(); CustomAccountManager accountManager = ((MainActivity) getActivity()).getAccountManager();
if (accountManager != null) { if (accountManager != null) {
@@ -66,12 +68,21 @@ public class PrefsFragment extends PreferenceFragmentCompat implements SharedPre
} }
} }
} }
}
if (s.equals(requireContext().getString(R.string.pref_night_mode))) {
String nightMode = Preferences.getStringArray(requireContext(), R.array.pref_night_mode); String nightMode = Preferences.getStringArray(requireContext(), R.array.pref_night_mode);
switch (nightMode) { switch (nightMode) {
case "night": AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES); break; case "night":
case "day": AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO); break; AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
default: AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM); break; break;
case "day":
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
break;
default:
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM);
break;
}
} }
} }
} }

View File

@@ -1,54 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="pref_price_group_entries">
<item>All</item>
<item>Student</item>
<item>Employee</item>
<item>Other</item>
</string-array>
<string-array name="pref_price_group_values" translatable="false">
<item>all</item>
<item>student</item>
<item>employee</item>
<item>other</item>
</string-array>
<string-array name="pref_sync_frequency_entries">
<item>Every hour</item>
<item>Every 2 hours</item>
<item>Every 4 hours</item>
<item>Every 6 hours</item>
<item>Every 12 hours</item>
<item>Every 24 hours</item>
</string-array>
<string-array name="pref_sync_frequency_values" translatable="false">
<item>1</item>
<item>2</item>
<item>4</item>
<item>6</item>
<item>12</item>
<item>24</item>
</string-array>
<string-array name="pref_food_level_entries">
<item>Show every meal</item>
<item>Show only vegetarian meals</item>
<item>Show only vegan meals</item>
</string-array>
<string-array name="pref_food_level_values" translatable="false">
<item>all</item>
<item>vegetarian</item>
<item>vegan</item>
</string-array>
<string-array name="pref_night_mode_entries">
<item>Follow system default</item>
<item>Always day mode</item>
<item>Always night mode</item>
</string-array>
<string-array name="pref_night_mode_values" translatable="false">
<item>auto</item>
<item>day</item>
<item>night</item>
</string-array>
</resources>

View File

@@ -1,6 +1,18 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<!-- Select an item --> <!-- Select an item -->
<string-array name="pref_price_group_entries">
<item>All</item>
<item>Student</item>
<item>Employee</item>
<item>Other</item>
</string-array>
<string-array name="pref_price_group_values" translatable="false">
<item>all</item>
<item>student</item>
<item>employee</item>
<item>other</item>
</string-array>
<string-array name="pref_price_group" translatable="false"> <string-array name="pref_price_group" translatable="false">
<item>@string/pref_price_group</item> <item>@string/pref_price_group</item>
<item>@string/pref_price_group_default</item> <item>@string/pref_price_group_default</item>
@@ -8,6 +20,22 @@
<string name="pref_price_group" translatable="false">pref_price_group</string> <string name="pref_price_group" translatable="false">pref_price_group</string>
<string name="pref_price_group_default" translatable="false">all</string> <string name="pref_price_group_default" translatable="false">all</string>
<string-array name="pref_sync_frequency_entries">
<item>Every hour</item>
<item>Every 2 hours</item>
<item>Every 4 hours</item>
<item>Every 6 hours</item>
<item>Every 12 hours</item>
<item>Every 24 hours</item>
</string-array>
<string-array name="pref_sync_frequency_values" translatable="false">
<item>1</item>
<item>2</item>
<item>4</item>
<item>6</item>
<item>12</item>
<item>24</item>
</string-array>
<string-array name="pref_sync_frequency" translatable="false"> <string-array name="pref_sync_frequency" translatable="false">
<item>@string/pref_sync_frequency</item> <item>@string/pref_sync_frequency</item>
<item>@string/pref_sync_frequency_default</item> <item>@string/pref_sync_frequency_default</item>
@@ -15,6 +43,16 @@
<string name="pref_sync_frequency" translatable="false">pref_sync_frequency</string> <string name="pref_sync_frequency" translatable="false">pref_sync_frequency</string>
<string name="pref_sync_frequency_default" translatable="false">6</string> <string name="pref_sync_frequency_default" translatable="false">6</string>
<string-array name="pref_food_level_entries">
<item>Show every meal</item>
<item>Show only vegetarian meals</item>
<item>Show only vegan meals</item>
</string-array>
<string-array name="pref_food_level_values" translatable="false">
<item>all</item>
<item>vegetarian</item>
<item>vegan</item>
</string-array>
<string-array name="pref_food_level" translatable="false"> <string-array name="pref_food_level" translatable="false">
<item>@string/pref_food_level</item> <item>@string/pref_food_level</item>
<item>@string/pref_food_level_default</item> <item>@string/pref_food_level_default</item>
@@ -22,6 +60,16 @@
<string name="pref_food_level" translatable="false">pref_food_level</string> <string name="pref_food_level" translatable="false">pref_food_level</string>
<string name="pref_food_level_default" translatable="false">all</string> <string name="pref_food_level_default" translatable="false">all</string>
<string-array name="pref_night_mode_entries">
<item>Follow system default</item>
<item>Always day mode</item>
<item>Always night mode</item>
</string-array>
<string-array name="pref_night_mode_values" translatable="false">
<item>auto</item>
<item>day</item>
<item>night</item>
</string-array>
<string-array name="pref_night_mode" translatable="false"> <string-array name="pref_night_mode" translatable="false">
<item>@string/pref_night_mode</item> <item>@string/pref_night_mode</item>
<item>@string/pref_night_mode_default</item> <item>@string/pref_night_mode_default</item>