99import java .io .File ;
1010import java .io .IOException ;
1111import java .util .Map ;
12+ import java .util .Objects ;
1213
1314import io .flutter .plugin .common .MethodChannel ;
1415
@@ -21,27 +22,39 @@ public static InputImage getInputImageFromData(Map<String, Object> imageData,
2122 //Differentiates whether the image data is a path for a image file or contains image data in form of bytes
2223 String model = (String ) imageData .get ("type" );
2324 InputImage inputImage ;
24- if (model .equals ("file" )) {
25+ if (model != null && model .equals ("file" )) {
2526 try {
2627 inputImage = InputImage .fromFilePath (context , Uri .fromFile (new File (((String ) imageData .get ("path" )))));
2728 return inputImage ;
2829 } catch (IOException e ) {
2930 Log .e ("ImageError" , "Getting Image failed" );
30- e . printStackTrace ( );
31+ Log . e ( "ImageError" , e . toString () );
3132 result .error ("InputImageConverterError" , e .toString (), null );
3233 return null ;
3334 }
34- } else if (model .equals ("bytes" )) {
35- Map <String , Object > metaData = (Map <String , Object >) imageData .get ("metadata" );
36- inputImage = InputImage .fromByteArray ((byte []) imageData .get ("bytes" ),
37- (int ) (double ) metaData .get ("width" ),
38- (int ) (double ) metaData .get ("height" ),
39- (int ) metaData .get ("rotation" ),
40- (int ) metaData .get ("image_format" ));
41- return inputImage ;
4235 } else {
43- result .error ("InputImageConverterError" , "Invalid Input Image" , null );
44- return null ;
36+ if (model != null && model .equals ("bytes" )) {
37+ try {
38+ @ SuppressWarnings ("unchecked" )
39+ Map <String , Object > metaData = (Map <String , Object >) imageData .get ("metadata" );
40+
41+ assert metaData != null ;
42+ inputImage = InputImage .fromByteArray ((byte []) Objects .requireNonNull (imageData .get ("bytes" )),
43+ Double .valueOf (Objects .requireNonNull (metaData .get ("width" )).toString ()).intValue (),
44+ Double .valueOf (Objects .requireNonNull (metaData .get ("height" )).toString ()).intValue (),
45+ Integer .parseInt (Objects .requireNonNull (metaData .get ("rotation" )).toString ()),
46+ Integer .parseInt (Objects .requireNonNull (metaData .get ("image_format" )).toString ()));
47+ return inputImage ;
48+ } catch (Exception e ) {
49+ Log .e ("ImageError" , "Getting Image failed" );
50+ Log .e ("ImageError" , e .toString ());
51+ result .error ("InputImageConverterError" , e .toString (), null );
52+ return null ;
53+ }
54+ } else {
55+ result .error ("InputImageConverterError" , "Invalid Input Image" , null );
56+ return null ;
57+ }
4558 }
4659 }
4760
0 commit comments