| | |
| | | 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; |
| | |
| | | @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; |
| | | } |
| | |
| | | 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); |
| | | } |
| | | }); |
| | |
| | | //断开蓝牙设备 |
| | | String mac = getKeyValue("mac", getKeyValue("data", data)); |
| | | HdlBluetoothLogic.getInstance().disconnect(mac); |
| | | |
| | | Log.d("HdlUniLogic", "断开蓝牙设备: "); |
| | | } |
| | | break; |
| | | case HDLUniMP.UNI_EVENT_REPLY_BLUETOOTH_Send: { |
| | |
| | | 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); |
| | | } |
| | | }); |
| | |
| | | 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; |
| | |
| | | */ |
| | | 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); |