From 27dbe6a711f1e0f8897ccf2c2e9b3de55e7678bf Mon Sep 17 00:00:00 2001 From: Ralf Kistner Date: Sun, 3 May 2015 18:20:28 +0200 Subject: Refactor ContinuousCaptureActivity to use the compound barcode view. --- .../zxing/AnyOrientationCaptureActivity.java | 10 ++ .../zxing/CaptureActivityAnyOrientation.java | 10 -- .../example/zxing/ContinuousCaptureActivity.java | 91 ++++++++++++++++ .../java/example/zxing/CustomCaptureActivity.java | 119 --------------------- .../src/main/java/example/zxing/MainActivity.java | 4 +- .../java/example/zxing/ToolbarCaptureActivity.java | 11 +- 6 files changed, 112 insertions(+), 133 deletions(-) create mode 100644 sample/src/main/java/example/zxing/AnyOrientationCaptureActivity.java delete mode 100644 sample/src/main/java/example/zxing/CaptureActivityAnyOrientation.java create mode 100644 sample/src/main/java/example/zxing/ContinuousCaptureActivity.java delete mode 100644 sample/src/main/java/example/zxing/CustomCaptureActivity.java (limited to 'sample/src/main/java/example') diff --git a/sample/src/main/java/example/zxing/AnyOrientationCaptureActivity.java b/sample/src/main/java/example/zxing/AnyOrientationCaptureActivity.java new file mode 100644 index 00000000..fab32b0b --- /dev/null +++ b/sample/src/main/java/example/zxing/AnyOrientationCaptureActivity.java @@ -0,0 +1,10 @@ +package example.zxing; + +import com.journeyapps.barcodescanner.CaptureActivity; + +/** + * + */ +public class AnyOrientationCaptureActivity extends CaptureActivity { + +} diff --git a/sample/src/main/java/example/zxing/CaptureActivityAnyOrientation.java b/sample/src/main/java/example/zxing/CaptureActivityAnyOrientation.java deleted file mode 100644 index 6be3a3e9..00000000 --- a/sample/src/main/java/example/zxing/CaptureActivityAnyOrientation.java +++ /dev/null @@ -1,10 +0,0 @@ -package example.zxing; - -import com.journeyapps.barcodescanner.CaptureActivity; - -/** - * - */ -public class CaptureActivityAnyOrientation extends CaptureActivity { - -} diff --git a/sample/src/main/java/example/zxing/ContinuousCaptureActivity.java b/sample/src/main/java/example/zxing/ContinuousCaptureActivity.java new file mode 100644 index 00000000..4853b7de --- /dev/null +++ b/sample/src/main/java/example/zxing/ContinuousCaptureActivity.java @@ -0,0 +1,91 @@ +package example.zxing; + +import android.app.Activity; +import android.content.res.Configuration; +import android.graphics.Color; +import android.os.Bundle; +import android.util.Log; +import android.view.KeyEvent; +import android.view.View; +import android.widget.ImageView; +import android.widget.TextView; + +import com.google.zxing.ResultPoint; +import com.journeyapps.barcodescanner.BarcodeCallback; +import com.journeyapps.barcodescanner.BarcodeResult; +import com.journeyapps.barcodescanner.DefaultBarcodeScannerView; +import com.journeyapps.barcodescanner.ViewfinderView; + +import java.util.List; + +/** + * + */ +public class ContinuousCaptureActivity extends Activity { + private static final String TAG = ContinuousCaptureActivity.class.getSimpleName(); + private DefaultBarcodeScannerView barcodeView; + + private BarcodeCallback callback = new BarcodeCallback() { + @Override + public void barcodeResult(BarcodeResult result) { + if (result.getText() != null) { + barcodeView.setStatusText(result.getText()); + } + //Added preview of scanned barcode + ImageView imageView = (ImageView) findViewById(R.id.barcodePreview); + imageView.setImageBitmap(result.getBitmapWithResultPoints(Color.YELLOW)); + } + + @Override + public void possibleResultPoints(List resultPoints) { + } + }; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + setContentView(R.layout.continuous_scan); + + barcodeView = (DefaultBarcodeScannerView) findViewById(R.id.barcode_scanner); + barcodeView.decodeContinuous(callback); + } + + @Override + public void onConfigurationChanged(Configuration newConfig) { + super.onConfigurationChanged(newConfig); + + Log.d(TAG, "Configuration changed"); + } + + @Override + protected void onResume() { + super.onResume(); + + barcodeView.resume(); + } + + @Override + protected void onPause() { + super.onPause(); + + barcodeView.pause(); + } + + public void pause(View view) { + barcodeView.pause(); + } + + public void resume(View view) { + barcodeView.resume(); + } + + public void triggerScan(View view) { + barcodeView.decodeSingle(callback); + } + + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + return barcodeView.onKeyDown(keyCode, event) || super.onKeyDown(keyCode, event); + } +} diff --git a/sample/src/main/java/example/zxing/CustomCaptureActivity.java b/sample/src/main/java/example/zxing/CustomCaptureActivity.java deleted file mode 100644 index 37b69fed..00000000 --- a/sample/src/main/java/example/zxing/CustomCaptureActivity.java +++ /dev/null @@ -1,119 +0,0 @@ -package example.zxing; - -import android.app.Activity; -import android.content.res.Configuration; -import android.graphics.Color; -import android.os.Bundle; -import android.util.Log; -import android.view.KeyEvent; -import android.view.View; -import android.widget.ImageView; -import android.widget.TextView; - -import com.google.zxing.ResultPoint; -import com.journeyapps.barcodescanner.BarcodeCallback; -import com.journeyapps.barcodescanner.BarcodeResult; -import com.journeyapps.barcodescanner.BarcodeView; -import com.journeyapps.barcodescanner.ViewfinderView; - -import java.util.List; - -/** - * - */ -public class CustomCaptureActivity extends Activity { - private static final String TAG = CustomCaptureActivity.class.getSimpleName(); - private BarcodeView barcodeView; - private ViewfinderView viewFinder; - - private BarcodeCallback callback = new BarcodeCallback() { - @Override - public void barcodeResult(BarcodeResult result) { - TextView text = (TextView) findViewById(R.id.zxing_barcode_status); - if (result.getText() != null) { - text.setText(result.getText()); - } - //Added preview of scanned barcode - ImageView imageView = (ImageView) findViewById(R.id.barcodePreview); - imageView.setImageBitmap(result.getBitmapWithResultPoints(Color.YELLOW)); - } - - @Override - public void possibleResultPoints(List resultPoints) { - for (ResultPoint point : resultPoints) { - viewFinder.addPossibleResultPoint(point); - } - } - }; - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - setContentView(R.layout.new_custom_layout); - - barcodeView = (BarcodeView) findViewById(R.id.zxing_barcode_surface); - barcodeView.decodeContinuous(callback); - - viewFinder = (ViewfinderView) findViewById(R.id.zxing_viewfinder_view); - viewFinder.setCameraPreview(barcodeView); - } - - @Override - public void onConfigurationChanged(Configuration newConfig) { - super.onConfigurationChanged(newConfig); - - Log.d(TAG, "Configuration changed"); - - } - - private void orientationChanged() { - barcodeView.pause(); - barcodeView.resume(); - } - - @Override - protected void onResume() { - super.onResume(); - - barcodeView.resume(); - } - - @Override - protected void onPause() { - super.onPause(); - - barcodeView.pause(); - } - - public void pause(View view) { - barcodeView.pause(); - } - - public void resume(View view) { - barcodeView.resume(); - } - - public void triggerScan(View view) { - barcodeView.decodeSingle(callback); - } - - - @Override - public boolean onKeyDown(int keyCode, KeyEvent event) { - switch (keyCode) { - case KeyEvent.KEYCODE_FOCUS: - case KeyEvent.KEYCODE_CAMERA: - // Handle these events so they don't launch the Camera app - return true; - // Use volume up/down to turn on light - case KeyEvent.KEYCODE_VOLUME_DOWN: - barcodeView.setTorch(false); - return true; - case KeyEvent.KEYCODE_VOLUME_UP: - barcodeView.setTorch(true); - return true; - } - return super.onKeyDown(keyCode, event); - } -} diff --git a/sample/src/main/java/example/zxing/MainActivity.java b/sample/src/main/java/example/zxing/MainActivity.java index 39cfb5e9..f8c9622c 100644 --- a/sample/src/main/java/example/zxing/MainActivity.java +++ b/sample/src/main/java/example/zxing/MainActivity.java @@ -30,7 +30,7 @@ public class MainActivity extends ActionBarActivity { public void scanBarcodeCustomLayout(View view) { IntentIntegrator integrator = new IntentIntegrator(this); - integrator.setCaptureActivity(CaptureActivityAnyOrientation.class); + integrator.setCaptureActivity(AnyOrientationCaptureActivity.class); integrator.setDesiredBarcodeFormats(IntentIntegrator.ONE_D_CODE_TYPES); integrator.setPrompt("Scan something"); integrator.setOrientationLocked(false); @@ -44,7 +44,7 @@ public class MainActivity extends ActionBarActivity { } public void scanContinuous(View view) { - Intent intent = new Intent(this, CustomCaptureActivity.class); + Intent intent = new Intent(this, ContinuousCaptureActivity.class); startActivity(intent); } diff --git a/sample/src/main/java/example/zxing/ToolbarCaptureActivity.java b/sample/src/main/java/example/zxing/ToolbarCaptureActivity.java index f4dee3ee..4b0ace78 100644 --- a/sample/src/main/java/example/zxing/ToolbarCaptureActivity.java +++ b/sample/src/main/java/example/zxing/ToolbarCaptureActivity.java @@ -3,6 +3,7 @@ package example.zxing; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.support.v7.widget.Toolbar; +import android.view.KeyEvent; import com.journeyapps.barcodescanner.CaptureManager; import com.journeyapps.barcodescanner.DefaultBarcodeScannerView; @@ -12,6 +13,7 @@ import com.journeyapps.barcodescanner.DefaultBarcodeScannerView; */ public class ToolbarCaptureActivity extends ActionBarActivity { private CaptureManager capture; + private DefaultBarcodeScannerView barcodeScannerView; @Override protected void onCreate(Bundle savedInstanceState) { @@ -24,9 +26,9 @@ public class ToolbarCaptureActivity extends ActionBarActivity { getSupportActionBar().setDisplayHomeAsUpEnabled(true); - DefaultBarcodeScannerView view = (DefaultBarcodeScannerView)findViewById(R.id.zxing_barcode_scanner); + barcodeScannerView = (DefaultBarcodeScannerView)findViewById(R.id.zxing_barcode_scanner); - capture = new CaptureManager(this, view); + capture = new CaptureManager(this, barcodeScannerView); capture.initializeFromIntent(getIntent(), savedInstanceState); capture.decode(); } @@ -54,4 +56,9 @@ public class ToolbarCaptureActivity extends ActionBarActivity { super.onSaveInstanceState(outState); capture.onSaveInstanceState(outState); } + + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + return barcodeScannerView.onKeyDown(keyCode, event) || super.onKeyDown(keyCode, event); + } } -- cgit v1.2.3