@@ -342,51 +342,55 @@ public void run() {
342342
343343 private void onGetVideoResult (Intent data ) {
344344 List <LocalMedia > mVideoSelectList = PictureSelector .obtainMultipleResult (data );
345- boolean isRecordSelected = cameraOptions .getBoolean ("isRecordSelected" );
346- if (!mVideoSelectList .isEmpty () && isRecordSelected ) {
347- selectList = mVideoSelectList ;
348- }
349- WritableArray videoList = new WritableNativeArray ();
345+ if (cameraOptions != null ) {
346+ boolean isRecordSelected = cameraOptions .getBoolean ("isRecordSelected" );
347+ if (!mVideoSelectList .isEmpty () && isRecordSelected ) {
348+ selectList = mVideoSelectList ;
349+ }
350+ WritableArray videoList = new WritableNativeArray ();
351+
352+ for (LocalMedia media : mVideoSelectList ) {
353+ if (TextUtils .isEmpty (media .getPath ())) {
354+ continue ;
355+ }
350356
351- for (LocalMedia media : mVideoSelectList ) {
352- if (TextUtils .isEmpty (media .getPath ())) {
353- continue ;
357+ WritableMap videoMap = new WritableNativeMap ();
358+
359+ Boolean isAndroidQ = SdkVersionUtils .checkedAndroid_Q ();
360+ String filePath = isAndroidQ ? media .getAndroidQToPath () : media .getPath ();
361+
362+ videoMap .putString ("uri" , "file://" + filePath );
363+ videoMap .putString ("coverUri" , "file://" + this .getVideoCover (filePath ));
364+ videoMap .putString ("fileName" , new File (media .getPath ()).getName ());
365+ videoMap .putDouble ("size" , new File (media .getPath ()).length ());
366+ videoMap .putDouble ("duration" , media .getDuration () / 1000.00 );
367+ videoMap .putInt ("width" , media .getWidth ());
368+ videoMap .putInt ("height" , media .getHeight ());
369+ videoMap .putString ("type" , "video" );
370+ videoMap .putString ("mime" , media .getMimeType ());
371+ videoList .pushMap (videoMap );
354372 }
355373
356- WritableMap videoMap = new WritableNativeMap ();
357-
358- Boolean isAndroidQ = SdkVersionUtils .checkedAndroid_Q ();
359- String filePath = isAndroidQ ? media .getAndroidQToPath () : media .getPath ();
360-
361- videoMap .putString ("uri" , "file://" + filePath );
362- videoMap .putString ("coverUri" , "file://" + this .getVideoCover (filePath ));
363- videoMap .putString ("fileName" , new File (media .getPath ()).getName ());
364- videoMap .putDouble ("size" , new File (media .getPath ()).length ());
365- videoMap .putDouble ("duration" , media .getDuration () / 1000.00 );
366- videoMap .putInt ("width" , media .getWidth ());
367- videoMap .putInt ("height" , media .getHeight ());
368- videoMap .putString ("type" , "video" );
369- videoMap .putString ("mime" , media .getMimeType ());
370- videoList .pushMap (videoMap );
374+ invokeSuccessWithResult (videoList );
371375 }
372-
373- invokeSuccessWithResult (videoList );
374376 }
375377
376378 private void onGetResult (Intent data ) {
377379 List <LocalMedia > tmpSelectList = PictureSelector .obtainMultipleResult (data );
378- boolean isRecordSelected = cameraOptions .getBoolean ("isRecordSelected" );
379- if (!tmpSelectList .isEmpty () && isRecordSelected ) {
380- selectList = tmpSelectList ;
381- }
380+ if (cameraOptions != null ) {
381+ boolean isRecordSelected = cameraOptions .getBoolean ("isRecordSelected" );
382+ if (!tmpSelectList .isEmpty () && isRecordSelected ) {
383+ selectList = tmpSelectList ;
384+ }
382385
383- WritableArray imageList = new WritableNativeArray ();
384- boolean enableBase64 = cameraOptions .getBoolean ("enableBase64" );
386+ WritableArray imageList = new WritableNativeArray ();
387+ boolean enableBase64 = cameraOptions .getBoolean ("enableBase64" );
385388
386- for (LocalMedia media : tmpSelectList ) {
387- imageList .pushMap (getImageResult (media , enableBase64 ));
389+ for (LocalMedia media : tmpSelectList ) {
390+ imageList .pushMap (getImageResult (media , enableBase64 ));
391+ }
392+ invokeSuccessWithResult (imageList );
388393 }
389- invokeSuccessWithResult (imageList );
390394 }
391395
392396 private WritableMap getImageResult (LocalMedia media , Boolean enableBase64 ) {
0 commit comments