From 61fd3c70edda044e95aeb8657b72ab5752da6505 Mon Sep 17 00:00:00 2001 From: dankeast <75810211+dankeast@users.noreply.github.com> Date: Fri, 8 Jan 2021 10:01:39 +0000 Subject: [PATCH] Reminder day preference fix (#672) * Sort reminder day preference summary * Translate reminder day preference summary --- .../gui/preferences/ReminderPreferences.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/android_app/app/src/main/java/com/health/openscale/gui/preferences/ReminderPreferences.java b/android_app/app/src/main/java/com/health/openscale/gui/preferences/ReminderPreferences.java index 925ad636..77eaf0cf 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/preferences/ReminderPreferences.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/preferences/ReminderPreferences.java @@ -19,6 +19,7 @@ import android.content.ComponentName; import android.content.SharedPreferences; import android.content.pm.PackageManager; import android.os.Bundle; +import android.util.Pair; import android.view.Menu; import android.view.MenuInflater; @@ -32,6 +33,9 @@ import com.health.openscale.R; import com.health.openscale.core.alarm.AlarmHandler; import com.health.openscale.core.alarm.ReminderBootReceiver; +import java.util.stream.Collectors; +import java.util.stream.IntStream; + public class ReminderPreferences extends PreferenceFragmentCompat implements SharedPreferences.OnSharedPreferenceChangeListener { @@ -55,7 +59,14 @@ public class ReminderPreferences extends PreferenceFragmentCompat prefDays.setSummaryProvider(new Preference.SummaryProvider() { @Override public CharSequence provideSummary(MultiSelectListPreference preference) { - return preference.getValues().toString(); + final String[] values = getResources().getStringArray(R.array.weekdays_values); + final String[] translated = getResources().getStringArray(R.array.weekdays_entries); + + return IntStream.range(0, values.length) + .mapToObj(i -> new Pair<>(values[i], translated[i])) + .filter(p -> preference.getValues().contains(p.first)) + .map(p -> p.second) + .collect(Collectors.joining(", ")); } });