@@ -338,51 +338,55 @@ public void run() {
338338
339339 private void onGetVideoResult (Intent data ) {
340340 List <LocalMedia > mVideoSelectList = PictureSelector .obtainMultipleResult (data );
341- boolean isRecordSelected = cameraOptions .getBoolean ("isRecordSelected" );
342- if (!mVideoSelectList .isEmpty () && isRecordSelected ) {
343- selectList = mVideoSelectList ;
344- }
345- WritableArray videoList = new WritableNativeArray ();
341+ if (cameraOptions != null ) {
342+ boolean isRecordSelected = cameraOptions .getBoolean ("isRecordSelected" );
343+ if (!mVideoSelectList .isEmpty () && isRecordSelected ) {
344+ selectList = mVideoSelectList ;
345+ }
346+ WritableArray videoList = new WritableNativeArray ();
347+
348+ for (LocalMedia media : mVideoSelectList ) {
349+ if (TextUtils .isEmpty (media .getPath ())) {
350+ continue ;
351+ }
346352
347- for (LocalMedia media : mVideoSelectList ) {
348- if (TextUtils .isEmpty (media .getPath ())) {
349- continue ;
353+ WritableMap videoMap = new WritableNativeMap ();
354+
355+ Boolean isAndroidQ = SdkVersionUtils .checkedAndroid_Q ();
356+ String filePath = isAndroidQ ? media .getAndroidQToPath () : media .getPath ();
357+
358+ videoMap .putString ("uri" , "file://" + filePath );
359+ videoMap .putString ("coverUri" , "file://" + this .getVideoCover (filePath ));
360+ videoMap .putString ("fileName" , new File (media .getPath ()).getName ());
361+ videoMap .putDouble ("size" , new File (media .getPath ()).length ());
362+ videoMap .putDouble ("duration" , media .getDuration () / 1000.00 );
363+ videoMap .putInt ("width" , media .getWidth ());
364+ videoMap .putInt ("height" , media .getHeight ());
365+ videoMap .putString ("type" , "video" );
366+ videoMap .putString ("mime" , media .getMimeType ());
367+ videoList .pushMap (videoMap );
350368 }
351369
352- WritableMap videoMap = new WritableNativeMap ();
353-
354- Boolean isAndroidQ = SdkVersionUtils .checkedAndroid_Q ();
355- String filePath = isAndroidQ ? media .getAndroidQToPath () : media .getPath ();
356-
357- videoMap .putString ("uri" , "file://" + filePath );
358- videoMap .putString ("coverUri" , "file://" + this .getVideoCover (filePath ));
359- videoMap .putString ("fileName" , new File (media .getPath ()).getName ());
360- videoMap .putDouble ("size" , new File (media .getPath ()).length ());
361- videoMap .putDouble ("duration" , media .getDuration () / 1000.00 );
362- videoMap .putInt ("width" , media .getWidth ());
363- videoMap .putInt ("height" , media .getHeight ());
364- videoMap .putString ("type" , "video" );
365- videoMap .putString ("mime" , media .getMimeType ());
366- videoList .pushMap (videoMap );
370+ invokeSuccessWithResult (videoList );
367371 }
368-
369- invokeSuccessWithResult (videoList );
370372 }
371373
372374 private void onGetResult (Intent data ) {
373375 List <LocalMedia > tmpSelectList = PictureSelector .obtainMultipleResult (data );
374- boolean isRecordSelected = cameraOptions .getBoolean ("isRecordSelected" );
375- if (!tmpSelectList .isEmpty () && isRecordSelected ) {
376- selectList = tmpSelectList ;
377- }
376+ if (cameraOptions != null ) {
377+ boolean isRecordSelected = cameraOptions .getBoolean ("isRecordSelected" );
378+ if (!tmpSelectList .isEmpty () && isRecordSelected ) {
379+ selectList = tmpSelectList ;
380+ }
378381
379- WritableArray imageList = new WritableNativeArray ();
380- boolean enableBase64 = cameraOptions .getBoolean ("enableBase64" );
382+ WritableArray imageList = new WritableNativeArray ();
383+ boolean enableBase64 = cameraOptions .getBoolean ("enableBase64" );
381384
382- for (LocalMedia media : tmpSelectList ) {
383- imageList .pushMap (getImageResult (media , enableBase64 ));
385+ for (LocalMedia media : tmpSelectList ) {
386+ imageList .pushMap (getImageResult (media , enableBase64 ));
387+ }
388+ invokeSuccessWithResult (imageList );
384389 }
385- invokeSuccessWithResult (imageList );
386390 }
387391
388392 private WritableMap getImageResult (LocalMedia media , Boolean enableBase64 ) {
0 commit comments