diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/SeekBarPreference.java b/app/src/main/java/de/apps4ics/mountainnavigation/SeekBarPreference.java index 66d1a94..0eb1a53 100644 --- a/app/src/main/java/de/apps4ics/mountainnavigation/SeekBarPreference.java +++ b/app/src/main/java/de/apps4ics/mountainnavigation/SeekBarPreference.java @@ -36,6 +36,7 @@ private int minValue; private int currentValue; private int defaultStart; + private boolean isDays; private String text; private SeekBar seekBar; @@ -62,6 +63,15 @@ this.text = ta.getString(R.styleable.MinSeekBar_android_text); this.maxValue = ta.getInt(R.styleable.MinSeekBar_android_max, DEFAULT_MAX_VALUE); this.minValue = ta.getInt(R.styleable.MinSeekBar_min, DEFAULT_MIN_VALUE); + this.isDays = ta.getBoolean(R.styleable.MinSeekBar_isdays, false); + } + + private String getInfoText(int value) { + if(isDays) { + return MainActivity.getRes().getQuantityString(R.plurals.number_of_days_plurals, value, value); + } else { + return String.format(text, value); + } } @Override @@ -72,7 +82,7 @@ infoText = new TextView(context); if(text != null) { - infoText.setText(String.format(text, defaultStart + minValue)); + infoText.setText(getInfoText(defaultStart + minValue)); } infoText.setGravity(Gravity.CENTER_HORIZONTAL); infoText.setTextSize(32); @@ -109,12 +119,12 @@ super.onBindDialogView(v); seekBar.setMax(maxValue); seekBar.setProgress(currentValue); - infoText.setText(String.format(text, currentValue + minValue)); + infoText.setText(getInfoText(currentValue + minValue)); } @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { - infoText.setText(String.format(text, progress + minValue)); + infoText.setText(getInfoText(progress + minValue)); if(shouldPersist()) persistInt(progress); callChangeListener(progress); } diff --git a/app/src/main/res/values-de-rDE/strings.xml b/app/src/main/res/values-de-rDE/strings.xml index f2b90ef..58e83b6 100644 --- a/app/src/main/res/values-de-rDE/strings.xml +++ b/app/src/main/res/values-de-rDE/strings.xml @@ -92,7 +92,6 @@ Welche Wetterart möchtest du herunterladen? Spezieller Ort Ort... - %1$s Tage %1$s°C © OpenStreetMap-Mitwirkende @@ -152,4 +151,8 @@ Aktuell Heute + + %1$s Tag + %1$s Tage + diff --git a/app/src/main/res/values/attrs.xml b/app/src/main/res/values/attrs.xml index 51af80f..56b5b83 100644 --- a/app/src/main/res/values/attrs.xml +++ b/app/src/main/res/values/attrs.xml @@ -24,5 +24,6 @@ + \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 4054da3..86ba0a6 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -94,7 +94,6 @@ What kind of weather do you want to download? Custom location Location... - %1$s days %1$s°C © OpenStreetMap contributors @@ -194,4 +193,8 @@ @string/download_current_key @string/download_day_key + + %1$s day + %1$s days + diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml index 4ab9ee8..86fbabb 100644 --- a/app/src/main/res/xml/preferences.xml +++ b/app/src/main/res/xml/preferences.xml @@ -36,6 +36,7 @@ android:defaultValue="2" android:text="@string/preferences_n_degree" app:min="@string/preferences_minimal_hot_temp_min" + app:isdays="false" android:max="@string/preferences_minimal_hot_temp_max"> @@ -63,8 +65,9 @@ android:key="@string/settings_weather_days_forecast_key" android:summary="@string/days_of_forecast_summary" android:defaultValue="2" - android:text="@string/preferences_n_days" + android:text="" app:min="@string/preferences_days_of_forecast_min" + app:isdays="true" android:max="@string/preferences_days_of_forecast_max">