Skip to content

Commit

Permalink
fix: Handle NullPointerException and some wanring at google_mlkit_com…
Browse files Browse the repository at this point in the history
…mons
  • Loading branch information
nickf2k committed Jul 4, 2024
1 parent 9b974cf commit 208bf92
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 14 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,6 @@
import io.flutter.embedding.engine.plugins.FlutterPlugin;
import io.flutter.plugin.common.MethodCall;
import io.flutter.plugin.common.MethodChannel;
import io.flutter.plugin.common.MethodChannel.MethodCallHandler;
import io.flutter.plugin.common.MethodChannel.Result;

public class GoogleMlKitCommonsPlugin implements FlutterPlugin, MethodChannel.MethodCallHandler {
private MethodChannel channel;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
import java.io.File;
import java.io.IOException;
import java.util.Map;
import java.util.Objects;

import io.flutter.plugin.common.MethodChannel;

Expand All @@ -21,27 +22,39 @@ public static InputImage getInputImageFromData(Map<String, Object> imageData,
//Differentiates whether the image data is a path for a image file or contains image data in form of bytes
String model = (String) imageData.get("type");
InputImage inputImage;
if (model.equals("file")) {
if (model != null && model.equals("file")) {
try {
inputImage = InputImage.fromFilePath(context, Uri.fromFile(new File(((String) imageData.get("path")))));
return inputImage;
} catch (IOException e) {
Log.e("ImageError", "Getting Image failed");
e.printStackTrace();
Log.e("ImageError", e.toString());
result.error("InputImageConverterError", e.toString(), null);
return null;
}
} else if (model.equals("bytes")) {
Map<String, Object> metaData = (Map<String, Object>) imageData.get("metadata");
inputImage = InputImage.fromByteArray((byte[]) imageData.get("bytes"),
(int) (double) metaData.get("width"),
(int) (double) metaData.get("height"),
(int) metaData.get("rotation"),
(int) metaData.get("image_format"));
return inputImage;
} else {
result.error("InputImageConverterError", "Invalid Input Image", null);
return null;
if (model != null && model.equals("bytes")) {
try {
@SuppressWarnings("unchecked")
Map<String, Object> metaData = (Map<String, Object>) imageData.get("metadata");

assert metaData != null;
inputImage = InputImage.fromByteArray((byte[]) Objects.requireNonNull(imageData.get("bytes")),
Double.valueOf((String) metaData.get("width")).intValue(),
Double.valueOf((String) metaData.get("height")).intValue(),
Integer.parseInt((String) metaData.get("rotation")),
InputImage.IMAGE_FORMAT_NV21);
return inputImage;
} catch (Exception e) {
Log.e("ImageError", "Getting Image failed");
Log.e("ImageError", e.toString());
result.error("InputImageConverterError", e.toString(), null);
return null;
}
} else {
result.error("InputImageConverterError", "Invalid Input Image", null);
return null;
}
}
}

Expand Down

0 comments on commit 208bf92

Please sign in to comment.