diff --git a/README.md b/README.md index ee375e2..64c6663 100644 --- a/README.md +++ b/README.md @@ -175,18 +175,18 @@ class MainActivity : AppCompatActivity() { }.show() } - override fun onCanceledByUser() { + override fun onCanceledByUser(requestCode: Int) { Toast.makeText(baseContext, "Canceled by user", Toast.LENGTH_SHORT).show() } - override fun onStoragePermissionDenied() { + override fun onStoragePermissionDenied(requestCode: Int) { /* Request runtime permissions for Manifest.permission.WRITE_EXTERNAL_STORAGE and Manifest.permission.READ_EXTERNAL_STORAGE */ } - override fun onRootPathPermissionGranted(root: DocumentFile) { + override fun onRootPathPermissionGranted(requestCode: Int, root: DocumentFile) { Toast.makeText(baseContext, "Storage access has been granted for ${root.getStorageId(baseContext)}", Toast.LENGTH_SHORT).show() } } @@ -336,7 +336,7 @@ val folder: DocumentFile = ... val targetFolder: DocumentFile = ... // Since moveFolderTo() is annotated with @WorkerThread, you must execute it in background thread -folder.moveFolderTo(applicationContext, targetFolder, skipEmptyFiles = false, callback = object : FolderCallback { +folder.moveFolderTo(applicationContext, targetFolder, skipEmptyFiles = false, callback = object : FolderCallback() { override fun onPrepare() { // Show notification or progress bar dialog with indeterminate state } @@ -345,7 +345,7 @@ folder.moveFolderTo(applicationContext, targetFolder, skipEmptyFiles = false, ca // Inform user that the app is counting & calculating files } - override fun onStart(folder: DocumentFile, totalFilesToCopy: Int): Long { + override fun onStart(folder: DocumentFile, totalFilesToCopy: Int, workerThread: Thread): Long { return 1000 // update progress every 1 second } @@ -361,16 +361,16 @@ folder.moveFolderTo(applicationContext, targetFolder, skipEmptyFiles = false, ca handleFolderContentConflict(action, conflictedFiles) } - override fun onReport(progress: Float, bytesMoved: Long, writeSpeed: Int, fileCount: Int) { - Timber.d("onReport() -> ${progress.toInt()}% | Moved $fileCount files") + override fun onReport(report: Report) { + Timber.d("onReport() -> ${report.progress.toInt()}% | Copied ${report.fileCount} files") } - override fun onCompleted(folder: DocumentFile, totalFilesToCopy: Int, totalCopiedFiles: Int, success: Boolean) { - Timber.d("Moved $totalCopiedFiles of $totalFilesToCopy files") + override fun onCompleted(result: Result) { + Toast.makeText(baseContext, "Copied ${result.totalCopiedFiles} of ${result.totalFilesToCopy} files", Toast.LENGTH_SHORT).show() } - override fun onFailed(errorCode: FolderCallback.ErrorCode) { - Timber.d("An error has occurred: $errorCode") + override fun onFailed(errorCode: ErrorCode) { + Toast.makeText(baseContext, "An error has occurred: $errorCode", Toast.LENGTH_SHORT).show() } }) ``` diff --git a/gradle.properties b/gradle.properties index 3bffcb9..ad71ea7 100644 --- a/gradle.properties +++ b/gradle.properties @@ -19,4 +19,4 @@ android.useAndroidX=true android.enableJetifier=true # Kotlin code style for this project: "official" or "obsolete": kotlin.code.style=official -STORAGE_VERSION=0.8.0-SNAPSHOT \ No newline at end of file +STORAGE_VERSION=0.8.0 \ No newline at end of file diff --git a/storage/src/main/java/com/anggrayudi/storage/SimpleStorage.kt b/storage/src/main/java/com/anggrayudi/storage/SimpleStorage.kt index 588ac13..099eb6e 100644 --- a/storage/src/main/java/com/anggrayudi/storage/SimpleStorage.kt +++ b/storage/src/main/java/com/anggrayudi/storage/SimpleStorage.kt @@ -156,7 +156,7 @@ class SimpleStorage private constructor(private val wrapper: ComponentWrapper) { requestCodeStorageAccess = requestCode expectedStorageTypeForAccessRequest = expectedStorageType } else { - storageAccessCallback?.onActivityHandlerNotFound(intent) + storageAccessCallback?.onActivityHandlerNotFound(requestCode, intent) } } @@ -182,7 +182,7 @@ class SimpleStorage private constructor(private val wrapper: ComponentWrapper) { externalStorageRootAccessIntent } if (!wrapper.startActivityForResult(intent, requestCode)) - folderPickerCallback?.onActivityHandlerNotFound(intent) + folderPickerCallback?.onActivityHandlerNotFound(requestCode, intent) } else { folderPickerCallback?.onStoragePermissionDenied(requestCode) } @@ -200,7 +200,7 @@ class SimpleStorage private constructor(private val wrapper: ComponentWrapper) { intent.type = filterMimeTypes.firstOrNull() ?: MimeType.UNKNOWN } if (!wrapper.startActivityForResult(intent, requestCode)) - filePickerCallback?.onActivityHandlerNotFound(intent) + filePickerCallback?.onActivityHandlerNotFound(requestCode, intent) } else { filePickerCallback?.onStoragePermissionDenied(requestCode, null) } @@ -254,7 +254,7 @@ class SimpleStorage private constructor(private val wrapper: ComponentWrapper) { @Suppress("DEPRECATION") sm.storageVolumes.firstOrNull { it.isRemovable }?.createAccessIntent(null)?.let { if (!wrapper.startActivityForResult(it, requestCode)) { - storageAccessCallback?.onActivityHandlerNotFound(it) + storageAccessCallback?.onActivityHandlerNotFound(requestCode, it) } return } diff --git a/storage/src/main/java/com/anggrayudi/storage/SimpleStorageHelper.kt b/storage/src/main/java/com/anggrayudi/storage/SimpleStorageHelper.kt index 0cecbf7..4a6575a 100644 --- a/storage/src/main/java/com/anggrayudi/storage/SimpleStorageHelper.kt +++ b/storage/src/main/java/com/anggrayudi/storage/SimpleStorageHelper.kt @@ -116,7 +116,7 @@ class SimpleStorageHelper { reset() } - override fun onActivityHandlerNotFound(intent: Intent) { + override fun onActivityHandlerNotFound(requestCode: Int, intent: Intent) { handleMissingActivityHandler() } } @@ -149,7 +149,7 @@ class SimpleStorageHelper { reset() } - override fun onActivityHandlerNotFound(intent: Intent) { + override fun onActivityHandlerNotFound(requestCode: Int, intent: Intent) { handleMissingActivityHandler() } } @@ -168,7 +168,7 @@ class SimpleStorageHelper { reset() } - override fun onActivityHandlerNotFound(intent: Intent) { + override fun onActivityHandlerNotFound(requestCode: Int, intent: Intent) { handleMissingActivityHandler() } } diff --git a/storage/src/main/java/com/anggrayudi/storage/callback/FilePickerCallback.kt b/storage/src/main/java/com/anggrayudi/storage/callback/FilePickerCallback.kt index bb1bed9..ea3cc13 100644 --- a/storage/src/main/java/com/anggrayudi/storage/callback/FilePickerCallback.kt +++ b/storage/src/main/java/com/anggrayudi/storage/callback/FilePickerCallback.kt @@ -13,7 +13,7 @@ interface FilePickerCallback { // default implementation } - fun onActivityHandlerNotFound(intent: Intent) { + fun onActivityHandlerNotFound(requestCode: Int, intent: Intent) { // default implementation } diff --git a/storage/src/main/java/com/anggrayudi/storage/callback/FolderPickerCallback.kt b/storage/src/main/java/com/anggrayudi/storage/callback/FolderPickerCallback.kt index 8522a29..fd81cd5 100644 --- a/storage/src/main/java/com/anggrayudi/storage/callback/FolderPickerCallback.kt +++ b/storage/src/main/java/com/anggrayudi/storage/callback/FolderPickerCallback.kt @@ -15,7 +15,7 @@ interface FolderPickerCallback { // default implementation } - fun onActivityHandlerNotFound(intent: Intent) { + fun onActivityHandlerNotFound(requestCode: Int, intent: Intent) { // default implementation } diff --git a/storage/src/main/java/com/anggrayudi/storage/callback/StorageAccessCallback.kt b/storage/src/main/java/com/anggrayudi/storage/callback/StorageAccessCallback.kt index 2d47184..0200c67 100644 --- a/storage/src/main/java/com/anggrayudi/storage/callback/StorageAccessCallback.kt +++ b/storage/src/main/java/com/anggrayudi/storage/callback/StorageAccessCallback.kt @@ -15,7 +15,7 @@ interface StorageAccessCallback { // default implementation } - fun onActivityHandlerNotFound(intent: Intent) { + fun onActivityHandlerNotFound(requestCode: Int, intent: Intent) { // default implementation }