From 25d0f31f22f77a914a50bbc088902e00e28c4889 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期三, 15 七月 2020 11:10:42 +0800
Subject: [PATCH] 根据新的多参数传输协议,修改解析规则

---
 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