diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/MainActivity.java b/app/src/main/java/de/apps4ics/mountainnavigation/MainActivity.java index a0a7427..db38055 100644 --- a/app/src/main/java/de/apps4ics/mountainnavigation/MainActivity.java +++ b/app/src/main/java/de/apps4ics/mountainnavigation/MainActivity.java @@ -268,7 +268,7 @@ } public static boolean showWeatherHints() { - return showWeatherHints; + return sharedPrefs.getBoolean(res.getString(R.string.settings_hint_enable_key), true); } public static List getFoundLocations() { diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/SettingsActivity.java b/app/src/main/java/de/apps4ics/mountainnavigation/SettingsActivity.java index 4ac94de..48cdd99 100644 --- a/app/src/main/java/de/apps4ics/mountainnavigation/SettingsActivity.java +++ b/app/src/main/java/de/apps4ics/mountainnavigation/SettingsActivity.java @@ -3,7 +3,10 @@ import android.app.Activity; import android.app.FragmentManager; import android.app.FragmentTransaction; +import android.content.SharedPreferences; import android.os.Bundle; +import android.preference.Preference; +import android.preference.PreferenceCategory; import android.preference.PreferenceFragment; /** @@ -21,13 +24,35 @@ mFragmentTransaction.commit(); } - public static class PrefsFragment extends PreferenceFragment { + public static class PrefsFragment extends PreferenceFragment implements SharedPreferences.OnSharedPreferenceChangeListener { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - // Load the preferences from an XML resource addPreferencesFromResource(R.xml.preferences); } + + @Override + public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { + if(key.equals(getString(R.string.settings_hint_enable_key))) { + boolean val = sharedPreferences.getBoolean(key, true); + PreferenceCategory hintCategory = (PreferenceCategory) findPreference(getString(R.string.settings_hint_key)); + for(int i=0; iExample action Einstellungen Über + Oberfläche + Hinweise anzeigen + Minimale \'Heiß\'-Temperatur + Definiert die minimale Temeratur bei der Hinweise zu heißem Wetter angezeigt werden sollen + Maximale \'Kalt\'-Temperatur + Definiert die maximale Temeratur bei der Hinweise zu kaltem Wetter angezeigt werden sollen + Verwende moderne Marker + Benutzername + Passwort © OpenStreetMap-Mitwirkende diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 36b7d2e..9ac0684 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -55,6 +55,16 @@ Example action Settings About + UI + OSM + Display hints + Minimal hot temperature + Sets the minimal value at which a hint should be displayed for hot weather + Maximal cold temperature + Sets the maximal value at which a hint should be displayed for cold weather + Use modern markers + Username + Password © OpenStreetMap contributors @@ -65,6 +75,13 @@ about settings + hints + dispHints + maxHotTemp + minColdTemp + useModernMarkers + username + password Fountain diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml index cc2e1df..bc8c33f 100644 --- a/app/src/main/res/xml/preferences.xml +++ b/app/src/main/res/xml/preferences.xml @@ -1,39 +1,45 @@ - + + + + android:summary="@string/minimal_hot_temp_summary"> + android:summary="@string/maximal_cold_temp_summary"> + + + android:title="@string/use_modern_marker" + android:key="@string/settings_ui_use_marker_key" + android:defaultValue="true"> - - - - + android:title="@string/osm"> + android:title="@string/username" + android:key="@string/settings_osm_user_key"> + android:title="@string/password" + android:key="@string/settings_osm_password_key"> \ No newline at end of file