Use functions from IntentCompat
This commit is contained in:
@@ -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<ShareIntentHandler.UriToShare> {
|
||||
val uriList = mutableListOf<Uri>()
|
||||
if (intent.action == Intent.ACTION_SEND) {
|
||||
intent.getParcelableExtraCompat<Uri>(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<Uri>? = 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<ResolveInfo> = context.packageManager.queryIntentActivitiesCompat(intent, PackageManager.MATCH_DEFAULT_ONLY)
|
||||
uriList.forEach { uri ->
|
||||
|
||||
@@ -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 <reified T> 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 <reified T : Parcelable> Intent.getParcelableArrayListExtraCompat(key: String): ArrayList<T>? = when {
|
||||
Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU -> getParcelableArrayListExtra(key, T::class.java)
|
||||
else -> @Suppress("DEPRECATION") getParcelableArrayListExtra<T>(key)
|
||||
}
|
||||
|
||||
fun PackageManager.queryIntentActivitiesCompat(data: Intent, flags: Int): List<ResolveInfo> {
|
||||
return when {
|
||||
|
||||
Reference in New Issue
Block a user