aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SettingsActivity.java
diff options
context:
space:
mode:
authorVincent Breitmoser <valodim@mugenguild.com>2015-11-17 00:58:22 +0100
committerVincent Breitmoser <valodim@mugenguild.com>2016-01-06 16:24:12 +0100
commit1754a88ac39e061dd36afd72f8a04e8d5e59751c (patch)
tree7a1172068f988bfe8f81bc3a8cff4cf5d9a31ac6 /OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SettingsActivity.java
parent31cc083163c634ac1f11d7aa22c679cda24ce892 (diff)
downloadopen-keychain-1754a88ac39e061dd36afd72f8a04e8d5e59751c.tar.gz
open-keychain-1754a88ac39e061dd36afd72f8a04e8d5e59751c.tar.bz2
open-keychain-1754a88ac39e061dd36afd72f8a04e8d5e59751c.zip
inline-ttl: create ttl choice customization setting activity
Diffstat (limited to 'OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SettingsActivity.java')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SettingsActivity.java43
1 files changed, 26 insertions, 17 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SettingsActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SettingsActivity.java
index cd754d60e..7666a230a 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SettingsActivity.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SettingsActivity.java
@@ -18,6 +18,9 @@
package org.sufficientlysecure.keychain.ui;
+
+import java.util.List;
+
import android.Manifest;
import android.accounts.Account;
import android.accounts.AccountManager;
@@ -29,6 +32,7 @@ import android.content.Intent;
import android.content.pm.PackageManager;
import android.os.Build;
import android.os.Bundle;
+import android.preference.CheckBoxPreference;
import android.preference.EditTextPreference;
import android.preference.ListPreference;
import android.preference.Preference;
@@ -49,13 +53,10 @@ import org.sufficientlysecure.keychain.R;
import org.sufficientlysecure.keychain.compatibility.AppCompatPreferenceActivity;
import org.sufficientlysecure.keychain.ui.util.Notify;
import org.sufficientlysecure.keychain.ui.util.ThemeChanger;
-import org.sufficientlysecure.keychain.ui.widget.IntegerListPreference;
import org.sufficientlysecure.keychain.util.Log;
import org.sufficientlysecure.keychain.util.Preferences;
import org.sufficientlysecure.keychain.util.orbot.OrbotHelper;
-import java.util.List;
-
public class SettingsActivity extends AppCompatPreferenceActivity {
public static final int REQUEST_CODE_KEYSERVER_PREF = 0x00007005;
@@ -103,6 +104,7 @@ public class SettingsActivity extends AppCompatPreferenceActivity {
Toolbar toolbar = (Toolbar) toolbarContainer.findViewById(R.id.toolbar);
toolbar.setTitle(R.string.title_preferences);
+ // noinspection deprecation, TODO use alternative in API level 21
toolbar.setNavigationIcon(getResources().getDrawable(R.drawable.ic_arrow_back_white_24dp));
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
@@ -195,23 +197,19 @@ public class SettingsActivity extends AppCompatPreferenceActivity {
// Load the preferences from an XML resource
addPreferencesFromResource(R.xml.passphrase_preferences);
- initializePassphraseCacheTtl(
- (IntegerListPreference) findPreference(Constants.Pref.PASSPHRASE_CACHE_TTL));
- }
-
- private static void initializePassphraseCacheTtl(
- final IntegerListPreference passphraseCacheTtl) {
- passphraseCacheTtl.setValue("" + sPreferences.getPassphraseCacheTtl());
- passphraseCacheTtl.setSummary(passphraseCacheTtl.getEntry());
- passphraseCacheTtl
- .setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
- public boolean onPreferenceChange(Preference preference, Object newValue) {
- passphraseCacheTtl.setValue(newValue.toString());
- passphraseCacheTtl.setSummary(passphraseCacheTtl.getEntry());
- sPreferences.setPassphraseCacheTtl(Integer.parseInt(newValue.toString()));
+ findPreference(Constants.Pref.PASSPHRASE_CACHE_TTLS)
+ .setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
+ public boolean onPreferenceClick(Preference preference) {
+ Intent intent = new Intent(getActivity(), SettingsCacheTTLActivity.class);
+ intent.putExtra(SettingsCacheTTLActivity.EXTRA_TTL_PREF,
+ sPreferences.getPassphraseCacheTtl());
+ startActivity(intent);
return false;
}
});
+
+ initializePassphraseCacheSubs(
+ (CheckBoxPreference) findPreference(Constants.Pref.PASSPHRASE_CACHE_SUBS));
}
}
@@ -580,4 +578,15 @@ public class SettingsActivity extends AppCompatPreferenceActivity {
|| ExperimentalPrefsFragment.class.getName().equals(fragmentName)
|| super.isValidFragment(fragmentName);
}
+
+ private static void initializePassphraseCacheSubs(final CheckBoxPreference mPassphraseCacheSubs) {
+ mPassphraseCacheSubs.setChecked(sPreferences.getPassphraseCacheSubs());
+ mPassphraseCacheSubs.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
+ public boolean onPreferenceChange(Preference preference, Object newValue) {
+ mPassphraseCacheSubs.setChecked((Boolean) newValue);
+ sPreferences.setPassphraseCacheSubs((Boolean) newValue);
+ return false;
+ }
+ });
+ }
}