From c4ae4589c6c001329ebb731589b209e8ddcbf7ca Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期二, 24 三月 2026 16:03:59 +0800
Subject: [PATCH] 2026年03月24日16:03:57

---
 app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java |   43 ++++++++++++++++++++++++++-----------------
 1 files changed, 26 insertions(+), 17 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
index df4c115..76f8c2f 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
@@ -42,6 +42,7 @@
 import com.hdl.photovoltaic.config.AppConfigManage;
 import com.hdl.photovoltaic.config.UserConfigManage;
 import com.hdl.photovoltaic.enums.LogoutType;
+import com.hdl.photovoltaic.enums.PowerStationType;
 import com.hdl.photovoltaic.internet.HttpClient;
 import com.hdl.photovoltaic.internet.HttpServer.MyNanoHttpServer;
 import com.hdl.photovoltaic.internet.TcpClient;
@@ -988,7 +989,7 @@
                                 @Override
                                 public void onDeviceFound(BluetoothDevice device, int rssi, byte[] scanRecord, ScanResult result) {
                                     try {
-//                                    Log.d("===", "onDeviceFound: " + Objects.requireNonNull(result.getScanRecord()).getDeviceName());
+//
                                         if (result.getScanRecord().getDeviceName() == null || !result.getScanRecord().getDeviceName().startsWith("BMS")) {
                                             return;
                                         }
@@ -1007,51 +1008,50 @@
                                         uniCallBackBaseBean.setType(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_find_bluetooth_device);
                                         uniCallBackBaseBean.setData(customBluetoothBean);
                                         HdlUniLogic.getInstance().sendUni(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_MODEL, uniCallBackBaseBean);
+                                        Log.d("HdlUniLogic", "onDeviceFound: " + new Gson().toJson(customBluetoothBean));
+
 
                                     } catch (Exception ignored) {
 
                                     }
-                                    if (ActivityCompat.checkSelfPermission(HDLApp.getInstance(), Manifest.permission.BLUETOOTH_SCAN) != PackageManager.PERMISSION_GRANTED) {
-                                        // TODO: Consider calling
-                                        //    ActivityCompat#requestPermissions
-                                        // here to request the missing permissions, and then overriding
-                                        //   public void onRequestPermissionsResult(int requestCode, String[] permissions,
-                                        //                                          int[] grantResults)
-                                        // to handle the case where the user grants the permission. See the documentation
-                                        // for ActivityCompat#requestPermissions for more details.
-                                        return;
-                                    }
-                                    HdlBluetoothLogic.getInstance().stopScan();
+
                                 }
 
                                 @Override
                                 public void onScanFailed(int errorCode) {
+                                    Log.d("HdlUniLogic", "onScanFailed: " + errorCode);
 //                                    uniCallbackData(mode_type, errorCode, -2, "Bluetooth is not enabled.", callback);
                                 }
                             });
                         } else {
                             HdlBluetoothLogic.getInstance().stopScan();
 //                            uniSuccessCallback(mode_type, true, callback);
+                            Log.d("HdlUniLogic", "stopScan: ");
                         }
                         uniSuccessCallback(mode_type, true, callback);
                     }
                     break;
                     case HDLUniMP.UNI_EVENT_REPLY_BLUETOOTH_Connect: {
+                        //鍏堝仠姝㈠惂锛屽啀杩炴帴
+                        HdlBluetoothLogic.getInstance().stopScan();
                         //杩炴帴钃濈墮
                         String mac = getKeyValue("mac", getKeyValue("data", data));
                         HdlBluetoothLogic.getInstance().connect(mac, new BleWifiConfiguratorUtils.ConnectListener() {
                             @Override
                             public void onConnected() {
+                                Log.d("HdlUniLogic", "onConnected: ");
                                 uniSuccessCallback(mode_type, true, callback);
                             }
 
                             @Override
                             public void onDisconnected() {
+                                Log.d("HdlUniLogic", "onDisconnected: ");
                                 uniCallbackData(type, null, -2, "disconnected", callback);
                             }
 
                             @Override
                             public void onConnectionFailed(String reason) {
+                                Log.d("HdlUniLogic", "onConnectionFailed: " + reason);
                                 uniCallbackData(type, null, -2, "connectionFailed " + reason, callback);
                             }
                         });
@@ -1062,7 +1062,7 @@
                         //鏂紑钃濈墮璁惧
                         String mac = getKeyValue("mac", getKeyValue("data", data));
                         HdlBluetoothLogic.getInstance().disconnect(mac);
-
+                        Log.d("HdlUniLogic", "鏂紑钃濈墮璁惧: ");
                     }
                     break;
                     case HDLUniMP.UNI_EVENT_REPLY_BLUETOOTH_Send: {
@@ -1071,21 +1071,23 @@
                         HdlBluetoothLogic.getInstance().sendConfig(objString, new BleWifiConfiguratorUtils.WriteListener() {
                             @Override
                             public void onWriteSuccess() {
-
+                                Log.d("HdlUniLogic", "onWriteSuccess: ");
                             }
 
                             @Override
                             public void onWriteComplete(boolean success) {
-
+                                Log.d("HdlUniLogic", "onWriteComplete: " + success);
                             }
 
                             @Override
                             public void onWriteFailed(int status) {
-                                uniCallbackData(type, status, -2, "write failed", callback);
+                                Log.d("HdlUniLogic", "onWriteFailed: " + status);
+                                uniCallbackData(type, status, -2, HDLApp.getInstance().getString(R.string.write_failed), callback);
                             }
 
                             @Override
                             public void onDeviceResponse(String response) {
+                                Log.d("HdlUniLogic", "onDeviceResponse: " + response);
                                 uniSuccessCallback(mode_type, response, callback);
                             }
                         });
@@ -1097,12 +1099,14 @@
                         String mac = getKeyValue("mac", getKeyValue("data", data));
                         boolean status = HdlBluetoothLogic.getInstance().bluetoothStatusCheck(mac);
                         uniSuccessCallback(mode_type, status, callback);
+                        Log.d("HdlUniLogic", "bluetoothStatusCheck: " + status);
 
                     }
                     break;
                     case HDLUniMP.UNI_EVENT_REPLY_BLUETOOTH_Release: {
                         //閲婃斁钃濈墮璁惧璧勬簮
                         HdlBluetoothLogic.getInstance().release();
+                        Log.d("HdlUniLogic", "閲婃斁钃濈墮璁惧璧勬簮: ");
 
                     }
                     break;
@@ -2784,8 +2788,13 @@
      */
     private void uniGetCurrentHomeLocalAndCloudGatewayList(String type, Object data, DCUniMPJSCallback callback) {
         String homeId = getKeyValue("homeId", getKeyValue("data", data));
+        String plantType = getKeyValue("plantType", getKeyValue("data", data));
+        if (plantType.equals("bms")) {
+            plantType = PowerStationType.BMS;
+        }
+//        plantType = PowerStationType.BMS;//妯℃嫙娴嬭瘯
 //        UserConfigManage.getInstance().setHomeId(homeId);
-        HdlDeviceLogic.getInstance().getCurrentHomeLocalAndCloudGatewayList(homeId, new CloudCallBeak<List<GatewayBean>>() {
+        HdlDeviceLogic.getInstance().getCurrentHomeLocalAndCloudGatewayList(homeId, plantType, new CloudCallBeak<List<GatewayBean>>() {
             @Override
             public void onSuccess(List<GatewayBean> list) {
                 List<GatewayBean> newList = sortLogic(list);

--
Gitblit v1.8.0