|
@@ -4,7 +4,10 @@ import android.content.ClipData
|
|
|
import android.content.Context
|
|
|
import android.content.Intent
|
|
|
import android.net.Uri
|
|
|
+import android.os.Build
|
|
|
+import android.os.Bundle
|
|
|
import eu.kanade.tachiyomi.R
|
|
|
+import java.io.Serializable
|
|
|
|
|
|
fun Uri.toShareIntent(context: Context, type: String = "image/*", message: String? = null): Intent {
|
|
|
val uri = this
|
|
@@ -21,3 +24,39 @@ fun Uri.toShareIntent(context: Context, type: String = "image/*", message: Strin
|
|
|
flags = Intent.FLAG_ACTIVITY_NEW_TASK
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+inline fun <reified T> Intent.getParcelableExtraCompat(name: String): T? {
|
|
|
+ return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
|
|
+ getParcelableExtra(name, T::class.java)
|
|
|
+ } else {
|
|
|
+ @Suppress("DEPRECATION")
|
|
|
+ getParcelableExtra(name)
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+inline fun <reified T : Serializable> Intent.getSerializableExtraCompat(name: String): T? {
|
|
|
+ return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
|
|
+ getSerializableExtra(name, T::class.java)
|
|
|
+ } else {
|
|
|
+ @Suppress("DEPRECATION")
|
|
|
+ getSerializableExtra(name) as? T
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+inline fun <reified T : Serializable> Bundle.getSerializableCompat(name: String): T? {
|
|
|
+ return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
|
|
+ getSerializable(name, T::class.java)
|
|
|
+ } else {
|
|
|
+ @Suppress("DEPRECATION")
|
|
|
+ getSerializable(name) as? T
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+inline fun <reified T> Bundle.getParcelableCompat(name: String): T? {
|
|
|
+ return if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU) {
|
|
|
+ getParcelable(name, T::class.java)
|
|
|
+ } else {
|
|
|
+ @Suppress("DEPRECATION")
|
|
|
+ getParcelable(name)
|
|
|
+ }
|
|
|
+}
|