diff options
author | Dominik Schürmann <dominik@dominikschuermann.de> | 2015-01-14 19:14:30 +0100 |
---|---|---|
committer | Dominik Schürmann <dominik@dominikschuermann.de> | 2015-01-14 19:14:30 +0100 |
commit | 85b6669625c9b94972fb03ec0de2da689c24d299 (patch) | |
tree | 79755cc6c865a1f7b71be352e3126dbdfd9560a6 /OpenKeychain | |
parent | 9b093c6d73214879bee3c1b2162cf1f15c224a19 (diff) | |
download | open-keychain-85b6669625c9b94972fb03ec0de2da689c24d299.tar.gz open-keychain-85b6669625c9b94972fb03ec0de2da689c24d299.tar.bz2 open-keychain-85b6669625c9b94972fb03ec0de2da689c24d299.zip |
Integrate QR Code library instead of requiring the app to be installed, also due to security reasons
Diffstat (limited to 'OpenKeychain')
-rw-r--r-- | OpenKeychain/build.gradle | 7 | ||||
-rw-r--r-- | OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/QrCodeScanActivity.java | 8 | ||||
-rw-r--r-- | OpenKeychain/src/main/res/values/strings.xml | 1 |
3 files changed, 12 insertions, 4 deletions
diff --git a/OpenKeychain/build.gradle b/OpenKeychain/build.gradle index 6c78c3aea..21482340a 100644 --- a/OpenKeychain/build.gradle +++ b/OpenKeychain/build.gradle @@ -10,8 +10,6 @@ dependencies { compile project(':extern:openkeychain-api-lib') compile project(':extern:html-textview') compile project(':extern:StickyListHeaders:library') - compile project(':extern:zxing-qr-code') - compile project(':extern:zxing-android-integration') compile project(':extern:spongycastle:core') compile project(':extern:spongycastle:pg') compile project(':extern:spongycastle:pkix') @@ -22,6 +20,11 @@ dependencies { compile project(':extern:TokenAutoComplete:library') compile project(':extern:safeslinger-exchange') compile project(':extern:android-lockpattern:code') + + // TODO: include as submodule?: + compile 'com.journeyapps:zxing-android-embedded:2.0.1@aar' + compile 'com.journeyapps:zxing-android-integration:2.0.1@aar' + compile 'com.google.zxing:core:3.0.1' } android { diff --git a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/QrCodeScanActivity.java b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/QrCodeScanActivity.java index 5966870df..28488879b 100644 --- a/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/QrCodeScanActivity.java +++ b/OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/QrCodeScanActivity.java @@ -78,7 +78,11 @@ public class QrCodeScanActivity extends FragmentActivity { // scan using xzing's Barcode Scanner and return result parcel in OpenKeychain returnResult = true; - new IntentIntegrator(this).initiateScan(); + IntentIntegrator integrator = new IntentIntegrator(this); + integrator.setDesiredBarcodeFormats(IntentIntegrator.QR_CODE_TYPES) + .setPrompt(getString(R.string.import_qr_code_text)) + .setResultDisplayDuration(0) + .initiateScan(); } else if (ACTION_QR_CODE_API.equals(action)) { // scan using xzing's Barcode Scanner from outside OpenKeychain @@ -168,7 +172,7 @@ public class QrCodeScanActivity extends FragmentActivity { return; } - if ( ! result.success()) { + if (!result.success()) { // only return if no success... Intent data = new Intent(); data.putExtras(returnData); diff --git a/OpenKeychain/src/main/res/values/strings.xml b/OpenKeychain/src/main/res/values/strings.xml index 5163f16e6..7f38d40a1 100644 --- a/OpenKeychain/src/main/res/values/strings.xml +++ b/OpenKeychain/src/main/res/values/strings.xml @@ -395,6 +395,7 @@ <string name="import_qr_code_wrong">"QR Code malformed! Please try again!"</string> <string name="import_qr_code_too_short_fingerprint">"Fingerprint is too short (< 16 characters)"</string> <string name="import_qr_code_button">"Scan QR Code"</string> + <string name="import_qr_code_text">"Place your camera over the QR Code!"</string> <!-- Generic result toast --> <string name="view_log">"View Log"</string> |