summaryrefslogtreecommitdiff
path: root/sample/src/main/java/example
diff options
context:
space:
mode:
authorRalf Kistner <ralf@journeyapps.com>2021-10-25 16:54:10 +0300
committerGitHub <noreply@github.com>2021-10-25 16:54:10 +0300
commit24d02945fec5f2c5a65b24ea7848cb5ca18f9f81 (patch)
treecfe0691761c51a3ea9e32573fb97b6d4e281f0fb /sample/src/main/java/example
parent40260272fcff4f14181803495e7d370c23e35db7 (diff)
parent6ccf3a9d1a8919dfc06e4aeb2754354d267fe978 (diff)
downloadzxing-android-embedded-24d02945fec5f2c5a65b24ea7848cb5ca18f9f81.tar.xz
Merge pull request #665 from journeyapps/fixesv4.3.0
v4.3.0
Diffstat (limited to 'sample/src/main/java/example')
-rw-r--r--sample/src/main/java/example/zxing/MainActivity.java170
-rw-r--r--sample/src/main/java/example/zxing/SampleApplication.java7
2 files changed, 67 insertions, 110 deletions
diff --git a/sample/src/main/java/example/zxing/MainActivity.java b/sample/src/main/java/example/zxing/MainActivity.java
index 99a3b620..dedd814a 100644
--- a/sample/src/main/java/example/zxing/MainActivity.java
+++ b/sample/src/main/java/example/zxing/MainActivity.java
@@ -3,8 +3,6 @@ package example.zxing;
import android.content.Intent;
import android.hardware.Camera;
import android.os.Bundle;
-import androidx.fragment.app.Fragment;
-import androidx.appcompat.app.AppCompatActivity;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
@@ -13,14 +11,33 @@ import android.widget.Button;
import android.widget.Toast;
import com.google.zxing.client.android.Intents;
-import com.google.zxing.integration.android.IntentIntegrator;
-import com.google.zxing.integration.android.IntentResult;
+import com.journeyapps.barcodescanner.ScanContract;
+import com.journeyapps.barcodescanner.ScanOptions;
import com.mikepenz.aboutlibraries.LibsBuilder;
+import androidx.activity.result.ActivityResultLauncher;
+import androidx.appcompat.app.AppCompatActivity;
+import androidx.fragment.app.Fragment;
+
public class MainActivity extends AppCompatActivity {
+ private final ActivityResultLauncher<ScanOptions> barcodeLauncher = registerForActivityResult(new ScanContract(),
+ result -> {
+ if(result.getContents() == null) {
+ Intent originalIntent = result.getOriginalIntent();
+ if (originalIntent == null) {
+ Log.d("MainActivity", "Cancelled scan");
+ Toast.makeText(MainActivity.this, "Cancelled", Toast.LENGTH_LONG).show();
+ } else if(originalIntent.hasExtra(Intents.Scan.MISSING_CAMERA_PERMISSION)) {
+ Log.d("MainActivity", "Cancelled scan due to missing camera permission");
+ Toast.makeText(MainActivity.this, "Cancelled due to missing camera permission", Toast.LENGTH_LONG).show();
+ }
+ } else {
+ Log.d("MainActivity", "Scanned");
+ Toast.makeText(MainActivity.this, "Scanned: " + result.getContents(), Toast.LENGTH_LONG).show();
+ }
+ });
- public final int CUSTOMIZED_REQUEST_CODE = 0x0000ffff;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -29,49 +46,45 @@ public class MainActivity extends AppCompatActivity {
}
public void scanBarcode(View view) {
- new IntentIntegrator(this).initiateScan();
- }
-
- public void scanBarcodeWithCustomizedRequestCode(View view) {
- new IntentIntegrator(this).setRequestCode(CUSTOMIZED_REQUEST_CODE).initiateScan();
+ barcodeLauncher.launch(new ScanOptions());
}
public void scanBarcodeInverted(View view){
- IntentIntegrator integrator = new IntentIntegrator(this);
- integrator.addExtra(Intents.Scan.SCAN_TYPE, Intents.Scan.INVERTED_SCAN);
- integrator.initiateScan();
+ ScanOptions options = new ScanOptions();
+ options.addExtra(Intents.Scan.SCAN_TYPE, Intents.Scan.INVERTED_SCAN);
+ barcodeLauncher.launch(options);
}
public void scanMixedBarcodes(View view){
- IntentIntegrator integrator = new IntentIntegrator(this);
- integrator.addExtra(Intents.Scan.SCAN_TYPE, Intents.Scan.MIXED_SCAN);
- integrator.initiateScan();
+ ScanOptions options = new ScanOptions();
+ options.addExtra(Intents.Scan.SCAN_TYPE, Intents.Scan.MIXED_SCAN);
+ barcodeLauncher.launch(options);
}
public void scanBarcodeCustomLayout(View view) {
- IntentIntegrator integrator = new IntentIntegrator(this);
- integrator.setCaptureActivity(AnyOrientationCaptureActivity.class);
- integrator.setDesiredBarcodeFormats(IntentIntegrator.ONE_D_CODE_TYPES);
- integrator.setPrompt("Scan something");
- integrator.setOrientationLocked(false);
- integrator.setBeepEnabled(false);
- integrator.initiateScan();
+ ScanOptions options = new ScanOptions();
+ options.setCaptureActivity(AnyOrientationCaptureActivity.class);
+ options.setDesiredBarcodeFormats(ScanOptions.ONE_D_CODE_TYPES);
+ options.setPrompt("Scan something");
+ options.setOrientationLocked(false);
+ options.setBeepEnabled(false);
+ barcodeLauncher.launch(options);
}
public void scanPDF417(View view) {
- IntentIntegrator integrator = new IntentIntegrator(this);
- integrator.setDesiredBarcodeFormats(IntentIntegrator.PDF_417);
- integrator.setPrompt("Scan something");
- integrator.setOrientationLocked(false);
- integrator.setBeepEnabled(false);
- integrator.initiateScan();
+ ScanOptions options = new ScanOptions();
+ options.setDesiredBarcodeFormats(ScanOptions.PDF_417);
+ options.setPrompt("Scan something");
+ options.setOrientationLocked(false);
+ options.setBeepEnabled(false);
+ barcodeLauncher.launch(options);
}
public void scanBarcodeFrontCamera(View view) {
- IntentIntegrator integrator = new IntentIntegrator(this);
- integrator.setCameraId(Camera.CameraInfo.CAMERA_FACING_FRONT);
- integrator.initiateScan();
+ ScanOptions options = new ScanOptions();
+ options.setCameraId(Camera.CameraInfo.CAMERA_FACING_FRONT);
+ barcodeLauncher.launch(options);
}
public void scanContinuous(View view) {
@@ -80,24 +93,26 @@ public class MainActivity extends AppCompatActivity {
}
public void scanToolbar(View view) {
- new IntentIntegrator(this).setCaptureActivity(ToolbarCaptureActivity.class).initiateScan();
+ ScanOptions options = new ScanOptions().setCaptureActivity(ToolbarCaptureActivity.class);
+ barcodeLauncher.launch(options);
}
public void scanCustomScanner(View view) {
- new IntentIntegrator(this).setOrientationLocked(false).setCaptureActivity(CustomScannerActivity.class).initiateScan();
+ ScanOptions options = new ScanOptions().setOrientationLocked(false).setCaptureActivity(CustomScannerActivity.class);
+ barcodeLauncher.launch(options);
}
public void scanMarginScanner(View view) {
- IntentIntegrator integrator = new IntentIntegrator(this);
- integrator.setOrientationLocked(false);
- integrator.setCaptureActivity(SmallCaptureActivity.class);
- integrator.initiateScan();
+ ScanOptions options = new ScanOptions();
+ options.setOrientationLocked(false);
+ options.setCaptureActivity(SmallCaptureActivity.class);
+ barcodeLauncher.launch(options);
}
public void scanWithTimeout(View view) {
- IntentIntegrator integrator = new IntentIntegrator(this);
- integrator.setTimeout(8000);
- integrator.initiateScan();
+ ScanOptions options = new ScanOptions();
+ options.setTimeout(8000);
+ barcodeLauncher.launch(options);
}
public void tabs(View view) {
@@ -109,56 +124,23 @@ public class MainActivity extends AppCompatActivity {
new LibsBuilder().start(this);
}
- @Override
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- if (requestCode != CUSTOMIZED_REQUEST_CODE && requestCode != IntentIntegrator.REQUEST_CODE) {
- // This is important, otherwise the result will not be passed to the fragment
- super.onActivityResult(requestCode, resultCode, data);
- return;
- }
- switch (requestCode) {
- case CUSTOMIZED_REQUEST_CODE: {
- Toast.makeText(this, "REQUEST_CODE = " + requestCode, Toast.LENGTH_LONG).show();
- break;
- }
- default:
- break;
- }
-
- IntentResult result = IntentIntegrator.parseActivityResult(resultCode, data);
-
- if(result.getContents() == null) {
- Intent originalIntent = result.getOriginalIntent();
- if (originalIntent == null) {
- Log.d("MainActivity", "Cancelled scan");
- Toast.makeText(this, "Cancelled", Toast.LENGTH_LONG).show();
- } else if(originalIntent.hasExtra(Intents.Scan.MISSING_CAMERA_PERMISSION)) {
- Log.d("MainActivity", "Cancelled scan due to missing camera permission");
- Toast.makeText(this, "Cancelled due to missing camera permission", Toast.LENGTH_LONG).show();
- }
- } else {
- Log.d("MainActivity", "Scanned");
- Toast.makeText(this, "Scanned: " + result.getContents(), Toast.LENGTH_LONG).show();
- }
- }
-
/**
* Sample of scanning from a Fragment
*/
public static class ScanFragment extends Fragment {
- private String toast;
+ private final ActivityResultLauncher<ScanOptions> fragmentLauncher = registerForActivityResult(new ScanContract(),
+ result -> {
+ if(result.getContents() == null) {
+ Toast.makeText(getContext(), "Cancelled from fragment", Toast.LENGTH_LONG).show();
+ } else {
+ Toast.makeText(getContext(), "Scanned from fragment: " + result.getContents(), Toast.LENGTH_LONG).show();
+ }
+ });
public ScanFragment() {
}
@Override
- public void onActivityCreated(Bundle savedInstanceState) {
- super.onActivityCreated(savedInstanceState);
-
- displayToast();
- }
-
- @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_scan, container, false);
@@ -168,29 +150,7 @@ public class MainActivity extends AppCompatActivity {
}
public void scanFromFragment() {
- IntentIntegrator.forSupportFragment(this).initiateScan();
- }
-
- private void displayToast() {
- if(getActivity() != null && toast != null) {
- Toast.makeText(getActivity(), toast, Toast.LENGTH_LONG).show();
- toast = null;
- }
- }
-
- @Override
- public void onActivityResult(int requestCode, int resultCode, Intent data) {
- IntentResult result = IntentIntegrator.parseActivityResult(requestCode, resultCode, data);
- if(result != null) {
- if(result.getContents() == null) {
- toast = "Cancelled from fragment";
- } else {
- toast = "Scanned from fragment: " + result.getContents();
- }
-
- // At this point we may or may not have a reference to the activity
- displayToast();
- }
+ fragmentLauncher.launch(new ScanOptions());
}
}
}
diff --git a/sample/src/main/java/example/zxing/SampleApplication.java b/sample/src/main/java/example/zxing/SampleApplication.java
index bbf850d4..2d80a008 100644
--- a/sample/src/main/java/example/zxing/SampleApplication.java
+++ b/sample/src/main/java/example/zxing/SampleApplication.java
@@ -1,16 +1,13 @@
package example.zxing;
-import android.app.Application;
-
-import com.squareup.leakcanary.LeakCanary;
+import androidx.multidex.MultiDexApplication;
/**
*
*/
-public class SampleApplication extends Application {
+public class SampleApplication extends MultiDexApplication {
@Override
public void onCreate() {
super.onCreate();
- LeakCanary.install(this);
}
}