@@ -64,8 +64,9 @@ public void initialize(CordovaInterface cordova, CordovaWebView webView) {
6464 this .REQUEST_CODE = this .ACCESS_INTENT ;
6565 this .context = cordova .getContext ();
6666 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+ );
6970 }
7071
7172 public boolean execute (
@@ -308,22 +309,36 @@ public void getStorageAccess(String SDCardUUID, CallbackContext callback) {
308309 public void onActivityResult (int requestCode , int resultCode , Intent data ) {
309310 super .onActivityResult (requestCode , resultCode , data );
310311
312+ if (activityResultCallback == null ) {
313+ Log .e ("SDcard" , "activityResultCallback is null" );
314+ return ;
315+ }
316+
311317 if (data == null ) return ;
312318
319+ if (resultCode == Activity .RESULT_CANCELED ) {
320+ activityResultCallback .error ("Operation cancelled" );
321+ return ;
322+ }
323+
313324 if (requestCode == PICK_FROM_GALLERY ) {
314325 if (resultCode == Activity .RESULT_OK ) {
315326 Uri uri = data .getData ();
316327 if (uri == null ) {
317328 activityResultCallback .error ("No file selected" );
318329 } 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+ }
325338 }
326- activityResultCallback .success (uri .toString ());
339+ //activityResultCallback.success(uri.toString());
340+ } else {
341+ activityResultCallback .error ("Operation cancelled" );
327342 }
328343 return ;
329344 }
@@ -482,8 +497,8 @@ private void createFile(
482497 String mimeType = URLConnection .guessContentTypeFromName (name );
483498 String ext = FilenameUtils .getExtension (name );
484499
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" ;
487502
488503 create (parent , name , mimeType , callback );
489504 }
@@ -512,8 +527,10 @@ public void run() {
512527 srcUri = parent ;
513528 parentUri = Uri .parse (srcUri );
514529 docId = DocumentsContract .getTreeDocumentId (parentUri );
515- parentUri =
516- DocumentsContract .buildDocumentUriUsingTree (parentUri , docId );
530+ parentUri = DocumentsContract .buildDocumentUriUsingTree (
531+ parentUri ,
532+ docId
533+ );
517534 }
518535
519536 ContentResolver contentResolver = context .getContentResolver ();
@@ -636,9 +653,8 @@ private void move(String src, String dest, final CallbackContext callback) {
636653 public void run () {
637654 try {
638655 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 {
642658 DocumentsContract .deleteDocument (
643659 contentResolver ,
644660 getUri (rootUri , srcId )
@@ -694,15 +710,15 @@ private Uri copy(String root, String srcId, String destId)
694710
695711 if (src .isFile ()) {
696712 Uri newUri = copyFile (src , dest );
697- if (newUri == null ) return null ; else return newUri ;
713+ if (newUri == null ) return null ;
714+ else return newUri ;
698715 } 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+ );
706722 destId = DocumentsContract .getDocumentId (destUri );
707723
708724 Uri childrenUri = DocumentsContract .buildChildDocumentsUriUsingTree (
@@ -754,7 +770,8 @@ private Uri copyFile(DocumentFile src, DocumentFile dest)
754770 is .close ();
755771 os .close ();
756772
757- if (src .length () == newFile .length ()) return newFile .getUri (); else {
773+ if (src .length () == newFile .length ()) return newFile .getUri ();
774+ else {
758775 DocumentsContract .deleteDocument (contentResolver , newFileUri );
759776 return null ;
760777 }
@@ -783,18 +800,17 @@ public void run() {
783800 Cursor cursor = null ;
784801
785802 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+ );
798814 } catch (
799815 NullPointerException
800816 | SecurityException
0 commit comments