Browse Source

处理涂鸦自动程序返回bug

zhangshenjie 2 months ago
parent
commit
00b3d27f10

+ 6 - 4
BusinessCommon/src/main/java/com/develop/common/utils/CommonTuyaSoUtils.kt

@@ -1,6 +1,7 @@
 package com.develop.common.utils
 
 import android.os.Bundle
+import android.util.Log
 import com.develop.base.ext.navigateTo
 import com.develop.base.util.AppActivityManager
 import com.develop.base.util.TopResumedAtyHolder
@@ -57,8 +58,7 @@ object CommonTuyaSoUtils {
     fun navigateToAdaptedCooking(modeType: String) {
         //判断设备是否正在运行,而还判断是否有挂起程序,挂起程序是否自动程序且还要是diy模式才可以重新进入ModeDetail页面
         if (CofarSDK.devInfo().runningStatus != DevStatus.STOP) {
-            if (CofarSDK.devInfo().runningInstId != modeType
-                && (FloatWindowManager.isModeDiyShow() || AppActivityManager.getInstance().topActivity.localClassName.contains(
+            if (CofarSDK.devInfo().runningInstId != modeType && (FloatWindowManager.isModeDiyShow() || AppActivityManager.getInstance().topActivity.localClassName.contains(
                     "ModesDetailActivity"
                 ))
             ) {
@@ -120,9 +120,11 @@ object CommonTuyaSoUtils {
     }
 
     fun navigateFinish() {
+        var str = AppActivityManager.getInstance().topActivity.localClassName
+        var isShow = FloatWindowManager.isModeDiyShow()
         if (AppActivityManager.getInstance().topActivity.localClassName.contains("ModesDetailActivity")) {
-            if (CofarSDK.devInfo().runningStatus != DevStatus.STOP) {
-                CofarSDK.stop(false)
+            if (CofarSDK.devInfo().runningStatus != DevStatus.STOP&&!FloatWindowManager.isModeDiyShow()) {
+                CofarSDK.stop(true)
             }
             AppActivityManager.getInstance().topActivity.finish()
         }

+ 12 - 1
BusinessCommon/src/main/java/com/develop/common/utils/TuyaUtilsSo.java

@@ -834,7 +834,17 @@ public class TuyaUtilsSo {
 
     public void setDpCurrentActivity() {
         int time = (int) System.currentTimeMillis();
-        getTuyaApi().send_dp_enum(TuyaSoDp.CURRENT_ACTIVITY, 1, time);
+        Timer timer = new Timer();
+        TimerTask task = new TimerTask() {
+            @Override
+            public void run() {
+                //加入你在延时之后要做的事
+                getTuyaApi().send_dp_enum(TuyaSoDp.CURRENT_ACTIVITY, 1, time);
+            }
+        };
+        //写好上面的声明之后,要调用则可像如下所示:
+        timer.schedule(task, 1200);
+
     }
 
     public void  startDevInfo(int type){
@@ -847,6 +857,7 @@ public class TuyaUtilsSo {
             public void run() {
                 //加入你在延时之后要做的事
                 DevInfo info = CofarSDK.devInfo();
+                Log.e("TAG startDevInfo","startDevInfostartDevInfostartDevInfo");
                 if (type==0){
                     if (info.getStatus()==0){
                         setDpStop();

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

@@ -1455,8 +1455,8 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
                         )
 
                         FloatWindowManager.showStepFlowWindow(cookStepEvent)
-                        TuyaUtilsSo.getInstance().setDpCurrentActivity()
                         finish()
+                        TuyaUtilsSo.getInstance().setDpCurrentActivity()
                     }
 
                 }
@@ -1465,8 +1465,8 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
                     runOnMainThread {
                         FloatWindowManager.hideStepFlowWindow()
                         CofarSDK.stop()
-                        TuyaUtilsSo.getInstance().setDpCurrentActivity()
                         finish()
+                        TuyaUtilsSo.getInstance().setDpCurrentActivity()
                     }
                 }
 
@@ -2755,9 +2755,9 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
                 supportFragmentManager, "backRequestDialog"
             )
             else {
-                TuyaUtilsSo.getInstance().setDpCurrentActivity()
                 CofarSDK.stoptWeight()
                 finish()
+                TuyaUtilsSo.getInstance().setDpCurrentActivity()
             }
         } else {
 
@@ -2770,9 +2770,9 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
             } catch (e: Exception) {
                 print(e)
             }
-            TuyaUtilsSo.getInstance().setDpCurrentActivity()
             CofarSDK.stoptWeight()
             finish()
+            TuyaUtilsSo.getInstance().setDpCurrentActivity()
         }
 
     }

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

@@ -227,10 +227,12 @@ fun getSN(): String {
 //        return "011A10390020123010190002"
 //        return  "011D10390020123010190021"
 //        return  "011D10390020123010190088"
+
+
         return  "011D10390020123010190019"
 //        return  "011D10390020123010190003"
 //        return  "011A10390020123010190188"
-//        return "011A10390020123010190099"
+//        returffn "011A10390020123010190099"
 //        return "011A10390020123010190009"
 //        return "000A50370020123010190004"
 //        return "011A50370020123010190003"