Fixed single file picking issue when returned in a clipdata
This commit is contained in:
parent
f6bb1ab066
commit
c8ebeaa66d
1 changed files with 12 additions and 4 deletions
|
@ -75,7 +75,7 @@ class ImageUtils {
|
||||||
var imageFilePath: String? = null
|
var imageFilePath: String? = null
|
||||||
if (data != null) {
|
if (data != null) {
|
||||||
val clipData = data.clipData
|
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")
|
Log.i("[Image Utils] Found ${clipData.itemCount} elements")
|
||||||
val list = arrayListOf<String>()
|
val list = arrayListOf<String>()
|
||||||
for (i in 0 until clipData.itemCount) {
|
for (i in 0 until clipData.itemCount) {
|
||||||
|
@ -89,7 +89,11 @@ class ImageUtils {
|
||||||
}
|
}
|
||||||
return list
|
return list
|
||||||
} else { // Single selection
|
} 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) {
|
if (dataUri != null) {
|
||||||
imageFilePath = dataUri.toString()
|
imageFilePath = dataUri.toString()
|
||||||
Log.i("[Image Utils] Using data URI $imageFilePath")
|
Log.i("[Image Utils] Using data URI $imageFilePath")
|
||||||
|
@ -113,10 +117,14 @@ class ImageUtils {
|
||||||
var imageFilePath: String? = null
|
var imageFilePath: String? = null
|
||||||
if (data != null) {
|
if (data != null) {
|
||||||
val clipData = data.clipData
|
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}")
|
Log.e("[Image Utils] Expecting only one file, got ${clipData.itemCount}")
|
||||||
} else { // Single selection
|
} 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) {
|
if (dataUri != null) {
|
||||||
imageFilePath = dataUri.toString()
|
imageFilePath = dataUri.toString()
|
||||||
Log.i("[Image Utils] Using data URI $imageFilePath")
|
Log.i("[Image Utils] Using data URI $imageFilePath")
|
||||||
|
|
Loading…
Reference in a new issue