Browse Source

涂鸦so 调试

zhangshenjie 2 months ago
parent
commit
c1b70f32db

+ 4 - 3
BusinessCommon/src/main/java/com/develop/common/utils/AppVersionUtil.kt

@@ -327,9 +327,10 @@ object AppVersionUtil {
                     Log.d("TAG update", "isUpdateFile1111111--------  文件存在 ")
 
                     //删除room数据库
-                    deleteRoomDb(context)
-                    //删除sd卡的东西
-                    FoodDataProvider.deleteAll()
+//                    deleteRoomDb(context)
+//                    //删除sd卡的东西
+//                    FoodDataProvider.deleteAll()
+
                     FoodDataProvider.prepareData(globalApp())
                 } else {
                     FoodDataProvider.prepareData(globalApp())

+ 24 - 1
BusinessCommon/src/main/java/com/develop/common/utils/TuyaApi.java

@@ -31,14 +31,37 @@ public interface TuyaApi extends Library {
     // 声明释放内存的方法
     void free_memory(Pointer ptr);
 
+    //
+    int send_dp();
+    //打印日志
+    void log_message(String tag, String message);
+
+    //注销设备
+    void example_soc_device_remove(int argc,String[] argv);
+
+    void append_log_to_file(String filename, String string);
+
+
     // 定义回调接口
     interface LogCallback extends Callback {
         void invoke(String tag, String message);
     }
-
     // 注册日志回调函数
     void register_log_callback(LogCallback callback);
 
+    // 定义回调接口
+    interface DpCallback extends Callback {
+        void invoke(byte dpid, byte type,int intValue,int enumValue,String strValue,int boolValue,int bitmapValue);
+    }
+
+    // 注册日志回调函数
+    void register_dp_callback(DpCallback callback);
+
+
+
+
+
+
     int init(int argc,String[] argv,String pid, String uuid,String authkey, String version);
 
 }

+ 103 - 64
BusinessCommon/src/main/java/com/develop/common/utils/TuyaUtilsSo.java

@@ -14,25 +14,24 @@ public class TuyaUtilsSo {
      * 由于Gradle版本问题,建议jna版本用5.14.0
      * */
 
-    /**volatile防止指令重排*/
+    /**
+     * volatile防止指令重排
+     */
     private static volatile TuyaUtilsSo singleton;
     private TuyaApi tuyaApi;
-    public  boolean tuyaInitSuccess = false;
-    public  boolean tuyaNetwork = false;
-    public   String mPid = "dquk8axtyy72c1ap";
-    public   String mUid = "uuid50e9e0c707553116";
-    public   String mAk = "MJhcxmQ6LeZDj1tNu6F5kqK5aQJfpdOb";
-    public   String shorturl = "";
-    public  Context context;
-    private TuyaUtilsSo() {
-        tuyaApi = TuyaApi.INSTANCE;
-    }
-
-
-    public static TuyaUtilsSo getInstance(){
-        if(singleton == null){
-            synchronized (TuyaUtilsSo.class){
-                if(singleton == null){
+    public boolean tuyaInitSuccess = false;
+    public boolean tuyaNetwork = false;
+    public String mPid = "dquk8axtyy72c1ap";
+    public String mUid = "uuid50e9e0c707553116";
+    public String mAk = "MJhcxmQ6LeZDj1tNu6F5kqK5aQJfpdOb";
+    public String shorturl = "";
+    public Context context;
+
+
+    public static TuyaUtilsSo getInstance() {
+        if (singleton == null) {
+            synchronized (TuyaUtilsSo.class) {
+                if (singleton == null) {
                     singleton = new TuyaUtilsSo();
                 }
             }
@@ -40,11 +39,11 @@ public class TuyaUtilsSo {
         return singleton;
     }
 
-    public TuyaApi getTuyaApi(){
-        if (tuyaApi==null){
+    public TuyaApi getTuyaApi() {
+        if (tuyaApi == null) {
             tuyaApi = TuyaApi.INSTANCE;
         }
-        return  tuyaApi;
+        return tuyaApi;
     }
 
 
@@ -72,86 +71,126 @@ public class TuyaUtilsSo {
         this.mAk = mAk;
     }
 
-    public  void initSDK(Context ctx, String version) {
+    public void initSDK(Context ctx, String version) {
         context = ctx;
         version = version;
         //Log.init(ctx, "/sdcard/tuya_log/iot_demo/", 3);
+        tuyaDp();
         tuyaLog();
-        tuyaInit(getmPid(),getmUid(),getmAk(),version);
+        tuyaInit(getmPid(), getmUid(), getmAk(), version);
     }
 
-    public  void  tuyaInit(String pid, String uuid, String authkey, String version){
-        getTuyaApi().init(0,new String[]{},pid,uuid,authkey,version);
+    public void tuyaInit(String pid, String uuid, String authkey, String version) {
+        getTuyaApi().init(0, new String[]{}, pid, uuid, authkey, version);
     }
 
-    public void  tuyaLog(){
-        getTuyaApi().register_log_callback(new TuyaApi.LogCallback() {
-            @Override
-            public void invoke(String tag, String message) {
-                Log.i(tag, message);
-                //涂鸦初始化成功
-                if (message.equals("tuya_init success...")){
-                    tuyaInitSuccess = true;
-                }
-                //配网成功,可以访问涂鸦
-                if (message.equals("SOC TUYA-Cloud Status:3")){
-                    tuyaNetwork = true;
-                }
-                if (message.contains("qrCodeUrl")){
-                    String msg = message;
-                    // 查找 "qrCodeUrl:" 之后的部分
-                    int startIndex = msg.indexOf("qrCodeUrl:") + "qrCodeUrl:".length();
-                    // 截取二维码 URL 部分
-                    String result = msg.substring(startIndex).trim();
-                    TuyaQRUrlBean bean = GsonUtils.GsonToBean(result,TuyaQRUrlBean.class);
-                    shorturl = bean.getShortUrl();
-                    //根据 uuid 存储 url
-                    MMkvUtils.INSTANCE.save(mUid,shorturl);
+    public  int  sendDp(){
+        return  getTuyaApi().send_dp();
+    }
 
-                }
+    public void tuyaRemove() {
+        getTuyaApi().example_soc_device_remove(0, new String[]{});
+    }
+
+
+        TuyaApi.DpCallback dpCallback = new TuyaApi.DpCallback() {
 
 
+        @Override
+        public void invoke(byte dpid, byte type, int intValue, int enumValue, String strValue, int boolValue, int bitmapValue) {
+//            Log.i("tuya_iot", "dpCallback  dpid:"+dpid
+//                    + " type:"+type+"  time_stamp:"+time_stamp + "  dp_value:"+dp_value
+//                    + "  dp_enum: "+dp_enum+"   dp_str:"+dp_str + " dp_bool:"+dp_bool +"  dp_bitmap:"+dp_bitmap );
+            Log.v("tuya_iot","dpCallback");
+        }
+    };
+
+    TuyaApi.LogCallback logCallback = new TuyaApi.LogCallback() {
+        @Override
+        public void invoke(String tag, String message) {
+
+            Log.v(tag, message);
+            //涂鸦初始化成功
+            if (message.equals("tuya_init success...")) {
+                tuyaInitSuccess = true;
+            }
+            //配网成功,可以访问涂鸦
+            if (message.equals("SOC TUYA-Cloud Status:3")) {
+                tuyaNetwork = true;
             }
-        });
+            if (message.contains("qrCodeUrl")) {
+                String msg = message;
+                // 查找 "qrCodeUrl:" 之后的部分
+                int startIndex = msg.indexOf("qrCodeUrl:") + "qrCodeUrl:".length();
+                // 截取二维码 URL 部分
+                String result = msg.substring(startIndex).trim();
+                TuyaQRUrlBean bean = GsonUtils.GsonToBean(result, TuyaQRUrlBean.class);
+                shorturl = bean.getShortUrl();
+                //根据 uuid 存储 url
+                MMkvUtils.INSTANCE.save(mUid, shorturl);
+
+            }
+
+        }
+    };
+
+
+    public void tuyaDp() {
+        getTuyaApi().register_dp_callback(dpCallback);
     }
 
-    public String getPointer (String apiName,String apiVersion,String postDate){
-        Pointer pointer = TuyaApi.INSTANCE.http_common_post_simple(
+    public void tuyaLog() {
+        getTuyaApi().register_log_callback(logCallback);
+    }
+
+    public String getPointer(String apiName, String apiVersion, String postDate) {
+        Pointer pointer = getTuyaApi().http_common_post_simple(
                 apiName, apiVersion, postDate, ""
         );
         String json = "";
-        if (pointer ==null){
+        if (pointer == null) {
             json = "";
-        }else {
+        } else {
             json = pointer.getString(0);
         }
 
         //释放资源
         getTuyaApi().free_memory(pointer);
 
-        return  json;
+        return json;
     }
 
-    public String getPointerLike (String apiName,String apiVersion,String postDate){
-        Pointer pointer = TuyaApi.INSTANCE.http_common_post_simple(
-                apiName, apiVersion, postDate, ""
-        );
+    public String getPointerLike(String apiName, String apiVersion, String postDate) {
+        Pointer pointer = getTuyaApi().http_common_post_simple(
+                apiName, apiVersion, postDate, "");
         String json = "";
-        if (pointer ==null){
-            json = null;
-        }else {
+        if (pointer == null) {
+            json = "true";
+        } else {
             json = pointer.getString(0);
         }
 
         //释放资源
         getTuyaApi().free_memory(pointer);
 
-        return  json;
+        return json;
     }
 
-    interface  httpCommonPostCallBack{
-        void  httpCommon(String json);
 
+    public void appendFile(String filename, String string) {
+        getTuyaApi().append_log_to_file(filename, string);
+
+    }
+
+
+    interface httpCommonPostCallBack {
+        void httpCommon(String json);
+
+    }
+
+    //调试 c 方法的回调 能不能正常回调
+    public void logMessage(String tag, String msg) {
+        getTuyaApi().log_message(tag, msg);
     }
 
 }

+ 1 - 1
BusinessCommon/src/main/res/values-pl/strings.xml

@@ -400,7 +400,7 @@
 
 
     <string name="preparation_011">Przygotowanie:</string>
-    <string name="ready_in_011">Czas gotowania:</string>
+    <string name="ready_in_011">Czas gotowaniac</string>
 
 
     <string name="step_running_pause">Biegnie, najpierw naciśnij pauzę</string>

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

@@ -67,8 +67,8 @@ import com.develop.common.utils.AppVersionUtil
 import com.develop.common.utils.CommonUtils
 import com.develop.common.utils.GsonUtils
 import com.develop.common.utils.StringUtils
-import com.develop.common.utils.TuyaApi
 import com.develop.common.utils.TuyaUtils
+import com.develop.common.utils.TuyaUtilsSo
 import com.develop.common.utils.UpdateUtil
 import com.develop.common.widget.PwdLayout
 import com.develop.setting.databinding.ActivityAboutBinding
@@ -575,6 +575,12 @@ class AboutActivity : CommonBVMActivity<ActivityAboutBinding, AboutViewModel>()
 
     }
     fun getCook(number : String){
+
+       var sd =  TuyaUtilsSo.getInstance().sendDp();
+
+
+        return
+
         var lang = MMkvUtils.getString(CURRENT_LANGUAGE) ?: "en"
 
         var map = HashMap<String, Any>()

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

@@ -79,6 +79,7 @@ class TuyaActivity : CommonBindingActivity<ActivityTuyaBinding>() {
             }else{
                 binding.cancelWrapper.visibility = View.VISIBLE
                 binding.cancelBtn.setOnClickListener{
+                    TuyaUtilsSo.getInstance().tuyaRemove()
 //                    TuyaUtils.cancelBind()
                 }
             }

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

@@ -385,6 +385,6 @@
     <string name="turn_left_011">Lewo</string>
     <string name="turn_right_011">Prawo</string>
     <string name="preparation_011">Przygotowanie:</string>
-    <string name="ready_in_011">Czas przygotowania/gotowania</string>
+    <string name="ready_in_011">Czas przygotowania/gotowania:</string>
 
 </resources>

BIN
app/src/main/jniLibs/arm64-v8a/libtuya_api.so


BIN
app/src/main/jniLibs/armeabi-v7a/libtuya_api.so