From 4383b3ed03cb5db196e9b0d39405ff1913ffbef3 Mon Sep 17 00:00:00 2001 From: "Alinson S. Xavier" Date: Sat, 11 Apr 2026 19:22:35 -0500 Subject: [PATCH] Support content URIs in showSendFileScreen --- .../java/org/isoron/uhabits/utils/ViewExtensions.kt | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/uhabits-android/src/main/java/org/isoron/uhabits/utils/ViewExtensions.kt b/uhabits-android/src/main/java/org/isoron/uhabits/utils/ViewExtensions.kt index 91d349fb..dfc1ef79 100644 --- a/uhabits-android/src/main/java/org/isoron/uhabits/utils/ViewExtensions.kt +++ b/uhabits-android/src/main/java/org/isoron/uhabits/utils/ViewExtensions.kt @@ -28,6 +28,7 @@ import android.graphics.Color import android.graphics.Paint import android.graphics.PointF import android.graphics.drawable.ColorDrawable +import android.net.Uri import android.os.Handler import android.os.SystemClock import android.view.LayoutInflater @@ -118,8 +119,13 @@ fun Activity.showMessage(msg: String) { } fun Activity.showSendFileScreen(archiveFilename: String) { - val file = File(archiveFilename) - val fileUri = FileProvider.getUriForFile(this, "org.isoron.uhabits", file) + val uri = Uri.parse(archiveFilename) + val fileUri = if (uri.scheme == "content") { + uri + } else { + val file = if (uri.scheme == "file") File(uri.path!!) else File(archiveFilename) + FileProvider.getUriForFile(this, "org.isoron.uhabits", file) + } this.startActivitySafely( Intent().apply { action = Intent.ACTION_SEND