aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/ui/SettingsActivity.java
diff options
context:
space:
mode:
authorChristian Schneppe <christian@pix-art.de>2018-04-01 23:34:22 +0200
committerChristian Schneppe <christian@pix-art.de>2018-04-01 23:34:22 +0200
commit50eb5f9a344131b22ccd4f6df2c2c21e15f4919c (patch)
tree6556a3ae870e211ed1a955fbdc06c1214f399644 /src/main/java/de/pixart/messenger/ui/SettingsActivity.java
parent41f81723f55c421e5479373bb97eac6733dfb0ea (diff)
calculate automatic timeout labels dynamically
Diffstat (limited to 'src/main/java/de/pixart/messenger/ui/SettingsActivity.java')
-rw-r--r--src/main/java/de/pixart/messenger/ui/SettingsActivity.java20
1 files changed, 20 insertions, 0 deletions
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 -> {