@@ -64,8 +64,9 @@ public void initialize(CordovaInterface cordova, CordovaWebView webView) {
64
64
this .REQUEST_CODE = this .ACCESS_INTENT ;
65
65
this .context = cordova .getContext ();
66
66
this .activity = cordova .getActivity ();
67
- this .storageManager =
68
- (StorageManager ) this .activity .getSystemService (Context .STORAGE_SERVICE );
67
+ this .storageManager = (StorageManager ) this .activity .getSystemService (
68
+ Context .STORAGE_SERVICE
69
+ );
69
70
}
70
71
71
72
public boolean execute (
@@ -308,22 +309,36 @@ public void getStorageAccess(String SDCardUUID, CallbackContext callback) {
308
309
public void onActivityResult (int requestCode , int resultCode , Intent data ) {
309
310
super .onActivityResult (requestCode , resultCode , data );
310
311
312
+ if (activityResultCallback == null ) {
313
+ Log .e ("SDcard" , "activityResultCallback is null" );
314
+ return ;
315
+ }
316
+
311
317
if (data == null ) return ;
312
318
319
+ if (resultCode == Activity .RESULT_CANCELED ) {
320
+ activityResultCallback .error ("Operation cancelled" );
321
+ return ;
322
+ }
323
+
313
324
if (requestCode == PICK_FROM_GALLERY ) {
314
325
if (resultCode == Activity .RESULT_OK ) {
315
326
Uri uri = data .getData ();
316
327
if (uri == null ) {
317
328
activityResultCallback .error ("No file selected" );
318
329
} else {
319
- try {
320
- takePermission (uri );
321
- activityResultCallback .success (uri .toString ());
322
- } catch (Exception e ) {
323
- activityResultCallback .error ("Error taking permission: " + e .getMessage ());
324
- }
330
+ try {
331
+ takePermission (uri );
332
+ activityResultCallback .success (uri .toString ());
333
+ } catch (Exception e ) {
334
+ activityResultCallback .error (
335
+ "Error taking permission: " + e .getMessage ()
336
+ );
337
+ }
325
338
}
326
- activityResultCallback .success (uri .toString ());
339
+ //activityResultCallback.success(uri.toString());
340
+ } else {
341
+ activityResultCallback .error ("Operation cancelled" );
327
342
}
328
343
return ;
329
344
}
@@ -482,8 +497,8 @@ private void createFile(
482
497
String mimeType = URLConnection .guessContentTypeFromName (name );
483
498
String ext = FilenameUtils .getExtension (name );
484
499
485
- if (mimeType == null && ext != null ) mimeType =
486
- "text/" + ext ; else mimeType = "text/plain" ;
500
+ if (mimeType == null && ext != null ) mimeType = "text/" + ext ;
501
+ else mimeType = "text/plain" ;
487
502
488
503
create (parent , name , mimeType , callback );
489
504
}
@@ -512,8 +527,10 @@ public void run() {
512
527
srcUri = parent ;
513
528
parentUri = Uri .parse (srcUri );
514
529
docId = DocumentsContract .getTreeDocumentId (parentUri );
515
- parentUri =
516
- DocumentsContract .buildDocumentUriUsingTree (parentUri , docId );
530
+ parentUri = DocumentsContract .buildDocumentUriUsingTree (
531
+ parentUri ,
532
+ docId
533
+ );
517
534
}
518
535
519
536
ContentResolver contentResolver = context .getContentResolver ();
@@ -636,9 +653,8 @@ private void move(String src, String dest, final CallbackContext callback) {
636
653
public void run () {
637
654
try {
638
655
Uri newUri = copy (rootUri , srcId , destId );
639
- if (newUri == null ) callback .error (
640
- "Unable to copy " + src
641
- ); else {
656
+ if (newUri == null ) callback .error ("Unable to copy " + src );
657
+ else {
642
658
DocumentsContract .deleteDocument (
643
659
contentResolver ,
644
660
getUri (rootUri , srcId )
@@ -694,15 +710,15 @@ private Uri copy(String root, String srcId, String destId)
694
710
695
711
if (src .isFile ()) {
696
712
Uri newUri = copyFile (src , dest );
697
- if (newUri == null ) return null ; else return newUri ;
713
+ if (newUri == null ) return null ;
714
+ else return newUri ;
698
715
} else {
699
- destUri =
700
- DocumentsContract .createDocument (
701
- contentResolver ,
702
- destUri ,
703
- Document .MIME_TYPE_DIR ,
704
- src .getName ()
705
- );
716
+ destUri = DocumentsContract .createDocument (
717
+ contentResolver ,
718
+ destUri ,
719
+ Document .MIME_TYPE_DIR ,
720
+ src .getName ()
721
+ );
706
722
destId = DocumentsContract .getDocumentId (destUri );
707
723
708
724
Uri childrenUri = DocumentsContract .buildChildDocumentsUriUsingTree (
@@ -754,7 +770,8 @@ private Uri copyFile(DocumentFile src, DocumentFile dest)
754
770
is .close ();
755
771
os .close ();
756
772
757
- if (src .length () == newFile .length ()) return newFile .getUri (); else {
773
+ if (src .length () == newFile .length ()) return newFile .getUri ();
774
+ else {
758
775
DocumentsContract .deleteDocument (contentResolver , newFileUri );
759
776
return null ;
760
777
}
@@ -783,18 +800,17 @@ public void run() {
783
800
Cursor cursor = null ;
784
801
785
802
try {
786
- cursor =
787
- contentResolver .query (
788
- childrenUri ,
789
- new String [] {
790
- Document .COLUMN_DOCUMENT_ID ,
791
- Document .COLUMN_DISPLAY_NAME ,
792
- Document .COLUMN_MIME_TYPE ,
793
- },
794
- null ,
795
- null ,
796
- null
797
- );
803
+ cursor = contentResolver .query (
804
+ childrenUri ,
805
+ new String [] {
806
+ Document .COLUMN_DOCUMENT_ID ,
807
+ Document .COLUMN_DISPLAY_NAME ,
808
+ Document .COLUMN_MIME_TYPE ,
809
+ },
810
+ null ,
811
+ null ,
812
+ null
813
+ );
798
814
} catch (
799
815
NullPointerException
800
816
| SecurityException
0 commit comments