diff options
| author | Ralf Kistner <ralf@journeyapps.com> | 2015-05-03 20:06:24 +0300 |
|---|---|---|
| committer | Ralf Kistner <ralf@journeyapps.com> | 2015-05-03 20:06:24 +0300 |
| commit | 4dd4d582957e6b04691658b3675f959ba900867e (patch) | |
| tree | 832c687f096367859b5021aaeb6bfef0de861264 /sample/src/main/java/example | |
| parent | 26b07ed902ee264be14e28021f15f9518b10b518 (diff) | |
| parent | 10b1b29f82c1572c0ee832768101d3473e578427 (diff) | |
| download | zxing-android-embedded-4dd4d582957e6b04691658b3675f959ba900867e.tar.xz | |
Merge pull request #44 from journeyapps/appcompat
Simplify Custom Activities
Diffstat (limited to 'sample/src/main/java/example')
6 files changed, 174 insertions, 133 deletions
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..34393c51 --- /dev/null +++ b/sample/src/main/java/example/zxing/AnyOrientationCaptureActivity.java @@ -0,0 +1,11 @@ +package example.zxing; + +import com.journeyapps.barcodescanner.CaptureActivity; + +/** + * This Activity is exactly the same as CaptureActivity, but has a different orientation + * setting in AndroidManifest.xml. + */ +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..783eb892 --- /dev/null +++ b/sample/src/main/java/example/zxing/ContinuousCaptureActivity.java @@ -0,0 +1,83 @@ +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 com.google.zxing.ResultPoint; +import com.journeyapps.barcodescanner.BarcodeCallback; +import com.journeyapps.barcodescanner.BarcodeResult; +import com.journeyapps.barcodescanner.CompoundBarcodeView; + +import java.util.List; + +/** + * This sample performs continuous scanning, displaying the barcode and source image whenever + * a barcode is scanned. + */ +public class ContinuousCaptureActivity extends Activity { + private static final String TAG = ContinuousCaptureActivity.class.getSimpleName(); + private CompoundBarcodeView 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<ResultPoint> resultPoints) { + } + }; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + setContentView(R.layout.continuous_scan); + + barcodeView = (CompoundBarcodeView) findViewById(R.id.barcode_scanner); + barcodeView.decodeContinuous(callback); + } + + @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<ResultPoint> 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 6c33ede9..f8c9622c 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; @@ -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); @@ -43,21 +43,28 @@ public class MainActivity extends ActionBarActivity { integrator.initiateScan(); } - public void scan2(View view) { - Intent intent = new Intent(this, CustomCaptureActivity.class); + public void scanContinuous(View view) { + Intent intent = new Intent(this, ContinuousCaptureActivity.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); } diff --git a/sample/src/main/java/example/zxing/ToolbarCaptureActivity.java b/sample/src/main/java/example/zxing/ToolbarCaptureActivity.java new file mode 100644 index 00000000..f497d117 --- /dev/null +++ b/sample/src/main/java/example/zxing/ToolbarCaptureActivity.java @@ -0,0 +1,69 @@ +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.CompoundBarcodeView; + +/** + * Sample Activity extending from ActionBarActivity to display a Toolbar. + */ +public class ToolbarCaptureActivity extends ActionBarActivity { + private CaptureManager capture; + private CompoundBarcodeView barcodeScannerView; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + setContentView(R.layout.capture_appcompat); + Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbar); + toolbar.setTitle("Scan Barcode"); + setSupportActionBar(toolbar); + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + + barcodeScannerView = (CompoundBarcodeView)findViewById(R.id.zxing_barcode_scanner); + + capture = new CaptureManager(this, barcodeScannerView); + capture.initializeFromIntent(getIntent(), savedInstanceState); + capture.decode(); + } + + @Override + protected void onResume() { + super.onResume(); + capture.onResume(); + } + + @Override + protected void onPause() { + super.onPause(); + capture.onPause(); + } + + @Override + protected void onDestroy() { + super.onDestroy(); + capture.onDestroy(); + } + + @Override + protected void onSaveInstanceState(Bundle outState) { + super.onSaveInstanceState(outState); + capture.onSaveInstanceState(outState); + } + + @Override + public boolean onSupportNavigateUp() { + onBackPressed(); + return true; + } + + @Override + public boolean onKeyDown(int keyCode, KeyEvent event) { + return barcodeScannerView.onKeyDown(keyCode, event) || super.onKeyDown(keyCode, event); + } +} |
