riku
2020-07-15 25d0f31f22f77a914a50bbc088902e00e28c4889
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),