From eef45309be5266a42d5745f8322fe63024375875 Mon Sep 17 00:00:00 2001 From: Benoit Marty Date: Thu, 6 Jun 2024 09:56:36 +0200 Subject: [PATCH] Use functions from IntentCompat --- .../android/features/share/impl/ShareIntentHandler.kt | 10 +++++----- .../android/libraries/androidutils/compat/Compat.kt | 11 ----------- 2 files changed, 5 insertions(+), 16 deletions(-) diff --git a/features/share/impl/src/main/kotlin/io/element/android/features/share/impl/ShareIntentHandler.kt b/features/share/impl/src/main/kotlin/io/element/android/features/share/impl/ShareIntentHandler.kt index aeeec7abf8..9eaaf2b8f6 100644 --- a/features/share/impl/src/main/kotlin/io/element/android/features/share/impl/ShareIntentHandler.kt +++ b/features/share/impl/src/main/kotlin/io/element/android/features/share/impl/ShareIntentHandler.kt @@ -23,9 +23,8 @@ import android.content.pm.PackageManager import android.content.pm.ResolveInfo import android.net.Uri import android.os.Build +import androidx.core.content.IntentCompat import com.squareup.anvil.annotations.ContributesBinding -import io.element.android.libraries.androidutils.compat.getParcelableArrayListExtraCompat -import io.element.android.libraries.androidutils.compat.getParcelableExtraCompat import io.element.android.libraries.androidutils.compat.queryIntentActivitiesCompat import io.element.android.libraries.core.mimetype.MimeTypes import io.element.android.libraries.core.mimetype.MimeTypes.isMimeTypeAny @@ -102,10 +101,11 @@ class DefaultShareIntentHandler @Inject constructor( private fun getIncomingUris(intent: Intent, type: String): List { val uriList = mutableListOf() if (intent.action == Intent.ACTION_SEND) { - intent.getParcelableExtraCompat(Intent.EXTRA_STREAM)?.let { uriList.add(it) } + IntentCompat.getParcelableExtra(intent, Intent.EXTRA_STREAM, Uri::class.java) + ?.let { uriList.add(it) } } else if (intent.action == Intent.ACTION_SEND_MULTIPLE) { - val extraUriList: List? = intent.getParcelableArrayListExtraCompat(Intent.EXTRA_STREAM) - extraUriList?.let { uriList.addAll(it) } + IntentCompat.getParcelableArrayListExtra(intent, Intent.EXTRA_STREAM, Uri::class.java) + ?.let { uriList.addAll(it) } } val resInfoList: List = context.packageManager.queryIntentActivitiesCompat(intent, PackageManager.MATCH_DEFAULT_ONLY) uriList.forEach { uri -> diff --git a/libraries/androidutils/src/main/kotlin/io/element/android/libraries/androidutils/compat/Compat.kt b/libraries/androidutils/src/main/kotlin/io/element/android/libraries/androidutils/compat/Compat.kt index 2bc5380156..7fe91eb2e9 100644 --- a/libraries/androidutils/src/main/kotlin/io/element/android/libraries/androidutils/compat/Compat.kt +++ b/libraries/androidutils/src/main/kotlin/io/element/android/libraries/androidutils/compat/Compat.kt @@ -21,17 +21,6 @@ import android.content.pm.ApplicationInfo import android.content.pm.PackageManager import android.content.pm.ResolveInfo import android.os.Build -import android.os.Parcelable - -inline fun Intent.getParcelableExtraCompat(key: String): T? = when { - Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU -> getParcelableExtra(key, T::class.java) - else -> @Suppress("DEPRECATION") getParcelableExtra(key) as? T? -} - -inline fun Intent.getParcelableArrayListExtraCompat(key: String): ArrayList? = when { - Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU -> getParcelableArrayListExtra(key, T::class.java) - else -> @Suppress("DEPRECATION") getParcelableArrayListExtra(key) -} fun PackageManager.queryIntentActivitiesCompat(data: Intent, flags: Int): List { return when {