Browse Source

5037 空炸问题解决

zhangshenjie 1 year ago
parent
commit
724ee922e6

+ 3 - 4
BusinessCommon/src/main/java/com/develop/common/ui/CommonBindingActivity.kt

@@ -280,8 +280,8 @@ abstract class CommonBindingActivity<T : ViewBinding> : BaseBindingActivity<T>()
             return
         }
         //所有模式程序运行结束时没有响三声蜂鸣声提示结果程序
-        if (event.msg == "dev_end_of_run_tips"){
-            CofarSDK.cfgBeep(0,3)
+        if (event.msg == "dev_end_of_run_tips") {
+            CofarSDK.cfgBeep(0, 3)
         }
         //当前errcode不是0,并且提示是程序完成的提示不需要显示
         if (CofarSDK.devInfo().errCode.toInt() != 0 && event.msg == "dev_end_of_run_tips") {
@@ -294,7 +294,7 @@ abstract class CommonBindingActivity<T : ViewBinding> : BaseBindingActivity<T>()
         }
 
         //切碎模式下,电子称重异常不用提示
-        if (CofarSDK.devInfo().mode.mode == "TURBO" && event.msg == "dian_zi_cheng_tong_xin_yi_chan"){
+        if (CofarSDK.devInfo().mode.mode == "TURBO" && event.msg == "dian_zi_cheng_tong_xin_yi_chan") {
             return
         }
 
@@ -304,7 +304,6 @@ abstract class CommonBindingActivity<T : ViewBinding> : BaseBindingActivity<T>()
             return
         }
 
-
         //            //已显示弹窗不重复显示
 //            if(FloatWindowManager.confirmCancelDialog.isAdded){
 //                return

+ 0 - 5
BusinessCommon/src/main/java/com/develop/common/utils/CommonUtils.kt

@@ -111,11 +111,6 @@ object  CommonUtils {
         }
 
         return false
-
-
-
-
-
     }
 
 

+ 65 - 8
BusinessCommon/src/main/java/com/develop/common/utils/ConfigUtils.kt

