Browse Source

033 011 036 代码优化处理

zhangshenjie 8 months ago
parent
commit
3cb3e58cf4
21 changed files with 1711 additions and 127 deletions
  1. 364 0
      BusinessAirFryer/src/main/assets/config_002.json
  2. 1 1
      BusinessAuth/src/main/java/com/develop/auth/ui/MemberAuthActivity.kt
  3. 1 0
      BusinessCommon/src/main/java/com/develop/common/data_repo/FoodDataProvider.kt
  4. 103 27
      BusinessCommon/src/main/java/com/develop/common/utils/StringUtils.java
  5. 4 4
      BusinessCommon/src/main/res/values-fr/strings.xml
  6. 27 4
      BusinessMain/src/main/java/com/develop/main/viewmodel/HomeViewModel.kt
  7. 12 7
      BusinessSetting/src/main/java/com/develop/setting/ui/AboutActivity.kt
  8. 1 1
      BusinessSetting/src/main/java/com/develop/setting/ui/LanguageActivity.kt
  9. 1 1
      BusinessSetting/src/main/java/com/develop/setting/ui/PrivacyPolicyActivity.kt
  10. 16 5
      BusinessSetting/src/main/java/com/develop/setting/ui/SettingMainActivity.kt
  11. 1 1
      BusinessSetting/src/main/java/com/develop/setting/ui/WifiListActivity.kt
  12. 66 55
      BusinessStep/src/main/java/com/develop/step/ui/ModesDetailActivity.kt
  13. 1 0
      BusinessStep/src/main/java/com/develop/step/ui/recipes_detail/CookDetailActivity.kt
  14. 33 17
      app/build.gradle
  15. 363 0
      app/src/brand010D/values-de/strings.xml
  16. 358 0
      app/src/brand010D/values-fr/strings.xml
  17. 347 0
      app/src/brand010D/values-it/strings.xml
  18. 1 1
      app/src/brand011ATuya/res/values-pl/strings.xml
  19. 1 1
      app/src/brand011DTuya/res/values-pl/strings.xml
  20. 10 2
      libBase/src/main/java/com/develop/base/ext/GlobaExt.kt
  21. BIN
      libThirdPart/libs/cofar-cooking-device-sdk-0.0.1-SNAPSHOT.jar

+ 364 - 0
BusinessAirFryer/src/main/assets/config_002.json

@@ -0,0 +1,364 @@
+{
+  "baseQrUrl": "https://icook.cofarcn.com/h5/index.html",
+  "workModes": [
+    {
+      "type": "ADAPTED_COOKING",
+      "name": "adapted_cooking",
+      "bg": "ic_mode_diy",
+      "icon": "ic_grid_adapted_cooking",
+      "devMode": "SOUP",
+      "listShow": true
+    },
+    {
+      "type": "WIGHT",
+      "name": "wight",
+      "bg": "ic_mode_weight",
+      "icon": "ic_grid_weight",
+      "devMode": "SOUP",
+      "listShow": true
+    },
+    {
+      "type": "BOIL_WATER",
+      "name": "boil_water",
+      "bg": "ic_mode_boil_water",
+      "icon": "ic_grid_boil_water",
+      "devMode": "SOUP",
+      "listShow": true
+    },
+    {
+      "type": "CHOP",
+      "name": "chop",
+      "bg": "ic_mode_chop",
+      "icon": "ic_grid_chop",
+      "devMode": "SOUP",
+      "listShow": true
+    },
+    {
+      "type": "SLOW_COOK",
+      "name": "slow_cook",
+      "bg": "ic_mode_slow_cook",
+      "icon": "ic_grid_slow_cook",
+      "devMode": "SOUP",
+      "listShow": true
+    },
+    {
+      "type": "KNEAD_TOUGH",
+      "name": "knead_dough",
+      "bg": "ic_mode_knead_dough",
+      "icon": "ic_grid_knead_dough",
+      "devMode": "SOUP",
+      "listShow": true
+    },
+    {
+      "type": "STEAM",
+      "name": "steam",
+      "bg": "ic_mode_steam",
+      "icon": "ic_grid_steam",
+      "devMode": "SOUP",
+      "listShow": true
+    },
+    {
+      "type": "FOOD_PROCESSOR",
+      "name": "food_processor",
+      "bg": "ic_mode_food_processor",
+      "icon": "ic_grid_food_processor",
+      "devMode": "SOUP",
+      "listShow": true
+    },
+    {
+      "type": "TURBO",
+      "name": "turbo",
+      "bg": "ic_mode_turbo",
+      "icon": "ic_grid_turbo",
+      "devMode": "SOUP",
+      "listShow": true
+    },
+
+    {
+      "type": "COOK_EGGS",
+      "name": "cook_eggs",
+      "bg": "cm_icon_cook_eggs",
+      "icon": "cm_icon_cook_eggs",
+      "devMode": "SOUP",
+      "listShow": false
+    },
+
+    {
+      "type": "COOK_RICE",
+      "name": "cook_rice",
+      "bg": "cm_icon_cook_rice",
+      "icon": "cm_icon_cook_rice",
+      "devMode": "SOUP",
+      "listShow": true
+    },
+    {
+      "type": "MULSIFY",
+      "name": "mulsify",
+      "bg": "cm_icon_mulsify",
+      "icon": "cm_icon_mulsify",
+      "devMode": "SOUP",
+      "listShow": true
+    }, {
+      "type": "PUREE",
+      "name": "puree",
+      "bg": "cm_icon_puree",
+      "icon": "cm_icon_puree",
+      "devMode": "SOUP",
+      "listShow": true
+    },
+    {
+      "type": "BROWN",
+      "name": "brown",
+      "bg": "cm_icon_roast",
+      "icon": "cm_icon_roast",
+      "devMode": "SOUP",
+      "listShow": false
+    },
+    {
+      "type": "ROAST",
+      "name": "roast",
+      "bg": "cm_icon_roast",
+      "icon": "cm_icon_roast",
+      "devMode": "SOUP",
+      "listShow": true
+    },
+
+    {
+      "type": "SMOOTHIE",
+      "name": "smoothie",
+      "bg": "cm_icon_smoothie",
+      "icon": "cm_icon_smoothie",
+      "devMode": "SOUP",
+      "listShow": true
+    },
+    {
+      "type": "SOVS_VIDE",
+      "name": "sovs_vide",
+      "bg": "cm_icon_sovs_vide",
+      "icon": "cm_icon_sovs_vide",
+      "devMode": "SOUP",
+      "listShow": true
+    },
+    {
+      "type": "AUTO_CLEAN",
+      "name": "auto_clean",
+      "bg": "cm_icon_auto_clean",
+      "icon": "cm_icon_auto_clean",
+      "devMode": "SOUP",
+      "listShow": true
+    },
+    {
+      "type": "SPECIAL_DIY_MODE",
+      "name": "special_diy_mode",
+      "bg": "ic_mode_diy",
+      "icon": "ic_grid_adapted_cooking",
+      "devMode": "SOUP",
+      "listShow": false
+    },
+    {
+      "type": "CITRUS_JUICER",
+      "name": "citrus_juicer",
+      "bg": "ic_mode_citrus_juicer",
+      "icon": "ic_grid_citrus_juicer",
+      "devMode": "SOUP",
+      "listShow": false
+    },
+    {
+      "type": "AIR_FRYER",
+      "name": "air_fryer",
+       "bg": "air_fryer",
+      "icon": "air_fryer",
+      "devMode": "AIR_FRYER",
+      "listShow": true
+    },
+    {
+      "type": "MEAT",
+      "name": "meat",
+      "bg": "meat",
+      "icon": "meat",
+      "devMode": "AIR_FRYER",
+      "listShow": true
+    },
+    {
+      "type": "FISH",
+      "name": "fish",
+      "bg": "fish_steak",
+      "icon": "fish_steak",
+      "devMode": "AIR_FRYER",
+      "listShow": true
+    },
+    {
+      "type": "BAKC",
+      "name": "bakc",
+      "bg": "bakc",
+      "icon": "bakc",
+      "devMode": "AIR_FRYER",
+      "listShow": true
+    },
+    {
+      "type": "DRUMSTICKS",
+      "name": "drumsticks",
+      "bg": "drumsticks",
+      "icon": "drumsticks",
+      "devMode": "AIR_FRYER",
+      "listShow": true
+    },
+    {
+      "type": "CHICKEN_WING",
+      "name": "chicken_wing",
+      "bg": "chicken_wing",
+      "icon": "chicken_wing",
+      "devMode": "AIR_FRYER",
+      "listShow": true
+    },
+    {
+      "type": "VEGETABLE",
+      "name": "vegetable",
+      "bg": "vegetable",
+      "icon": "vegetable",
+      "devMode": "AIR_FRYER",
+      "listShow": true
+    },
+    {
+      "type": "SHRIMP",
+      "name": "shrimp",
+      "bg": "shrimp",
+      "icon": "shrimp",
+      "devMode": "AIR_FRYER",
+      "listShow": true
+    },
+    {
+      "type": "PIZZA",
+      "name": "pizza",
+      "bg": "pizza",
+      "icon": "pizza",
+      "devMode": "AIR_FRYER",
+      "listShow": true
+    },
+    {
+      "type": "DEHYDRATE",
+      "name": "dehydrate",
+      "bg": "dehydrate",
+      "icon": "dehydrate",
+      "devMode": "AIR_FRYER",
+      "listShow": true
+    },
+
+
+
+
+
+    {
+      "type": "AF_DIY",
+      "name": "af_diy",
+      "bg": "af_diy_bg",
+      "icon": "af_diy",
+      "devMode": "AIR_FRYER",
+      "listShow": false
+    },
+    {
+      "type": "AF_AIR_FRYER",
+      "name": "af_air_fryer",
+      "bg": "af_air_fryer_bg",
+      "icon": "af_air_fryer",
+      "devMode": "AIR_FRYER",
+      "listShow": false
+    },
+    {
+      "type": "AF_BAKE",
+      "name": "af_bake",
+      "bg": "af_bake_bg",
+      "icon": "af_bake",
+      "devMode": "AIR_FRYER",
+      "listShow": false
+    },
+    {
+      "type": "AF_DRUMSTICKS",
+      "name": "af_drumsticks",
+      "bg": "af_drumsticks_bg",
+      "icon": "af_drumsticks",
+      "devMode": "AIR_FRYER",
+      "listShow": false
+    },
+    {
+      "type": "AF_EGG_TART",
+      "name": "af_egg_tart",
+      "bg": "af_egg_tart_bg",
+      "icon": "af_egg_tart",
+      "devMode": "AIR_FRYER",
+      "listShow": false
+    },
+    {
+      "type": "AF_PIZZA",
+      "name": "af_pizza",
+      "bg": "af_pizza_bg",
+      "icon": "af_pizza",
+      "devMode": "AIR_FRYER",
+      "listShow": false
+    },
+    {
+      "type": "AF_DEHYDRATE",
+      "name": "af_dehydrate",
+      "bg": "af_dehydrate_bg",
+      "icon": "af_dehydrate",
+      "devMode": "AIR_FRYER",
+      "listShow": false
+    },
+    {
+      "type": "AF_REHEAT",
+      "name": "af_reheat",
+      "bg": "af_reheat_bg",
+      "icon": "af_reheat",
+      "devMode": "AIR_FRYER",
+      "listShow": false
+    },
+    {
+      "type": "AF_CHICKEN_WING",
+      "name": "af_chicken_wing",
+      "bg": "af_chicken_wing_bg",
+      "icon": "af_chicken_wing",
+      "devMode": "AIR_FRYER",
+      "listShow": false
+    },
+    {
+      "type": "AF_STEAK",
+      "name": "af_steak",
+      "bg": "af_steak_bg",
+      "icon": "af_steak",
+      "devMode": "AIR_FRYER",
+      "listShow": false
+    },
+    {
+      "type": "AF_SEA_FOOD",
+      "name": "af_sea_food",
+      "bg": "af_sea_food_bg",
+      "icon": "af_sea_food",
+      "devMode": "AIR_FRYER",
+      "listShow": false
+    },
+    {
+      "type": "AF_VEGETABLE",
+      "name": "af_vegetable",
+      "bg": "af_vegetable_bg",
+      "icon": "af_vegetable",
+      "devMode": "AIR_FRYER",
+      "listShow": false
+    },
+    {
+      "type": "AF_MUTTON_CHOP",
+      "name": "af_mutton_chop",
+      "bg": "af_mutton_chop_bg",
+      "icon": "af_mutton_chop",
+      "devMode": "AIR_FRYER",
+      "listShow": false
+    }, {
+      "type": "WIGHT",
+      "name": "wight",
+      "bg": "ic_mode_weight",
+      "icon": "ic_grid_weight",
+      "devMode": "AIR_FRYER",
+      "listShow": true
+    }
+
+  ]
+}

