27 lines
1.0 KiB
Kotlin
27 lines
1.0 KiB
Kotlin
/*
|
|
* SPDX-License-Identifier: MPL-2.0
|
|
* Copyright © 2023 Skyline Team and Contributors (https://github.com/skyline-emu/)
|
|
*/
|
|
|
|
package emu.skyline.utils
|
|
|
|
import android.content.Intent
|
|
import android.os.Build
|
|
import android.os.Bundle
|
|
import android.os.Parcelable
|
|
|
|
inline fun <reified T : Parcelable> Bundle.parcelable(key: String): T? = when {
|
|
Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU -> getParcelable(key, T::class.java)
|
|
else -> @Suppress("DEPRECATION") getParcelable(key) as? T
|
|
}
|
|
|
|
inline fun <reified T : Parcelable> Intent.parcelable(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.parcelableArrayList(key: String): ArrayList<T>? = when {
|
|
Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU -> getParcelableArrayListExtra(key, T::class.java)
|
|
else -> @Suppress("DEPRECATION") getParcelableArrayListExtra(key)
|
|
}
|