aboutsummaryrefslogtreecommitdiffstats
path: root/OpenKeychain
diff options
context:
space:
mode:
authorDominik Schürmann <dominik@dominikschuermann.de>2015-01-14 19:14:30 +0100
committerDominik Schürmann <dominik@dominikschuermann.de>2015-01-14 19:14:30 +0100
commit85b6669625c9b94972fb03ec0de2da689c24d299 (patch)
tree79755cc6c865a1f7b71be352e3126dbdfd9560a6 /OpenKeychain
parent9b093c6d73214879bee3c1b2162cf1f15c224a19 (diff)
downloadopen-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.gradle7
-rw-r--r--OpenKeychain/src/main/java/org/sufficientlysecure/keychain/ui/QrCodeScanActivity.java8
-rw-r--r--OpenKeychain/src/main/res/values/strings.xml1
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 (&lt; 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>