|
@@ -11,6 +11,7 @@ import androidx.core.view.isInvisible
|
|
|
import com.alibaba.android.arouter.facade.annotation.Autowired
|
|
|
import com.develop.base.ext.load
|
|
|
import com.alibaba.android.arouter.facade.annotation.Route
|
|
|
+import com.blankj.utilcode.util.LogUtils
|
|
|
import com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions
|
|
|
import com.develop.base.ext.background_drawable
|
|
|
import com.develop.base.ext.isNightTheme
|
|
@@ -18,6 +19,7 @@ import com.develop.base.ext.navigateTo
|
|
|
import com.develop.base.ext.setGone
|
|
|
import com.develop.base.ext.setVisible
|
|
|
import com.develop.base.ext.src
|
|
|
+import com.develop.base.ext.toJson
|
|
|
import com.develop.base.ext.updateText
|
|
|
import com.develop.base.util.MusicBackPlayerUtil
|
|
|
import com.develop.base.util.ThreadUtils
|
|
@@ -48,6 +50,8 @@ import com.kuyuntech.cofarcooking.device.sdk.constant.core.*
|
|
|
import com.kuyuntech.cofarcooking.device.sdk.eventbus.core.DevInfo
|
|
|
import com.kuyuntech.cofarcooking.device.sdk.eventbus.event.DevCommonEvent
|
|
|
import com.kuyuntech.cofarcooking.device.sdk.util.core.CofarSDK
|
|
|
+import kotlinx.serialization.encodeToString
|
|
|
+import kotlinx.serialization.json.Json
|
|
|
import org.greenrobot.eventbus.EventBus
|
|
|
import org.greenrobot.eventbus.Subscribe
|
|
|
import java.io.File
|
|
@@ -77,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() {
|
|
|
|
|
@@ -133,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)
|
|
|
}
|
|
|
}
|
|
@@ -483,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)
|
|
@@ -609,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) {
|
|
@@ -631,8 +649,10 @@ 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()}")
|
|
|
binding.controller.tvCookingTempTarget.updateText("--${v}°C--")
|
|
|
binding.controller.tvRingTempText.updateText("${v}°C")
|
|
|
CofarSDK.cfgHeat(value.toShort(), HeatModes.PU_TONG)
|
|
@@ -640,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())
|
|
@@ -648,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)
|
|
@@ -686,9 +708,13 @@ class CookStepActivity : CookStepBaseActivity() {
|
|
|
it.uiData.currentTemp = FoodSdkUtils.parseTemp(devInfo.temp).toInt()
|
|
|
it.uiData.remainTime = devInfo.remainTime
|
|
|
it.uiData.targetTimeBuffer = devInfo.targetTimeBuffer
|
|
|
+ it.uiData.targetTempBuffer = devInfo.targetTempBuffer.toInt()
|
|
|
it.uiData.isTimeChange = devInfo.mode.isTimeChange
|
|
|
it.uiData.isTempChange = devInfo.mode.isTempChange
|
|
|
it.uiData.isMotorDirectionChange = devInfo.mode.isMotorDirectionChange
|
|
|
+ it.uiData.motorGearBuffer = devInfo.motorGearBuffer.toInt()
|
|
|
+ it.uiData.motorDirectionBuffer = devInfo.motorDirectionBuffer.toInt()
|
|
|
+ it.uiData.waterGearBuffer = devInfo.waterGearBuffer.toInt()
|
|
|
it.uiData.isMotorGearChange = devInfo.mode.isMotorGearChange
|
|
|
it.uiData.limitMaxSpeed = devInfo.mode.maxMotorGear
|
|
|
it.uiData.limitMinSpeed = devInfo.mode.minMotorGear
|
|
@@ -821,67 +847,77 @@ class CookStepActivity : CookStepBaseActivity() {
|
|
|
if (tabType == CookSettingType.TEMP_SETTING) {
|
|
|
cookStep?.uiData?.let {
|
|
|
if (!it.isTempChange) {
|
|
|
+ LogUtils.d("========")
|
|
|
return
|
|
|
}
|
|
|
+ LogUtils.d("调节前温度:${currentTemp}")
|
|
|
if (increase) {
|
|
|
- it.targetTemp += CofarSDK.getTempInterval()
|
|
|
- if (it.targetTemp > it.limitMaxTemp) {
|
|
|
- it.targetTemp = it.limitMaxTemp
|
|
|
+ currentTemp += CofarSDK.getTempInterval()
|
|
|
+ if (currentTemp > it.limitMaxTemp) {
|
|
|
+ currentTemp = it.limitMaxTemp
|
|
|
+ }
|
|
|
+ if (currentTemp < 35) {
|
|
|
+ currentTemp = 35
|
|
|
}
|
|
|
} else {
|
|
|
- it.targetTemp -= CofarSDK.getTempInterval()
|
|
|
- if (it.targetTemp < it.limitMinTemp) {
|
|
|
- it.targetTemp = it.limitMinTemp
|
|
|
+ currentTemp -= CofarSDK.getTempInterval()
|
|
|
+ if (currentTemp < it.limitMinTemp) {
|
|
|
+ currentTemp = it.limitMinTemp
|
|
|
}
|
|
|
|
|
|
- if (it.targetTemp < 35) {
|
|
|
- it.targetTemp = 0
|
|
|
+ if (currentTemp < 35) {
|
|
|
+ currentTemp = 0
|
|
|
}
|
|
|
|
|
|
}
|
|
|
viewModel.stepUiData.doingModify = true
|
|
|
- binding.controller.tempRingView.updateProgress(it.targetTemp)
|
|
|
- onUserChangeTemp(it.targetTemp)
|
|
|
+ binding.controller.tempRingView.updateProgress(currentTemp)
|
|
|
+ LogUtils.d("调节后温度:${currentTemp}")
|
|
|
+ onUserChangeTemp(currentTemp)
|
|
|
}
|
|
|
} else if (tabType == CookSettingType.SPEED_SETTING) {
|
|
|
cookStep?.uiData?.let {
|
|
|
if (!it.isMotorGearChange) {
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
+ LogUtils.d("调节前转速:${currentMotorGer}")
|
|
|
if (increase) {
|
|
|
- it.currentSpeed++
|
|
|
- if (it.currentSpeed > it.limitMaxSpeed) {
|
|
|
- it.currentSpeed = it.limitMaxSpeed
|
|
|
+ currentMotorGer++
|
|
|
+ if (currentMotorGer > it.limitMaxSpeed) {
|
|
|
+ currentMotorGer = it.limitMaxSpeed
|
|
|
}
|
|
|
} else {
|
|
|
- it.currentSpeed--
|
|
|
- if (it.currentSpeed < it.limitMinSpeed) {
|
|
|
- it.currentSpeed = it.limitMinSpeed
|
|
|
+ currentMotorGer--
|
|
|
+ if (currentMotorGer < it.limitMinSpeed) {
|
|
|
+ currentMotorGer = it.limitMinSpeed
|
|
|
}
|
|
|
}
|
|
|
viewModel.stepUiData.doingModify = true
|
|
|
- binding.controller.speedRingView.updateProgress(it.currentSpeed)
|
|
|
- onUserChangeSpeed(it.currentSpeed)
|
|
|
+ binding.controller.speedRingView.updateProgress(currentMotorGer)
|
|
|
+ LogUtils.d("调节后转速:${currentMotorGer}")
|
|
|
+ onUserChangeSpeed(currentMotorGer)
|
|
|
}
|
|
|
} else if (tabType == CookSettingType.WATER_SPRY) {
|
|
|
cookStep?.uiData?.let {
|
|
|
if (!it.isWaterGearChange) {
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
if (increase) {
|
|
|
- it.currentWaterGear++
|
|
|
- if (it.currentWaterGear > it.limitMaxWaterGear) {
|
|
|
- it.currentWaterGear = it.limitMaxWaterGear
|
|
|
+ currentWaterGear++
|
|
|
+ if (currentWaterGear > it.limitMaxWaterGear) {
|
|
|
+ currentWaterGear = it.limitMaxWaterGear
|
|
|
}
|
|
|
} else {
|
|
|
- it.currentWaterGear--
|
|
|
- if (it.currentWaterGear < it.limitMinWaterGear) {
|
|
|
- it.currentWaterGear = it.limitMinWaterGear
|
|
|
+ currentWaterGear--
|
|
|
+ if (currentWaterGear < it.limitMinWaterGear) {
|
|
|
+ currentWaterGear = it.limitMinWaterGear
|
|
|
}
|
|
|
}
|
|
|
viewModel.stepUiData.doingModify = true
|
|
|
- binding.controller.waterRingView.updateProgress(it.currentWaterGear)
|
|
|
- onUserWaterGear(it.currentWaterGear)
|
|
|
+ binding.controller.waterRingView.updateProgress(currentWaterGear)
|
|
|
+ onUserWaterGear(currentWaterGear)
|
|
|
}
|
|
|
} else if (tabType == CookSettingType.TIME_SETTING) {
|
|
|
cookStep?.uiData?.let {
|
|
@@ -903,13 +939,13 @@ class CookStepActivity : CookStepBaseActivity() {
|
|
|
|
|
|
private fun dealWithTimeByOperation(uiData: CookStepUiData, increase: Boolean) {
|
|
|
//当前调节时间
|
|
|
- var targetTime = if (uiData.runningStatus != DevStatus.RUNNING.toInt()) {
|
|
|
- uiData.targetTime
|
|
|
- } else if (uiData.targetTimeBuffer > 0) {
|
|
|
- uiData.targetTimeBuffer
|
|
|
- } else {
|
|
|
- uiData.targetTime
|
|
|
- }
|
|
|
+// 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
|
|
@@ -917,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) {
|
|
@@ -957,11 +993,13 @@ class CookStepActivity : CookStepBaseActivity() {
|
|
|
}
|
|
|
}
|
|
|
uiData.isTimeChange = true
|
|
|
- Log.d("eeeeeee", "${uiData.targetTime} == ${targetTime} === $step")
|
|
|
- uiData.targetTime = 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],
|
|
@@ -1174,41 +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 (runningState == DevStatus.STOP.toInt()) uiData.targetTemp else uiData.currentTemp;
|
|
|
- if (!viewModel.stepUiData.doingModify || focusUpdate) {
|
|
|
- binding.controller.tvCookingTempTarget.updateText("--${uiData.targetTemp}°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-当前运行温度
|
|
|
|
|
|
// 速度设置
|
|
|
- if (!viewModel.stepUiData.doingModify || focusUpdate) {
|
|
|
|
|
|
- binding.controller.speedRingView.updateProgress(uiData.currentSpeed) // 圆环设置-当前运行速度
|
|
|
- binding.controller.tvSpeedText.updateText(uiData.currentSpeed.toString()) // 圆环内的数字-当前运行速度
|
|
|
- binding.controller.tvSetSpeed.updateText(uiData.currentSpeed.toString()) // 下面的TAB-当前运行速度
|
|
|
+ val speed = if (uiData.motorGearBuffer != -1) {
|
|
|
+ uiData.motorGearBuffer
|
|
|
+ } else {
|
|
|
+ uiData.currentSpeed
|
|
|
}
|
|
|
+ binding.controller.speedRingView.updateProgress(currentMotorGer) // 圆环设置-当前运行速度
|
|
|
+ binding.controller.tvSpeedText.updateText(currentMotorGer.toString()) // 圆环内的数字-当前运行速度
|
|
|
+ binding.controller.tvSetSpeed.updateText(currentMotorGer.toString()) // 下面的TAB-当前运行速度
|
|
|
|
|
|
// 喷水设置
|
|
|
if (!viewModel.stepUiData.doingModify || focusUpdate) {
|
|
@@ -1224,8 +1268,13 @@ class CookStepActivity : CookStepBaseActivity() {
|
|
|
}
|
|
|
|
|
|
// 方向设置
|
|
|
+ val direction = if (uiData.motorDirectionBuffer != -1) {
|
|
|
+ uiData.motorDirectionBuffer
|
|
|
+ } else {
|
|
|
+ uiData.direction
|
|
|
+ }
|
|
|
if (!viewModel.stepUiData.doingModify || focusUpdate) {
|
|
|
- updateDirection(uiData.direction)
|
|
|
+ updateDirection(direction)
|
|
|
}
|
|
|
}
|
|
|
|