mirror of
https://github.com/meshtastic/Meshtastic-Android.git
synced 2026-04-20 22:23:37 +00:00
33 lines
956 B
Kotlin
33 lines
956 B
Kotlin
package com.geeksville.mesh.database
|
|
|
|
import androidx.room.TypeConverter
|
|
import com.geeksville.mesh.DataPacket
|
|
import com.geeksville.mesh.MeshProtos.MeshPacket
|
|
import com.google.protobuf.TextFormat
|
|
import kotlinx.serialization.json.Json
|
|
|
|
class Converters {
|
|
@TypeConverter
|
|
fun dataFromString(value: String): DataPacket {
|
|
val json = Json { isLenient = true }
|
|
return json.decodeFromString(DataPacket.serializer(), value)
|
|
}
|
|
|
|
@TypeConverter
|
|
fun dataToString(value: DataPacket): String {
|
|
val json = Json { isLenient = true }
|
|
return json.encodeToString(DataPacket.serializer(), value)
|
|
}
|
|
|
|
@TypeConverter
|
|
fun protoFromString(value: String): MeshPacket {
|
|
val builder = MeshPacket.newBuilder()
|
|
TextFormat.getParser().merge(value, builder)
|
|
return builder.build()
|
|
}
|
|
|
|
@TypeConverter
|
|
fun protoToString(value: MeshPacket): String {
|
|
return value.toString()
|
|
}
|
|
}
|