From 50eb5f9a344131b22ccd4f6df2c2c21e15f4919c Mon Sep 17 00:00:00 2001 From: Christian Schneppe Date: Sun, 1 Apr 2018 23:34:22 +0200 Subject: calculate automatic timeout labels dynamically --- .../de/pixart/messenger/ui/SettingsActivity.java | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/main/java/de/pixart/messenger/ui/SettingsActivity.java') diff --git a/src/main/java/de/pixart/messenger/ui/SettingsActivity.java b/src/main/java/de/pixart/messenger/ui/SettingsActivity.java index 54bfaa854..fc50ce444 100644 --- a/src/main/java/de/pixart/messenger/ui/SettingsActivity.java +++ b/src/main/java/de/pixart/messenger/ui/SettingsActivity.java @@ -11,6 +11,7 @@ import android.net.Uri; import android.os.Build; import android.os.Bundle; import android.preference.CheckBoxPreference; +import android.preference.ListPreference; import android.preference.Preference; import android.preference.PreferenceCategory; import android.preference.PreferenceManager; @@ -36,6 +37,7 @@ import de.pixart.messenger.entities.Account; import de.pixart.messenger.services.ExportLogsService; import de.pixart.messenger.services.MemorizingTrustManager; import de.pixart.messenger.ui.util.Color; +import de.pixart.messenger.utils.TimeframeUtils; import de.pixart.messenger.xmpp.jid.InvalidJidException; import de.pixart.messenger.xmpp.jid.Jid; @@ -120,6 +122,24 @@ public class SettingsActivity extends XmppActivity implements } } + ListPreference automaticMessageDeletionList = (ListPreference) mSettingsFragment.findPreference(AUTOMATIC_MESSAGE_DELETION); + if (automaticMessageDeletionList != null) { + final int[] choices = getResources().getIntArray(R.array.automatic_message_deletion_values); + CharSequence[] entries = new CharSequence[choices.length]; + CharSequence[] entryValues = new CharSequence[choices.length]; + for (int i = 0; i < choices.length; ++i) { + Log.d(Config.LOGTAG, "resolving choice " + choices[i]); + entryValues[i] = String.valueOf(choices[i]); + if (choices[i] == 0) { + entries[i] = getString(R.string.never); + } else { + entries[i] = TimeframeUtils.resolve(this, 1000L * choices[i]); + } + } + automaticMessageDeletionList.setEntries(entries); + automaticMessageDeletionList.setEntryValues(entryValues); + } + final Preference removeCertsPreference = mSettingsFragment.findPreference("remove_trusted_certificates"); if (removeCertsPreference != null) { removeCertsPreference.setOnPreferenceClickListener(preference -> { -- cgit v1.2.3