Skip to content

Commit 6eaf36a

Browse files
authored
Fixed weight serialization (#172)
Signed-off-by: Arnau Mora Gras <[email protected]>
1 parent ad8b618 commit 6eaf36a

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

src/main/kotlin/database/serialization/SectorSerializer.kt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ object SectorSerializer : KSerializer<Sector> {
3232
element<String>("image")
3333
element<String?>("gpx")
3434
element<String>("point")
35+
element<String>("weight")
3536
element<Int>("zone_id")
3637
element<List<Path>?>("paths")
3738
}
@@ -49,6 +50,7 @@ object SectorSerializer : KSerializer<Sector> {
4950
encodeStringElement(descriptor, idx++, value.image.toRelativeString(Storage.ImagesDir))
5051
encodeNullableSerializableElement(descriptor, idx++, String.serializer(), value.gpx?.toRelativeString(Storage.TracksDir))
5152
encodeNullableSerializableElement(descriptor, idx++, LatLng.serializer(), value.point)
53+
encodeStringElement(descriptor, idx++, value.weight)
5254
encodeIntElement(descriptor, idx++, value.zone.id.value)
5355
encodeNullableSerializableElement(descriptor, idx++, ListSerializer(Path.serializer()), value.paths)
5456
}
@@ -65,6 +67,7 @@ object SectorSerializer : KSerializer<Sector> {
6567
var image = ""
6668
var gpx: String? = null
6769
var point: LatLng? = null
70+
var weight: String = ""
6871
var zoneId = 0
6972

7073
decoder.decodeStructure(descriptor) {
@@ -79,8 +82,9 @@ object SectorSerializer : KSerializer<Sector> {
7982
6 -> image = decodeStringElement(descriptor, index)
8083
7 -> gpx = decodeNullableSerializableElement(descriptor, index, String.serializer())
8184
8 -> point = decodeNullableSerializableElement(descriptor, index, LatLng.serializer())
82-
9 -> zoneId = decodeIntElement(descriptor, index)
83-
10 -> break // Ignore paths
85+
9 -> weight = decodeStringElement(descriptor, index)
86+
10 -> zoneId = decodeIntElement(descriptor, index)
87+
11 -> break // Ignore paths
8488
CompositeDecoder.DECODE_DONE -> break
8589
else -> error("Unexpected index: $index")
8690
}
@@ -97,6 +101,7 @@ object SectorSerializer : KSerializer<Sector> {
97101
this.image = Storage.ImagesDir.resolve(image)
98102
this.gpx = gpx?.let { Storage.TracksDir.resolve(it) }
99103
this.point = point
104+
this.weight = weight
100105
this.zone = Zone[zoneId]
101106
// Note: "paths" is never initialized here, it's not intended to ever decode the list of paths
102107
return this

0 commit comments

Comments
 (0)