From a75b26be660f33d0a688fb25f8d770cc11d58fc9 Mon Sep 17 00:00:00 2001 From: Vincent Breitmoser Date: Tue, 17 Nov 2015 14:45:17 +0100 Subject: inline-ttl: use ttl preference in ttl spinner --- .../keychain/ui/PassphraseDialogActivity.java | 2 +- .../keychain/ui/widget/CacheTTLSpinner.java | 47 ++++++++++------------ 2 files changed, 22 insertions(+), 27 deletions(-) (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui') diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/PassphraseDialogActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/PassphraseDialogActivity.java index 2ddbe376b..b28458faa 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/PassphraseDialogActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/PassphraseDialogActivity.java @@ -419,7 +419,7 @@ public class PassphraseDialogActivity extends FragmentActivity { CryptoInputParcel cryptoInputParcel = ((PassphraseDialogActivity) getActivity()).mCryptoInputParcel; - final long timeToLiveSeconds = mTimeToLiveSpinner.getSelectedTimeToLive(); + final int timeToLiveSeconds = mTimeToLiveSpinner.getSelectedTimeToLive(); // Early breakout if we are dealing with a symmetric key if (mSecretRing == null) { diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/CacheTTLSpinner.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/CacheTTLSpinner.java index 78d8e6c82..07149ec93 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/CacheTTLSpinner.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/widget/CacheTTLSpinner.java @@ -19,61 +19,56 @@ package org.sufficientlysecure.keychain.ui.widget; import android.content.Context; -import android.content.res.Resources.Theme; import android.database.Cursor; import android.database.MatrixCursor; -import android.os.Bundle; -import android.os.Parcelable; -import android.support.annotation.NonNull; -import android.support.annotation.StringRes; import android.support.v4.widget.SimpleCursorAdapter; import android.support.v7.widget.AppCompatSpinner; import android.util.AttributeSet; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.ArrayAdapter; -import android.widget.BaseAdapter; -import android.widget.SpinnerAdapter; -import android.widget.TextView; -import org.sufficientlysecure.keychain.Constants; import org.sufficientlysecure.keychain.R; -import org.sufficientlysecure.keychain.provider.KeychainContract; -import org.sufficientlysecure.keychain.ui.adapter.KeyAdapter; -import org.sufficientlysecure.keychain.ui.adapter.KeyAdapter.KeyItem; +import org.sufficientlysecure.keychain.util.Preferences; +import org.sufficientlysecure.keychain.util.Preferences.CacheTTLPrefs; public class CacheTTLSpinner extends AppCompatSpinner { public CacheTTLSpinner(Context context, AttributeSet attrs) { super(context, attrs); - initView(); + initView(context); } public CacheTTLSpinner(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); - initView(); + initView(context); } - private void initView() { + private void initView(Context context) { + + CacheTTLPrefs prefs = Preferences.getPreferences(context).getPassphraseCacheTtl(); MatrixCursor cursor = new MatrixCursor(new String[] { "_id", "TTL", "description" }, 5); - cursor.addRow(new Object[] { 0, 60*5, getContext().getString(R.string.cache_ttl_five_minutes) }); - cursor.addRow(new Object[] { 1, 60*60, getContext().getString(R.string.cache_ttl_one_hour) }); - cursor.addRow(new Object[] { 2, 60*60*3, getContext().getString(R.string.cache_ttl_three_hours) }); - cursor.addRow(new Object[] { 3, 60*60*24, getContext().getString(R.string.cache_ttl_one_day) }); - cursor.addRow(new Object[] { 4, 60*60*24*3, getContext().getString(R.string.cache_ttl_three_days) }); + int i = 0, defaultPosition = 0; + for (int ttl : CacheTTLPrefs.CACHE_TTLS) { + if ( ! prefs.ttlTimes.contains(ttl)) { + continue; + } + if (ttl == prefs.defaultTtl) { + defaultPosition = i; + } + cursor.addRow(new Object[] { i++, ttl, getContext().getString(CacheTTLPrefs.CACHE_TTL_NAMES.get(ttl)) }); + } setAdapter(new SimpleCursorAdapter(getContext(), R.layout.simple_item, cursor, new String[] { "description" }, new int[] { R.id.simple_item_text }, 0)); + + setSelection(defaultPosition); } - public long getSelectedTimeToLive() { + public int getSelectedTimeToLive() { int selectedItemPosition = getSelectedItemPosition(); Object item = getAdapter().getItem(selectedItemPosition); - return ((Cursor) item).getLong(1); + return ((Cursor) item).getInt(1); } } -- cgit v1.2.3