diff options
author | Hans-Christoph Steiner <hans@eds.org> | 2016-01-13 17:40:48 +0100 |
---|---|---|
committer | Hans-Christoph Steiner <hans@eds.org> | 2016-01-13 23:19:11 +0100 |
commit | f8b58079ebe533715671e3701a5eb2f56cf00f03 (patch) | |
tree | 21d4763189f5fbe81366c860947befa152c3da59 /OpenKeychain/src/main/java/org | |
parent | c113103b82b672dcc7edd9d4d2d3bce6ad4282a8 (diff) | |
download | open-keychain-f8b58079ebe533715671e3701a5eb2f56cf00f03.tar.gz open-keychain-f8b58079ebe533715671e3701a5eb2f56cf00f03.tar.bz2 open-keychain-f8b58079ebe533715671e3701a5eb2f56cf00f03.zip |
respond to generic panic trigger Intent by clearing passphrases
PanicKit provides a common framework for creating "panic button" apps that
can trigger actions in "panic responder" apps. In this case, the response
is to clear all the cached passphrases.
Diffstat (limited to 'OpenKeychain/src/main/java/org')
-rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/PanicResponderActivity.java | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/PanicResponderActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/PanicResponderActivity.java new file mode 100644 index 000000000..1363d6fbf --- /dev/null +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/PanicResponderActivity.java @@ -0,0 +1,48 @@ +/* + * Copyright (C) 2015-2016 Hans-Christoph Steiner <hans@eds.org> + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +package org.sufficientlysecure.keychain.ui; + +import android.annotation.SuppressLint; +import android.app.Activity; +import android.content.Intent; +import android.os.Build; +import android.os.Bundle; + +import org.sufficientlysecure.keychain.service.PassphraseCacheService; + +public class PanicResponderActivity extends Activity { + + public static final String PANIC_TRIGGER_ACTION = "info.guardianproject.panic.action.TRIGGER"; + + @SuppressLint("NewApi") + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + Intent intent = getIntent(); + if (intent != null && PANIC_TRIGGER_ACTION.equals(intent.getAction())) { + PassphraseCacheService.clearCachedPassphrases(this); + } + + if (Build.VERSION.SDK_INT >= 21) { + finishAndRemoveTask(); + } else { + finish(); + } + } +} |