Browse Source

017 bug 处理

zhangshenjie 1 year ago
parent
commit
2ca3cc1261
22 changed files with 213 additions and 68 deletions
  1. 4 1
      BusinessCommon/src/main/java/com/develop/common/food_sdk/FloatWindowManager.kt
  2. 3 0
      BusinessCommon/src/main/java/com/develop/common/utils/StringUtils.java
  3. 9 2
      BusinessCommon/src/main/res/layout/step_float_window.xml
  4. 1 0
      BusinessMain/src/main/java/com/develop/main/ui/ModeEntranceActivity.kt
  5. 30 5
      BusinessMain/src/main/res/layout/activity_mode_entrance.xml
  6. 4 0
      BusinessSetting/src/main/java/com/develop/setting/ui/AboutActivity.kt
  7. 8 4
      BusinessSetting/src/main/java/com/develop/setting/ui/LanguageActivity.kt
  8. 1 0
      BusinessSetting/src/main/java/com/develop/setting/ui/SettingMainActivity.kt
  9. 4 3
      BusinessSetting/src/main/res/layout/activity_about.xml
  10. 3 3
      BusinessSetting/src/main/res/layout/activity_language.xml
  11. 3 3
      BusinessSetting/src/main/res/layout/activity_setting_main.xml
  12. 34 24
      BusinessStep/src/main/java/com/develop/step/ui/ModesDetailActivity.kt
  13. 11 2
      BusinessStep/src/main/java/com/develop/step/ui/recipes_detail/CookDetailDescFragment.kt
  14. 2 0
      BusinessStep/src/main/java/com/develop/step/viewmodel/CookDetailViewModel.kt
  15. 4 4
      BusinessStep/src/main/res/layout/activity_cook_detail.xml
  16. 5 5
      BusinessStep/src/main/res/layout/activity_cook_evaluate.xml
  17. 3 3
      BusinessStep/src/main/res/layout/activity_mode_detail.xml
  18. 80 0
      app/src/main/java/com/develop/foodcooking/CrashHandler.java
  19. 2 1
      app/src/main/java/com/develop/foodcooking/FoodCookingApp.kt
  20. 1 0
      app/src/main/java/com/develop/foodcooking/MainActivity.kt
  21. 1 0
      libBase/src/main/java/com/develop/base/ext/GlobaExt.kt
  22. 0 8
      libBase/src/main/java/com/develop/base/manager/WifiHelp.kt

+ 4 - 1
BusinessCommon/src/main/java/com/develop/common/food_sdk/FloatWindowManager.kt

@@ -15,6 +15,7 @@ import com.develop.common.dialog.CancelConfirmDialog
 import com.develop.common.event.CookStepEvent
 import com.develop.common.router.Screens
 import com.develop.common.tag.MODE_TYPE
+import com.develop.common.widget.MarqueeTextView
 import com.kuyuntech.cofarcooking.device.sdk.constant.core.DevStatus
 import com.kuyuntech.cofarcooking.device.sdk.eventbus.event.DevPromptEvent
 import com.kuyuntech.cofarcooking.device.sdk.eventbus.event.DevStatusEvent
