From c8ebeaa66dd25d93765b55e19fd4fced4c127a1a Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Tue, 29 Jun 2021 13:52:19 +0200 Subject: [PATCH] Fixed single file picking issue when returned in a clipdata --- .../main/java/org/linphone/utils/ImageUtils.kt | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/org/linphone/utils/ImageUtils.kt b/app/src/main/java/org/linphone/utils/ImageUtils.kt index dc0fe6bbe..9d5931c00 100644 --- a/app/src/main/java/org/linphone/utils/ImageUtils.kt +++ b/app/src/main/java/org/linphone/utils/ImageUtils.kt @@ -75,7 +75,7 @@ class ImageUtils { var imageFilePath: String? = null if (data != null) { val clipData = data.clipData - if (clipData != null) { // Multiple selection + if (clipData != null && clipData.itemCount > 1) { // Multiple selection Log.i("[Image Utils] Found ${clipData.itemCount} elements") val list = arrayListOf() for (i in 0 until clipData.itemCount) { @@ -89,7 +89,11 @@ class ImageUtils { } return list } else { // Single selection - val dataUri = data.data + val dataUri = if (clipData != null && clipData.itemCount == 1) { + clipData.getItemAt(0).uri + } else { + data.data + } if (dataUri != null) { imageFilePath = dataUri.toString() Log.i("[Image Utils] Using data URI $imageFilePath") @@ -113,10 +117,14 @@ class ImageUtils { var imageFilePath: String? = null if (data != null) { val clipData = data.clipData - if (clipData != null) { // Multiple selection + if (clipData != null && clipData.itemCount > 1) { // Multiple selection Log.e("[Image Utils] Expecting only one file, got ${clipData.itemCount}") } else { // Single selection - val dataUri = data.data + val dataUri = if (clipData != null && clipData.itemCount == 1) { + clipData.getItemAt(0).uri + } else { + data.data + } if (dataUri != null) { imageFilePath = dataUri.toString() Log.i("[Image Utils] Using data URI $imageFilePath")