diff --git a/app/src/main/kotlin/com/hippo/ehviewer/ui/settings/DownloadScreen.kt b/app/src/main/kotlin/com/hippo/ehviewer/ui/settings/DownloadScreen.kt index 5b978066b..59c5478a6 100644 --- a/app/src/main/kotlin/com/hippo/ehviewer/ui/settings/DownloadScreen.kt +++ b/app/src/main/kotlin/com/hippo/ehviewer/ui/settings/DownloadScreen.kt @@ -94,6 +94,7 @@ fun DownloadScreen(navigator: DestinationsNavigator) { keepNoMediaFileStatus(downloadLocationState) } }.onFailure { + logcat(it) launchSnackBar(cannotGetDownloadLocation) } } diff --git a/app/src/main/kotlin/com/hippo/unifile/DocumentsContractApi21.kt b/app/src/main/kotlin/com/hippo/unifile/DocumentsContractApi21.kt index 245d8c38b..3829c6372 100644 --- a/app/src/main/kotlin/com/hippo/unifile/DocumentsContractApi21.kt +++ b/app/src/main/kotlin/com/hippo/unifile/DocumentsContractApi21.kt @@ -33,10 +33,15 @@ object DocumentsContractApi21 { fun createDirectory(self: Uri, displayName: String) = createFile(self, DocumentsContract.Document.MIME_TYPE_DIR, displayName) - fun prepareTreeUri(treeUri: Uri?): Uri { + fun prepareTreeUri(treeUri: Uri): Uri { + val documentId = if (treeUri.pathSegments.size == 2) { + DocumentsContract.getTreeDocumentId(treeUri) + } else { + DocumentsContract.getDocumentId(treeUri) + } return DocumentsContract.buildDocumentUriUsingTree( treeUri, - DocumentsContract.getDocumentId(treeUri), + documentId, ) }