@@ -36,7 +37,7 @@ object FloatWindowManager {
     private var isMode = false
 
     private var ivFood: CircleImageView? = null
-    private var tvStep: AppCompatTextView? = null
+    private var tvStep: MarqueeTextView? = null
 
     private val confirmCancelDialog by lazy {
         CancelConfirmDialog()
@@ -95,6 +96,8 @@ object FloatWindowManager {
                     //当前是菜谱
                     tvStep?.text = "Step ${step + 1}"
                 }
+
+
                 it.findViewById<RelativeLayout>(R.id.content_layout).setOnClickListener {
                     if (isMode) {
                         globalApp().navigateTo(Screens.Cook.COOK_MODES) {

+ 3 - 0
BusinessCommon/src/main/java/com/develop/common/utils/StringUtils.java

@@ -6,6 +6,9 @@ import java.util.List;
 public class StringUtils {
     //换行处理
     public static  String getStringWrap(String str){
+        if (str==null){
+            return "";
+        }
         if (str.contains("\n\n")){
             return str;
 

+ 9 - 2
BusinessCommon/src/main/res/layout/step_float_window.xml

@@ -23,7 +23,7 @@
         android:textColor="@color/color_f70000"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content" />
-    <androidx.appcompat.widget.AppCompatTextView
+    <com.develop.common.widget.MarqueeTextView
         android:id="@+id/tv_step_count"
         android:textColor="@color/color_6B6B6B"
         android:textSize="@dimen/convert_30px"
@@ -34,7 +34,14 @@
         android:text="Step 7"
         android:layout_marginBottom="@dimen/convert_17px"
         android:layout_width="wrap_content"
-        android:layout_height="wrap_content"/>
+        android:layout_height="wrap_content"
+
+        android:ellipsize="marquee"
+        android:focusable="true"
+        android:focusableInTouchMode="true"
+        android:marqueeRepeatLimit="marquee_forever"
+        android:singleLine="true"
+        />
     <ImageView
         android:background="@drawable/ic_right_arrow"
         android:layout_marginStart="@dimen/convert_40px"

+ 1 - 0
BusinessMain/src/main/java/com/develop/main/ui/ModeEntranceActivity.kt

@@ -495,6 +495,7 @@ class ModeEntranceActivity : CommonBindingActivity<ActivityModeEntranceBinding>(
             binding.tvPolicy.textSize = HomeActivity.dp20
             binding.tvHelp.textSize = HomeActivity.dp20
         }
+
     }
 
     override fun onResume() {

+ 30 - 5
BusinessMain/src/main/res/layout/activity_mode_entrance.xml

@@ -58,13 +58,18 @@
                 android:layout_marginStart="@dimen/convert_60px"
                 android:background="@drawable/ic_history" />
 
-            <androidx.appcompat.widget.AppCompatTextView
+            <com.develop.common.widget.MarqueeTextView
                 android:id="@+id/tv_history"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_marginStart="@dimen/convert_29px"
                 android:text="@string/cook_history"
                 android:textColor="@color/home_menu_title"
+                android:ellipsize="marquee"
+                android:focusable="true"
+                android:focusableInTouchMode="true"
+                android:marqueeRepeatLimit="marquee_forever"
+                android:singleLine="true"
                 android:textSize="@dimen/convert_30px" />
         </LinearLayout>
 
@@ -86,13 +91,18 @@
                 android:layout_marginStart="@dimen/convert_60px"
                 android:background="@drawable/ic_favourite" />
 
-            <androidx.appcompat.widget.AppCompatTextView
+            <com.develop.common.widget.MarqueeTextView
                 android:id="@+id/tv_favourite"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_marginStart="@dimen/convert_29px"
                 android:text="@string/favourite_recipes"
                 android:textColor="@color/home_menu_title"
+                android:ellipsize="marquee"
+                android:focusable="true"
+                android:focusableInTouchMode="true"
+                android:marqueeRepeatLimit="marquee_forever"
+                android:singleLine="true"
                 android:textSize="@dimen/convert_30px" />
         </LinearLayout>
 
@@ -114,12 +124,17 @@
                 android:layout_marginStart="@dimen/convert_60px"
                 android:background="@drawable/ic_setting" />
 
-            <androidx.appcompat.widget.AppCompatTextView
+            <com.develop.common.widget.MarqueeTextView
                 android:id="@+id/tv_setting"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_marginStart="@dimen/convert_29px"
                 android:text="@string/settings"
+                android:ellipsize="marquee"
+                android:focusable="true"
+                android:focusableInTouchMode="true"
+                android:marqueeRepeatLimit="marquee_forever"
+                android:singleLine="true"
                 android:textColor="@color/home_menu_title"
                 android:textSize="@dimen/convert_30px" />
         </LinearLayout>
@@ -142,12 +157,17 @@
                 android:layout_marginStart="@dimen/convert_60px"
                 android:background="@drawable/ic_help" />
 
-            <androidx.appcompat.widget.AppCompatTextView
+            <com.develop.common.widget.MarqueeTextView
                 android:id="@+id/tv_help"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_marginStart="@dimen/convert_29px"
                 android:text="@string/help"
+                android:ellipsize="marquee"
+                android:focusable="true"
+                android:focusableInTouchMode="true"
+                android:marqueeRepeatLimit="marquee_forever"
+                android:singleLine="true"
                 android:textColor="@color/home_menu_title"
                 android:textSize="@dimen/convert_30px" />
         </LinearLayout>
@@ -170,12 +190,17 @@
                 android:layout_marginStart="@dimen/convert_60px"
                 android:background="@drawable/ic_policy" />
 
-            <androidx.appcompat.widget.AppCompatTextView
+            <com.develop.common.widget.MarqueeTextView
                 android:id="@+id/tv_policy"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_marginStart="@dimen/convert_29px"
                 android:text="@string/privacy_policy"
+                android:ellipsize="marquee"
+                android:focusable="true"
+                android:focusableInTouchMode="true"
+                android:marqueeRepeatLimit="marquee_forever"
+                android:singleLine="true"
                 android:textColor="@color/home_menu_title"
                 android:textSize="@dimen/convert_30px" />
         </LinearLayout>

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

@@ -89,6 +89,10 @@ class AboutActivity : CommonBVMActivity<ActivityAboutBinding, AboutViewModel>()
         val ivLogoParam = binding.ivLogo.layoutParams as RelativeLayout.LayoutParams
         val ivUpdateParam = binding.icUpdate.layoutParams as LinearLayout.LayoutParams
         binding.ivClose.setImageResource( com.develop.common.R.drawable.ic_close)
+        //muc 过长展示需要成mcu
+        if (binding.tvAboutMcu.text.length>10){
+            binding.tvAboutMcu.text = "MCU"
+        }
         if (isNightTheme() || isBrand036I()) {
             ivLogoParam.apply {
                 width = dimenRes(com.develop.common.R.dimen.convert_321px)

+ 8 - 4
BusinessSetting/src/main/java/com/develop/setting/ui/LanguageActivity.kt

@@ -46,13 +46,14 @@ class LanguageActivity : BaseBindingActivity<ActivityLanguageBinding>() {
     private var selectedPosition = -1
     private var isLanguageTip = false
     private var isFromSetting = false
-
+    private var language :String? = ""
     override fun createViewBinding(inflater: LayoutInflater): ActivityLanguageBinding {
         return ActivityLanguageBinding.inflate(inflater)
     }
 
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
+        language = MMkvUtils.getString(CURRENT_LANGUAGE)
 
         if (isBrand036I()) {
             binding.ivLogo.setVisible()
@@ -84,7 +85,7 @@ class LanguageActivity : BaseBindingActivity<ActivityLanguageBinding>() {
                 tvNext.updateText(getString(com.develop.common.R.string.confirm))
             }
         }
-
+      var list =   DataFactory.createLanguageDataV2(resources)
         binding.languageRecycle.apply {
             linear()
             setup {
@@ -108,7 +109,7 @@ class LanguageActivity : BaseBindingActivity<ActivityLanguageBinding>() {
                     updateSelectionPos(absoluteAdapterPosition)
                 }
             }
-        }.models = DataFactory.createLanguageDataV2(resources)
+        }.models =list
 
         selectedPosition = getSelectedPos()
 
@@ -145,6 +146,10 @@ class LanguageActivity : BaseBindingActivity<ActivityLanguageBinding>() {
                 return@setOnClickListener
             }
             if (isFromSetting) {
+                //相同语言的时候不可点击
+                if (language ==list[selectedPosition].value){
+                    return@setOnClickListener
+                }
                 if (isNightTheme() || isBrand036I()) {
                     if (binding.languageRecycle.models?.size!! > 1) {
                         isLanguageTip = true
@@ -196,7 +201,6 @@ class LanguageActivity : BaseBindingActivity<ActivityLanguageBinding>() {
     }
 
     private fun getSelectedPos(): Int {
-        val language = MMkvUtils.getString(CURRENT_LANGUAGE)
         for (i in binding.languageRecycle.models?.indices!!) {
             var l = binding.languageRecycle.models!![i] as ConfigUtils.Lang;
             if (language == l.value) {

+ 1 - 0
BusinessSetting/src/main/java/com/develop/setting/ui/SettingMainActivity.kt

@@ -126,6 +126,7 @@ class SettingMainActivity : CommonBindingActivity<ActivitySettingMainBinding>()
                                 ToastUtils.showShort(getString(com.develop.common.R.string.change_lang_tips))
                             } else {
                                 if (NetworkInfo.DetailedState.CONNECTED == WifiHelp.Build(ctx)
+
                                         .build().getDetailedState()
                                 ) {
                                     navigateTo(Screens.Setting.TUYA)

+ 4 - 3
BusinessSetting/src/main/res/layout/activity_about.xml

@@ -7,11 +7,11 @@
 
     <ImageView
         android:id="@+id/iv_close"
-        android:layout_width="@dimen/convert_53px"
-        android:layout_height="@dimen/convert_53px"
+        android:layout_width="@dimen/convert_83px"
+        android:layout_height="@dimen/convert_83px"
         android:layout_marginStart="@dimen/convert_21px"
         android:layout_marginTop="@dimen/convert_10px"
-        android:padding="@dimen/convert_15px"
+        android:padding="@dimen/convert_25px"
         android:src="@drawable/ic_close" />
 
     <androidx.appcompat.widget.AppCompatTextView
@@ -167,6 +167,7 @@
             android:layout_height="@dimen/convert_98px">
 
             <androidx.appcompat.widget.AppCompatTextView
+                android:id="@+id/tv_about_mcu"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_centerVertical="true"

+ 3 - 3
BusinessSetting/src/main/res/layout/activity_language.xml

@@ -8,11 +8,11 @@
     <ImageView
         android:visibility="invisible"
         android:id="@+id/iv_close"
-        android:layout_width="@dimen/convert_53px"
-        android:layout_height="@dimen/convert_53px"
+        android:layout_width="@dimen/convert_73px"
+        android:layout_height="@dimen/convert_73px"
         android:layout_marginStart="@dimen/convert_21px"
         android:layout_marginTop="@dimen/convert_10px"
-        android:padding="@dimen/convert_15px"
+        android:padding="@dimen/convert_25px"
         android:src="@drawable/ic_close" />
 
 

+ 3 - 3
BusinessSetting/src/main/res/layout/activity_setting_main.xml

@@ -6,11 +6,11 @@
 
     <ImageView
         android:id="@+id/iv_close"
-        android:layout_width="@dimen/convert_53px"
-        android:layout_height="@dimen/convert_53px"
+        android:layout_width="@dimen/convert_73px"
+        android:layout_height="@dimen/convert_73px"
         android:layout_marginStart="@dimen/convert_21px"
         android:layout_marginTop="@dimen/convert_10px"
-        android:padding="@dimen/convert_15px"
+        android:padding="@dimen/convert_25px"
         android:src="@drawable/ic_close" />
 
     <androidx.appcompat.widget.AppCompatTextView

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

@@ -28,6 +28,7 @@ import com.develop.base.ext.updateText
 import com.develop.base.util.ThreadUtils
 import com.develop.base.widgets.CommonPopupWindow
 import com.develop.common.bean.TuyaEvent
+import com.develop.common.bean.WorkMode
 import com.develop.common.data_repo.db.ModesType
 import com.develop.common.data_repo.db.entity.DevRecipeCategory
 import com.develop.common.dialog.CancelConfirmDialog
@@ -114,6 +115,7 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
     private var confirmType: Boolean = false
     private var eggConfirm: AppCompatTextView? = null
     private var potCloverInterval: Interval? = null
+    private var workMode :WorkMode? = null
     private val backRequestDialog by lazy {
         CancelConfirmDialog()
     }
@@ -222,8 +224,28 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
         viewModel.lastModeType = viewModel.modeType
         lastModeType = viewModel.modeType
         modeType = lastModeType
+        workMode = ConfigUtils.getMode(modeType)
+        if (!isNightTheme()) {
+            if (workMode == null) {
+                binding.ivBanner.setImageResource(com.develop.common.R.drawable.ic_mode_diy)
+//                Glide.with(this).load(com.develop.common.R.drawable.ic_mode_diy)
+//                    .into(binding.ivBanner)
+            } else {
+                binding.ivBanner.setImageResource(resources.getIdentifier(
+                    workMode?.bg,
+                    "drawable",
+                    this.packageName
+                ))
+//                Glide.with(this).load(
+//                    resources.getIdentifier(
+//                        workMode?.bg,
+//                        "drawable",
+//                        this.packageName
+//                    )
+//                ).into(binding.ivBanner)
+            }
+        }
 
-        Log.d("TAG ModesDetail", "lastModeType :$lastModeType")
         //初始化模式数据
         initModeData(lastModeType)
         initData()
@@ -739,28 +761,14 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
     //======================================初始化数据和监听去==================================\\
 
     private fun initData() {
-        var workMode = ConfigUtils.getMode(modeType)
+
         if (modeName.isNotEmpty() || workMode?.name == null) {
             binding.tvModeName.text = modeName
         } else {
             binding.tvModeName.text =
-                getString(resources.getIdentifier(workMode.name, "string", this.packageName))
-        }
-        if (!isNightTheme()) {
-            if (workMode == null) {
-                Glide.with(this).load(com.develop.common.R.drawable.ic_mode_diy)
-                    .into(binding.ivBanner)
-            } else {
-                Glide.with(this).load(
-                    resources.getIdentifier(
-                        workMode.bg,
-                        "drawable",
-                        this.packageName
-                    )
-                )
-                    .into(binding.ivBanner)
-            }
+                getString(resources.getIdentifier(workMode?.name, "string", this.packageName))
         }
+
 //        // 获取ImageView的宽度和高度
 //        val imageViewWidth = binding.ivBanner.width
 //        val imageViewHeight = binding.ivBanner.height
@@ -1496,14 +1504,16 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
         this.minTemp = minTemp.toInt()
         this.isTempChange = isTempChange
         binding.apply {
-            if (maxTemp==0f){
-                clCookTemp.setConfigValue("--0°C--")
-                clCookTemp.updateChangeValue("0°C")
-                tempRingText.text = ("0°C")
-            }else{
-                clCookTemp.updateChangeValue("${FoodSdkUtils.parseTemp(currDevInfo.temp)}°C")
+
+            if (targetTemp.toInt()>maxTemp){
+                CofarSDK.cfgHeat(maxTemp.toInt().toShort(), HeatModes.PU_TONG);
+                clCookTemp.setConfigValue("--${CofarUtils.parseTemp(maxTemp.toInt().toShort())}°C--")
+                tempRingView.updateProgress(CofarUtils.parseTemp(maxTemp.toInt().toShort()).toInt())
+                tempRingText.text = ("${CofarUtils.parseTemp(maxTemp.toInt().toShort()).toInt()}°C")
+
             }
 
+            clCookTemp.updateChangeValue("${FoodSdkUtils.parseTemp(currDevInfo.temp)}°C")
             tempRingView.setRange(minTemp, maxTemp)
             tempRingView.setCanTouch(isTempChange)
 

+ 11 - 2
BusinessStep/src/main/java/com/develop/step/ui/recipes_detail/CookDetailDescFragment.kt

@@ -24,9 +24,18 @@ class CookDetailDescFragment :
     override fun onPostCreateView() {
         super.onPostCreateView()
         viewModel.getRecipeLiveData().observe(viewLifecycleOwner) {
+            var  duction = it.recipe.introduction
+            if (duction.isNullOrEmpty()){
+                duction = ""
+            }
+            //由于菜谱包介绍的json会返回null,估添加以上判断,如果null下面就会崩
             //食谱总步骤内容过于密集显示,需要分段显示
 //            binding.tvStepDetail.text = it.recipe.introduction
-            binding.tvStepDetail.text = StringUtils.getStringWrap(it.recipe.introduction)
+            duction.let {str ->
+                binding.tvStepDetail.text = StringUtils.getStringWrap(str)
+            }
+
         }
     }
-}
+}
+

+ 2 - 0
BusinessStep/src/main/java/com/develop/step/viewmodel/CookDetailViewModel.kt

@@ -200,6 +200,8 @@ class CookDetailViewModel : BaseViewModel() {
                 }
                 return
             }
+
+
             val jsonContent = FileKit.readFileToStringB(jsonFile)
 
             val contentData = GsonUtils.fromJson(jsonContent, RecipeDataConfig::class.java)

+ 4 - 4
BusinessStep/src/main/res/layout/activity_cook_detail.xml

@@ -24,11 +24,11 @@
 
     <ImageView
         android:id="@+id/view_back"
-        android:layout_width="@dimen/convert_60px"
-        android:layout_height="@dimen/convert_60px"
+        android:layout_width="@dimen/convert_80px"
+        android:layout_height="@dimen/convert_80px"
         android:layout_marginStart="@dimen/convert_26px"
-        android:layout_marginTop="@dimen/convert_16px"
-        android:padding="@dimen/convert_6px"
+        android:layout_marginTop="@dimen/convert_10px"
+        android:padding="@dimen/convert_20px"
         android:src="@drawable/ic_cook_detail_back"
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintTop_toTopOf="parent" />

+ 5 - 5
BusinessStep/src/main/res/layout/activity_cook_evaluate.xml

@@ -108,12 +108,12 @@
 
     <ImageView
         android:id="@+id/view_close"
-        android:layout_width="@dimen/convert_60px"
-        android:layout_height="@dimen/convert_60px"
+        android:layout_width="@dimen/convert_90px"
+        android:layout_height="@dimen/convert_90px"
         android:src="@drawable/ic_close"
-        android:padding="@dimen/convert_8px"
-        android:layout_marginStart="@dimen/convert_45px"
-        android:layout_marginTop="@dimen/convert_45px"
+        android:padding="@dimen/convert_25px"
+        android:layout_marginStart="@dimen/convert_30px"
+        android:layout_marginTop="@dimen/convert_30px"
         app:layout_constraintStart_toStartOf="parent"
         app:layout_constraintTop_toTopOf="parent"/>
 

+ 3 - 3
BusinessStep/src/main/res/layout/activity_mode_detail.xml

@@ -25,11 +25,11 @@
 
         <ImageView
             android:id="@+id/iv_back"
-            android:layout_width="@dimen/convert_43px"
-            android:layout_height="@dimen/convert_60px"
+            android:layout_width="@dimen/convert_63px"
+            android:layout_height="@dimen/convert_80px"
             android:layout_marginStart="@dimen/convert_30px"
             android:layout_marginTop="@dimen/convert_20px"
-            android:padding="@dimen/convert_10px"
+            android:padding="@dimen/convert_20px"
             android:src="@drawable/ic_white_back" />
 
         <androidx.appcompat.widget.AppCompatTextView

+ 80 - 0
app/src/main/java/com/develop/foodcooking/CrashHandler.java

@@ -0,0 +1,80 @@
+package com.develop.foodcooking;
+
+import android.content.Context;
+import android.os.Looper;
+import android.util.Log;
+import android.widget.Toast;
+
+import androidx.annotation.NonNull;
+
+public class CrashHandler implements Thread.UncaughtExceptionHandler{
+    private static final String TAG = "CrashHandler";
+    private static CrashHandler instance;
+    private Thread.UncaughtExceptionHandler defaultHandler;//系统默认的UncaughtException处理器
+    private Context context;
+
+
+    private CrashHandler() {
+    }
+
+    public static CrashHandler getInstance() {
+
+        if (instance == null) {
+            instance = new CrashHandler();
+        }
+
+        return instance;
+    }
+
+    @Override
+    public void uncaughtException(Thread t, Throwable e) {
+        if (!handleException(e) && defaultHandler != null) {  //如果用户没有处理则让系统默认的异常处理器来处理
+            defaultHandler.uncaughtException(t, e);
+        } else {
+            try {
+                Thread.sleep(2000);
+            } catch (InterruptedException ex) {
+                Log.e(TAG, "error : ", ex);
+            }
+            //退出程序
+            android.os.Process.killProcess(android.os.Process.myPid());
+            System.exit(1);
+        }
+    }
+
+    public void init(Context context) {
+        this.context = context;
+        //获取系统默认的UncaughtException处理器
+        defaultHandler = Thread.getDefaultUncaughtExceptionHandler();
+        Thread.setDefaultUncaughtExceptionHandler(this);
+    }
+
+
+    private boolean handleException(Throwable e) {
+        if (e == null) return false;
+
+        //使用Toast来显示异常信息
+//        new Thread() {
+//            @Override
+//            public void run() {
+//                Looper.prepare();
+//                Toast.makeText(context, "程序发生意外情况,即将关闭,我们深感抱歉!我们将会尽快修复!", Toast.LENGTH_LONG).show();
+//                Looper.loop();
+//            }
+//        }.start();
+
+        saveException(e);
+
+        return true;
+    }
+
+    /**
+     * 一般在这是把崩溃信息保存下来,然后等wifi的时候上传到服务器
+     *
+     * @param e 异常信息
+     */
+    private void saveException(Throwable e) {
+        Toast.makeText(context, e.toString(), Toast.LENGTH_SHORT).show();
+//        Log.e(TAG, e.toString());
+    }
+}

+ 2 - 1
app/src/main/java/com/develop/foodcooking/FoodCookingApp.kt

@@ -77,7 +77,8 @@ class FoodCookingApp : BaseApp() {
 
         hookWebView()
         super.onCreate()
-
+        //处理崩溃问题
+//        CrashHandler.getInstance().init(this);
         //FoodDataProvider.initFoodDataBase()
         ResourceUtils.copyFileFromAssets(
             ASSETS_NIGHT_SKIN_PACK,

+ 1 - 0
app/src/main/java/com/develop/foodcooking/MainActivity.kt

@@ -29,6 +29,7 @@ class MainActivity : CommonBindingActivity<ActivityMainBinding>() {
 
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
+
         if (MMkvUtils.getBool(FIRST_IN)) {
             navigateTo(Screens.Main.ENTRANCE_CHOSEN)
         } else {

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

@@ -193,6 +193,7 @@ fun getSN(): String {
 //    return "011A30150020123010190001"
 //    return "007D20020020123010190001"
 //    return "036I21060020123010180001"
+    return  "030A10390020123010190001"
 
     //通过反射获取sn号
     try {

+ 0 - 8
libBase/src/main/java/com/develop/base/manager/WifiHelp.kt

@@ -371,14 +371,6 @@ class WifiHelp {
             val list = getScanDevice()
             val connectionWifi = getConnectionWifi()
 
-            val wifiList = mWifiManager.scanResults
-            wifiList.forEach {
-                Log.e("TAG wifi", it.toString())
-            }
-
-            list.forEach {
-                Log.e("TAG wifi list", it.toString())
-            }
 
             withContext(Dispatchers.Main) {
                 timeDownUtil?.cancel()