mac
2023-12-14 2a6c0d9a93923f852a90f9f53f5e75985ad5bf73
app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
@@ -419,15 +419,16 @@
            if (file.list() != null) {
                for (int i = 0; i < Objects.requireNonNull(file.list()).length; i++) {
                    String path = Objects.requireNonNull(file.list())[i];
//                    if (!path.contains(oid)) {
//                        continue;
//                    }
                    if (!path.contains(osImageId)) {
                        continue;
                    }
                    String[] ary = path.split("/");
                    String[] driverInfoAry = ary[ary.length - 1].split("_");
                    DeviceFirmwareBean deviceFirmwareBean = new DeviceFirmwareBean();
                    deviceFirmwareBean.setOid(driverInfoAry[0]);
                    deviceFirmwareBean.setVersion(driverInfoAry[1].replace(".zip", ""));
                    deviceFirmwareBean.setLocalUrl(HdlFileLogic.getInstance().getFirmwarePathFileName(deviceFirmwareBean.getOid(), deviceFirmwareBean.getVersion()));
                    deviceFirmwareBean.setImageId(driverInfoAry[1]);
                    deviceFirmwareBean.setVersion(driverInfoAry[2].replace(".zip", ""));
                    deviceFirmwareBean.setLocalUrl(HdlFileLogic.getInstance().getFirmwarePathFileName(deviceFirmwareBean.getOid(), osImageId, deviceFirmwareBean.getVersion()));
                    list.add(deviceFirmwareBean);
                }
            }
@@ -452,7 +453,7 @@
        HdlOtaLogic.getInstance().getDeviceUpgradeDownloadFile(url, new CloudCallBeak<ResponseBody>() {
            @Override
            public void onSuccess(ResponseBody responseBody) {
                String firmwarePathFileName = HdlFileLogic.getInstance().getFirmwarePathFileName(oid, version);
                String firmwarePathFileName = HdlFileLogic.getInstance().getFirmwarePathFileName(oid, imageId, version);
                boolean isBoolean = HdlOtaLogic.getInstance().disposeDownLoadFile(firmwarePathFileName, responseBody, md5, HdlOtaLogic.firmware_type);
                if (isBoolean) {
                    HdlFileLogic.getInstance().deleteFile(localUrl);//下载成功,删除旧固件文件;
@@ -480,6 +481,7 @@
        String firmwareVersionId = getKeyValue("firmwareVersionId", getKeyValue("data", data));//固件版本id
        String version = getKeyValue("version", getKeyValue("data", data));//固件版本
        String hardwareModel = getKeyValue("hardwareModel", getKeyValue("data", data));//云端上文件MD5
        String imageId = getKeyValue("imageId", getKeyValue("data", data));//固件镜像id
        //升级本地优先->云端升级
        boolean isLocalConnect = HdlDeviceLogic.getInstance().isLocalConnect(deviceMac);
@@ -492,8 +494,12 @@
                @Override
                public void onServiceConnected(ComponentName name, IBinder service) {
                    //本地升级固件文件路径
                    String firmwarePathFileName = HdlFileLogic.getInstance().getFirmwarePathFileName(oid, version);
                    String firmwarePathFileName = HdlFileLogic.getInstance().getFirmwarePathFileName(oid, imageId, version);
                    String data = HdlFileLogic.getInstance().readFile(firmwarePathFileName);
                    if (TextUtils.isEmpty(data)) {
                        uniCallbackData(null, -2, "本地找不到升级固件文件,请下载好固件文件,再重新升级.", callback);
                        return;
                    }
                    String md5 = HDLMD5Utils.encodeMD5(data);//网关固件需要
                    //升级固件文件地址
                    String upgradeFileLocalPathUrl = AppManagerUtils.getAppManager().getIPAddress(HDLApp.getInstance()) + ":" + MyNanoHttpServer.HTTP_PORT + firmwarePathFileName;
@@ -686,6 +692,10 @@
                    //本地升级驱动文件路径
                    String drivePathFileName = HdlFileLogic.getInstance().getDrivePathFileName(driverCode, version);
                    String data = HdlFileLogic.getInstance().readFile(drivePathFileName);
                    if (TextUtils.isEmpty(data)) {
                        uniCallbackData(null, -2, "本地找不到升级驱动文件,请下载好驱动文件,再重新升级.", callback);
                        return;
                    }
                    String md5 = HDLMD5Utils.encodeMD5(data);//网关驱动需要
                    //升级驱动文件地址
                    String upgradeFileLocalPathUrl = AppManagerUtils.getAppManager().getIPAddress(HDLApp.getInstance()) + ":" + MyNanoHttpServer.HTTP_PORT + drivePathFileName;
@@ -974,7 +984,7 @@
     * @param callback uni回调
     */
    private void uniSearchGateway(DCUniMPJSCallback callback) {
        HdlDeviceLogic.getInstance().searchGateway(new GatewayCallBack() {
        HdlDeviceLogic.getInstance().searchCurrentHomeGateway(new GatewayCallBack() {
            @Override
            public void onSuccess(List<GatewayBean> gatewayBeanList) {
                uniCallbackData(gatewayBeanList, callback);