From c74750c3e6a3937408fb54cbfcd7d069f5e056e3 Mon Sep 17 00:00:00 2001 From: Ralf Kistner Date: Sun, 3 May 2015 16:36:36 +0200 Subject: Sample with AppCompat/Toolbar Activity. --- sample/src/main/java/example/zxing/MainActivity.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'sample/src/main/java/example/zxing/MainActivity.java') diff --git a/sample/src/main/java/example/zxing/MainActivity.java b/sample/src/main/java/example/zxing/MainActivity.java index 6c33ede9..39cfb5e9 100644 --- a/sample/src/main/java/example/zxing/MainActivity.java +++ b/sample/src/main/java/example/zxing/MainActivity.java @@ -1,11 +1,11 @@ package example.zxing; import android.content.Intent; -import android.content.pm.ActivityInfo; import android.hardware.Camera; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v7.app.ActionBarActivity; +import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -43,21 +43,28 @@ public class MainActivity extends ActionBarActivity { integrator.initiateScan(); } - public void scan2(View view) { + public void scanContinuous(View view) { Intent intent = new Intent(this, CustomCaptureActivity.class); startActivity(intent); } + public void scanToolbar(View view) { + new IntentIntegrator(this).setCaptureActivity(ToolbarCaptureActivity.class).initiateScan(); + } + @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data); if(result != null) { if(result.getContents() == null) { + Log.d("MainActivity", "Cancelled scan"); Toast.makeText(this, "Cancelled", Toast.LENGTH_LONG).show(); } else { + Log.d("MainActivity", "Scanned"); Toast.makeText(this, "Scanned: " + result.getContents(), Toast.LENGTH_LONG).show(); } } else { + Log.d("MainActivity", "Weird"); // This is important, otherwise the result will not be passed to the fragment super.onActivityResult(requestCode, resultCode, data); } -- cgit v1.2.3 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. --- sample/src/main/AndroidManifest.xml | 4 +- .../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 +- sample/src/main/res/layout/continuous_scan.xml | 51 +++++++++ sample/src/main/res/layout/new_custom_layout.xml | 69 ------------ .../barcodescanner/CaptureActivity.java | 10 +- .../barcodescanner/DefaultBarcodeScannerView.java | 6 +- 11 files changed, 178 insertions(+), 207 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 create mode 100644 sample/src/main/res/layout/continuous_scan.xml delete mode 100644 sample/src/main/res/layout/new_custom_layout.xml (limited to 'sample/src/main/java/example/zxing/MainActivity.java') diff --git a/sample/src/main/AndroidManifest.xml b/sample/src/main/AndroidManifest.xml index 0086f81e..89b3b819 100644 --- a/sample/src/main/AndroidManifest.xml +++ b/sample/src/main/AndroidManifest.xml @@ -17,11 +17,11 @@ - + - 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); + } } diff --git a/sample/src/main/res/layout/continuous_scan.xml b/sample/src/main/res/layout/continuous_scan.xml new file mode 100644 index 00000000..167aa0ab --- /dev/null +++ b/sample/src/main/res/layout/continuous_scan.xml @@ -0,0 +1,51 @@ + + + + + + + + + +