Browse Source

提交人:jtm
提交内容:优化

江天明 1 year ago
parent
commit
3e6f1d4ec5

+ 101 - 91
BusinessStep/src/main/java/com/develop/step/ui/cook_step/CookStepActivity.kt

@@ -81,6 +81,11 @@ class CookStepActivity : CookStepBaseActivity() {
     private var titleName = ""
     private var currModes = ""
 
+    private var currentTemp = 0
+    private var currentMotorGer = 0
+    private var currentWaterGear = 0
+    private var currTime = 0
+
 
     private fun turnDevModeUI() {
 
@@ -137,6 +142,7 @@ class CookStepActivity : CookStepBaseActivity() {
                         val totalTime = second + (minute + hours * 60) * 60
                         viewModel.displayStep()?.uiData?.targetTime = totalTime
                         binding.controller.tvCookingTimeTarget.updateText("--${time}--")
+                        currTime = totalTime
                         CofarSDK.cfgTime(totalTime)
                     }
                 }
@@ -487,7 +493,10 @@ class CookStepActivity : CookStepBaseActivity() {
                         binding.llStepFinish.setGone()
                     }
                     it.uiData.applyRecipeSetting(it.source)
-
+                    currentTemp = it.uiData.targetTemp
+                    currentMotorGer = it.uiData.currentSpeed
+                    currentWaterGear = it.uiData.currentWaterGear
+                    currTime = it.uiData.targetTime
                     if (!it.isWeightMode() && !it.isDescription()) {
                         //设置初始参数
                         CofarSDK.cfgMotorGear(0)
@@ -613,6 +622,11 @@ class CookStepActivity : CookStepBaseActivity() {
             }
         } else if (tag == BUTTON_TAG_CANCEL) {
             CofarSDK.cancel()
+            val uiData = viewModel.displayStep()?.uiData
+            currTime = uiData?.targetTime ?: 0
+            currentMotorGer = uiData?.currentSpeed ?: 0
+            currentWaterGear = uiData?.currentWaterGear ?: 0
+            currentTemp = uiData?.targetTemp ?: 0
             binding.controller.btnStart.setGone()
             binding.controller.btnReset.setGone()
         } else if (tag == BUTTON_TAG_NEXT_STEP) {
@@ -635,6 +649,7 @@ class CookStepActivity : CookStepBaseActivity() {
     }
 
     override fun onUserChangeTemp(value: Int) {
+        currentTemp = value
         val v = FoodSdkUtils.parseTemp(value.toShort())
         viewModel.displayStep()?.uiData?.targetTemp = v.toInt()
         LogUtils.d("保存的目标温度:${v.toInt()}")
@@ -645,6 +660,7 @@ class CookStepActivity : CookStepBaseActivity() {
     }
 
     override fun onUserChangeSpeed(value: Int) {
+        currentMotorGer = value
         viewModel.displayStep()?.uiData?.currentSpeed = value
         binding.controller.tvSetSpeed.updateText(value.toString())
         binding.controller.tvSpeedText.updateText(value.toString())
@@ -653,6 +669,7 @@ class CookStepActivity : CookStepBaseActivity() {
     }
 
     override fun onUserWaterGear(value: Int) {
+        currentWaterGear = value
         CofarSDK.cfgWaterBear(value);
         binding.controller.waterSprayShow.updateGear(value)                               // 圆环设置-当前运行速度
         binding.controller.clCookWater.binding.waterSprayShow.updateGear(value)
@@ -833,81 +850,74 @@ class CookStepActivity : CookStepBaseActivity() {
                     LogUtils.d("========")
                     return
                 }
-                var temp = it.targetTemp
-                if (it.targetTempBuffer != -1) {
-                    temp = it.targetTempBuffer
-                }
-                LogUtils.d("调节前温度:${temp}")
+                LogUtils.d("调节前温度:${currentTemp}")
                 if (increase) {
-                    temp += CofarSDK.getTempInterval()
-                    if (temp > it.limitMaxTemp) {
-                        temp = it.limitMaxTemp
+                    currentTemp += CofarSDK.getTempInterval()
+                    if (currentTemp > it.limitMaxTemp) {
+                        currentTemp = it.limitMaxTemp
+                    }
+                    if (currentTemp < 35) {
+                        currentTemp = 35
                     }
                 } else {
-                    temp -= CofarSDK.getTempInterval()
-                    if (temp < it.limitMinTemp) {
-                        temp = it.limitMinTemp
+                    currentTemp -= CofarSDK.getTempInterval()
+                    if (currentTemp < it.limitMinTemp) {
+                        currentTemp = it.limitMinTemp
                     }
 
-                    if (temp < 35) {
-                        temp = 0
+                    if (currentTemp < 35) {
+                        currentTemp = 0
                     }
 
                 }
                 viewModel.stepUiData.doingModify = true
-                binding.controller.tempRingView.updateProgress(temp)
-                LogUtils.d("调节后温度:${temp}")
-                onUserChangeTemp(temp)
+                binding.controller.tempRingView.updateProgress(currentTemp)
+                LogUtils.d("调节后温度:${currentTemp}")
+                onUserChangeTemp(currentTemp)
             }
         } else if (tabType == CookSettingType.SPEED_SETTING) {
             cookStep?.uiData?.let {
                 if (!it.isMotorGearChange) {
                     return
                 }
-                var speed = it.currentSpeed
-                if (it.motorGearBuffer != -1) {
-                    speed = it.motorGearBuffer
-                }
-                LogUtils.d("调节前转速:${speed}")
+
+                LogUtils.d("调节前转速:${currentMotorGer}")
                 if (increase) {
-                    speed++
-                    if (speed > it.limitMaxSpeed) {
-                        speed = it.limitMaxSpeed
+                    currentMotorGer++
+                    if (currentMotorGer > it.limitMaxSpeed) {
+                        currentMotorGer = it.limitMaxSpeed
                     }
                 } else {
-                    speed--
-                    if (speed < it.limitMinSpeed) {
-                        speed = it.limitMinSpeed
+                    currentMotorGer--
+                    if (currentMotorGer < it.limitMinSpeed) {
+                        currentMotorGer = it.limitMinSpeed
                     }
                 }
                 viewModel.stepUiData.doingModify = true
-                binding.controller.speedRingView.updateProgress(speed)
-                LogUtils.d("调节后转速:${speed}")
-                onUserChangeSpeed(speed)
+                binding.controller.speedRingView.updateProgress(currentMotorGer)
+                LogUtils.d("调节后转速:${currentMotorGer}")
+                onUserChangeSpeed(currentMotorGer)
             }
         } else if (tabType == CookSettingType.WATER_SPRY) {
             cookStep?.uiData?.let {
                 if (!it.isWaterGearChange) {
                     return
                 }
-                var waterGear = it.currentWaterGear
-                if (it.waterGearBuffer != -1) {
-                    waterGear = it.waterGearBuffer
-                }
+
                 if (increase) {
-                    waterGear++
-                    if (waterGear > it.limitMaxWaterGear) {
-                        waterGear = it.limitMaxWaterGear
+                    currentWaterGear++
+                    if (currentWaterGear > it.limitMaxWaterGear) {
+                        currentWaterGear = it.limitMaxWaterGear
                     }
                 } else {
-                    waterGear--
-                    if (waterGear < it.limitMinWaterGear) {
-                        waterGear = it.limitMinWaterGear
+                    currentWaterGear--
+                    if (currentWaterGear < it.limitMinWaterGear) {
+                        currentWaterGear = it.limitMinWaterGear
                     }
                 }
                 viewModel.stepUiData.doingModify = true
-                binding.controller.waterRingView.updateProgress(waterGear)
-                onUserWaterGear(waterGear)
+                binding.controller.waterRingView.updateProgress(currentWaterGear)
+                onUserWaterGear(currentWaterGear)
             }
         } else if (tabType == CookSettingType.TIME_SETTING) {
             cookStep?.uiData?.let {
@@ -929,13 +939,13 @@ class CookStepActivity : CookStepBaseActivity() {
 
     private fun dealWithTimeByOperation(uiData: CookStepUiData, increase: Boolean) {
         //当前调节时间
-        var targetTime = uiData.targetTime
-        if (uiData.remainTime != 0) {
-            targetTime = uiData.remainTime
-        }
-        if (uiData.targetTimeBuffer != -1) {
-            targetTime = uiData.targetTimeBuffer
-        }
+//        var targetTime = uiData.targetTime
+//        if (uiData.remainTime != 0) {
+//            targetTime = uiData.remainTime
+//        }
+//        if (uiData.targetTimeBuffer != -1) {
+//            targetTime = uiData.targetTimeBuffer
+//        }
         var step = 0
         if (whereIndex == 1) {
             step += 60
@@ -943,19 +953,19 @@ class CookStepActivity : CookStepBaseActivity() {
             step = rotateStep()
         }
         if (increase) {
-            targetTime += step
+            currTime += step
         } else {
-            targetTime -= step
+            currTime -= step
         }
-        if (targetTime > uiData.limitMaxTime) {
-            targetTime = uiData.limitMaxTime
+        if (currTime > uiData.limitMaxTime) {
+            currTime = uiData.limitMaxTime
         }
-        if (targetTime < uiData.limitMinTime) {
-            targetTime = uiData.limitMinTime
+        if (currTime < uiData.limitMinTime) {
+            currTime = uiData.limitMinTime
         }
-        val sec = targetTime % 60
-        val min = ((targetTime / 60) % 60)
-        val hour = (targetTime / 3600)
+        val sec = currTime % 60
+        val min = ((currTime / 60) % 60)
+        val hour = (currTime / 3600)
         var time = ""
         if (hour > 0) {
             time += if (hour < 10) {
@@ -983,12 +993,13 @@ class CookStepActivity : CookStepBaseActivity() {
             }
         }
         uiData.isTimeChange = true
-        Log.d("eeeeeee", "${uiData.targetTime} == ${targetTime} === $step")
-        uiData.targetTime = targetTime
-        LogUtils.d("调节时间:${targetTime}")
+        Log.d("eeeeeee", "${uiData.targetTime} == ${currTime} === $step")
+        uiData.targetTime = currTime
+        LogUtils.d("调节时间:${currTime}")
         binding.controller.clSetTime.isTimeCanChange(true)
         // 回调到上面那个地方来设置时间
-        TimeUtil.getTimes(targetTime, timeArray)
+        TimeUtil.getTimes(currTime, timeArray)
+        CofarSDK.cfgTime(currTime)
         binding.controller.clSetTime.setTimeInternal(
             timeArray[0],
             timeArray[1],
@@ -1201,48 +1212,47 @@ class CookStepActivity : CookStepBaseActivity() {
         }
 
         // 时间设置
-        if (runningState == DevStatus.STOP.toInt()) {
-            TimeUtil.getTimes(uiData.targetTime, timeArray)
+        val time = if (uiData.targetTimeBuffer != -1) {
+            uiData.targetTimeBuffer
         } else {
-            TimeUtil.getTimes(uiData.remainTime, timeArray)
-        }
-        if (!viewModel.stepUiData.doingModify || focusUpdate) {
-            binding.controller.clSetTime.setTimeInternal(
-                timeArray[0],
-                timeArray[1],
-                timeArray[2],
-                true
-            ) // 表盘时间设置-当前剩余时间
-            TimeUtil.getTimes(uiData.targetTime, timeArray)
-            binding.controller.tvCookingTimeTarget.updateText("--${TimeUtil.formatTime(timeArray)}--") // 下面的TAB-目标运行时间
+            uiData.targetTime
         }
+        TimeUtil.getTimes(time, timeArray)
+        binding.controller.clSetTime.setTimeInternal(
+            timeArray[0],
+            timeArray[1],
+            timeArray[2],
+            true
+        ) // 表盘时间设置-当前剩余时间
+        TimeUtil.getTimes(time, timeArray)
+        binding.controller.tvCookingTimeTarget.updateText("--${TimeUtil.formatTime(timeArray)}--") // 下面的TAB-目标运行时间
+
         TimeUtil.getTimes(uiData.remainTime, timeArray)
         binding.controller.tvSetTime.updateText(TimeUtil.formatTime(timeArray))                            // 下面的TAB-当前剩余时间
 
         // 温度
-        val showTemp = if (uiData.targetTempBuffer != -1) {
-            uiData.targetTempBuffer
-        } else {
-            uiData.targetTemp
-        }
-        if (!viewModel.stepUiData.doingModify || focusUpdate) {
-            binding.controller.tvCookingTempTarget.updateText("--${showTemp}°C--")            // 下面的TAB-目标运行温度
-            binding.controller.tempRingView.updateProgress(showTemp)                                 // 圆环设置-当前运行温度
-            binding.controller.tvRingTempText.updateText("${showTemp}°C")                     // 圆环内的数字-当前运行温度
-        }
+//        val showTemp = if (uiData.targetTempBuffer != -1) {
+//            uiData.targetTempBuffer
+//        } else {
+//            uiData.targetTemp
+//        }
+        binding.controller.tvCookingTempTarget.updateText("--${FoodSdkUtils.parseTemp(currentTemp.toShort())}°C--")            // 下面的TAB-目标运行温度
+        binding.controller.tempRingView.updateProgress(
+            FoodSdkUtils.parseTemp(currentTemp.toShort()).toInt()
+        )                                 // 圆环设置-当前运行温度
+        binding.controller.tvRingTempText.updateText("${FoodSdkUtils.parseTemp(currentTemp.toShort())}°C")                     // 圆环内的数字-当前运行温度
         binding.controller.tvTempValue.updateText("${uiData.currentTemp}°C")                       // 下面的TAB-当前运行温度
 
         // 速度设置
+
         val speed = if (uiData.motorGearBuffer != -1) {
             uiData.motorGearBuffer
         } else {
             uiData.currentSpeed
         }
-        if (!viewModel.stepUiData.doingModify || focusUpdate) {
-            binding.controller.speedRingView.updateProgress(speed)                               // 圆环设置-当前运行速度
-            binding.controller.tvSpeedText.updateText(speed.toString())                          // 圆环内的数字-当前运行速度
-            binding.controller.tvSetSpeed.updateText(speed.toString())                           // 下面的TAB-当前运行速度
-        }
+        binding.controller.speedRingView.updateProgress(currentMotorGer)                               // 圆环设置-当前运行速度
+        binding.controller.tvSpeedText.updateText(currentMotorGer.toString())                          // 圆环内的数字-当前运行速度
+        binding.controller.tvSetSpeed.updateText(currentMotorGer.toString())                           // 下面的TAB-当前运行速度
 
         // 喷水设置
         if (!viewModel.stepUiData.doingModify || focusUpdate) {