From 09f411e381f885619b32e05fc89cad26bb20824d Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期一, 01 三月 2021 14:27:56 +0800 Subject: [PATCH] Merge remote-tracking branch 'obdserver2/master' --- src/main/kotlin/com/flightfeather/uav/socket/decoder/AirDataDecoder.kt | 27 +++++++++++++++++++++++---- 1 files changed, 23 insertions(+), 4 deletions(-) diff --git a/src/main/kotlin/com/flightfeather/uav/socket/decoder/AirDataDecoder.kt b/src/main/kotlin/com/flightfeather/uav/socket/decoder/AirDataDecoder.kt index f06f127..eee55d6 100644 --- a/src/main/kotlin/com/flightfeather/uav/socket/decoder/AirDataDecoder.kt +++ b/src/main/kotlin/com/flightfeather/uav/socket/decoder/AirDataDecoder.kt @@ -1,6 +1,6 @@ package com.flightfeather.uav.socket.decoder -import com.flightfeather.uav.socket.bean.AirPackageData +import com.flightfeather.uav.socket.bean.AirDataPackage import com.flightfeather.uav.socket.decoder.impl.DataPackageDecoderImpl /** @@ -8,14 +8,33 @@ * @author riku * Date: 2019/9/12 */ -class AirDataDecoder { +class AirDataDecoder private constructor(){ + + companion object{ + + @Volatile + private var decoder: AirDataDecoder? = null + + @JvmStatic + val instance: AirDataDecoder + get() { + if (decoder == null) { + synchronized(AirDataDecoder::class) { + if (decoder == null) { + decoder = AirDataDecoder() + } + } + } + return this.decoder!! + } + } private val dataPackageDecoder: DataPackageDecoder = DataPackageDecoderImpl() - fun decode(msg: String): AirPackageData { + fun decode(msg: String): AirDataPackage { val list = dataPackageDecoder.toStringList(msg) dataPackageDecoder.run { - return AirPackageData( + return AirDataPackage( getHead(list), getCommandUnit(list), getDeviceCode(list), -- Gitblit v1.9.3