From 4bc40e066395114fd50b0a5d86efa7b0bedb517c Mon Sep 17 00:00:00 2001 From: Kr328 <39107975+Kr328@users.noreply.github.com> Date: Thu, 19 Mar 2020 15:16:39 +0800 Subject: [PATCH] update dependencies --- .../github/kr328/clash/core/model/General.kt | 7 +- .../clash/core/serialization/MergedParcels.kt | 88 ++++++++++--------- .../kr328/clash/core/serialization/Parcels.kt | 88 ++++++++++--------- 3 files changed, 97 insertions(+), 86 deletions(-) diff --git a/core/src/main/java/com/github/kr328/clash/core/model/General.kt b/core/src/main/java/com/github/kr328/clash/core/model/General.kt index 333bf19..cac2ac1 100644 --- a/core/src/main/java/com/github/kr328/clash/core/model/General.kt +++ b/core/src/main/java/com/github/kr328/clash/core/model/General.kt @@ -4,7 +4,6 @@ import android.os.Parcel import android.os.Parcelable import com.github.kr328.clash.core.serialization.Parcels import kotlinx.serialization.* -import kotlinx.serialization.internal.StringDescriptor @Serializable data class General(val mode: Mode, val http: Int, val socks: Int, val redirect: Int) : Parcelable { @@ -34,7 +33,7 @@ data class General(val mode: Mode, val http: Int, val socks: Int, val redirect: class ModeSerializer : KSerializer { override val descriptor: SerialDescriptor - get() = StringDescriptor + get() = PrimitiveDescriptor("clashGeneralModeSerializer", PrimitiveKind.STRING) override fun deserialize(decoder: Decoder): Mode { return when (decoder.decodeInt()) { @@ -45,8 +44,8 @@ data class General(val mode: Mode, val http: Int, val socks: Int, val redirect: } } - override fun serialize(encoder: Encoder, obj: Mode) { - when (obj) { + override fun serialize(encoder: Encoder, value: Mode) { + when (value) { Mode.DIRECT -> encoder.encodeInt(MODE_DIRECT) Mode.GLOBAL -> encoder.encodeInt(MODE_GLOBAL) Mode.RULE -> encoder.encodeInt(MODE_RULE) diff --git a/core/src/main/java/com/github/kr328/clash/core/serialization/MergedParcels.kt b/core/src/main/java/com/github/kr328/clash/core/serialization/MergedParcels.kt index 3221d53..b50989b 100644 --- a/core/src/main/java/com/github/kr328/clash/core/serialization/MergedParcels.kt +++ b/core/src/main/java/com/github/kr328/clash/core/serialization/MergedParcels.kt @@ -5,7 +5,7 @@ import kotlinx.serialization.* import kotlinx.serialization.modules.EmptyModule import kotlinx.serialization.modules.SerialModule -object MergedParcels : AbstractSerialFormat(EmptyModule) { +object MergedParcels: SerialFormat { fun dump(serializer: SerializationStrategy, obj: T, parcel: Parcel) { val data = Parcel.obtain() val encoder = ParcelsEncoder(data) @@ -45,64 +45,63 @@ object MergedParcels : AbstractSerialFormat(EmptyModule) { get() = EmptyModule override fun beginCollection( - desc: SerialDescriptor, + descriptor: SerialDescriptor, collectionSize: Int, - vararg typeParams: KSerializer<*> + vararg typeSerializers: KSerializer<*> ): CompositeEncoder { encodeInt(collectionSize) - return super.beginCollection(desc, collectionSize, *typeParams) + return super.beginCollection(descriptor, collectionSize, *typeSerializers) } - override fun encodeBooleanElement(desc: SerialDescriptor, index: Int, value: Boolean) = + override fun encodeBooleanElement(descriptor: SerialDescriptor, index: Int, value: Boolean) = encodeBoolean(value) - override fun encodeByteElement(desc: SerialDescriptor, index: Int, value: Byte) = + override fun encodeByteElement(descriptor: SerialDescriptor, index: Int, value: Byte) = encodeByte(value) - override fun encodeCharElement(desc: SerialDescriptor, index: Int, value: Char) = + override fun encodeCharElement(descriptor: SerialDescriptor, index: Int, value: Char) = encodeChar(value) - override fun encodeDoubleElement(desc: SerialDescriptor, index: Int, value: Double) = + override fun encodeDoubleElement(descriptor: SerialDescriptor, index: Int, value: Double) = encodeDouble(value) - override fun encodeFloatElement(desc: SerialDescriptor, index: Int, value: Float) = + override fun encodeFloatElement(descriptor: SerialDescriptor, index: Int, value: Float) = encodeFloat(value) - override fun encodeIntElement(desc: SerialDescriptor, index: Int, value: Int) = + override fun encodeIntElement(descriptor: SerialDescriptor, index: Int, value: Int) = encodeInt(value) - override fun encodeLongElement(desc: SerialDescriptor, index: Int, value: Long) = + override fun encodeLongElement(descriptor: SerialDescriptor, index: Int, value: Long) = encodeLong(value) - override fun encodeShortElement(desc: SerialDescriptor, index: Int, value: Short) = + override fun encodeShortElement(descriptor: SerialDescriptor, index: Int, value: Short) = encodeShort(value) - override fun encodeStringElement(desc: SerialDescriptor, index: Int, value: String) = + override fun encodeStringElement(descriptor: SerialDescriptor, index: Int, value: String) = encodeString(value) - override fun encodeUnitElement(desc: SerialDescriptor, index: Int) = + override fun encodeUnitElement(descriptor: SerialDescriptor, index: Int) = encodeUnit() - override fun encodeNonSerializableElement(desc: SerialDescriptor, index: Int, value: Any) = - throw IllegalArgumentException("Unsupported") + override fun endStructure(descriptor: SerialDescriptor) {} override fun encodeNullableSerializableElement( - desc: SerialDescriptor, + descriptor: SerialDescriptor, index: Int, serializer: SerializationStrategy, value: T? ) = encodeNullableSerializableValue(serializer, value) override fun encodeSerializableElement( - desc: SerialDescriptor, + descriptor: SerialDescriptor, index: Int, serializer: SerializationStrategy, value: T ) = encodeSerializableValue(serializer, value) override fun beginStructure( - desc: SerialDescriptor, - vararg typeParams: KSerializer<*> + descriptor: SerialDescriptor, + vararg typeSerializers: KSerializer<*> ): CompositeEncoder = this override fun encodeBoolean(value: Boolean) = @@ -117,8 +116,8 @@ object MergedParcels : AbstractSerialFormat(EmptyModule) { override fun encodeDouble(value: Double) = parcel.writeDouble(value) - override fun encodeEnum(enumDescription: SerialDescriptor, ordinal: Int) = - parcel.writeInt(ordinal) + override fun encodeEnum(enumDescriptor: SerialDescriptor, index: Int) = + parcel.writeInt(index) override fun encodeFloat(value: Float) = parcel.writeFloat(value) @@ -155,70 +154,75 @@ object MergedParcels : AbstractSerialFormat(EmptyModule) { override val updateMode: UpdateMode get() = UpdateMode.BANNED - override fun decodeElementIndex(desc: SerialDescriptor) = - CompositeDecoder.READ_ALL + override fun decodeSequentially() = + true - override fun decodeCollectionSize(desc: SerialDescriptor) = + override fun decodeElementIndex(descriptor: SerialDescriptor) = + CompositeDecoder.UNKNOWN_NAME + + override fun decodeCollectionSize(descriptor: SerialDescriptor) = decodeInt() - override fun decodeBooleanElement(desc: SerialDescriptor, index: Int) = + override fun decodeBooleanElement(descriptor: SerialDescriptor, index: Int) = decodeBoolean() - override fun decodeByteElement(desc: SerialDescriptor, index: Int) = + override fun decodeByteElement(descriptor: SerialDescriptor, index: Int) = decodeByte() - override fun decodeCharElement(desc: SerialDescriptor, index: Int) = + override fun decodeCharElement(descriptor: SerialDescriptor, index: Int) = decodeChar() - override fun decodeDoubleElement(desc: SerialDescriptor, index: Int) = + override fun decodeDoubleElement(descriptor: SerialDescriptor, index: Int) = decodeDouble() - override fun decodeFloatElement(desc: SerialDescriptor, index: Int) = + override fun decodeFloatElement(descriptor: SerialDescriptor, index: Int) = decodeFloat() - override fun decodeIntElement(desc: SerialDescriptor, index: Int) = + override fun decodeIntElement(descriptor: SerialDescriptor, index: Int) = decodeInt() - override fun decodeShortElement(desc: SerialDescriptor, index: Int) = + override fun decodeShortElement(descriptor: SerialDescriptor, index: Int) = decodeShort() - override fun decodeLongElement(desc: SerialDescriptor, index: Int) = + override fun decodeLongElement(descriptor: SerialDescriptor, index: Int) = decodeLong() - override fun decodeStringElement(desc: SerialDescriptor, index: Int) = + override fun decodeStringElement(descriptor: SerialDescriptor, index: Int) = decodeString() - override fun decodeUnitElement(desc: SerialDescriptor, index: Int) = + override fun decodeUnitElement(descriptor: SerialDescriptor, index: Int) = decodeUnit() + override fun endStructure(descriptor: SerialDescriptor) {} + override fun decodeNullableSerializableElement( - desc: SerialDescriptor, + descriptor: SerialDescriptor, index: Int, deserializer: DeserializationStrategy ) = decodeNullableSerializableValue(deserializer) override fun decodeSerializableElement( - desc: SerialDescriptor, + descriptor: SerialDescriptor, index: Int, deserializer: DeserializationStrategy ) = decodeSerializableValue(deserializer) override fun updateNullableSerializableElement( - desc: SerialDescriptor, + descriptor: SerialDescriptor, index: Int, deserializer: DeserializationStrategy, old: T? ) = updateNullableSerializableValue(deserializer, old) override fun updateSerializableElement( - desc: SerialDescriptor, + descriptor: SerialDescriptor, index: Int, deserializer: DeserializationStrategy, old: T ) = updateSerializableValue(deserializer, old) override fun beginStructure( - desc: SerialDescriptor, + descriptor: SerialDescriptor, vararg typeParams: KSerializer<*> ): CompositeDecoder = this @@ -234,7 +238,7 @@ object MergedParcels : AbstractSerialFormat(EmptyModule) { override fun decodeDouble() = parcel.readDouble() - override fun decodeEnum(enumDescription: SerialDescriptor) = + override fun decodeEnum(enumDescriptor: SerialDescriptor) = parcel.readInt() override fun decodeFloat() = @@ -263,6 +267,8 @@ object MergedParcels : AbstractSerialFormat(EmptyModule) { } } + + override val context: SerialModule = EmptyModule } diff --git a/core/src/main/java/com/github/kr328/clash/core/serialization/Parcels.kt b/core/src/main/java/com/github/kr328/clash/core/serialization/Parcels.kt index ff9ba8a..d235f56 100644 --- a/core/src/main/java/com/github/kr328/clash/core/serialization/Parcels.kt +++ b/core/src/main/java/com/github/kr328/clash/core/serialization/Parcels.kt @@ -5,7 +5,7 @@ import kotlinx.serialization.* import kotlinx.serialization.modules.EmptyModule import kotlinx.serialization.modules.SerialModule -object Parcels : AbstractSerialFormat(EmptyModule) { +object Parcels : SerialFormat { fun dump(serializer: SerializationStrategy, obj: T, parcel: Parcel) { serializer.serialize(ParcelsEncoder(parcel), obj) } @@ -20,64 +20,63 @@ object Parcels : AbstractSerialFormat(EmptyModule) { get() = EmptyModule override fun beginCollection( - desc: SerialDescriptor, + descriptor: SerialDescriptor, collectionSize: Int, - vararg typeParams: KSerializer<*> + vararg typeSerializers: KSerializer<*> ): CompositeEncoder { encodeInt(collectionSize) - return super.beginCollection(desc, collectionSize, *typeParams) + return super.beginCollection(descriptor, collectionSize, *typeSerializers) } - override fun encodeBooleanElement(desc: SerialDescriptor, index: Int, value: Boolean) = + override fun encodeBooleanElement(descriptor: SerialDescriptor, index: Int, value: Boolean) = encodeBoolean(value) - override fun encodeByteElement(desc: SerialDescriptor, index: Int, value: Byte) = + override fun encodeByteElement(descriptor: SerialDescriptor, index: Int, value: Byte) = encodeByte(value) - override fun encodeCharElement(desc: SerialDescriptor, index: Int, value: Char) = + override fun encodeCharElement(descriptor: SerialDescriptor, index: Int, value: Char) = encodeChar(value) - override fun encodeDoubleElement(desc: SerialDescriptor, index: Int, value: Double) = + override fun encodeDoubleElement(descriptor: SerialDescriptor, index: Int, value: Double) = encodeDouble(value) - override fun encodeFloatElement(desc: SerialDescriptor, index: Int, value: Float) = + override fun encodeFloatElement(descriptor: SerialDescriptor, index: Int, value: Float) = encodeFloat(value) - override fun encodeIntElement(desc: SerialDescriptor, index: Int, value: Int) = + override fun encodeIntElement(descriptor: SerialDescriptor, index: Int, value: Int) = encodeInt(value) - override fun encodeLongElement(desc: SerialDescriptor, index: Int, value: Long) = + override fun encodeLongElement(descriptor: SerialDescriptor, index: Int, value: Long) = encodeLong(value) - override fun encodeShortElement(desc: SerialDescriptor, index: Int, value: Short) = + override fun encodeShortElement(descriptor: SerialDescriptor, index: Int, value: Short) = encodeShort(value) - override fun encodeStringElement(desc: SerialDescriptor, index: Int, value: String) = + override fun encodeStringElement(descriptor: SerialDescriptor, index: Int, value: String) = encodeString(value) - override fun encodeUnitElement(desc: SerialDescriptor, index: Int) = + override fun encodeUnitElement(descriptor: SerialDescriptor, index: Int) = encodeUnit() - override fun encodeNonSerializableElement(desc: SerialDescriptor, index: Int, value: Any) = - throw IllegalArgumentException("Unsupported") + override fun endStructure(descriptor: SerialDescriptor) {} override fun encodeNullableSerializableElement( - desc: SerialDescriptor, + descriptor: SerialDescriptor, index: Int, serializer: SerializationStrategy, value: T? ) = encodeNullableSerializableValue(serializer, value) override fun encodeSerializableElement( - desc: SerialDescriptor, + descriptor: SerialDescriptor, index: Int, serializer: SerializationStrategy, value: T ) = encodeSerializableValue(serializer, value) override fun beginStructure( - desc: SerialDescriptor, - vararg typeParams: KSerializer<*> + descriptor: SerialDescriptor, + vararg typeSerializers: KSerializer<*> ): CompositeEncoder = this override fun encodeBoolean(value: Boolean) = @@ -92,8 +91,8 @@ object Parcels : AbstractSerialFormat(EmptyModule) { override fun encodeDouble(value: Double) = parcel.writeDouble(value) - override fun encodeEnum(enumDescription: SerialDescriptor, ordinal: Int) = - parcel.writeInt(ordinal) + override fun encodeEnum(enumDescriptor: SerialDescriptor, index: Int) = + parcel.writeInt(index) override fun encodeFloat(value: Float) = parcel.writeFloat(value) @@ -125,70 +124,75 @@ object Parcels : AbstractSerialFormat(EmptyModule) { override val updateMode: UpdateMode get() = UpdateMode.BANNED - override fun decodeElementIndex(desc: SerialDescriptor) = - CompositeDecoder.READ_ALL + override fun decodeSequentially() = + true - override fun decodeCollectionSize(desc: SerialDescriptor) = + override fun decodeElementIndex(descriptor: SerialDescriptor) = + CompositeDecoder.UNKNOWN_NAME + + override fun decodeCollectionSize(descriptor: SerialDescriptor) = decodeInt() - override fun decodeBooleanElement(desc: SerialDescriptor, index: Int) = + override fun decodeBooleanElement(descriptor: SerialDescriptor, index: Int) = decodeBoolean() - override fun decodeByteElement(desc: SerialDescriptor, index: Int) = + override fun decodeByteElement(descriptor: SerialDescriptor, index: Int) = decodeByte() - override fun decodeCharElement(desc: SerialDescriptor, index: Int) = + override fun decodeCharElement(descriptor: SerialDescriptor, index: Int) = decodeChar() - override fun decodeDoubleElement(desc: SerialDescriptor, index: Int) = + override fun decodeDoubleElement(descriptor: SerialDescriptor, index: Int) = decodeDouble() - override fun decodeFloatElement(desc: SerialDescriptor, index: Int) = + override fun decodeFloatElement(descriptor: SerialDescriptor, index: Int) = decodeFloat() - override fun decodeIntElement(desc: SerialDescriptor, index: Int) = + override fun decodeIntElement(descriptor: SerialDescriptor, index: Int) = decodeInt() - override fun decodeShortElement(desc: SerialDescriptor, index: Int) = + override fun decodeShortElement(descriptor: SerialDescriptor, index: Int) = decodeShort() - override fun decodeLongElement(desc: SerialDescriptor, index: Int) = + override fun decodeLongElement(descriptor: SerialDescriptor, index: Int) = decodeLong() - override fun decodeStringElement(desc: SerialDescriptor, index: Int) = + override fun decodeStringElement(descriptor: SerialDescriptor, index: Int) = decodeString() - override fun decodeUnitElement(desc: SerialDescriptor, index: Int) = + override fun decodeUnitElement(descriptor: SerialDescriptor, index: Int) = decodeUnit() + override fun endStructure(descriptor: SerialDescriptor) {} + override fun decodeNullableSerializableElement( - desc: SerialDescriptor, + descriptor: SerialDescriptor, index: Int, deserializer: DeserializationStrategy ) = decodeNullableSerializableValue(deserializer) override fun decodeSerializableElement( - desc: SerialDescriptor, + descriptor: SerialDescriptor, index: Int, deserializer: DeserializationStrategy ) = decodeSerializableValue(deserializer) override fun updateNullableSerializableElement( - desc: SerialDescriptor, + descriptor: SerialDescriptor, index: Int, deserializer: DeserializationStrategy, old: T? ) = updateNullableSerializableValue(deserializer, old) override fun updateSerializableElement( - desc: SerialDescriptor, + descriptor: SerialDescriptor, index: Int, deserializer: DeserializationStrategy, old: T ) = updateSerializableValue(deserializer, old) override fun beginStructure( - desc: SerialDescriptor, + descriptor: SerialDescriptor, vararg typeParams: KSerializer<*> ): CompositeDecoder = this @@ -204,7 +208,7 @@ object Parcels : AbstractSerialFormat(EmptyModule) { override fun decodeDouble() = parcel.readDouble() - override fun decodeEnum(enumDescription: SerialDescriptor) = + override fun decodeEnum(enumDescriptor: SerialDescriptor) = parcel.readInt() override fun decodeFloat() = @@ -230,6 +234,8 @@ object Parcels : AbstractSerialFormat(EmptyModule) { override fun decodeUnit() {} } + + override val context: SerialModule = EmptyModule }