|
@@ -33,6 +33,7 @@ import com.develop.step.R
|
|
|
import com.develop.step.databinding.ActivityModeDetailBinding
|
|
|
import com.develop.step.viewmodel.ModesViewMode
|
|
|
import com.kuyuntech.cofarcooking.device.sdk.constant.core.CommonEventTypes
|
|
|
+import com.kuyuntech.cofarcooking.device.sdk.constant.core.DevModes
|
|
|
import com.kuyuntech.cofarcooking.device.sdk.constant.core.DevStatus
|
|
|
import com.kuyuntech.cofarcooking.device.sdk.constant.core.HeatModes
|
|
|
import com.kuyuntech.cofarcooking.device.sdk.constant.core.MotorDirections
|
|
@@ -61,16 +62,21 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
|
|
|
private var mRunningState = 0
|
|
|
private var currentTemp = 0
|
|
|
private var currentMotorGer = 0
|
|
|
+ private var currentWaterGear = 0;
|
|
|
private var maxTemp = 0
|
|
|
private var minTemp = 0
|
|
|
private var maxMotorGear = 0
|
|
|
private var minMotorGear = 0
|
|
|
+ private var maxWaterGear = 0
|
|
|
+ private var minWaterGear = 0
|
|
|
+
|
|
|
private var currTime = 0L
|
|
|
private var maxTime = 0L
|
|
|
private var minTime = 0L
|
|
|
private var isTempChange = false
|
|
|
private var isTimeChange = false
|
|
|
private var isMotorGearChange = false
|
|
|
+ private var isWaterGearChange = false
|
|
|
private var initModeData = false
|
|
|
private var pressStartTime = -1L
|
|
|
private var canStart = true
|
|
@@ -90,11 +96,30 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
|
|
|
return ActivityModeDetailBinding.inflate(inflater)
|
|
|
}
|
|
|
|
|
|
+ fun turnDevModeUI(){
|
|
|
+
|
|
|
+ if(CofarSDK.devInfo().devMode == DevModes.AIR_FRYER){
|
|
|
+ //隐藏点击
|
|
|
+ binding.clCookDirection.visibility = View.GONE;
|
|
|
+ binding.clCookSpeed.visibility = View.GONE;
|
|
|
+ binding.clCookWater.visibility = View.VISIBLE
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ if(CofarSDK.devInfo().devMode == DevModes.SOUP){
|
|
|
+ //隐藏点击
|
|
|
+ binding.clCookDirection.visibility = View.VISIBLE;
|
|
|
+ binding.clCookSpeed.visibility = View.VISIBLE;
|
|
|
+ binding.clCookWater.visibility = View.GONE
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
|
super.onCreate(savedInstanceState)
|
|
|
hasShowScreenSaver = true
|
|
|
configLock = true
|
|
|
-
|
|
|
+ turnDevModeUI();
|
|
|
viewModel.modeType = intent.extras?.getString(MODE_TYPE, ModesType.CHOP.name) ?: ""
|
|
|
viewModel.lastModeType = viewModel.modeType
|
|
|
lastModeType = viewModel.modeType
|
|
@@ -156,6 +181,17 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
|
|
|
motorGearSpeedEvent(currentMotorGer)
|
|
|
}
|
|
|
}
|
|
|
+ CookSettingType.WATER_SPRY -> {
|
|
|
+ if (isWaterGearChange) {
|
|
|
+ //当前调节转速
|
|
|
+ currentWaterGear += 1
|
|
|
+ if (currentWaterGear > maxWaterGear) {
|
|
|
+ currentWaterGear = maxWaterGear
|
|
|
+ }
|
|
|
+ binding.waterRingView.updateProgress(currentWaterGear)
|
|
|
+ waterGearSpeedEvent(currentWaterGear)
|
|
|
+ }
|
|
|
+ }
|
|
|
CookSettingType.TIME_SETTING -> {
|
|
|
if (isTimeChange) {
|
|
|
//当前调节时间
|
|
@@ -205,6 +241,17 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
|
|
|
motorGearSpeedEvent(currentMotorGer)
|
|
|
}
|
|
|
}
|
|
|
+ CookSettingType.WATER_SPRY -> {
|
|
|
+ if (isWaterGearChange) {
|
|
|
+ //当前调节转速
|
|
|
+ currentWaterGear -= 1
|
|
|
+ if (currentWaterGear > maxWaterGear) {
|
|
|
+ currentWaterGear = maxWaterGear
|
|
|
+ }
|
|
|
+ binding.waterRingView.updateProgress(currentWaterGear)
|
|
|
+ waterGearSpeedEvent(currentWaterGear)
|
|
|
+ }
|
|
|
+ }
|
|
|
CookSettingType.TIME_SETTING -> {
|
|
|
if (isTimeChange) {
|
|
|
//当前调节时间
|
|
@@ -371,6 +418,19 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
|
|
|
motorGear,
|
|
|
isMotorGearChange
|
|
|
)
|
|
|
+
|
|
|
+
|
|
|
+ var waterGear = if(currDevInfo.waterGear != null) currDevInfo.waterGear.toInt() else defaultMotorGear;
|
|
|
+ if (currDevInfo.waterGearBuffer != null && currDevInfo.waterGearBuffer.toInt() != -1) {
|
|
|
+ waterGear = currDevInfo.waterGearBuffer.toInt()
|
|
|
+ }
|
|
|
+ updateWaterGearUI(
|
|
|
+ minWaterGear.toFloat(),
|
|
|
+ maxWaterGear.toFloat(),
|
|
|
+ waterGear,
|
|
|
+ isWaterGearChange
|
|
|
+ )
|
|
|
+
|
|
|
updateMotorDirectionUI(currDevInfo.motorDirection.toInt(), isMotorDirectionChange)
|
|
|
updateWeightUI(currDevInfo.weight.toFloat())
|
|
|
}
|
|
@@ -405,6 +465,10 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
|
|
|
CookSettingType.SPEED_SETTING -> {
|
|
|
changeSpeedSettingStep()
|
|
|
}
|
|
|
+ CookSettingType.WATER_SPRY -> {
|
|
|
+ // changeSpeedSettingStep()
|
|
|
+ changeWaterSprySettingStep()
|
|
|
+ }
|
|
|
CookSettingType.DIRECTION_SETTING -> {
|
|
|
changeDirectionSettingStep()
|
|
|
}
|
|
@@ -538,6 +602,10 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
|
|
|
viewModel.changeStep(CookSettingType.DIRECTION_SETTING)
|
|
|
}
|
|
|
|
|
|
+ binding.clCookWater.setOnClickListener {
|
|
|
+ viewModel.changeStep(CookSettingType.WATER_SPRY)
|
|
|
+ }
|
|
|
+
|
|
|
binding.ivTurbo.setOnClickListener {
|
|
|
turboClick()
|
|
|
}
|
|
@@ -657,6 +725,13 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ binding.waterRingView.onRingViewListener = object : RingControlView.OnRingViewListener {
|
|
|
+ override fun onProgressChange(progress: Int) {
|
|
|
+ currentWaterGear = progress
|
|
|
+ waterGearSpeedEvent(progress)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
binding.clSetTime.onTimePickerCallback = object : TimePickerView.OnTimePickerCallback {
|
|
|
override fun onTimePicker(
|
|
|
hours: Int, minute: Int, second: Int, time: String, setByUser: Boolean
|
|
@@ -745,6 +820,9 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
|
|
|
binding.tempRingTextCooking.visibility = View.GONE
|
|
|
binding.clSetTime.visibility = View.GONE
|
|
|
binding.flDirection.visibility = View.GONE
|
|
|
+ binding.waterRingView.visibility = View.GONE
|
|
|
+ binding.waterSprayShow.visibility = View.GONE
|
|
|
+
|
|
|
setPanelViewProperty(CookSettingType.TEMP_SETTING)
|
|
|
}
|
|
|
|
|
@@ -759,6 +837,9 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
|
|
|
binding.tempRingTextCooking.visibility = View.GONE
|
|
|
binding.clSetTime.visibility = View.VISIBLE
|
|
|
binding.flDirection.visibility = View.GONE
|
|
|
+ binding.waterRingView.visibility = View.GONE
|
|
|
+ binding.waterSprayShow.visibility = View.GONE
|
|
|
+
|
|
|
setPanelViewProperty(CookSettingType.TIME_SETTING)
|
|
|
}
|
|
|
|
|
@@ -773,6 +854,9 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
|
|
|
binding.tempRingTextCooking.visibility = View.GONE
|
|
|
binding.clSetTime.visibility = View.GONE
|
|
|
binding.flDirection.visibility = View.GONE
|
|
|
+ binding.waterRingView.visibility = View.GONE
|
|
|
+ binding.waterSprayShow.visibility = View.GONE
|
|
|
+
|
|
|
setPanelViewProperty(CookSettingType.SPEED_SETTING)
|
|
|
}
|
|
|
|
|
@@ -787,15 +871,37 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
|
|
|
binding.tempRingTextCooking.visibility = View.GONE
|
|
|
binding.clSetTime.visibility = View.GONE
|
|
|
binding.flDirection.visibility = View.VISIBLE
|
|
|
+ binding.waterRingView.visibility = View.GONE
|
|
|
+ binding.waterSprayShow.visibility = View.GONE
|
|
|
+
|
|
|
setPanelViewProperty(CookSettingType.DIRECTION_SETTING)
|
|
|
}
|
|
|
|
|
|
+ /**切换到*/
|
|
|
+ private fun changeWaterSprySettingStep() {
|
|
|
+ binding.llWeightView.visibility = View.GONE
|
|
|
+ binding.functionLayout.visibility = View.VISIBLE
|
|
|
+ binding.tempRingView.visibility = View.INVISIBLE
|
|
|
+ binding.tempRingText.visibility = View.GONE
|
|
|
+ binding.speedRingView.visibility = View.GONE
|
|
|
+ binding.speedRingText.visibility = View.GONE
|
|
|
+ binding.tempRingTextCooking.visibility = View.GONE
|
|
|
+ binding.clSetTime.visibility = View.GONE
|
|
|
+ binding.flDirection.visibility = View.GONE
|
|
|
+ binding.clCookWater.visibility = View.VISIBLE
|
|
|
+ binding.waterRingView.visibility = View.VISIBLE
|
|
|
+ binding.waterSprayShow.visibility = View.VISIBLE
|
|
|
+
|
|
|
+ setPanelViewProperty(CookSettingType.WATER_SPRY)
|
|
|
+ }
|
|
|
+
|
|
|
private fun setPanelViewProperty(selectStep: CookSettingType) {
|
|
|
binding.apply {
|
|
|
clCookTemp.upSelectedView(false)
|
|
|
clCookTime.upSelectedView(false)
|
|
|
clCookSpeed.upSelectedView(false)
|
|
|
clCookDirection.upSelectedView(false)
|
|
|
+ clCookWater.upSelectedView(false)
|
|
|
when (selectStep) {
|
|
|
CookSettingType.TEMP_SETTING -> {
|
|
|
clCookTemp.upSelectedView(true)
|
|
@@ -809,6 +915,9 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
|
|
|
CookSettingType.DIRECTION_SETTING -> {
|
|
|
clCookDirection.upSelectedView(true)
|
|
|
}
|
|
|
+ CookSettingType.WATER_SPRY -> {
|
|
|
+ clCookWater.upSelectedView(true)
|
|
|
+ }
|
|
|
CookSettingType.WEIGHT -> {
|
|
|
// do nothing
|
|
|
}
|
|
@@ -1021,6 +1130,35 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 更新喷水档位的UI
|
|
|
+ * @param minWaterGear 最小转速
|
|
|
+ * @param maxWaterGear 电机最大转速
|
|
|
+ * @param currentMotorGer 电机当前转速
|
|
|
+ * @param isWaterGearChange 转速是否可以修改
|
|
|
+ */
|
|
|
+ private fun updateWaterGearUI(
|
|
|
+ minWaterGear: Float, maxWaterGear: Float, currentMotorGer: Int, isWaterGearChange: Boolean,focusUpdate: Boolean = false
|
|
|
+ ) {
|
|
|
+
|
|
|
+ this.minWaterGear = minWaterGear.toInt()
|
|
|
+ this.maxWaterGear = maxWaterGear.toInt()
|
|
|
+ this.isWaterGearChange = isWaterGearChange
|
|
|
+
|
|
|
+ binding.apply {
|
|
|
+ clCookSpeed.updateChangeValue(currentMotorGer.toString())
|
|
|
+ waterRingView.setRange(minWaterGear, maxWaterGear)
|
|
|
+ waterRingView.setCanTouch(isWaterGearChange)
|
|
|
+ waterSprayShow.updateGear(currentMotorGer)
|
|
|
+ binding.clCookWater.binding.waterSprayShow.updateGear(currentWaterGear)
|
|
|
+ if (!userChanging) {
|
|
|
+ waterRingView.updateProgress(currentMotorGer)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 更新电机转速的UI
|
|
|
* @param weight 当前的重量
|
|
@@ -1284,6 +1422,13 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
|
|
|
showConfirmAndCancelBtn()
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ private fun waterGearSpeedEvent(progress: Int){
|
|
|
+ userChanging = true
|
|
|
+ CofarSDK.cfgWaterBear(progress);
|
|
|
+ showConfirmAndCancelBtn()
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 旋转电机转速事件
|
|
|
*/
|