+ 1 - 1
BusinessAuth/src/main/java/com/develop/auth/ui/MemberAuthActivity.kt

@@ -63,7 +63,7 @@ class MemberAuthActivity : CommonBVMActivity<ActivityMemberAuthBinding, MemberVi
             binding.tvSkip.setBackgroundResource(com.develop.common.R.drawable.bg_skip_text)
         }
         if (isBrand036I()) {
-            binding.ivLogo.setVisible()
+            binding.ivLogo.setGone()
             binding.ivBanner.setImageResource(com.develop.common.R.drawable.guide_bg_036i)
         } else if (sn.startsWith("002D")) {
             binding.ivBanner.setImageResource(com.develop.common.R.drawable.account_background_002d)

+ 1 - 0
BusinessCommon/src/main/java/com/develop/common/data_repo/FoodDataProvider.kt

@@ -44,6 +44,7 @@ object FoodDataProvider {
     private val RES_DST_PARENT = File("system/media")
     private val RES_DST_PARENT_V1 =  File("vendor/bundled_uninstall_back-app/cofa_cooking")
     private val ZIP_PATH = File(RES_DST_PARENT, "cofa_cooking.zip")
+    private val TXT_PATH = File(RES_DST_PARENT, "cofa_update_recipe.txt")
     private val ZIP_PATH_V1 = File(RES_DST_PARENT_V1, "cofa_cooking.zip")
     private val ZIP_PATH_V0_1 = File(TARGET_DST_PARENT, "cookbook/cofa_cooking.zip")
     private var foodDatabase: FoodDatabase? = null

+ 103 - 27
BusinessCommon/src/main/java/com/develop/common/utils/StringUtils.java

@@ -8,11 +8,15 @@ import android.app.ActivityManager;
 import android.content.Context;
 import android.database.Cursor;
 import android.database.sqlite.SQLiteDatabase;
+import android.graphics.Point;
+import android.os.Build;
 import android.os.Environment;
 import android.os.StatFs;
 import android.text.format.Formatter;
 import android.util.DisplayMetrics;
 import android.util.Log;
+import android.view.Display;
+import android.view.WindowManager;
 
 import com.develop.base.app.BaseApp;
 import com.develop.common.data_repo.db.FoodDatabase;
@@ -24,10 +28,12 @@ import net.lingala.zip4j.exception.ZipException;
 import java.io.BufferedReader;
 import java.io.File;
 import java.io.FileInputStream;
+import java.io.FileNotFoundException;
 import java.io.FileOutputStream;
 import java.io.FileReader;
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.InputStreamReader;
 import java.nio.channels.FileChannel;
 import java.security.MessageDigest;
 
@@ -49,15 +55,33 @@ public class StringUtils {
         }
     }
 
+    public  static String getUpdateTime(){
+        String path = "system/media/cofa_update_recipe.txt";
+        StringBuilder content = new StringBuilder();
+        try {
+            File file = new File(path);
+            BufferedReader reader = new BufferedReader(new FileReader(file));
+            String line;
+            while ((line = reader.readLine()) != null) {
+                content.append(line);
+            }
+            reader.close();
+        } catch (FileNotFoundException e) {
+            e.printStackTrace();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        return content.toString();
+    }
 
     public static int getScreenSize(Context context) {
         DisplayMetrics displayMetrics = context.getResources().getDisplayMetrics();
         float width = displayMetrics.widthPixels / displayMetrics.density;
         float height = displayMetrics.heightPixels / displayMetrics.density;
-        Log.i("dimension","宽度:"+width+"\n高度:"+height+"\n密度:"+ displayMetrics.density);
 
 
         double screenSize = Math.sqrt(width * width + height * height);  // 开平方
+        Log.i("dimension", "宽度:" + width + "\n高度:" + height + "\n密度:" + displayMetrics.density);
 
         if (screenSize > 10.1) {
             // 超过10.1英寸,通常是大屏幕设备
@@ -71,7 +95,7 @@ public class StringUtils {
         }
     }
 
-    public static int getScreenSizeOne(Context context) {
+    public static int getScreenSizeOne(Activity context) {
         DisplayMetrics metrics = context.getResources().getDisplayMetrics();
         int w = metrics.widthPixels;//宽度
         int h = metrics.heightPixels;//高度
@@ -79,8 +103,8 @@ public class StringUtils {
         float xdpi = metrics.xdpi;//x方向上的dpi
         float density = metrics.density;//密度
         float scaledDensity = metrics.scaledDensity;
-        Log.i("dimension","宽度:"+w+"\n高度:"+h+"\nDPI:"+dpi+"\nxDPI:"+xdpi+"\n密度:"+density+"\nscaledDensity:"+scaledDensity);
-        double screenSize = (Math.sqrt(w * w + h * h))/xdpi;
+        Log.i("dimension", "宽度:" + w + "\n高度:" + h + "\nDPI:" + dpi + "\nxDPI:" + xdpi + "\n密度:" + density + "\nscaledDensity:" + scaledDensity);
+        double screenSize = (Math.sqrt(w * w + h * h)) / xdpi;
 
 
         if (screenSize > 10.1) {
@@ -96,18 +120,71 @@ public class StringUtils {
     }
 
 
-
-    public  static  float  getWindowsSize(Activity activity){
+    public static float getWindowsSize(Activity activity) {
         DisplayMetrics metrics = new DisplayMetrics();
         activity.getWindowManager().getDefaultDisplay().getMetrics(metrics);
         float widthInInches = metrics.widthPixels / metrics.xdpi;
         float heightInInches = metrics.heightPixels / metrics.ydpi;
 
         float screenSizeInInches = (float) Math.sqrt(Math.pow(widthInInches, 2) + Math.pow(heightInInches, 2));
+        Log.i("dimension", "宽度:" + metrics.widthPixels
+                + "\n高度:" + metrics.heightPixels + "\nx密度:"
+                + metrics.xdpi + "\ny密度:" + metrics.ydpi);
 
-        return  screenSizeInInches;
+        return screenSizeInInches;
     }
 
+    public static int getWindowsScreen(Context context) {
+
+        /**
+         * 5寸屏  :  1280x720
+         * 7寸屏   :1024x600
+         * 10寸   : 1280*800
+         * **/
+        int width = getScreenSizeList(context)[0];
+        int height = getScreenSizeList(context)[1];
+
+
+//        Log.e("TAG 其他","width:"+getScreenSizeList(context)[0] + " height :"+getScreenSizeList(context)[1]);
+
+        if (width == 1280 && height == 800) {
+            return 10;
+        } else if (width == 1024 && height == 600) {
+            return 7;
+
+        } else if (width == 1280 && height == 720) {
+            return 5;
+        } else {
+            return 1;
+        }
+
+    }
+
+    /**
+     * 获取屏幕宽高
+     */
+    public static int[] getScreenSizeList(Context context) {
+        int[] size = new int[2];
+        WindowManager w = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
+        Display d = w.getDefaultDisplay();
+        DisplayMetrics metrics = new DisplayMetrics();
+        d.getMetrics(metrics);
+        int widthPixels = metrics.widthPixels;
+        int heightPixels = metrics.heightPixels;
+        if (Build.VERSION.SDK_INT >= 17)
+            try {
+                Point realSize = new Point();
+                Display.class.getMethod("getRealSize", Point.class).invoke(d, realSize);
+                widthPixels = realSize.x;
+                heightPixels = realSize.y;
+            } catch (Throwable ignored) {
+            }
+        size[0] = widthPixels;
+        size[1] = heightPixels;
+        return size;
+    }
+
+
     public static String getFileMD5(String filePath) {
         MessageDigest md5 = null;
         try {
@@ -365,15 +442,13 @@ public class StringUtils {
 //            Log.d("TAG SQL", "cc_dev_recipe --- issdas :" + issdas);
 
 
-
-
             if (currentVersion < roomVersion) {
                 //如果sd卡数据库版本号小于room的版本的时候,需要设置版本后才能预打包数据库
                 db.setVersion(roomVersion);
                 //更新以后,需要在你添加字段的表加列名
 
 
-                 // 向表中插入新的 String 字段
+                // 向表中插入新的 String 字段
                 String tableName = "cc_dev_recipe"; // 替换为实际的表名
                 String newClumnOne = "food_description"; // 替换为你想要添加的列名
                 String newClumntwo = "chef_rec"; // 替换为你想要添加的列名
@@ -382,13 +457,13 @@ public class StringUtils {
                 try {
 
                     //判断这个表有没有  food_description 字段
-                    if (!checkColumnExists(db,tableName,newClumnOne)){
+                    if (!checkColumnExists(db, tableName, newClumnOne)) {
                         String alterTableQuery = "ALTER TABLE " + tableName + " ADD COLUMN " + newClumnOne + " TEXT;";
                         db.execSQL(alterTableQuery);
                     }
 
                     //判断这个表有没有  chef_rec 字段
-                    if (!checkColumnExists(db,tableName,newClumntwo)){
+                    if (!checkColumnExists(db, tableName, newClumntwo)) {
                         String alterTwoTableQuery = "ALTER TABLE " + tableName + " ADD COLUMN " + newClumntwo + " TEXT;";
                         db.execSQL(alterTwoTableQuery);
                     }
@@ -414,29 +489,30 @@ public class StringUtils {
 
     /**
      * 方法:检查表中某列是否存在
+     *
      * @param db
-     * @param tableName 表名
+     * @param tableName  表名
      * @param columnName 列名
-     * 存在返回真,不存在返回假
+     *                   存在返回真,不存在返回假
      * @return
      */
     public static boolean checkColumnExists(SQLiteDatabase db, String tableName, String columnName) {
-        boolean result = false ;
-        Cursor cursor = null ;
-
-        try{
-            cursor = db.rawQuery( "select * from sqlite_master where name = ? and sql like ?"
-                    , new String[]{tableName , "%" + columnName + "%"} );
-            result = null != cursor && cursor.moveToFirst() ;
-        }catch (Exception e){
-            Log.e(TAG,"checkColumnExists..." + e.getMessage()) ;
-        }finally{
-            if(null != cursor && !cursor.isClosed()){
-                cursor.close() ;
+        boolean result = false;
+        Cursor cursor = null;
+
+        try {
+            cursor = db.rawQuery("select * from sqlite_master where name = ? and sql like ?"
+                    , new String[]{tableName, "%" + columnName + "%"});
+            result = null != cursor && cursor.moveToFirst();
+        } catch (Exception e) {
+            Log.e(TAG, "checkColumnExists..." + e.getMessage());
+        } finally {
+            if (null != cursor && !cursor.isClosed()) {
+                cursor.close();
             }
         }
 
-        return result ;
+        return result;
     }
 
 

+ 4 - 4
BusinessCommon/src/main/res/values-fr/strings.xml

@@ -249,10 +249,10 @@ Southern plus client est une plate - forme d’information en ligne développée
     <string name="Password_is_not_the_same">Les mots de passe ne sont pas identiques</string>
     <string name="enter">Entrée</string>
     <string name="repeat">Répéter</string>
-    <string name="automatic_recipes">Formule automatique</string>
-    <string name="automatic_programmes">Programme automatique</string>
-    <string name="manual_cooking">Cuisiner à la main</string>
-    <string name="download_new_recipes">Télécharger la nouvelle recette</string>
+    <string name="automatic_recipes">Recettes intégrées</string>
+    <string name="automatic_programmes">Programmes automatiques</string>
+    <string name="manual_cooking">Mode manuel</string>
+    <string name="download_new_recipes">Télécharger les nouvelles recettes</string>
     <string name="home">Maison</string>
     <string name="back">Retour</string>
     <string name="historical_search">Recherche historique</string>

+ 27 - 4
BusinessMain/src/main/java/com/develop/main/viewmodel/HomeViewModel.kt

@@ -1,6 +1,8 @@
 package com.develop.main.viewmodel
 
+import android.os.Build
 import android.util.Log
+import androidx.annotation.RequiresApi
 import androidx.lifecycle.MutableLiveData
 import androidx.lifecycle.scopeNetLife
 import com.develop.base.ext.getSN
@@ -97,11 +99,11 @@ class HomeViewModel : BaseViewModel() {
     private var hasMoreOnline = false
 
     /**查询本地菜谱分类*/
+    @RequiresApi(Build.VERSION_CODES.N)
     fun queryRecipesCategory() {
         var allSize = 0
         scope(Dispatchers.IO) {
-            val result =
-                FoodDataProvider.getDatabase().recipeDao().queryCategory().toMutableList()
+            val result = FoodDataProvider.getDatabase().recipeDao().queryCategory().toMutableList()
 
             categorySizeList.clear()
             result.forEach {
@@ -117,6 +119,7 @@ class HomeViewModel : BaseViewModel() {
                 it.name
             }
 
+
             /** 由于之前是循环分类的数量导致
              * 011 英语没有分类,导致ALL 是0 故在这做 优化处理
              * 直接查询所有 有多少数量
@@ -126,7 +129,27 @@ class HomeViewModel : BaseViewModel() {
                 FoodDataProvider.getDatabase().recipeDao().queryAllRecipe().toMutableList().size
             categorySizeList[globalApp().getString(com.develop.common.R.string.all)] =
                 allSize.toString()
-            localCategoryLiveData.postValue(result)
+
+
+
+            //由于011分类有0 需要单独处理分类为0的不显示
+            var result011 = mutableListOf<DevRecipeCategory>()
+            if (snModel.startsWith("011")) {
+                categorySizeList.forEach { (s, s2) ->
+                    if (s2 != "0") {
+                        result.forEach {
+                            if (it.number == s) {
+                                result011.add(it)
+                            }
+                        }
+                    }
+                }
+                localCategoryLiveData.postValue(result011)
+            } else {
+                localCategoryLiveData.postValue(result)
+            }
+
+
         }
     }
 
@@ -155,7 +178,7 @@ class HomeViewModel : BaseViewModel() {
                         .toMutableList()
                 }
             //如果首字母没有的情况下,再获取包含  --- 011客户不需要包含
-            if (totalLocalRecipes.isEmpty()&&!snModel.startsWith("011")) {
+            if (totalLocalRecipes.isEmpty() && !snModel.startsWith("011")) {
                 totalLocalRecipes =
                     if (categoryNum == globalApp().getString(com.develop.common.R.string.all)) FoodDataProvider.getDatabase()
                         .recipeDao()

+ 12 - 7
BusinessSetting/src/main/java/com/develop/setting/ui/AboutActivity.kt

@@ -1,11 +1,13 @@
 package com.develop.setting.ui
 
 import android.app.PendingIntent
-import android.content.*
+import android.content.BroadcastReceiver
+import android.content.ComponentName
+import android.content.Context
+import android.content.Intent
 import android.content.pm.PackageInstaller
 import android.os.Build
 import android.os.Bundle
-import android.os.Environment
 import android.provider.Settings
 import android.view.Gravity
 import android.view.LayoutInflater
@@ -22,15 +24,13 @@ import androidx.databinding.ViewDataBinding
 import com.alibaba.android.arouter.facade.annotation.Route
 import com.azhon.appupdate.listener.OnDownloadListener
 import com.blankj.utilcode.util.AppUtils
-import com.blankj.utilcode.util.FileUtils
-import com.blankj.utilcode.util.KeyboardUtils
-import com.blankj.utilcode.util.KeyboardUtils.hideSoftInput
 import com.develop.base.ext.dimenRes
 import com.develop.base.ext.getSN
 import com.develop.base.ext.isBrand036I
 import com.develop.base.ext.isBrand054A
 import com.develop.base.ext.isBrand062
 import com.develop.base.ext.isNightTheme
+import com.develop.base.ext.setGone
 import com.develop.base.ext.setVisible
 import com.develop.base.ext.updateText
 import com.develop.base.util.GlobalToast
@@ -38,7 +38,6 @@ import com.develop.base.widgets.CommonPopupWindow
 import com.develop.common.data_repo.FoodDataProvider
 import com.develop.common.dialog.CancelConfirmDialog
 import com.develop.common.dialog.CommonDialog
-import com.develop.common.dialog.PwdDialog
 import com.develop.common.dialog.RecipeUpdateDialog
 import com.develop.common.food_sdk.GlobalDevEvent
 import com.develop.common.router.Screens
@@ -54,7 +53,9 @@ import com.kuyuntech.cofarcooking.device.sdk.eventbus.event.DevStatusEvent
 import com.kuyuntech.cofarcooking.device.sdk.util.core.CofarSDK
 import com.tuya.smartai.iot_sdk.Log
 import org.greenrobot.eventbus.Subscribe
-import java.io.*
+import java.io.File
+import java.util.Calendar
+import java.util.Date
 
 
 @Route(path = Screens.Setting.ABOUT)
@@ -223,6 +224,9 @@ class AboutActivity : CommonBVMActivity<ActivityAboutBinding, AboutViewModel>()
 
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
+
+//        var update = StringUtils.getUpdateTime()
+//        Log.d("TAG recipe", "TIME:$update")
         val ivLogoParam = binding.ivLogo.layoutParams as RelativeLayout.LayoutParams
         val ivUpdateParam = binding.icUpdate.layoutParams as LinearLayout.LayoutParams
         binding.ivClose.setVisible()
@@ -238,6 +242,7 @@ class AboutActivity : CommonBVMActivity<ActivityAboutBinding, AboutViewModel>()
                 marginStart = dimenRes(com.develop.common.R.dimen.convert_135px)
             }
             if (isBrand036I()) {
+                binding.ivLogo.setGone()
                 binding.ivLogo.setBackgroundResource(com.develop.common.R.drawable.ic_logo_036i)
             }else if (sn.startsWith("011")){
 

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

@@ -73,7 +73,7 @@ class LanguageActivity : BaseBindingActivity<ActivityLanguageBinding>() {
 
 
         if (isBrand036I()) {
-            binding.ivLogo.setVisible()
+            binding.ivLogo.setGone()
             binding.ivBanner.setBackgroundResource(com.develop.common.R.drawable.guide_bg_036i)
         } else if (isBrand054A()) {
             binding.ivLogo.setGone()

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

@@ -59,7 +59,7 @@ class PrivacyPolicyActivity : BaseBindingActivity<ActivityPrivacePolicyBinding>(
         var height = isScreenHeight()
         sn = getSN()
         if (isBrand036I()) {
-            binding.ivLogo.setVisible()
+            binding.ivLogo.setGone()
             binding.ivBanner.setBackgroundResource(com.develop.common.R.drawable.guide_bg_036i)
         }else if (isBrand054A()){
             binding.ivBanner.setBackgroundResource(com.develop.common.R.drawable.account_background_054a)

+ 16 - 5
BusinessSetting/src/main/java/com/develop/setting/ui/SettingMainActivity.kt

@@ -15,6 +15,7 @@ import androidx.recyclerview.widget.RecyclerView
 import com.alibaba.android.arouter.facade.annotation.Route
 import com.blankj.utilcode.util.ToastUtils
 import com.develop.base.ext.getGoneLogin
+import com.develop.base.ext.getGoneTuYa
 import com.develop.base.ext.getSN
 import com.develop.base.ext.navigateTo
 import com.develop.base.ext.resId2Dimension
@@ -84,7 +85,7 @@ class SettingMainActivity : CommonBindingActivity<ActivitySettingMainBinding>()
          * ps:修改了的话,记得同步下面tuya代码
          * */
 
-
+        dataList.clear()
         dataList = if (sn.startsWith("010D")) {
             DataFactory.genSetting010DModesList(resources)
         } else if (sn.startsWith("032D") || sn.startsWith("010F")||sn.startsWith("033F")) {
@@ -133,6 +134,11 @@ class SettingMainActivity : CommonBindingActivity<ActivitySettingMainBinding>()
                     findView<ImageView>(R.id.iv_icon).src = model.resId
                 }
                 R.id.iv_icon.onClick {
+                    //由于涂鸦的更新,可能会导致 absoluteAdapterPosition是-1 估在这做-1判断
+                    var pos  = absoluteAdapterPosition
+                    if (pos == -1){
+                        return@onClick
+                    }
                     when (dataList[absoluteAdapterPosition].type) {
                         SettingType.BRIGHTNESS -> {
                             navigateTo(Screens.Setting.BRIGHTNESS)
@@ -243,8 +249,11 @@ class SettingMainActivity : CommonBindingActivity<ActivitySettingMainBinding>()
     private fun getDevNetwork(num: Int) {
         //处理wifi点击回来
         if (getNetwork()) {
-            //连接上wifi就调用涂鸦接口
-            getDevTuya()
+            if (!getGoneTuYa()){
+                //连接上wifi就调用涂鸦接口
+                getDevTuya()
+            }
+
         } else {
             //没有连接wifi处理轮询
             if (num < 10) {
@@ -319,8 +328,10 @@ class SettingMainActivity : CommonBindingActivity<ActivitySettingMainBinding>()
     fun tuyaEvent() {
         /**
          * 需要隐藏登录 032D 011A 030A 010F 033F
-         * 需要隐藏涂鸦 010D 010F 032D 033F 011A
+         * 需要隐藏涂鸦 010D 010F 032D 033F 011A 036I
          * 需要隐藏亮度 010D
+         *
+         * ps:修改了的话,记得同步下面tuya代码
          * */
 
 
@@ -356,7 +367,7 @@ class SettingMainActivity : CommonBindingActivity<ActivitySettingMainBinding>()
     override fun onResume() {
         super.onResume()
         //避免涂鸦功能不出现估做这个判断
-        if (onIsResume && !isTuya) {
+        if (onIsResume && !isTuya&&!getGoneTuYa()) {
             getDevTuya()
         }
     }

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

@@ -121,7 +121,7 @@ class WifiListActivity : CommonBindingActivity<ActivityWifiListBinding>(),
 
         if (isBrand036I()) {
             binding.ivBanner.setBackgroundResource(com.develop.common.R.drawable.guide_bg_036i)
-            binding.ivLogo.setVisible()
+            binding.ivLogo.setGone()
         } else if (isBrand054A()) {
             binding.ivBanner.setBackgroundResource(com.develop.common.R.drawable.account_background_054a)
             binding.ivLogo.setGone()

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

@@ -90,8 +90,6 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
 
     private var modeType = ModesType.CHOP.name
     private var lastModeType = ModesType.CHOP.name
-
-
     private var userChanging = false //当前是否用户在操作
     private var currDevInfo = DevInfo()
     private var modeChange = false
@@ -138,8 +136,10 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
     private var isResetZero = -1  //初始扭橙的值
     private var sn = getSN()
     private var keep: Boolean = false
-    private var mWeightTime: Long = 0  //防止客户重复点击wifi
+    private var mWeightTime: Long = 0  //防止客户重复点击称重
+    private  var isWeightNum  : Float = 0F
     private lateinit var baseMode: BaseDevMode
+
     private val deviceStateDialog by lazy {
         CancelConfirmDialog()
     }
@@ -232,7 +232,6 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
         super.onCreate(savedInstanceState)
         hasShowScreenSaver = true
         configLock = true
-//        ToastUtils.showShort(" 设备尺寸:"+StringUtils.getScreenSizeOne(this@ModesDetailActivity))
 
         is062 = isBrand062()
         is011 = isBrand011A()
@@ -782,7 +781,6 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
         }
 
         Log.d("TAG DevStateEvent", "event:" + event.devInfo.toString())
-        Log.d("TAG CofaSDK", "weight:" + CofarSDK.devInfo().isWeightStatus)
         //由于sdk没有判断E7到E16 需要判断运行和暂停过程中,设备发生故障弹出窗口告知故障
         if ((isClickType == DevStatus.RUNNING.toInt() || isClickType == DevStatus.PAUSE.toInt()
                     || isClickType == DevStatus.STOP.toInt()) && viewModel.modeType != ModesType.WIGHT.name
@@ -912,54 +910,64 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
             }
             currDevInfo.mode.apply {
 
-                updateTempUI(
-                    minTemp.toFloat(),
-                    maxTemp.toFloat(),
-                    if (currDevInfo.status == DevStatus.STOP.toInt()) currDevInfo.targetTemp.toInt()
-                    else currDevInfo.temp.toInt(),
-                    if (currDevInfo.targetTempBuffer.toInt() != -1) currDevInfo.targetTempBuffer.toString() else currDevInfo.targetTemp.toString(),
-                    isTempChange
-                )
 
+                //判断如果称重不更新其他UI
+                if (!(viewModel.modeType == ModesType.WIGHT.name
+                            || viewModel.modeType == ModesType.SM_WIGHT.name)
+                ) {
 
-                updateTimeUI(
-                    if (currDevInfo.status == DevStatus.STOP.toInt() || userChanging) minTime else 0,
-                    maxTime,
-                    if (currDevInfo.status == DevStatus.STOP.toInt()) if (currDevInfo.targetTimeBuffer != -1) currDevInfo.targetTimeBuffer else currDevInfo.targetTime
-                    else currDevInfo.remainTime,
-                    if (currDevInfo.targetTimeBuffer != -1) currDevInfo.targetTimeBuffer.toLong() else currDevInfo.targetTime.toLong(),
-                    isTimeChange, false, "onDevStateEvent"
-                )
-                var motorGear = currDevInfo.motorGear.toInt()
-                if (currDevInfo.motorGearBuffer.toInt() != -1) {
-                    motorGear = currDevInfo.motorGearBuffer.toInt()
-                }
-                updateMotorGearUI(
-                    minMotorGear.toFloat(),
-                    maxMotorGear.toFloat(),
-                    motorGear,
-                    isMotorGearChange
-                )
 
+                    updateTempUI(
+                        minTemp.toFloat(),
+                        maxTemp.toFloat(),
+                        if (currDevInfo.status == DevStatus.STOP.toInt()) currDevInfo.targetTemp.toInt()
+                        else currDevInfo.temp.toInt(),
+                        if (currDevInfo.targetTempBuffer.toInt() != -1) currDevInfo.targetTempBuffer.toString() else currDevInfo.targetTemp.toString(),
+                        isTempChange
+                    )
 
-                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(
-                    if (currDevInfo.motorDirectionBuffer.toInt() == -1) currDevInfo.motorDirection.toInt() else currDevInfo.motorDirectionBuffer.toInt(),
-                    isMotorDirectionChange
-                )
+                    updateTimeUI(
+                        if (currDevInfo.status == DevStatus.STOP.toInt() || userChanging) minTime else 0,
+                        maxTime,
+                        if (currDevInfo.status == DevStatus.STOP.toInt()) if (currDevInfo.targetTimeBuffer != -1) currDevInfo.targetTimeBuffer else currDevInfo.targetTime
+                        else currDevInfo.remainTime,
+                        if (currDevInfo.targetTimeBuffer != -1) currDevInfo.targetTimeBuffer.toLong() else currDevInfo.targetTime.toLong(),
+                        isTimeChange, false, "onDevStateEvent"
+                    )
+                    var motorGear = currDevInfo.motorGear.toInt()
+                    if (currDevInfo.motorGearBuffer.toInt() != -1) {
+                        motorGear = currDevInfo.motorGearBuffer.toInt()
+                    }
+                    updateMotorGearUI(
+                        minMotorGear.toFloat(),
+                        maxMotorGear.toFloat(),
+                        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(
+                        if (currDevInfo.motorDirectionBuffer.toInt() == -1) currDevInfo.motorDirection.toInt() else currDevInfo.motorDirectionBuffer.toInt(),
+                        isMotorDirectionChange
+                    )
+                } else {
+                    updateWeightUI(currDevInfo.weight.toFloat())
+
+                }
 
-                updateWeightUI(currDevInfo.weight.toFloat())
             }
         }
 
@@ -1275,7 +1283,8 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
                 }
             }
         }
-        overrideModeDialog.title = getString(com.develop.common.R.string.current_cooking_dialog_title)
+        overrideModeDialog.title =
+            getString(com.develop.common.R.string.current_cooking_dialog_title)
         overrideModeDialog.apply {
             onDialogClickListener = object : CancelConfirmDialog.OnDialogClickListener {
                 override fun onConfirm() {
@@ -1378,7 +1387,7 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
                             }
                         } else if (CofarSDK.devInfo().potStatus.toInt() == 0 && CofarSDK.devInfo().potCloverStatus.toInt() == 1) {
                             showPotCloverDialog()
-                        }else{
+                        } else {
                             Log.d("dddddd", "按下(${motionEvent.x},${motionEvent.y})")
                             turboDownEvent()
                         }
@@ -1987,8 +1996,12 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
      */
     @SuppressLint("SetTextI18n")
     private fun updateWeightUI(weight: Float) {
+        if (isWeightNum == weight){
+            return
+        }
         binding.tvWeightNum.text = "${weight}g"
         binding.weightView.setWeightNumber(weight)
+        isWeightNum = weight
     }
 
     /**
@@ -2062,7 +2075,7 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
 
                         }
 
-                    }else{
+                    } else {
                         ivWeight.visibility = View.VISIBLE
                         binding.ivTurbo.visibility = View.GONE
                     }
@@ -2327,7 +2340,8 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
         modeType = viewModel.modeType
         initModeData(viewModel.modeType)
         viewModel.changeStep(CookSettingType.TURBO)
-        binding.tvModeName.text = viewModel.getModeTitle(resources)
+        //由于之前没有配置兼容包,直接在公用的翻译添加自动程序名字+后缀_010的翻译,估在这写
+        binding.tvModeName.text = if (sn.startsWith("010")) viewModel.getModeTitle(resources) else viewModel.getModeTitle(resources)
         binding.ivTurbo.visibility = View.GONE
         visibilityEgg(View.GONE)
         isWidget = false
@@ -2796,19 +2810,16 @@ class ModesDetailActivity : CommonBVMActivity<ActivityModeDetailBinding, ModesVi
     private fun setKneadMotorGear(isStop: Boolean) {
         //处理5/7/10寸屏,默认转速不同
         if (baseMode is Knead && !sn.startsWith("011")) {
-            var defMotorGear = when (StringUtils.getScreenSize(this@ModesDetailActivity)) {
+            var defMotorGear = when (StringUtils.getWindowsScreen(this@ModesDetailActivity)) {
                 5 -> {
                     1
                 }
-
                 7 -> {
                     3
                 }
-
                 10 -> {
                     3
                 }
-
                 else -> {
                     1
                 }

+ 1 - 0
BusinessStep/src/main/java/com/develop/step/ui/recipes_detail/CookDetailActivity.kt

@@ -265,6 +265,7 @@ class CookDetailActivity : CommonBVMActivity<ActivityCookDetailBinding, CookDeta
             it.add(binding.viewIcon1)
             it.add(binding.viewIcon2)
             it.add(binding.tvFoodTime)
+            it.add(binding.tvEasy)
             if (!(sn.startsWith("033F") || sn.startsWith("033G"))) {
                 it.add(binding.startLayout)
             }

+ 33 - 17
app/build.gradle

@@ -18,7 +18,7 @@ ext {
 
     versionCode = Integer.parseInt(new SimpleDateFormat("yyMMddHH").format(new Date()) + 1)
 //    versionCode=230617180
-    brandCode="033F"
+    brandCode="011D"
 //    brandCode = "010D"
     model = "1039"
 
@@ -242,7 +242,7 @@ android {
             buildConfigField("String", "UpdatePlatform", "\"036I\"")
             buildConfigField("String", "model", "\"1039\"")
             buildConfigField("String", "brandCode", "\"036I\"")
-            resValue("string", "app_theme", "@style/Splash036IDTheme")
+            resValue("string", "app_theme", "@style/SplashThemeNotLogo")
             //appCode 1.01 指向bug修复,2.01指向功能变更
             buildConfigField("String", "appCode", "\"1.01\"")
             buildConfigField("String", "time","\"${getCurrentTime()}\"" )
@@ -253,7 +253,7 @@ android {
             dimension "platform"
             applicationId "com.develop.foodcooking"
             buildConfigField("String", "UpdatePlatform", "\"036I\"")
-            resValue("string", "app_theme", "@style/Splash036IDTheme")
+            resValue("string", "app_theme", "@style/SplashThemeNotLogo")
             buildConfigField("String", "model", "\"1039\"")
             buildConfigField("String", "brandCode", "\"036I\"")
             //appCode 1.01 指向bug修复,2.01指向功能变更
@@ -301,6 +301,7 @@ android {
         }
 
         brand010D {
+            manifestPlaceholders = [channelName: "brand010D"]
             dimension "platform"
             applicationId "com.develop.foodcooking"
             buildConfigField("String", "UpdatePlatform", "\"night\"")
@@ -383,14 +384,20 @@ android {
 
         }
         brand002DTuya {
+            manifestPlaceholders = [channelName: "brand002DTuya"]
             dimension "platform"
             applicationId "com.develop.foodcooking"
             buildConfigField("String", "UpdatePlatform", "\"normal\"")
             resValue("string", "app_theme", "@style/Splash002DTheme")
+            buildConfigField("String", "model", "\"1039\"")
+            buildConfigField("String", "brandCode", "\"002D\"")
             //appCode 1.01 指向bug修复,2.01指向功能变更
             buildConfigField("String", "appCode", "\"1.01\"")
             buildConfigField("String", "time","\"${getCurrentTime()}\"" )
         }
+
+
+
         brand007DTuya {
             dimension "platform"
             applicationId "com.develop.foodcooking"
@@ -573,13 +580,13 @@ android {
 //            //appCode 1.01 指向bug修复,2.01指向功能变更
 //            buildConfigField("String", "appCode", "\"1.01\"")
 
-//            manifestPlaceholders = [channelName: "brand011ATuya"]
-//            buildConfigField("String", "UpdatePlatform", "\"011\"")
-//            resValue("string", "app_theme", "@style/Splash011ATheme")
-//            buildConfigField("String", "model", "\"1039\"")
-//            buildConfigField("String", "brandCode", "\"011A\"")
-//            //appCode 1.01 指向bug修复,2.01指向功能变更
-//            buildConfigField("String", "appCode", "\"1.01\"")
+            manifestPlaceholders = [channelName: "brand011ATuya"]
+            buildConfigField("String", "UpdatePlatform", "\"011\"")
+            resValue("string", "app_theme", "@style/Splash011ATheme")
+            buildConfigField("String", "model", "\"1039\"")
+            buildConfigField("String", "brandCode", "\"011A\"")
+            //appCode 1.01 指向bug修复,2.01指向功能变更
+            buildConfigField("String", "appCode", "\"1.01\"")
 
 //            buildConfigField("String", "UpdatePlatform", "\"normal\"")
 //            resValue("string", "app_theme", "@style/SplashTheme")
@@ -631,13 +638,13 @@ android {
 //            buildConfigField("String", "appCode", "\"1.01\"")
 
 //
-            manifestPlaceholders = [channelName: "brand033FTuya"]
-            buildConfigField("String", "UpdatePlatform", "\"normal\"")
-            resValue("string", "app_theme", "@style/SplashThemeNotLogo")
-            buildConfigField("String", "model", "\"1039\"")
-            buildConfigField("String", "brandCode", "\"033F\"")
-            //appCode 1.01 指向bug修复,2.01指向功能变更
-            buildConfigField("String", "appCode", "\"1.01\"")
+//            manifestPlaceholders = [channelName: "brand033FTuya"]
+//            buildConfigField("String", "UpdatePlatform", "\"normal\"")
+//            resValue("string", "app_theme", "@style/SplashThemeNotLogo")
+//            buildConfigField("String", "model", "\"1039\"")
+//            buildConfigField("String", "brandCode", "\"033F\"")
+//            //appCode 1.01 指向bug修复,2.01指向功能变更
+//            buildConfigField("String", "appCode", "\"1.01\"")
 //            buildConfigField("String", "appCode", "\"2.01\"")
 
 //            buildConfigField("String", "UpdatePlatform", "\"normal\"")
@@ -681,6 +688,15 @@ android {
 //            buildConfigField("String", "appCode", "\"1.01\"")
 
 
+//            manifestPlaceholders = [channelName: "brand010D"]
+//            buildConfigField("String", "UpdatePlatform", "\"night\"")
+//            resValue("string", "app_theme", "@style/Splash010DTheme")
+//            buildConfigField("String", "model", "\"1039\"")
+//            buildConfigField("String", "brandCode", "\"010D\"")
+//            //appCode 1.01 指向bug修复,2.01指向功能变更
+//            buildConfigField("String", "appCode", "\"1.01\"")
+//            buildConfigField("String", "time","\"${getCurrentTime()}\"" )
+
         }
     }
 

File diff suppressed because it is too large
+ 363 - 0
app/src/brand010D/values-de/strings.xml


File diff suppressed because it is too large
+ 358 - 0
app/src/brand010D/values-fr/strings.xml


+ 347 - 0
app/src/brand010D/values-it/strings.xml

@@ -0,0 +1,347 @@
+<?xml version="1.0" encoding="utf-8"?>
+<resources>
+
+    <string name="not_a_member_yet">Non sei ancora membro?</string>
+    <string name="member">membro</string>
+    <string name="select_language">Seleziona lingua</string>
+    <string name="next">PROSSIMO</string>
+    <string name="english">Inglese</string>
+    <string name="chinese">Cinese</string>
+    <string name="france">Francia</string>
+    <string name="japan">Giapponese</string>
+    <string name="skip">Salta</string>
+    <string name="recipes">RICETTE</string>
+    <string name="mode">MODO</string>
+    <string name="sunday">Domenica</string>
+    <string name="monday">Lunedì</string>
+    <string name="tuesday">Martedì</string>
+    <string name="wednesday">Mercoledì</string>
+    <string name="thursday">Giovedì</string>
+    <string name="friday">Venerdì</string>
+    <string name="saturday">Sabato</string>
+    <string name="resume">RIPRENDI</string>
+    <string name="privacy_policy">Informativa sulla privacy</string>
+    <string name="privacy_policy_content">1.Come raccogliamo e utilizziamo le tue informazioni personali
+Nanfang plus client è una piattaforma di informazioni online sviluppata e gestita da Guangdong Nanfang giornale mobile media Co., Ltd. (di seguito denominato "noi"). ottimizzare i nostri servizi e garantire la sicurezza del tuo account.</string>
+    <string name="i_agree">Sono d\'accordo</string>
+    <string name="i_have_read_the_privacy_policy">Ho letto l\'informativa sulla privacy</string>
+    <string name="second">Secondo</string>
+    <string name="wifi">WIFI</string>
+    <string name="off_line">OFF-LINE</string>
+    <string name="ok">OK</string>
+    <string name="on_line">ON-LINE</string>
+    <string name="pwd_can_not_be_empty">pwd non può essere vuoto!</string>
+    <string name="skin_for_now">Pelle per ora</string>
+    <string name="login">Accedi</string>
+    <string name="online_recipes">Ricette online</string>
+    <string name="cook_history">Storia della cucina</string>
+    <string name="favourite_recipes">Ricette preferite</string>
+    <string name="settings">Impostazioni</string>
+    <string name="grid_view">Vista griglia</string>
+    <string name="list_view">Vista elenco</string>
+    <string name="adapted_cooking">CUCINA ADATTATA</string>
+    <string name="scales">BILANCE</string>
+    <string name="boil_water">ACQUA DI BOIL</string>
+    <string name="cook_eggs">CUOCI UOVA</string>
+    <string name="cook_rice">RISO COTTO</string>
+    <string name="mulsify">MULSIFICA</string>
+    <string name="puree">PUREA</string>
+    <string name="roast">ARROSTO</string>
+    <string name="smoothie">LEVIGANTE</string>
+    <string name="sovs_vide">SOVS VIDE</string>
+    <string name="auto_clean">PULIZIA AUTOMATICA</string>
+    <string name="chop">TAGLIA</string>
+    <string name="ferment">FERMENTO</string>
+    <string name="slow_cook">Cuoco lento</string>
+    <string name="knead_dough">IMPASTATURA</string>
+    <string name="steam">VAPORE</string>
+    <string name="food_processor">PROCESSORE ALIMENTARE</string>
+    <string name="wight">PESO</string>
+    <string name="turbo">TURBO</string>
+
+    <!-- 由于之前没有另外做兼容包,在公版翻译添加了010,现在做了兼容,010的翻译建议上面的自动程序翻译同一样-->
+    <string name="steam_010">VAPORE</string>
+    <string name="knead_dough_010">IMPASTATURA</string>
+    <string name="slow_cook_010">Cuoco lento</string>
+    <string name="ferment_010">FERMENTO</string>
+    <string name="mulsify_010">MULSIFICA</string>
+    <string name="food_processor_010">PROCESSORE ALIMENTARE</string>
+    <string name="chop_010">TAGLIA</string>
+    <string name="wight_010">PESO</string>
+    <string name="auto_clean_010">PULIZIA AUTOMATICA</string>
+    <string name="turbo_010">TURBO</string>
+    <string name="language">LINGUA</string>
+    <string name="sound">SUONO</string>
+    <string name="brightness">LUCE</string>
+    <string name="user_account">CONTO UTENTE</string>
+    <string name="storage">CONSERVAZIONE</string>
+    <string name="reset">IMPOSTAZIONI DELLA FABBRICA DI RESTAURO</string>
+    <string name="about">A PROPOSITO</string>
+    <string name="tuya">APP Scarica</string>
+    <string name="weight">PESO</string>
+    <string name="local_recipes">Ricette locali</string>
+    <string name="download">Scarica</string>
+    <string name="downloading">Scaricamento</string>
+    <string name="enter_search">Inserisci ricerca</string>
+    <string name="search">Cerca</string>
+    <string name="most_popular">Più popolari</string>
+    <string name="newest">Più recente</string>
+    <string name="the_most_commonly_searched">Il più comunemente ricercato</string>
+    <string name="notice">Avviso</string>
+    <string name="all">TUTTI</string>
+    <string name="Recipes">Ricette</string>
+    <string name="ingredients">Ingredienti</string>
+    <string name="Brightness">Luminosità</string>
+    <string name="screen_lock_time">Tempo di blocco dello schermo</string>
+    <string name="time_3min">3 minuti</string>
+    <string name="time_5min">5 minuti</string>
+    <string name="time_10min">10 minuti</string>
+    <string name="time_20min">20 minuti</string>
+    <string name="time_30min">30 minuti</string>
+    <string name="Sound">Suono</string>
+    <string name="text_to_speech">Testo a discorso</string>
+    <string name="Language">Lingua</string>
+    <string name="Continue">CONTINUA</string>
+    <string name="start_cooking">INIZIARE LA CUCINA</string>
+    <string name="off">SPENTO</string>
+    <string name="on">ACCESO</string>
+    <string name="update_the_recipes">Aggiorna le ricette</string>
+    <string name="apk">APK</string>
+    <string name="mcu">MCU</string>
+    <string name="tp">FW</string>
+    <string name="serial_number">SN</string>
+    <string name="standby_time">MODELLO</string>
+    <string name="update">Aggiorna</string>
+    <string name="About">Circa</string>
+    <string name="are_you_sure_to_restore_factory_settings">Sei sicuro di ripristinare le impostazioni di fabbrica?</string>
+    <string name="yes">SÌ</string>
+    <string name="easy">easy</string>
+    <string name="medium">medium</string>
+    <string name="hard">hard</string>
+
+    <string name="restore_factory_settings">Ripristina impostazioni di fabbrica</string>
+    <string name="network_wifi_status_connected_no_internet">Collegato, ma non in grado di accedere a Internet</string>
+    <string name="network_wifi_status_saved">Salvato</string>
+    <string name="network_wifi_status_idle" />
+    <string name="network_wifi_status_disabled">"Arrestato"</string>
+    <string name="network_wifi_status_network_failure">"Errore di configurazione dell\'indirizzo IP"</string>
+    <string name="network_wifi_status_wifi_failure">"Guasto della connessione WLAN"</string>
+    <string name="network_wifi_status_password_failure">"Si verifica un problema con l\'autenticazione"</string>
+    <string name="network_wifi_status_scanning">Scansione...</string>
+    <string name="network_wifi_status_connecting">Collegamento...</string>
+    <string name="network_wifi_status_authenticating">Autenticazione in corso...</string>
+    <string name="network_wifi_status_obtaining_ip_address">Ottenere indirizzo IP...</string>
+    <string name="network_wifi_status_connected">Connesso</string>
+    <string name="network_wifi_status_suspended">Sospeso</string>
+    <string name="network_wifi_status_disconnecting">Disconnetto...</string>
+    <string name="network_wifi_status_disconnected">Disconnetti</string>
+    <string name="network_wifi_status_failed">Impossibile</string>
+    <string name="network_wifi_status_blocked">Bloccato</string>
+    <string name="network_wifi_status_verifying_poor_link">Arresto temporaneo (cattive condizioni della rete)</string>
+    <string name="start">AVVIA</string>
+    <string name="pause">PAUSA</string>
+    <string name="cancel">CANCELLA</string>
+    <string name="confirm">CONFERMA</string>
+    <string name="stop">FERMA</string>
+    <string name="turn_right">Gira a destra</string>
+    <string name="turn_left">Gira a sinistra</string>
+    <string name="temperature">TEMPERATURA</string>
+    <string name="time">TEMPO</string>
+    <string name="speed">VELOCITÀ</string>
+    <string name="direction">DIREZIONE</string>
+    <string name="bad">Cattivo</string>
+    <string name="imperfect">Imperfetto</string>
+    <string name="ordinary">Ordinario</string>
+    <string name="good">Bene</string>
+    <string name="perfect">Perfetto</string>
+    <string name="are_you_sure_to_delete">Sei sicuro di cancellare?</string>
+    <string name="no">NO</string>
+    <string name="unset_param_tips">Impostare i parametri operativi ( Temperatura, tempo e velocità ).</string>
+    <string name="pmpt_confirm">Conferma</string>
+    <string name="pmpt_cancel">Annulla</string>
+    <string name="pmpt_msg">Consigli</string>
+    <string name="dev_end_of_run_tips">Finisci!</string>
+    <string name="hight_temp_warning_tips">La temperatura corrente supera 60 e la velocità del motore supera la terza marcia. Sei sicuro di continuare?</string>
+    <string name="hight_temp_turbo_tips">La temperatura corrente supera 60, la funzione turbo non può essere azionata</string>
+    <string name="update_msg">Aggiornamento del sistema, attendere~</string>
+    <string name="update_title">E\' l\'ultima versione?</string>
+    <string name="finish_download">Scaricato</string>
+    <string name="download_fail">Scaricamento non riuscito</string>
+    <string name="start_download">Avvia il download</string>
+    <string name="weight_overload_tips">Sovraccarico di pesatura</string>
+    <string name="forgot_password">Password dimenticata</string>
+    <string name="enter_email_id">Inserisci ID email</string>
+    <string name="enter_password">Inserisci password</string>
+    <string name="register">Registrati</string>
+    <string name="launch_detail">Unisciti a noi oggi e goditi il massimo della spesa per cucinare</string>
+    <string name="login_sign_up">Accedi / Iscriviti</string>
+    <string name="skip_for_now">Salta per ora</string>
+    <string name="reset_password">Ripristina password</string>
+    <string name="enter_captcha">Inserisci Captcha</string>
+    <string name="send_email">Invia email</string>
+    <string name="send_no_email">Please fill in your  email</string>
+    <string name="enter_password_again">Inserisci nuovamente la password</string>
+    <string name="enter_the_captcha_obtained_from_the_mail">Inserisci la Captcha ottenuta dalla posta</string>
+    <string name="nickname">Soprannome</string>
+    <string name="enter_nickname">Inserisci nickname</string>
+    <string name="Gender">Sesso</string>
+    <string name="male">Maschio</string>
+    <string name="age">Età</string>
+    <string name="save">Salva</string>
+    <string name="cancellation_of_account">Annullamento del conto</string>
+    <string name="sign_up_it_s_free">Iscriviti, è GRATIS</string>
+    <string name="pwd_requirement">Composto da lettere e numeri, con non meno di 8 cifre.</string>
+    <string name="please_select_age">Seleziona età</string>
+    <string name="cancel_lower">Annulla</string>
+    <string name="female">Femmina</string>
+    <string name="tare">TARA</string>
+    <string name="keep_cooking_in_the_background">Continuare a cucinare in sottofondo?</string>
+    <string name="delete_old_recipes">Do you want to delete the old recipes?</string>
+    <string name="reset_button">REIMPOSTA</string>
+    <string name="finish">Finisci!</string>
+    <string name="error">Errore</string>
+    <string name="download_failed">Scaricare non riuscito</string>
+    <string name="warning">Attenzione!</string>
+    <string name="lid_unlock">Sblocco del coperchio</string>
+    <string name="share_with_more_people">Condividi con più persone</string>
+    <string name="scan_qr_code_with_camera">Scansiona il codice QR con la fotocamera</string>
+    <string name="enter_what_you_want_to_say">Inserisci quello che vuoi dire</string>
+    <string name="note_title">NOTA TITOLO</string>
+    <string name="type_your_notes_here">Digita qui le tue note</string>
+    <string name="make_1_jar">Produce un barattolo</string>
+    <string name="make_n_jars">Produce n caratteri</string>
+    <string name="per_serving">Per porzione</string>
+    <string name="preparation">Preparazione:</string>
+    <string name="hours">ore</string>
+    <string name="min">minuto</string>
+    <string name="ready_in">Pronto in:</string>
+    <string name="jar">GIARA</string>
+    <string name="serving_sizes">Dimensione della porzione</string>
+    <string name="score">Punteggio</string>
+    <string name="share">Condividi</string>
+    <string name="delete">Elimina</string>
+    <string name="recipe_update_tips">È stato trovato un totale di {{num}} ricette. Vuoi scaricarli?</string>
+    <string name="no_recipe_update_tips">Nessun nuovo pacchetto di dati della ricetta \n Attualmente l\'ultima versione</string>
+    <string name="recipe_update_process_tips">({{progress}})Scaricare dati della ricetta…</string>
+    <string name="recipe_update_finish">Aggiornamento dei dati della ricetta completato</string>
+    <string name="update_recipe_title">Aggiornamento ricetta</string>
+    <string name="restore_confirm_tips">Sei sicuro di ripristinare le impostazioni di fabbrica?</string>
+    <string name="change_lang_tips">Il programma è in esecuzione, si prega di chiudere il programma per eseguire nuovamente questa operazione!</string>
+    <string name="exit_weight_align">Calibrazione in uscita</string>
+    <string name="weight_aligning">Calibrazione...</string>
+    <string name="weight_one_kg_tips">Si prega di mettere su peso 1 Kg</string>
+    <string name="weight_two_kg_tips">Si prega di mettere su peso 2 Kg</string>
+    <string name="weight_align_success">Calibrare con successo!</string>
+    <string name="change_lang_tips2">Dopo aver cambiato lingua, le lingue delle ricette cambieranno allo stesso tempo e si riavvieranno. Sei sicuro di cambiare lingua? </string>
+    <string name="pot_clover_not_clost_tips">Il coperchio è aperto. Prima chiudi il coperchio e inizia.</string>
+    <string name="screen_saver_title">Vuoi entrare nel respiratore?</string>
+    <string name="sex">Sesso</string>
+    <string name="running_block_tips">Si prega di fermare il programma in esecuzione e avviare nuovi programmi.</string>
+    <string name="unset_target_time">Il tempo non è stato fissato.</string>
+    <string name="recipe_complete">RICETTA COMPLETA</string>
+    <string name="engjoy_your_meal">Godetevi il vostro pasto!</string>
+    <string name="gan_sao_yi_chan">Attenzione\n· Temperatura elevata\n· Nessun contenuto nella ciotola durante il riscaldamento\n· Aggiungere ingredienti, liquidi</string>
+
+    <string name="zhuan_su_fan_kui_yi_chan">Attenzione\n· Coperchio della ciotola non completamente agganciato\n· Sovraccarico del motore, consentire alla macchina di raffreddarsi, riavviare con meno contenuto della ciotola.</string>
+    <string name="dian_zi_cheng_tong_xin_yi_chan">Attenzione\n· Peso non misurato, errore di scala\n· Scala difettosa</string>
+    <string name="ntc_yi_chan"> Attenzione: NTC non funziona correttamente, si prega di contattare il servizio tecnico.</string>
+    <string name="mei_fang_guo_yi_chan">Attenzione, ciotola miscelatrice non agganciata, ciotola riposizionata</string>
+
+    <string name="empty_notice">Avviso vuoto</string>
+    <string name="press_the_button">Premere il pulsante</string>
+    <string name="please_fill_in">Si prega di compilare</string>
+    <string name="Password_is_not_the_same">La password non è la stessa</string>
+    <string name="enter">INSERISCI</string>
+    <string name="repeat">RIPETI</string>
+    <string name="automatic_recipes">Ricetta automatica</string>
+    <string name="automatic_programmes">Programmi automatici</string>
+    <string name="manual_cooking">Cottura manuale</string>
+    <string name="download_new_recipes">Scarica nuove ricette</string>
+    <string name="home">HOME</string>
+    <string name="back">RETRO</string>
+    <string name="historical_search">Ricerca storica</string>
+
+    <string name="Automatic_recipes">RICETTE AUTOMATICHE</string>
+    <string name="Automatic_programmes">PROGRAMMI AUTOMATICI</string>
+    <string name="Manual_cooking">COOKING MANUALE</string>
+    <string name="Download_new_recipes">SCARICA NUOVE RICETTE</string>
+    <string name="account_or_pwd_error">Numero di conto o password errati</string>
+    <string name="login_faild">Accesso non riuscito</string>
+
+
+    <string name="Automatic_recipes_32">RICETTE AUTOMATICHE</string>
+    <string name="Automatic_programmes_32">PROGRAMMI AUTOMATICI</string>
+    <string name="Manual_cooking_32">MODALITÀ MANUALE</string>
+    <string name="Download_new_recipes_32">SCARICA REICETTE</string>
+
+
+
+    <!-- 空炸模式 -->
+    <string name="air_fryer">Filtro dell’aria</string>
+    <string name="meat">CARNI</string>
+    <string name="fish">PESCE</string>
+    <string name="bakc">BAKC</string>
+    <string name="drumsticks">PROSCIUTTI</string>
+    <string name="chicken_wing">Wing di pollo</string>
+    <string name="vegetable">VEGETALI</string>
+    <string name="shrimp">GAMBERETTI</string>
+    <string name="pizza">PIZZA</string>
+    <string name="dehydrate">DEIDRATO</string>
+    <string name="confirm_change_dev_mode">Conferma la modifica della modalità di sviluppo?</string>
+    <string name="water_spary">SPAZIO ACQUA</string>
+    <string name="error_pot_clover_tips">La modalità di cottura corrente non è coerente con il tipo di coperchio della pentola. Vuoi passare alla modalità di cottura corrispondente?</string>
+
+
+
+
+    <string name="network_error">errore di rete</string>
+    <string name="apk_version_latest">La versione dell\'app è già aggiornata.</string>
+    <string name="installing">Installazione...</string>
+    <string name="help">Aiuto</string>
+    <string name="evaluate_successfully">Valuta con successo</string>
+    <string name="reset_to_default_settings">Ripristina le impostazioni predefinite</string>
+    <string name="home_auth"><![CDATA[CASA >>]]></string>
+    <string name="rating">valutazione</string>
+    <string name="loading">Caricamento</string>
+    <string name="Min20">20Minuto</string>
+    <string name="enjoy_your_meal">Goditi il tuo pasto</string>
+    <string name="enjoy_your_meal_desc">Goditi il tuo pasto</string>
+    <string name="save_success">Salvare il successo</string>
+    <string name="reset_password_success">Ripristina la password riuscita!</string>
+    <string name="email_send">Invia e-mail</string>
+    <string name="email_not_send">Email non inviata</string>
+    <string name="the_email_has_been_already_registered">L\'email è già stata registrata</string>
+    <string name="please_fill_in_your_email">Compila la tua email</string>
+    <string name="please_fill_in_the_captcha">Compilare il captcha</string>
+    <string name="please_fill_in_the_password">Inserisci la password</string>
+    <string name="password_uncorrect">Password non corretta</string>
+    <string name="password">Password</string>
+    <string name="dev_error">Attenzione: Il dispositivo è anormale, si prega di controllare il dispositivo</string>
+    <string name="login_expire_tips">Accesso non riuscito, riprova</string>
+    <string name="add_to_favourite">Aggiungi ai preferiti</string>
+    <string name="step_pot_error">Please switch the corresponding pot and start again</string>
+    <string name="verify_code_uncorrect">Verifica codice non corretto</string>
+    <string name="success">Successo</string>
+    <string name="no_net_error">Si prega di connettersi a Wifi</string>
+    <string name="no_login">Inserisci i campi di cui sopra per accedere</string>
+    <string name="wrong_captcha">CAPTCHA errato</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>
+
+    <!-- 029兼容翻译 -->
+    <string name="Automatic_recipes_29">Ricette interattive</string>
+    <string name="Manual_cooking_29">Cottura manuale</string>
+    <string name="Automatic_programmes_29">Programmi automatici</string>
+    <string name="Download_new_recipes_29">Scarica nuove ricette</string>
+
+
+</resources>

+ 1 - 1
app/src/brand011ATuya/res/values-pl/strings.xml

@@ -231,7 +231,7 @@
     <string name="pot_clover_not_clost_tips">Pokrywa jest odblokowana. Najpierw zamknij pokrywę i uruchom urządzenie.</string>
     <string name="screen_saver_title">Czy przejść do ekranu oddechu?</string>
     <string name="sex">Płeć</string>
-    <string name="wight">WAGA</string>
+    <string name="wight">Waga</string>
     <string name="running_block_tips">Zatrzymaj obecny program i uruchom nowy.</string>
     <string name="unset_target_time">Czas nie został ustawiony.</string>
     <string name="recipe_complete">PRZEPIS UKOŃCZONY</string>

+ 1 - 1
app/src/brand011DTuya/res/values-pl/strings.xml

@@ -231,7 +231,7 @@
     <string name="pot_clover_not_clost_tips">Pokrywa jest odblokowana. Najpierw zamknij pokrywę i uruchom urządzenie.</string>
     <string name="screen_saver_title">Czy przejść do ekranu oddechu?</string>
     <string name="sex">Płeć</string>
-    <string name="wight">WAGA</string>
+    <string name="wight">Waga</string>
     <string name="running_block_tips">Zatrzymaj obecny program i uruchom nowy.</string>
     <string name="unset_target_time">Czas nie został ustawiony.</string>
     <string name="recipe_complete">PRZEPIS UKOŃCZONY</string>

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

@@ -214,7 +214,7 @@ fun getSN(): String {
 //        return "010D10390020123010190001"
 //        return "010F10390020123010190001"
 //        return "011D10390020123010190001"
-//        return "011A10390020123010190001"
+        return "011A10390020123010190001"
 //        return "000A50370020123010190004"
 //        return "011A50370020123010190003"
 //        return "011A50370020123010190006"
@@ -229,7 +229,7 @@ fun getSN(): String {
 //        return "032D21060020123010190001"
 //        return "000A50370020123010190011"
 //         return  "030A10390020123010190002"
-        return  "033F20020020123010190001"
+//        return  "033F20020020123010190001"
 //        return "033G20020020123010190001"
 //        return  "014A19050020123010190002"
 //        return "029C21010020123010190001"
@@ -273,6 +273,14 @@ fun getGoneLogin(): Boolean {
             || sn.startsWith("033F")
 }
 
+fun getGoneTuYa(): Boolean {
+    var sn = getSN()
+    return sn.startsWith("010D") || sn.startsWith("010F")
+            || sn.startsWith("032D") || sn.startsWith("033F")
+            || sn.startsWith("011A") || sn.startsWith("036I")
+}
+
+
 fun getSNUrl(): String {
     return "https://icook.cofarcn.com/ext/devInfo?sn=" + getSN()
 }

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