wjc
4 天以前 b2f2aa54cb9d0618da32e42ebdd610f8ebaac4b3
驱动文件路径追加镜像Id
2个文件已修改
20 ■■■■■ 已修改文件
app/src/main/java/com/hdl/photovoltaic/other/HdlFileLogic.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/other/HdlFileLogic.java
@@ -155,11 +155,12 @@
     * 获取驱动升级【文件】全路径
     *
     * @param driverCode 驱动编码
     * @param imageId 镜像id
     * @param version    驱动版本
     * @return 全路径
     */
    public String getDrivePathFileName(String driverCode, String version) {
        String fileName = driverCode + "_" + version + ".zip";
    public String getDrivePathFileName(String driverCode,String imageId,  String version) {
        String fileName = driverCode  + "_"+ imageId+ "_" + version + ".zip";
        return HdlFileLogic.getInstance().getDriveRootPath() + "/" + fileName;
    }
app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
@@ -1863,7 +1863,7 @@
    private void uniGetLocalDrivers(String type, Object data, DCUniMPJSCallback callback) {
        try {
            String driveCode = getKeyValue("driveCode", getKeyValue("data", data));//驱动编号或驱动名称
//            String osImageId = getKeyValue("osImageId", getKeyValue("data", data));//驱动类型id
            String imageId = getKeyValue("imageId", getKeyValue("data", data));//驱动镜像Id
//            String driverVersionId = getKeyValue("driverVersionId", getKeyValue("data", data));//驱动类型id
            List<GatewayDriverBean> list = new ArrayList<>();
            String driverFileList = HdlFileLogic.getInstance().getDriveRootPath();
@@ -1871,14 +1871,15 @@
            if (file.list() != null) {
                for (int i = 0; i < Objects.requireNonNull(file.list()).length; i++) {
                    String fileName = Objects.requireNonNull(file.list())[i];
                    if (!fileName.contains(driveCode)) {
                    if (!fileName.contains(driveCode + "_" + imageId)) {
                        continue;
                    }
                    String[] driverInfoAry = fileName.split("_");
                    GatewayDriverBean gatewayDriverBean = new GatewayDriverBean();
                    gatewayDriverBean.setDriverCode(driverInfoAry[0]);
                    gatewayDriverBean.setVersion(driverInfoAry[1].replace(".zip", ""));
                    gatewayDriverBean.setLocalUrl(HdlFileLogic.getInstance().getDrivePathFileName(gatewayDriverBean.getDriverCode(), gatewayDriverBean.getVersion()));
                    gatewayDriverBean.setImageId(driverInfoAry[1]);
                    gatewayDriverBean.setVersion(driverInfoAry[2].replace(".zip", ""));
                    gatewayDriverBean.setLocalUrl(HdlFileLogic.getInstance().getDrivePathFileName(gatewayDriverBean.getDriverCode(),gatewayDriverBean.getImageId(), gatewayDriverBean.getVersion()));
                    list.add(gatewayDriverBean);
                }
            }
@@ -1898,7 +1899,7 @@
//        String deviceOid = getKeyValue("oid", getKeyValue("data", data));//逆变器设备oid
        String driverCode = getKeyValue("driverCode", getKeyValue("data", data));//驱动编码
//        String imageId = getKeyValue("imageId", getKeyValue("data", data));//驱动镜像id
        String imageId = getKeyValue("imageId", getKeyValue("data", data));//驱动镜像id
        String version = getKeyValue("version", getKeyValue("data", data));//驱动版本
//        String driverVersionId = getKeyValue("driverVersionId", getKeyValue("data", data));//驱动版本id
        String localUrl = getKeyValue("localUrl", getKeyValue("data", data));//储存在本地驱动文件路径
@@ -1911,7 +1912,7 @@
                    @Override
                    public void run() {
                        String drivePathFileName = HdlFileLogic.getInstance().getDrivePathFileName(driverCode, version);
                        String drivePathFileName = HdlFileLogic.getInstance().getDrivePathFileName(driverCode,imageId, version);
                        //不在子线程读流会卡死主线程
                        boolean isBoolean = HdlOtaLogic.getInstance().disposeDownLoadFile(drivePathFileName, responseBody, md5, HdlOtaLogic.driver_type);
                        if (isBoolean) {
@@ -1963,7 +1964,7 @@
                        @Override
                        public void onServiceConnected(ComponentName name, IBinder service) {
                            //本地升级驱动文件路径
                            String drivePathFileName = HdlFileLogic.getInstance().getDrivePathFileName(driverCode, version);
                            String drivePathFileName = HdlFileLogic.getInstance().getDrivePathFileName(driverCode,imageId, version);
                            byte[] data = HdlFileLogic.getInstance().readFileByte(drivePathFileName);
                            if (data == null || data.length == 0) {
                                uniCallbackData(type, null, -2, HDLApp.getInstance().getAppLocaleContext().getString(R.string.found_locally_drive_file), callback);