@@ -7,24 +7,26 @@ package me.zhanghai.android.files.util
77
88import android.os.Parcel
99import android.os.Parcelable
10- import me.zhanghai.android.files.compat.readParcelableListCompat
1110import kotlin.contracts.ExperimentalContracts
1211import kotlin.contracts.InvocationKind
1312import kotlin.contracts.contract
13+ import me.zhanghai.android.files.app.appClassLoader
14+ import me.zhanghai.android.files.compat.readParcelableListCompat
1415
15- inline fun < reified T : Parcelable > Parcel. readParcelable (): T ? =
16- readParcelable(T :: class .java.classLoader )
16+ @Suppress( " DEPRECATION " )
17+ fun < T : Parcelable > Parcel. readParcelable (): T ? = readParcelable(appClassLoader )
1718
1819fun <T : Parcelable ?> Parcel.readParcelableListCompat (classLoader : ClassLoader ? ): List <T > =
1920 readParcelableListCompat(mutableListOf (), classLoader)
2021
21- inline fun <reified E : Parcelable ? , L : MutableList <E >> Parcel.readParcelableListCompat (
22- list : L
23- ): L = readParcelableListCompat(list, E ::class .java.classLoader)
22+ fun <E : Parcelable ?, L : MutableList <E >> Parcel.readParcelableListCompat (list : L ): L =
23+ readParcelableListCompat(list, appClassLoader)
2424
25- inline fun <reified T : Parcelable ? > Parcel.readParcelableListCompat (): List <T > =
25+ fun <T : Parcelable ?> Parcel.readParcelableListCompat (): List <T > =
2626 readParcelableListCompat(mutableListOf ())
2727
28+ @Suppress(" UNCHECKED_CAST" ) fun <T > Parcel.readValue (): T ? = readValue(appClassLoader) as T ?
29+
2830@OptIn(ExperimentalContracts ::class )
2931inline fun <R > Parcel.use (block : (Parcel ) -> R ): R {
3032 contract {
0 commit comments