diff --git a/android/src/main/AndroidManifest.xml b/android/src/main/AndroidManifest.xml index 26936fc..4c5129b 100644 --- a/android/src/main/AndroidManifest.xml +++ b/android/src/main/AndroidManifest.xml @@ -6,5 +6,5 @@ - + diff --git a/android/src/main/java/com/getcapacitor/community/barcodescanner/CapacitorCommunityBarcodeScanner.java b/android/src/main/java/com/getcapacitor/community/barcodescanner/CapacitorCommunityBarcodeScanner.java index f65af36..d433da7 100644 --- a/android/src/main/java/com/getcapacitor/community/barcodescanner/CapacitorCommunityBarcodeScanner.java +++ b/android/src/main/java/com/getcapacitor/community/barcodescanner/CapacitorCommunityBarcodeScanner.java @@ -299,70 +299,72 @@ public void analyze(@NonNull ImageProxy image) { @SuppressLint("UnsafeOptInUsageError") Image mediaImage = image.getImage(); - if (mediaImage != null) { - InputImage inputImage = InputImage.fromMediaImage(mediaImage, image.getImageInfo().getRotationDegrees()); - - Task> result = mScanner - .process(inputImage) - .addOnSuccessListener( - new OnSuccessListener>() { - @RequiresApi(api = Build.VERSION_CODES.O) - @Override - public void onSuccess(List barcodes) { - if (scanningPaused) { - return; - } - for (Barcode barcode : barcodes) { - PluginCall call = getSavedCall(); + if (mediaImage == null || mScanner == null) { + return; + } - Rect bounds = barcode.getBoundingBox(); - Point[] corners = barcode.getCornerPoints(); - String rawValue = barcode.getRawValue(); + InputImage inputImage = InputImage.fromMediaImage(mediaImage, image.getImageInfo().getRotationDegrees()); + + Task> result = mScanner + .process(inputImage) + .addOnSuccessListener( + new OnSuccessListener>() { + @RequiresApi(api = Build.VERSION_CODES.O) + @Override + public void onSuccess(List barcodes) { + if (scanningPaused) { + return; + } + for (Barcode barcode : barcodes) { + PluginCall call = getSavedCall(); - // add vibration logic here + Rect bounds = barcode.getBoundingBox(); + Point[] corners = barcode.getCornerPoints(); + String rawValue = barcode.getRawValue(); - String s = bounds.flattenToString(); - Log.e(MLKIT_TAG, "content : " + rawValue); - // Log.e(MLKIT_TAG,"corners : " + corners.toString()); - Log.e(MLKIT_TAG, "bounds : " + bounds.flattenToString()); + // add vibration logic here - Log.e(MLKIT_TAG, "Added Into ArrayList : " + rawValue); + String s = bounds.flattenToString(); + Log.e(MLKIT_TAG, "content : " + rawValue); + // Log.e(MLKIT_TAG,"corners : " + corners.toString()); + Log.e(MLKIT_TAG, "bounds : " + bounds.flattenToString()); - JSObject jsObject = new JSObject(); - int[] boundArr = { bounds.top, bounds.bottom, bounds.right, bounds.left }; - Log.e(MLKIT_TAG, "onSuccess: boundArr"); - jsObject.put("hasContent", true); - jsObject.put("content", rawValue); - jsObject.put("format", null); - // jsObject.put("corners",corners); - jsObject.put("bounds", s); + Log.e(MLKIT_TAG, "Added Into ArrayList : " + rawValue); - if (call != null && !call.isKeptAlive()) { - destroy(); - } - call.resolve(jsObject); + JSObject jsObject = new JSObject(); + int[] boundArr = { bounds.top, bounds.bottom, bounds.right, bounds.left }; + Log.e(MLKIT_TAG, "onSuccess: boundArr"); + jsObject.put("hasContent", true); + jsObject.put("content", rawValue); + jsObject.put("format", null); + // jsObject.put("corners",corners); + jsObject.put("bounds", s); + + if (call != null && !call.isKeptAlive()) { + destroy(); } + call.resolve(jsObject); } } - ) - .addOnFailureListener( - new OnFailureListener() { - @Override - public void onFailure(@NonNull Exception e) { - Log.e(MLKIT_TAG, e.toString()); - } + } + ) + .addOnFailureListener( + new OnFailureListener() { + @Override + public void onFailure(@NonNull Exception e) { + Log.e(MLKIT_TAG, e.toString()); } - ) - .addOnCompleteListener( - new OnCompleteListener>() { - @Override - public void onComplete(@NonNull Task> task) { - image.close(); - mediaImage.close(); - } + } + ) + .addOnCompleteListener( + new OnCompleteListener>() { + @Override + public void onComplete(@NonNull Task> task) { + image.close(); + mediaImage.close(); } - ); - } + } + ); } @PluginMethod