aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain
diff options
context:
space:
mode:
authorDominik Schürmann <dominik@dominikschuermann.de>2016-01-11 17:35:20 +0100
committerDominik Schürmann <dominik@dominikschuermann.de>2016-01-11 17:35:20 +0100
commitbaf0735c96900b30c9b80e85f1d87fdadfbc5613 (patch)
tree39a99775b8f840012d5cf8bdf1c0e30a05ef94e7 /OpenKeychain
parent900c80c25cf3cf839d02e2f2eea7f24c362b89ad (diff)
parente66c27c08129b278bcc699a7f2511d69d5dc0a29 (diff)
downloadopen-keychain-baf0735c96900b30c9b80e85f1d87fdadfbc5613.tar.gz
open-keychain-baf0735c96900b30c9b80e85f1d87fdadfbc5613.tar.bz2
open-keychain-baf0735c96900b30c9b80e85f1d87fdadfbc5613.zip
Merge branch 'master' of github.com:open-keychain/open-keychain
Diffstat (limited to 'OpenKeychain')
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/PassphraseCacheService.java7
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SettingsCacheTTLFragment.java1
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/Preferences.java6
-rw-r--r--OpenKeychain/src/main/res/values/strings.xml4
4 files changed, 13 insertions, 5 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/PassphraseCacheService.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/PassphraseCacheService.java
index 606daabed..f9ab58f5b 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/PassphraseCacheService.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/service/PassphraseCacheService.java
@@ -365,6 +365,8 @@ public class PassphraseCacheService extends Service {
CachedPassphrase cachedPassphrase;
if (timeoutTtl == 0L) {
cachedPassphrase = CachedPassphrase.getPassphraseLock(passphrase, primaryUserID);
+ } else if (timeoutTtl >= Integer.MAX_VALUE) {
+ cachedPassphrase = CachedPassphrase.getPassphraseNoTimeout(passphrase, primaryUserID);
} else {
cachedPassphrase = CachedPassphrase.getPassphraseTtlTimeout(passphrase, primaryUserID, timeoutTtl);
@@ -427,7 +429,10 @@ public class PassphraseCacheService extends Service {
// Stop all ttl alarms
for (int i = 0; i < mPassphraseCache.size(); i++) {
- am.cancel(buildIntent(this, mPassphraseCache.keyAt(i)));
+ CachedPassphrase cachedPassphrase = mPassphraseCache.valueAt(i);
+ if (cachedPassphrase.mTimeoutMode == TimeoutMode.TTL) {
+ am.cancel(buildIntent(this, mPassphraseCache.keyAt(i)));
+ }
}
mPassphraseCache.clear();
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SettingsCacheTTLFragment.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SettingsCacheTTLFragment.java
index 1c769e7a2..b811d51b5 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SettingsCacheTTLFragment.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/SettingsCacheTTLFragment.java
@@ -77,7 +77,6 @@ public class SettingsCacheTTLFragment extends Fragment {
recyclerView.setAdapter(mAdapter);
recyclerView.addItemDecoration(new DividerItemDecoration(getActivity(), DividerItemDecoration.VERTICAL_LIST));
-
}
private void savePreference() {
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/Preferences.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/Preferences.java
index 8eafbbdf1..b3d679a0e 100644
--- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/Preferences.java
+++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/util/Preferences.java
@@ -322,11 +322,13 @@ public class Preferences {
static {
HashMap<Integer,Integer> cacheTtlNames = new HashMap<>();
cacheTtlNames.put(0, R.string.cache_ttl_lock_screen);
- cacheTtlNames.put(60 * 5, R.string.cache_ttl_five_minutes);
+ cacheTtlNames.put(60 * 10, R.string.cache_ttl_ten_minutes);
+ cacheTtlNames.put(60 * 30, R.string.cache_ttl_thirty_minutes);
cacheTtlNames.put(60 * 60, R.string.cache_ttl_one_hour);
cacheTtlNames.put(60 * 60 * 3, R.string.cache_ttl_three_hours);
cacheTtlNames.put(60 * 60 * 24, R.string.cache_ttl_one_day);
cacheTtlNames.put(60 * 60 * 24 * 3, R.string.cache_ttl_three_days);
+ cacheTtlNames.put(Integer.MAX_VALUE, R.string.cache_ttl_forever);
CACHE_TTL_NAMES = Collections.unmodifiableMap(cacheTtlNames);
CACHE_TTLS = new ArrayList<>(CacheTTLPrefs.CACHE_TTL_NAMES.keySet());
@@ -352,7 +354,7 @@ public class Preferences {
public static CacheTTLPrefs getDefault() {
ArrayList<String> ttlStrings = new ArrayList<>();
- ttlStrings.add(Integer.toString(60 * 5));
+ ttlStrings.add(Integer.toString(0));
ttlStrings.add(Integer.toString(60 * 60));
ttlStrings.add(Integer.toString(60 * 60 * 24));
return new CacheTTLPrefs(ttlStrings);
diff --git a/OpenKeychain/src/main/res/values/strings.xml b/OpenKeychain/src/main/res/values/strings.xml
index d5b0440c8..021b684a4 100644
--- a/OpenKeychain/src/main/res/values/strings.xml
+++ b/OpenKeychain/src/main/res/values/strings.xml
@@ -1709,11 +1709,13 @@
<string name="title_edit_subkeys">"Edit Subkeys"</string>
<string name="btn_search_for_query">"Search for\n'%s'"</string>
<string name="cache_ttl_lock_screen">"until Screen Off"</string>
- <string name="cache_ttl_five_minutes">"for Five Minutes"</string>
+ <string name="cache_ttl_ten_minutes">"for Ten Minutes"</string>
+ <string name="cache_ttl_thirty_minutes">"for Thirty Minutes"</string>
<string name="cache_ttl_one_hour">"for One Hour"</string>
<string name="cache_ttl_three_hours">"for Three Hours"</string>
<string name="cache_ttl_one_day">"for One Day"</string>
<string name="cache_ttl_three_days">"for Three Days"</string>
+ <string name="cache_ttl_forever">"forever"</string>
<string name="settings_cache_select_three">"Pick up to three."</string>
<string name="settings_cache_ttl_at_least_one">"At least one item must be selected!"</string>
<string name="settings_cache_ttl_max_three">"Can\'t select more than three items!"</string>