@@ -17,7 +17,13 @@ import java.nio.charset.Charset
 object ConfigUtils {
 
 
-    data class Lang(val name: String?, val value: String, val icon: String?,val show:Boolean?,val showName:String)
+    data class Lang(
+        val name: String?,
+        val value: String,
+        val icon: String?,
+        val show: Boolean?,
+        val showName: String
+    )
 
     data class LangConfig(var langs: ArrayList<Lang>)
 
@@ -25,14 +31,14 @@ object ConfigUtils {
     fun loadConfig(): CfConfig? {
         return try {
             var sn = getSN()
-            var brandNum = sn.substring(0,3)
+            var brandNum = sn.substring(0, 3)
 
             val fileList = GlobalApp().assets.list("") ?: arrayOf()
             var inputStream: InputStream? = null
 
-            if(fileList.contains("config_${brandNum}.json")){
+            if (fileList.contains("config_${brandNum}.json")) {
                 inputStream = GlobalApp().assets.open("config_${brandNum}.json")
-            }else{
+            } else {
                 inputStream = GlobalApp().assets.open("config.json")
             }
 //            inputStream = GlobalApp().assets.open("config_036.json")
@@ -57,13 +63,13 @@ object ConfigUtils {
         return try {
 
             var sn = getSN()
-            var brandNum = sn.substring(0,3)
+            var brandNum = sn.substring(0, 3)
 
             val fileList = GlobalApp().assets.list("") ?: arrayOf()
             var inputStream: InputStream? = null
-            if(fileList.contains("lang_config_${brandNum}.json")){
+            if (fileList.contains("lang_config_${brandNum}.json")) {
                 inputStream = GlobalApp().assets.open("lang_config_${brandNum}.json")
-            }else{
+            } else {
                 inputStream = GlobalApp().assets.open("lang_config.json")
             }
 
@@ -82,7 +88,7 @@ object ConfigUtils {
         }
     }
 
-    fun loadTuyaConfig(): Map<String,String>? {
+    fun loadTuyaConfig(): Map<String, String>? {
         return try {
             var sn = getSN()
 
@@ -110,4 +116,55 @@ object ConfigUtils {
         return loadConfig()?.workModes?.find { it.type == type }?.copy()
     }
 
+     fun getErrCodeStr(context: Context, code: Int): String {
+        var str = when (code) {
+            7 -> {
+                context.getString(com.develop.common.R.string.e7_errCode)
+            }
+            8 -> {
+                context.getString(com.develop.common.R.string.e8_errCode)
+            }
+
+            9 -> {
+                context.getString(com.develop.common.R.string.e9_errCode)
+            }
+
+            10 -> {
+                context.getString(com.develop.common.R.string.e10_errCode)
+            }
+
+            11 -> {
+                context.getString(com.develop.common.R.string.e11_errCode)
+            }
+
+            12 -> {
+                context.getString(com.develop.common.R.string.e12_errCode)
+            }
+
+            13 -> {
+                context.getString(com.develop.common.R.string.e13_errCode)
+            }
+
+            14 -> {
+                context.getString(com.develop.common.R.string.e14_errCode)
+            }
+
+            15 -> {
+                context.getString(com.develop.common.R.string.e15_errCode)
+            }
+
+            16 -> {
+                context.getString(com.develop.common.R.string.e16_errCode)
+            }
+            else -> {
+                ""
+            }
+        }
+
+        return str
+    }
+    fun getBooleanErrCode(code: Int):Boolean{
+        return code==7||code==8||code==9||code==10||code==11||code==12||code==13||code==14||code==15||code==16
+    }
+
 }

+ 13 - 2
BusinessCommon/src/main/res/values/strings.xml

@@ -329,6 +329,17 @@ Nanfang plus client is an online information platform developed and operated by
     <string name="soft">SOFT</string>
     <string name="waxy_soft">WAXY SOFT</string>
     <string name="hard">HARD</string>
-    
-    
+
+    <!-- 错误代码提示 -->
+
+    <string name="e7_errCode">Motor heat dissipation abnormal</string>
+    <string name="e8_errCode">Plug in air fryer attachment</string>
+    <string name="e9_errCode">Air fryer NTC abnormal</string>
+    <string name="e10_errCode">Put air fryer lid into place</string>
+    <string name="e11_errCode">Put air fryer bowl into place</string>
+    <string name="e12_errCode">Air fryer attachment overheat protection. Pls use it after cool down.</string>
+    <string name="e13_errCode">Air fryer water pump abnormal</string>
+    <string name="e14_errCode">Unplug air fryer attachment when in robot cooker mode</string>
+    <string name="e15_errCode">TFT screen dissipation abnormal</string>
+    <string name="e16_errCode">Please put in the correct pot, or end the current program</string>
 </resources>

+ 0 - 3
BusinessSetting/src/main/java/com/develop/setting/ui/AboutActivity.kt

@@ -182,9 +182,6 @@ class AboutActivity : CommonBVMActivity<ActivityAboutBinding, AboutViewModel>()
 
         }
 
-        binding.updateApk.setOnClickListener {
-
-        }
 
         binding.ivLogo.setOnClickListener {
             weightAlignCount++

+ 100 - 22
BusinessStep/src/main/java/com/develop/step/ui/ModesDetailActivity.kt

@@ -19,6 +19,7 @@ import com.alibaba.android.arouter.facade.annotation.Route
 import com.bumptech.glide.Glide
 import com.develop.base.ext.getSN
 import com.develop.base.ext.isNightTheme
+import com.develop.base.ext.navigateTo
 import com.develop.base.ext.runOnMainThread
 import com.develop.base.ext.setGone
 import com.develop.base.ext.setVisible
@@ -41,6 +42,7 @@ import com.develop.common.tag.TURN_DOWN_KEY_CODE
 import com.develop.common.tag.TURN_UP_KEY_CODE
 import com.develop.common.ui.CommonBVMActivity
 import com.develop.common.utils.CofarUtils
+import com.develop.common.utils.CommonUtils
 import com.develop.common.utils.ConfigUtils
 import com.develop.common.utils.getTimeStr
 import com.develop.common.widget.DirectionView
@@ -48,6 +50,7 @@ import com.develop.common.widget.EggsSelectorLayout
 import com.develop.common.widget.RingControlView
 import com.develop.common.widget.TimePickerView
 import com.develop.step.CookSettingType
+import com.develop.step.R
 import com.develop.step.databinding.ActivityModeDetailBinding
 import com.develop.step.viewmodel.ModesViewMode
 import com.drake.net.time.Interval
@@ -56,6 +59,7 @@ 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
+import com.kuyuntech.cofarcooking.device.sdk.constant.core.WorkModes
 import com.kuyuntech.cofarcooking.device.sdk.eventbus.core.DevInfo
 import com.kuyuntech.cofarcooking.device.sdk.eventbus.event.DevCommonEvent
 import com.kuyuntech.cofarcooking.device.sdk.eventbus.event.DevStatusEvent
@@ -110,6 +114,11 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
     private var potCloverInterval: Interval? = null
     private var workMode: WorkMode? = null
     private var sdkDevMode: String = ""
+    private var isClickType  = 0
+    private val deviceStateDialog by  lazy {
+        CancelConfirmDialog()
+    }
+
     private val backRequestDialog by lazy {
         CancelConfirmDialog()
     }
@@ -672,6 +681,44 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
             return
         }
         Log.d("TAG dddddd", "event:" + event.devInfo.toString())
+        //由于sdk没有判断E7到E16 需要判断运行和暂停过程中,设备发生故障弹出窗口告知故障
+        if (isClickType == DevStatus.RUNNING.toInt()||isClickType == DevStatus.PAUSE.toInt()){
+            if (ConfigUtils.getBooleanErrCode(event.devInfo.errCode.toInt())){
+                showErrCodeDialog(event.devInfo.errCode.toInt())
+                isClickType = event.devInfo.status
+                return
+            }
+        }
+
+        //处理中途换换锅问题
+        if (sdkDevMode != event.devInfo.devMode) {
+            Log.e("TAG 换锅","sdkDevMode: "+sdkDevMode + "   event.devInfo.devMode :"+event.devInfo.devMode)
+
+            //针对DIY处理
+            if (lastModeType== WorkModes.ADAPTED_COOKING||lastModeType==WorkModes.AF_DIY){
+                navigateTo(Screens.Cook.COOK_MODES) {
+                    if (DevModes.SOUP == CofarSDK.devInfo().devMode) {
+                        val bundle = Bundle()
+                        bundle.putString(MODE_TYPE, WorkModes.ADAPTED_COOKING)
+                        bundle.putString(
+                            "mode_name",
+                            resources.getString(com.develop.common.R.string.adapted_cooking)
+                        )
+                        with(bundle)
+                    } else {
+                        val bundle = Bundle()
+                        bundle.putString(MODE_TYPE, WorkModes.AF_DIY)
+                        with(bundle)
+                    }
+                }
+                finish()
+                return
+            }
+
+//            WorkModes.ADAPTED_COOKING //  WorkModes.AF_DIY
+            Log.e("TAG 11111","sdkDevMode: "+sdkDevMode + "   event.devInfo.devMode :"+event.devInfo.devMode)
+        }
+
 
         ThreadUtils.runOnMainThread {
             currDevInfo = event.devInfo
@@ -768,16 +815,8 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
                 updateWeightUI(currDevInfo.weight.toFloat())
             }
         }
-        //处理中途换换锅问题
-        if (sdkDevMode != event.devInfo.devMode) {
 
 
-            Log.e("TAG 换锅","sdkDevMode: "+sdkDevMode + "   event.devInfo.devMode :"+event.devInfo.devMode)
-            sdkDevMode = event.devInfo.devMode
-            initDevMode()
-            Log.e("TAG 11111","sdkDevMode: "+sdkDevMode + "   event.devInfo.devMode :"+event.devInfo.devMode)
-        }
-
     }
     private fun initDevMode() {
         Log.e("TAG initDevMode","sdkDevMode: "+sdkDevMode + "   CofarSDK.devInfo().devMode :"+CofarSDK.devInfo().devMode)
@@ -1865,20 +1904,28 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
      * 点击开始操作
      */
     private fun startClick(showStopTips: Boolean = true) {
-        if (CofarSDK.devInfo().potCloverStatus.toInt() == 1) {
-            showPotCloverDialog()
-        }else if (mRunningInstId != mSettingInstId) {
-            overrideModeDialog.showDialog(supportFragmentManager, "overrideModeDialog")
-            overrideModeDialog.onConfirmClick()
-        } else {
-            userChanging = false
-            CofarSDK.cancel()
-            CofarSDK.devInfo().runningRecipeId = null
-            var startConfig = HashMap<String, Any>()
-            startConfig.put("stopTips", showStopTips)
-            CofarSDK.startWithConfig(viewModel.modeType, startConfig)
-            whereIndex = -1
-            binding.clSetTime.stopAlphaAnim()
+        var devInfo = CofarSDK.devInfo()
+        Log.e("TAG devInfo","devInfo:"+devInfo.toString())
+        //判断是否是空炸错误,由于汤锅错误SDK 已经做了
+        if (ConfigUtils.getBooleanErrCode(devInfo.errCode.toInt())){
+            showErrCodeDialog(devInfo.errCode.toInt())
+        }else{
+            if (CofarSDK.devInfo().potCloverStatus.toInt() == 1) {
+                showPotCloverDialog()
+            }else if (mRunningInstId != mSettingInstId) {
+                overrideModeDialog.showDialog(supportFragmentManager, "overrideModeDialog")
+                overrideModeDialog.onConfirmClick()
+            } else {
+                userChanging = false
+                isClickType = 1
+                CofarSDK.cancel()
+                CofarSDK.devInfo().runningRecipeId = null
+                var startConfig = HashMap<String, Any>()
+                startConfig.put("stopTips", showStopTips)
+                CofarSDK.startWithConfig(viewModel.modeType, startConfig)
+                whereIndex = -1
+                binding.clSetTime.stopAlphaAnim()
+            }
         }
     }
 
@@ -1944,6 +1991,9 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
      */
     private fun stopClick(tips: Boolean = true) {
         userChanging = false
+        //中途系统出现故障记录
+        isClickType = 0
+
         //结束
         CofarSDK.stop(tips)
         try {
@@ -1958,6 +2008,7 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
      */
     private fun pauseClick() {
         userChanging = false
+        isClickType = 2
         CofarSDK.pause()
     }
 
@@ -2264,4 +2315,31 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
             binding.ivEggs.visibility = View.GONE
         }
     }
+    private fun  showErrCodeDialog(code:Int){
+        var errCodeStr =  ConfigUtils.getErrCodeStr(this,code)
+        if (errCodeStr.isNullOrEmpty()){
+            return
+        }
+        deviceStateDialog.showCancel = false
+        deviceStateDialog.showConfirm = true
+        deviceStateDialog.confirmStr = getString(com.develop.common.R.string.confirm)
+        deviceStateDialog.title = errCodeStr
+        deviceStateDialog.showDialog(supportFragmentManager, "errCodeCancelDialog")
+        deviceStateDialog.onDialogClickListener =
+            object : CancelConfirmDialog.OnDialogClickListener {
+                override fun onConfirm() {
+                    deviceStateDialog.removeSelf();
+                    lastMsg = "";
+                }
+
+                override fun onCancel() {
+                    deviceStateDialog.removeSelf();
+                    lastMsg = "";
+                }
+
+            }
+    }
+
+
+
 }

+ 2 - 2
libBase/src/main/java/com/develop/base/ext/GlobaExt.kt

@@ -189,7 +189,7 @@ fun getSN(): String {
 
     if (BuildConfig.DEBUG) {
 //        return "045A21030020123010190001"
-    return "000A30150020123010190001"
+//    return "000A30150020123010190001"
 //     return "002A30150020123010190001"
 //     return "000A10390020123010190001"
 //    return "010D10390020123010190001"
@@ -200,7 +200,7 @@ fun getSN(): String {
 //    return  "017A20060020123010190001"
 //    return "010D10390020123010190001"
 //    return "000A10390020123010190009"
-//    return  "032D21060020123010190001"
+    return  "032D21060020123010190001"
 //        return "000A50370020123010190011"
 //    return  "030A10390020123010190002"
 //        return "029C21010020123010190001"

BIN
libThirdPart/libs/cofar-cooking-device-sdk-0.0.1-SNAPSHOT.jar