aboutsummaryrefslogtreecommitdiffstats
path: root/OpenPGP-Keychain
diff options
context:
space:
mode:
authorDominik Schürmann <dominik@dominikschuermann.de>2014-02-09 21:37:01 +0100
committerDominik Schürmann <dominik@dominikschuermann.de>2014-02-09 21:37:01 +0100
commitc744cad8db7ba0b9ea38907f0c7f61032792ef84 (patch)
tree5d4d1a11305697a57fdff4613ffb8cd2874c2360 /OpenPGP-Keychain
parent0c4b809195f9219352d8ed7041fbeb678c9a0ea5 (diff)
downloadopen-keychain-c744cad8db7ba0b9ea38907f0c7f61032792ef84.tar.gz
open-keychain-c744cad8db7ba0b9ea38907f0c7f61032792ef84.tar.bz2
open-keychain-c744cad8db7ba0b9ea38907f0c7f61032792ef84.zip
Allow import of full keys from qr codes
Diffstat (limited to 'OpenPGP-Keychain')
-rw-r--r--OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysQrCodeFragment.java13
1 files changed, 10 insertions, 3 deletions
diff --git a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysQrCodeFragment.java b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysQrCodeFragment.java
index 27628dad4..ee91b2434 100644
--- a/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysQrCodeFragment.java
+++ b/OpenPGP-Keychain/src/main/java/org/sufficientlysecure/keychain/ui/ImportKeysQrCodeFragment.java
@@ -98,22 +98,29 @@ public class ImportKeysQrCodeFragment extends Fragment {
IntentResult scanResult = IntentIntegratorSupportV4.parseActivityResult(requestCode,
resultCode, data);
if (scanResult != null && scanResult.getFormatName() != null) {
+ String scannedContent = scanResult.getContents();
- Log.d(Constants.TAG, "scanResult content: " + scanResult.getContents());
+ Log.d(Constants.TAG, "scannedContent: " + scannedContent);
// look if it's fingerprint only
- if (scanResult.getContents().toLowerCase(Locale.ENGLISH).startsWith(Constants.FINGERPRINT_SCHEME)) {
+ if (scannedContent.toLowerCase(Locale.ENGLISH).startsWith(Constants.FINGERPRINT_SCHEME)) {
importFingerprint(Uri.parse(scanResult.getContents()));
return;
}
// look if it is the whole key
- String[] parts = scanResult.getContents().split(",");
+ String[] parts = scannedContent.split(",");
if (parts.length == 3) {
importParts(parts);
return;
}
+ // is this a full key encoded as qr code?
+ if (scannedContent.startsWith("-----BEGIN PGP")) {
+ mImportActivity.loadCallback(scannedContent.getBytes(), null, null, null);
+ return;
+ }
+
// fail...
Toast.makeText(getActivity(), R.string.import_qr_code_wrong, Toast.LENGTH_LONG)
.show();