From 259512005923831d1221bd49568751bf519dc020 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期三, 18 九月 2019 23:18:10 +0800
Subject: [PATCH] 1. 修复保存obd 信息体方法未被调用的问题

---
 src/main/kotlin/com/flightfeather/obd/socket/MessageManager.kt |   18 +++++++++++++++++-
 1 files changed, 17 insertions(+), 1 deletions(-)

diff --git a/src/main/kotlin/com/flightfeather/obd/socket/MessageManager.kt b/src/main/kotlin/com/flightfeather/obd/socket/MessageManager.kt
index e413f7d..e57d960 100644
--- a/src/main/kotlin/com/flightfeather/obd/socket/MessageManager.kt
+++ b/src/main/kotlin/com/flightfeather/obd/socket/MessageManager.kt
@@ -2,7 +2,10 @@
 
 import com.flightfeather.obd.common.utils.FileUtil
 import com.flightfeather.obd.repository.*
+import com.flightfeather.obd.socket.bean.EngineDataStream
+import com.flightfeather.obd.socket.bean.ObdInfo
 import com.flightfeather.obd.socket.bean.ObdPackageData
+import com.flightfeather.obd.socket.bean.SupplementDataStream
 import com.flightfeather.obd.socket.decoder.VehicleDataDecoder
 import com.flightfeather.obd.socket.decoder.impl.DataPackageDecoderImpl
 import com.flightfeather.obd.socket.eunm.ObdCommandUnit
@@ -84,7 +87,20 @@
         when (packageData.commandUnit) {
             ObdCommandUnit.CarRegister.value -> instance.carLoginRepository.saveCarLogin(packageData)
             ObdCommandUnit.RealTimeData.value,
-            ObdCommandUnit.ReplacementData.value -> instance.dataStreamRepository.saveDataStream(packageData)
+            ObdCommandUnit.ReplacementData.value -> {
+                var done = false
+                for (i in 0 until packageData.dataUnit.size) {
+                    when (packageData.dataUnit[i]) {
+                        is ObdInfo -> instance.obdInfoRepository.saveObdInfo(packageData)
+                        is EngineDataStream,
+                        is SupplementDataStream -> {
+                            instance.dataStreamRepository.saveDataStream(packageData)
+                            done = true
+                        }
+                    }
+                    if (done) break
+                }
+            }
             ObdCommandUnit.CarLogOut.value-> instance.carLogoutRepository.saveCarLogout(packageData)
         }
     }

--
Gitblit v1.9.3