9
9
import java .io .File ;
10
10
import java .io .IOException ;
11
11
import java .util .Map ;
12
+ import java .util .Objects ;
12
13
13
14
import io .flutter .plugin .common .MethodChannel ;
14
15
@@ -21,27 +22,39 @@ public static InputImage getInputImageFromData(Map<String, Object> imageData,
21
22
//Differentiates whether the image data is a path for a image file or contains image data in form of bytes
22
23
String model = (String ) imageData .get ("type" );
23
24
InputImage inputImage ;
24
- if (model .equals ("file" )) {
25
+ if (model != null && model .equals ("file" )) {
25
26
try {
26
27
inputImage = InputImage .fromFilePath (context , Uri .fromFile (new File (((String ) imageData .get ("path" )))));
27
28
return inputImage ;
28
29
} catch (IOException e ) {
29
30
Log .e ("ImageError" , "Getting Image failed" );
30
- e . printStackTrace ( );
31
+ Log . e ( "ImageError" , e . toString () );
31
32
result .error ("InputImageConverterError" , e .toString (), null );
32
33
return null ;
33
34
}
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 ;
42
35
} 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
+ }
45
58
}
46
59
}
47
60
0 commit comments