@@ -2,7 +2,6 @@ package com.github.kr328.clash.core.model
22
33import android.os.Parcel
44import android.os.Parcelable
5- import com.github.kr328.clash.core.util.Parcelizer
65import kotlinx.serialization.Serializable
76
87@Serializable
@@ -11,16 +10,14 @@ data class Proxy(
1110 val title : String ,
1211 val subtitle : String ,
1312 val type : Type ,
14- val delay : Int ,
13+ val delay : Int = 0 // Default value if applicable
1514) : Parcelable {
16- @Suppress(" unused" )
1715 enum class Type (val group : Boolean ) {
1816 Direct (false ),
1917 Reject (false ),
2018 RejectDrop (false ),
2119 Compatible (false ),
2220 Pass (false ),
23-
2421 Shadowsocks (false ),
2522 ShadowsocksR (false ),
2623 Snell (false ),
@@ -36,32 +33,35 @@ data class Proxy(
3633 Dns (false ),
3734 Ssh (false ),
3835 Mieru (false ),
39-
40-
4136 Relay (true ),
4237 Selector (true ),
4338 Fallback (true ),
4439 URLTest (true ),
4540 LoadBalance (true ),
46-
4741 Unknown (false );
4842 }
4943
5044 override fun writeToParcel (parcel : Parcel , flags : Int ) {
51- Parcelizer .encodeToParcel(serializer(), parcel, this )
45+ parcel.writeString(name)
46+ parcel.writeString(title)
47+ parcel.writeString(subtitle)
48+ parcel.writeString(type.name)
49+ parcel.writeInt(delay)
5250 }
5351
54- override fun describeContents (): Int {
55- return 0
56- }
52+ override fun describeContents (): Int = 0
5753
5854 companion object CREATOR : Parcelable.Creator<Proxy> {
5955 override fun createFromParcel (parcel : Parcel ): Proxy {
60- return Parcelizer .decodeFromParcel(serializer(), parcel)
56+ return Proxy (
57+ name = parcel.readString()!! ,
58+ title = parcel.readString()!! ,
59+ subtitle = parcel.readString()!! ,
60+ type = Type .valueOf(parcel.readString()!! ),
61+ delay = parcel.readInt()
62+ )
6163 }
6264
63- override fun newArray (size : Int ): Array <Proxy ?> {
64- return arrayOfNulls(size)
65- }
65+ override fun newArray (size : Int ): Array <Proxy ?> = arrayOfNulls(size)
6666 }
6767}
0 commit comments