From 1825f6719debb752f2e9b2416a68fc8a6ffc75a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20Sch=C3=A4ttgen?= Date: Wed, 17 Aug 2016 01:35:19 +0200 Subject: [PATCH] Added SquareFinderView for obvious reasons --- .../java/me/impy/aegis/ScannerActivity.java | 25 +++++++++------- .../impy/aegis/helpers/SquareFinderView.java | 29 +++++++++++++++++++ 2 files changed, 44 insertions(+), 10 deletions(-) create mode 100644 app/src/main/java/me/impy/aegis/helpers/SquareFinderView.java diff --git a/app/src/main/java/me/impy/aegis/ScannerActivity.java b/app/src/main/java/me/impy/aegis/ScannerActivity.java index 6cff0071..e15b6618 100644 --- a/app/src/main/java/me/impy/aegis/ScannerActivity.java +++ b/app/src/main/java/me/impy/aegis/ScannerActivity.java @@ -2,26 +2,23 @@ package me.impy.aegis; import android.Manifest; import android.app.Activity; +import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; import android.support.v4.app.ActivityCompat; -import android.support.v4.util.TimeUtils; -import android.support.v7.app.AppCompatActivity; import android.os.Bundle; -import android.util.Log; import android.widget.Toast; import com.google.zxing.BarcodeFormat; import com.google.zxing.Result; -import java.io.Serializable; -import java.sql.Time; import java.util.ArrayList; import java.util.List; +import me.dm7.barcodescanner.core.IViewFinder; import me.dm7.barcodescanner.zxing.ZXingScannerView; import me.impy.aegis.crypto.KeyInfo; -import me.impy.aegis.crypto.TOTP; +import me.impy.aegis.helpers.SquareFinderView; public class ScannerActivity extends Activity implements ZXingScannerView.ResultHandler { private ZXingScannerView mScannerView; @@ -29,9 +26,15 @@ public class ScannerActivity extends Activity implements ZXingScannerView.Result @Override public void onCreate(Bundle state) { super.onCreate(state); - handleDummyResult(); + //handleDummyResult(); + + mScannerView = new ZXingScannerView(this) { + @Override + protected IViewFinder createViewFinderView(Context context) { + return new SquareFinderView(context); + } + }; - mScannerView = new ZXingScannerView(this); // Programmatically initialize the scanner view setContentView(mScannerView); // Set the scanner view as the content view mScannerView.setFormats(getSupportedFormats()); @@ -78,6 +81,7 @@ public class ScannerActivity extends Activity implements ZXingScannerView.Result Toast.makeText(this, rawResult.getText(), Toast.LENGTH_SHORT).show(); try { + //TODO: Handle non TOTP / HOTP qr codes. KeyInfo info = KeyInfo.FromURL(rawResult.getText()); KeyProfile keyProfile = new KeyProfile(); keyProfile.KeyInfo = info; @@ -93,7 +97,7 @@ public class ScannerActivity extends Activity implements ZXingScannerView.Result } // If you would like to resume scanning, call this method below: - //mScannerView.resumeCameraPreview(this); + mScannerView.resumeCameraPreview(this); } @Override @@ -119,4 +123,5 @@ public class ScannerActivity extends Activity implements ZXingScannerView.Result return supportedFormats; } -} \ No newline at end of file +} + diff --git a/app/src/main/java/me/impy/aegis/helpers/SquareFinderView.java b/app/src/main/java/me/impy/aegis/helpers/SquareFinderView.java new file mode 100644 index 00000000..42fce0f7 --- /dev/null +++ b/app/src/main/java/me/impy/aegis/helpers/SquareFinderView.java @@ -0,0 +1,29 @@ +package me.impy.aegis.helpers; + +import android.content.Context; +import android.graphics.Canvas; +import android.util.AttributeSet; + +import me.dm7.barcodescanner.core.ViewFinderView; + +public class SquareFinderView extends ViewFinderView { + + public SquareFinderView(Context context) { + super(context); + init(); + } + + public SquareFinderView(Context context, AttributeSet attrs) { + super(context, attrs); + init(); + } + + private void init() { + setSquareViewFinder(true); + } + + @Override + public void onDraw(Canvas canvas) { + super.onDraw(canvas); + } +} \ No newline at end of file