From 6e6cbe2a611203ef651878dbfe97eb7ce5fda516 Mon Sep 17 00:00:00 2001 From: Joel Klinghed Date: Sat, 9 Nov 2024 18:43:29 +0100 Subject: documents: Allow many methods to take a path, not just a name Can't create entries with "/" in for the other backends, so they will resolve the path. documents would not. Change that so they are more similar. --- .../cleversync/io/documents/DocumentDirectory.kt | 50 +++++++++++++++++++++- 1 file changed, 48 insertions(+), 2 deletions(-) (limited to 'libs/documents/src/main/java/org/the_jk/cleversync') diff --git a/libs/documents/src/main/java/org/the_jk/cleversync/io/documents/DocumentDirectory.kt b/libs/documents/src/main/java/org/the_jk/cleversync/io/documents/DocumentDirectory.kt index 23ffad9..613118d 100644 --- a/libs/documents/src/main/java/org/the_jk/cleversync/io/documents/DocumentDirectory.kt +++ b/libs/documents/src/main/java/org/the_jk/cleversync/io/documents/DocumentDirectory.kt @@ -62,13 +62,27 @@ internal open class DocumentDirectory( } override fun modifiableOpenDir(name: String): ModifiableDirectory? { - val childMetadata = findChild(name) ?: return null + val parts = name.split('/') + val childMetadata = findChild(parts[0]) ?: return null if (!childMetadata.isDir()) return null val childTreeUri = DocumentsContract.buildChildDocumentsUriUsingTree(treeUri, childMetadata.documentId) - return DocumentDirectory(contentResolver, childTreeUri, childMetadata, liveUpdateInterval) + var dir: ModifiableDirectory = + DocumentDirectory(contentResolver, childTreeUri, childMetadata, liveUpdateInterval) + for (i in 1.. 1) { + var dir: ModifiableDirectory = this + for (i in 0.. 1) { + var dir: ModifiableDirectory = this + for (i in 0.. 1) { + var dir: ModifiableDirectory = this + for (i in 0.. 1) { + var dir: ModifiableDirectory = this + for (i in 0.. 1) { + var dir: ModifiableDirectory = this + for (i in 0..