MCPcopy Create free account
hub / github.com/Acode-Foundation/Acode / create

Method create

src/plugins/sdcard/src/android/SDcard.java:651–710  ·  view source on GitHub ↗
(
    String parent,
    String name,
    String mimeType,
    CallbackContext callback
  )

Source from the content-addressed store, hash-verified

649 }
650
651 private void create(
652 String parent,
653 String name,
654 String mimeType,
655 CallbackContext callback
656 ) {
657 cordova
658 .getThreadPool()
659 .execute(
660 new Runnable() {
661 public void run() {
662 try {
663 String srcUri = null, docId = null;
664 Uri parentUri = null;
665
666 if (parent.contains(SEPARATOR)) {
667 String splittedStr[] = parent.split(SEPARATOR, 2);
668 srcUri = splittedStr[0];
669 docId = splittedStr[1];
670 parentUri = getUri(srcUri, docId);
671 } else {
672 srcUri = parent;
673 parentUri = Uri.parse(srcUri);
674 docId = DocumentsContract.getTreeDocumentId(parentUri);
675 parentUri = DocumentsContract.buildDocumentUriUsingTree(
676 parentUri,
677 docId
678 );
679 }
680
681 ContentResolver contentResolver = context.getContentResolver();
682 Uri newDocumentUri = DocumentsContract.createDocument(
683 contentResolver,
684 parentUri,
685 mimeType,
686 name
687 );
688 DocumentFile file = DocumentFile.fromTreeUri(
689 context,
690 newDocumentUri
691 );
692 Log.i("SDcard", "Uri: " + newDocumentUri.toString());
693 if (!name.equals(file.getName()) && file.renameTo(name)) {
694 newDocumentUri = file.getUri();
695 }
696
697 docId = DocumentsContract.getDocumentId(newDocumentUri);
698 if (newDocumentUri != null) {
699 callback.success(srcUri + SEPARATOR + docId);
700 } else {
701 callback.error("Unable to create " + parent);
702 }
703 } catch (Exception e) {
704 Log.e("CREATE_FILE", "Unable to create file", e);
705 callback.error(e.toString());
706 }
707 }
708 }

Callers 2

createDirMethod · 0.95
createFileMethod · 0.95

Calls 1

executeMethod · 0.45

Tested by

no test coverage detected