aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/de/pixart/messenger/ui/UriHandlerActivity.java
diff options
context:
space:
mode:
authorChristian Schneppe <christian@pix-art.de>2017-12-16 23:14:00 +0100
committerChristian Schneppe <christian@pix-art.de>2017-12-16 23:14:00 +0100
commitbe337e0a8e0223d56a20052136b1e774f366b22c (patch)
tree919c26b40235f3947bb3090642bff0ac4f2705fa /src/main/java/de/pixart/messenger/ui/UriHandlerActivity.java
parent37762ab5caec9aab35c3a3aeb79bc099535b2466 (diff)
StartConversationActivity: Scan QR codes via UriHandlerActivity
Diffstat (limited to '')
-rw-r--r--src/main/java/de/pixart/messenger/ui/UriHandlerActivity.java26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/main/java/de/pixart/messenger/ui/UriHandlerActivity.java b/src/main/java/de/pixart/messenger/ui/UriHandlerActivity.java
index 43d2d6db7..e43e1ccd7 100644
--- a/src/main/java/de/pixart/messenger/ui/UriHandlerActivity.java
+++ b/src/main/java/de/pixart/messenger/ui/UriHandlerActivity.java
@@ -4,11 +4,17 @@ import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
+import com.google.zxing.integration.android.IntentIntegrator;
+import com.google.zxing.integration.android.IntentResult;
+
+import java.util.Arrays;
+
import de.pixart.messenger.persistance.DatabaseBackend;
import de.pixart.messenger.utils.XmppUri;
import de.pixart.messenger.xmpp.jid.Jid;
public class UriHandlerActivity extends Activity {
+ public static final String ACTION_SCAN_QR_CODE = "scan_qr_code";
@Override
public void onStart() {
@@ -66,8 +72,28 @@ public class UriHandlerActivity extends Activity {
case Intent.ACTION_VIEW:
case Intent.ACTION_SENDTO:
handleUri(data.getData());
+ break;
+ case ACTION_SCAN_QR_CODE:
+ new IntentIntegrator(this).initiateScan(Arrays.asList("AZTEC", "QR_CODE"));
+ return;
+ }
+
+ finish();
+ }
+
+ @Override
+ public void onActivityResult(int requestCode, int resultCode, Intent intent) {
+ if ((requestCode & 0xFFFF) == IntentIntegrator.REQUEST_CODE) {
+ IntentResult scanResult = IntentIntegrator.parseActivityResult(requestCode, resultCode,
+ intent);
+
+ if (scanResult != null && scanResult.getFormatName() != null) {
+ String data = scanResult.getContents();
+ handleUri(Uri.parse(data));
+ }
}
finish();
+ super.onActivityResult(requestCode, requestCode, intent);
}
} \ No newline at end of file