wjc
2025-04-22 cbd0384e4e68c3d838981aba0602c6d76fdc091b
Merge branch '1.5.1_google' into 1.5.2
3个文件已删除
18个文件已修改
743 ■■■■ 已修改文件
app/src/main/AndroidManifest.xml 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/other/HdlCommonLogic.java 79 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/StartActivity.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/adapter/DeviceInfoAdapter.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/me/AsRegardsActivity.java 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/me/CPersonalDataActivity.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsListEdit.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/utils/SharedPreUtils.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/widget/apkwgtupload/AndroidPermissionActivity.java 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/widget/apkwgtupload/ApkDownLoadService.java 106 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/widget/apkwgtupload/AppDownloadManager.java 296 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/widget/popupview/CameraAlbumPopWindow.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/activity_as_regards.xml 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/dialog_confirm_cancel.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/item_plant_details.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/values-en/strings.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/values-zh/strings.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/values/strings.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/AndroidManifest.xml
@@ -24,8 +24,11 @@
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 如果是安卓10.0,需要后台获取连接的wifi名称则添加进程获取位置信息权限 -->
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- android 10.0使用wifi api新添加的权限 -->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <!--    <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" />&lt;!&ndash;权限允许应用程序在后台访问位置信息 谷歌play上架不了 &ndash;&gt;-->
    <uses-permission android:name="android.permission.CAMERA" />
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" /> <!-- UNI相机和存储的权限 -->
    <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
    <!-- UNI相机和存储的权限 -->
    <uses-feature android:name="android.hardware.camera" />
    <uses-feature android:name="android.hardware.camera.autofocus" />
@@ -33,17 +36,18 @@
    <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <!-- Optional. Required for location feature -->
    <!-- 为了提高sdk识别唯一用户的能力,保证消息推送的精准送达,建议集成以下权限(可选) -->
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
    <uses-permission android:name="android.permission.GET_TASKS" />
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
    <uses-permission android:name="android.permission.FLASHLIGHT" />
    <uses-permission android:name="android.permission.WAKE_LOCK" />
    <uses-permission android:name="android.permission.CALL_PHONE" />
    <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
    <uses-permission android:name="android.permission.BLUETOOTH" />
    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" /> <!-- 如您需要接入地理围栏业务,建议集成以下权限(可选) -->
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <!-- <uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" /> &lt;!&ndash; 如您需要对应设备通知相关的能力,建议集成以下权限(可选) &ndash;&gt; -->
    <uses-permission android:name="android.permission.BLUETOOTH" /> <!-- Optional. Required for location feature -->
    <!-- 为了提高sdk识别唯一用户的能力,保证消息推送的精准送达,建议集成以下权限(可选) -->
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <!--    <uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />&lt;!&ndash;谷歌play上架不了&ndash;&gt;-->
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 如您需要接入地理围栏业务,建议集成以下权限(可选) -->
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="com.huawei.android.launcher.permission.CHANGE_BADGE" /> <!-- 华为角标 -->
    <uses-permission android:name="com.vivo.notification.permission.BADGE_ICON" /> <!-- VIVO角标权限 -->
    <uses-permission android:name="com.hihonor.android.launcher.permission.CHANGE_BADGE" /> <!-- 振动器权限,JPUSH支持通知开启振动功能,小米推送必须 -->
@@ -127,9 +131,6 @@
        <activity
            android:name=".ui.me.CPersonalDataActivity"
            android:exported="false" />
        <service android:name=".widget.apkwgtupload.ApkDownLoadService" />
        <!--largeHeap="true" 临时缓解内存不足问题 -->
        <activity
            android:name=".ui.me.WebActivity"
            android:exported="false"
app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java
@@ -820,7 +820,7 @@
            UserConfigManage.getInstance().setTheSameLoginAccount(isUserId);//与上一个账号是否同一个
            //UserConfigManage.getInstance().getUserId()表示第一次安装登录
            if (!TextUtils.isEmpty(UserConfigManage.getInstance().getUserId()) && !UserConfigManage.getInstance().isTheSameLoginAccount()) {
                //不同账号,删除之前的旧账号日志信息;
                //不同账号,删除之前的旧账号信息;
                HdlFileLogic.getInstance().deleteDirectory(HdlFileLogic.getInstance().getCurrentUserRootPath());
                HdlFileLogic.getInstance().deleteDirectory(HdlFileLogic.getInstance().getUserFilePath());
                UserConfigManage.getInstance().setHomeId("");
app/src/main/java/com/hdl/photovoltaic/other/HdlCommonLogic.java
@@ -62,14 +62,15 @@
    /**
     * @param value 值
     * @param value    值
     * @param unitType 需要转的单位(kW,kWh)
     * @return 字符串值返回
     */
    public static String convertDoubleValue(String value) {
    public static String convertDoubleValue(String value, String unitType) {
        if (TextUtils.isEmpty(value)) {
            return UnitType.noValue;
        }
        return divideByOneThousandAndFormat(value).toString();
        return divideByOneThousandAndFormat(value,unitType).toString();
    }
    /**
@@ -122,10 +123,10 @@
     * @param value 值
     * @return BigDecimal
     */
    public static BigDecimal divideByOneThousandAndFormat(String value) {
    public static BigDecimal divideByOneThousandAndFormat(String value, String unitType) {
        try {
            double doubleValue = Double.parseDouble(value);
            int mDoubleValue = doubleValue(value);
            long mDoubleValue = doubleValue(value,unitType);
            if (mDoubleValue == 0) {
                return getBigDecimal(value);
            } else {
@@ -143,17 +144,29 @@
     *
     * @param value 值
     */
    public static int doubleValue(String value) {
    public static long doubleValue(String value, String unitType) {
        try {
            double doubleValue = Double.parseDouble(value);
            if (doubleValue > 1000 && doubleValue < 1000 * 1000) {
                return 1000;
            } else if (doubleValue > 1000 * 1000 && doubleValue < 1000 * 1000 * 1000) {
                return 1000 * 1000;
            } else if (doubleValue > 1000 * 1000 * 1000) {
                return 1000 * 1000 * 1000;
            if (unitType.equals(UnitType.kW)) {
                if (doubleValue > 1000 && doubleValue < 1000 * 1000) {
                    return 1000 ;
                } else if (doubleValue >= 1000 * 1000 && doubleValue < 1000 * 1000 * 1000) {
                    return 1000 * 1000 ;
                } else if (doubleValue >= 1000 * 1000 * 1000) {
                    return 1000L * 1000 * 1000 ;
                } else {
                    return 1000;
                }
            } else {
                return 0;
                if (doubleValue >= 1000 && doubleValue < 1000 * 1000) {
                    return 1000;
                } else if (doubleValue >= 1000 * 1000 && doubleValue < 1000 * 1000 * 1000) {
                    return 1000 * 1000;
                } else if (doubleValue >= 1000 * 1000 * 1000) {
                    return 1000 * 1000 * 1000;
                } else {
                    return 0;
                }
            }
        } catch (Exception e) {
            return 0;
@@ -161,29 +174,7 @@
    }
    /**
     * 转换单位
     *
     * @param value    值
     * @param unitType 表示是单位(功率,电量)
     */
    public static String convertUnit(String value, String unitType) {
        try {
            double doubleValue = Double.parseDouble(value);
            if (doubleValue > 1000 && doubleValue < 1000 * 1000) {
                return unitType.equals(UnitType.kW) ? UnitType.mW : UnitType.mWh;
            } else if (doubleValue > 1000 * 1000 && doubleValue < 1000 * 1000 * 1000) {
                return unitType.equals(UnitType.kW) ? UnitType.gW : UnitType.gWh;
            } else if (doubleValue > 1000 * 1000 * 1000) {
                return unitType.equals(UnitType.kW) ? UnitType.tW : UnitType.tWh;
            } else {
                return unitType.equals(UnitType.kW) ? UnitType.kW : UnitType.kWh;
            }
        } catch (Exception e) {
            return unitType.equals(UnitType.kW) ? UnitType.kW : UnitType.kWh;
        }
    }
    /**
     * 转换电量(kWh)单位
@@ -193,11 +184,11 @@
    public static String convertKWHUnit(String value) {
        try {
            double doubleValue = Double.parseDouble(value);
            if (doubleValue > 1000 && doubleValue < 1000 * 1000) {
            if (doubleValue >= 1000 && doubleValue < 1000 * 1000) {
                return UnitType.mWh;
            } else if (doubleValue > 1000 * 1000 && doubleValue < 1000 * 1000 * 1000) {
            } else if (doubleValue >= 1000 * 1000 && doubleValue < 1000 * 1000 * 1000) {
                return UnitType.gWh;
            } else if (doubleValue > 1000 * 1000 * 1000) {
            } else if (doubleValue >= 1000 * 1000 * 1000) {
                return UnitType.tWh;
            } else {
                return UnitType.kWh;
@@ -217,10 +208,12 @@
        try {
            double doubleValue = Double.parseDouble(value);
            if (doubleValue > 1000 && doubleValue < 1000 * 1000) {
                return UnitType.kW;
            } else if (doubleValue >= 1000 * 1000 && doubleValue < 1000 * 1000 * 1000) {
                return UnitType.mW;
            } else if (doubleValue > 1000 * 1000 && doubleValue < 1000 * 1000 * 1000) {
            } else if (doubleValue >= 1000 * 1000 * 1000&&doubleValue < 1000 * 1000 * 1000*1000L) {
                return UnitType.gW;
            } else if (doubleValue > 1000 * 1000 * 1000) {
            } else if (doubleValue >= 1000 * 1000 * 1000*1000L) {
                return UnitType.tW;
            } else {
                return UnitType.kW;
@@ -239,11 +232,11 @@
    public static String convertKWPUnit(String value) {
        try {
            double doubleValue = Double.parseDouble(value);
            if (doubleValue > 1000 && doubleValue < 1000 * 1000) {
            if (doubleValue >= 1000 && doubleValue < 1000 * 1000) {
                return UnitType.MWp;
            } else if (doubleValue > 1000 * 1000 && doubleValue < 1000 * 1000 * 1000) {
            } else if (doubleValue >= 1000 * 1000 && doubleValue < 1000 * 1000 * 1000) {
                return UnitType.GWp;
            } else if (doubleValue > 1000 * 1000 * 1000) {
            } else if (doubleValue >= 1000 * 1000 * 1000) {
                return UnitType.TWp;
            } else {
                return UnitType.kWp;
app/src/main/java/com/hdl/photovoltaic/ui/StartActivity.java
@@ -21,6 +21,7 @@
import com.hdl.photovoltaic.config.AppConfigManage;
import com.hdl.photovoltaic.config.UserConfigManage;
import com.hdl.photovoltaic.listener.CloudCallBeak;
import com.hdl.photovoltaic.other.HdlCommonLogic;
import com.hdl.photovoltaic.other.HdlResidenceLogic;
import com.hdl.photovoltaic.ui.bean.HouseIdBean;
import com.hdl.photovoltaic.ui.me.WebActivity;
app/src/main/java/com/hdl/photovoltaic/ui/adapter/DeviceInfoAdapter.java
@@ -44,13 +44,14 @@
    public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
        CloudInverterDeviceBean deviceBean = this.mList.get(position);
        holder.homeNameTv.setText(deviceBean.getHomeNameAndDeviceName());
        holder.device_details_sn_tv.setText(deviceBean.getOsn());
        holder.device_label_run_state_value_tv.setText(deviceBean.getSystemStatusDesc());
        holder.device_label_power_value_tv.setText(HdlCommonLogic.convertDoubleValue(deviceBean.getOutputActivePower(), 1000));
        holder.device_label_power_unit.setText(HdlCommonLogic.convertUnit(deviceBean.getOutputActivePower(), UnitType.kW));
        holder.device_label_day_value_tv.setText(HdlCommonLogic.convertDoubleValue(deviceBean.getTotalElectricityPvToday()));
        holder.device_label_day_unit.setText(HdlCommonLogic.convertUnit(deviceBean.getOutputActivePower(), UnitType.kWh));
        holder.device_label_power_value_tv.setText(HdlCommonLogic.convertDoubleValue(deviceBean.getOutputActivePower(), UnitType.kW));
        holder.device_label_power_unit.setText(HdlCommonLogic.convertKWUnit(deviceBean.getOutputActivePower()));
        holder.device_label_day_value_tv.setText(HdlCommonLogic.convertDoubleValue(deviceBean.getTotalElectricityPvToday(), UnitType.kWh));
        holder.device_label_day_unit.setText(HdlCommonLogic.convertKWHUnit(deviceBean.getTotalElectricityPvToday()));
        holder.device_label_location_tv.setText(deviceBean.getHomeAddress());
        setTextViewStyle(holder.device_label_state_tv, deviceBean.getDeviceStatus());
        holder.itemView.setTag(position);
app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java
@@ -61,17 +61,18 @@
        HouseIdBean houseIdBean = this.mList.get(position);
        holder.homeNameTv.setText(houseIdBean.getHomeName().trim());
        //装机容量
        String capacity = HdlCommonLogic.getBigDecimal(houseIdBean.getInstalledCapacity()).toString();
        holder.capacityTv.setText(capacity);
        holder.capacityTv.setText(HdlCommonLogic.convertDoubleValue(houseIdBean.getInstalledCapacity(), UnitType.kWp));
        holder.capacity_kwp_unit.setText(HdlCommonLogic.convertKWPUnit(houseIdBean.getInstalledCapacity()));
        //发电功率
        holder.power_value_tv.setText(HdlCommonLogic.convertDoubleValue(houseIdBean.getPower()));
        holder.power_kw_unit.setText(HdlCommonLogic.convertUnit(houseIdBean.getPower(), UnitType.kW));
        holder.power_value_tv.setText(HdlCommonLogic.convertDoubleValue(houseIdBean.getPower(), UnitType.kW));
        holder.power_kw_unit.setText(HdlCommonLogic.convertKWUnit(houseIdBean.getPower()));
        //当日发电量
        holder.day_value_tv.setText(HdlCommonLogic.convertDoubleValue(houseIdBean.getTodayElectricity()));
        holder.day_kwh_unit.setText(HdlCommonLogic.convertUnit(houseIdBean.getTodayElectricity(), UnitType.kWh));
        holder.day_value_tv.setText(HdlCommonLogic.convertDoubleValue(houseIdBean.getTodayElectricity(), UnitType.kWh));
        holder.day_kwh_unit.setText(HdlCommonLogic.convertKWHUnit(houseIdBean.getTodayElectricity()));
        //电池容量
        holder.month_value_tv.setText(HdlCommonLogic.convertDoubleValue(houseIdBean.getBatteryCapacity()));
        holder.month_kwh_unit.setText(HdlCommonLogic.convertUnit(houseIdBean.getBatteryCapacity(), UnitType.kWh));
        holder.month_value_tv.setText(HdlCommonLogic.convertDoubleValue(houseIdBean.getBatteryCapacity(), UnitType.kWh));
        holder.month_kwh_unit.setText(HdlCommonLogic.convertKWHUnit(houseIdBean.getBatteryCapacity()));
        holder.plant_details_location_tv.setText(houseIdBean.getHomeAddress());
        holder.item_parent_rl.setTag(position);
@@ -219,6 +220,7 @@
        public ImageView homeIconIv;//住宅图片
        public TextView homeNameTv;//住宅名称
        public TextView capacityTv;//装机容量
        public TextView capacity_kwp_unit;//装机容量单位
        public TextView power_value_tv;//发电功率
        public TextView power_kw_unit;//发电功率单位
        public TextView day_value_tv;//当日发电量
@@ -237,6 +239,7 @@
            homeIconIv = itemView.findViewById(R.id.device_details_image_iv);
            homeNameTv = itemView.findViewById(R.id.device_details_name_tv);
            capacityTv = itemView.findViewById(R.id.device_details_value_tv);
            capacity_kwp_unit = itemView.findViewById(R.id.capacity_kwp_unit);
            power_value_tv = itemView.findViewById(R.id.power_value_tv);
            power_kw_unit = itemView.findViewById(R.id.power_kw_unit);
            day_value_tv = itemView.findViewById(R.id.day_value_tv);
app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java
@@ -535,11 +535,13 @@
                        if (dataOverBean == null) {
                            return;
                        }
                        String capacityValue = HdlCommonLogic.divideByOneThousandAndFormat(dataOverBean.getInstalledCapacity()).toString();
                        String capacityValue = HdlCommonLogic.convertDoubleValue(dataOverBean.getInstalledCapacity(), UnitType.kWp);
                        viewBinding.infoRl1Text1Tv.setText(capacityValue);
                        viewBinding.kwpUnit.setText(HdlCommonLogic.convertKWPUnit(dataOverBean.getInstalledCapacity()));
                        viewBinding.infoRl1Text3Tv.setText(HdlCommonLogic.convertDoubleValue(dataOverBean.getPower()));
                        viewBinding.infoRl1Text3Tv.setText(HdlCommonLogic.convertDoubleValue(dataOverBean.getPower(), UnitType.kW));
                        viewBinding.kwUnit.setText(HdlCommonLogic.convertKWUnit(dataOverBean.getPower()));
//                        String str = dataOverBean.getPowerRatio() + "%";
//                        int startIndex = str.lastIndexOf("%");
//                        int endIndex = str.lastIndexOf("%") + 1;
@@ -567,14 +569,14 @@
                        } catch (Exception ignored) {
                        }
                        viewBinding.day.setText(HdlCommonLogic.convertDoubleValue(dataOverBean.getTodayElectricity()));
                        viewBinding.dayUnit.setText(HdlCommonLogic.convertUnit(dataOverBean.getTodayElectricity(), UnitType.kWh));
                        viewBinding.month.setText(HdlCommonLogic.convertDoubleValue(dataOverBean.getMonthElectricity()));
                        viewBinding.monthUnit.setText(HdlCommonLogic.convertUnit(dataOverBean.getMonthElectricity(), UnitType.kWh));
                        viewBinding.year.setText(HdlCommonLogic.convertDoubleValue(dataOverBean.getYearElectricity()));
                        viewBinding.yearUnit.setText(HdlCommonLogic.convertUnit(dataOverBean.getYearElectricity(), UnitType.kWh));
                        viewBinding.Total.setText(HdlCommonLogic.convertDoubleValue(dataOverBean.getTotalElectricity()));
                        viewBinding.TotalUnit.setText(HdlCommonLogic.convertUnit(dataOverBean.getTotalElectricity(), UnitType.kWh));
                        viewBinding.day.setText(HdlCommonLogic.convertDoubleValue(dataOverBean.getTodayElectricity(), UnitType.kWh));
                        viewBinding.dayUnit.setText(HdlCommonLogic.convertKWHUnit(dataOverBean.getTodayElectricity()));
                        viewBinding.month.setText(HdlCommonLogic.convertDoubleValue(dataOverBean.getMonthElectricity(), UnitType.kWh));
                        viewBinding.monthUnit.setText(HdlCommonLogic.convertKWHUnit(dataOverBean.getMonthElectricity()));
                        viewBinding.year.setText(HdlCommonLogic.convertDoubleValue(dataOverBean.getYearElectricity(), UnitType.kWh));
                        viewBinding.yearUnit.setText(HdlCommonLogic.convertKWHUnit(dataOverBean.getYearElectricity()));
                        viewBinding.Total.setText(HdlCommonLogic.convertDoubleValue(dataOverBean.getTotalElectricity(), UnitType.kWh));
                        viewBinding.TotalUnit.setText(HdlCommonLogic.convertKWHUnit(dataOverBean.getTotalElectricity()));
                    }
                });
app/src/main/java/com/hdl/photovoltaic/ui/me/AsRegardsActivity.java
@@ -4,6 +4,8 @@
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
@@ -19,7 +21,7 @@
import com.hdl.photovoltaic.other.HdlCommonLogic;
import com.hdl.photovoltaic.other.HdlThreadLogic;
import com.hdl.photovoltaic.widget.FlashingBoxDialog;
import com.hdl.photovoltaic.widget.apkwgtupload.ApkDownLoadService;
import com.hdl.photovoltaic.widget.FlashingIconBoxDialog;
import com.hdl.photovoltaic.widget.ConfirmationCancelDialog;
import com.hdl.photovoltaic.widget.UpdateConfirmationCancelDialog;
@@ -132,6 +134,7 @@
    private void initView() {
        viewBinding.toolbarTopRl.topBarView.setBackgroundColor(getColor(R.color.text_00000000));
        viewBinding.asRegardsVersionUpdatingRl.setVisibility(View.GONE);
        viewBinding.toolbarTopRl.topTitleTv.setText(R.string.me_regard);
        viewBinding.toolbarTopRl.topBackLl.setVisibility(View.VISIBLE);
        String versionsStr = _mActivity.getResources().getString(R.string.app_version_number) + " " + AppConfigManage.getVersionName();
@@ -165,11 +168,24 @@
                updateConfirmationCancelDialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() {
                    @Override
                    public void Confirm() {
                        Intent intent = new Intent(_mActivity, ApkDownLoadService.class);
                        intent.putExtra("updateUrl", mNewVersionBean.getPackageUrl());
                        intent.putExtra("downLoadName", HdlAppUpdateLogic.getInstance().getApkFileName());
                        intent.putExtra("downLoadType", "0");
                        _mActivity.startService(intent);
                        FlashingBoxDialog flashingBoxDialog = new FlashingBoxDialog(_mActivity, 1500);
                        flashingBoxDialog.setContent(getString(R.string.loading_not_supported));
                        flashingBoxDialog.show();
//                        try {
//                            PackageManager packageManager = getPackageManager();
//                            PackageInfo packageInfo = packageManager.getPackageInfo("com.android.vending", 0);
//                            String versionName = packageInfo.versionName; // 获取版本号
//                            int versionCode = packageInfo.versionCode; // 获取版本代码
//                            // 在此处处理版本信息
//                        } catch (PackageManager.NameNotFoundException e) {
//                            e.printStackTrace();
//                            // 处理异常,例如谷歌Play商店应用未安装
//                        }
//
//                        String packageName = "com.hdl.photovoltaic"; // 替换为你想跳转到的应用的包名
//                        Intent intent = new Intent(Intent.ACTION_VIEW);
//                        intent.setData(Uri.parse("market://details?id=" + packageName));
//                        startActivity(intent);
                        updateConfirmationCancelDialog.dismiss();
                    }
app/src/main/java/com/hdl/photovoltaic/ui/me/CPersonalDataActivity.java
@@ -128,11 +128,11 @@
//                    }, true);
                } else {
                    // 未授权 如果应用程序没有所需的权限,则显示解释说明
                    PermissionExplanationDialog.getInstance().showPortConflictPdDialog(_mActivity, getString(R.string.camera_storage_instructions), getString(R.string.camera_storage_purpose));
//                    PermissionExplanationDialog.getInstance().showPortConflictPdDialog(_mActivity, getString(R.string.camera_storage_instructions), getString(R.string.camera_storage_purpose));
                    PermissionUtils.requestPermissionsResultCallback(_mActivity, Manifest.permission.WRITE_EXTERNAL_STORAGE, new PermissionUtils.PermissionState() {
                        @Override
                        public void Success(int value) {
                            PermissionExplanationDialog.getInstance().dismiss();
//                            PermissionExplanationDialog.getInstance().dismiss();
                            if (value == PermissionUtils.STATUS_REFUSE_PERMANENT | value == PermissionUtils.STATUS_REFUSE) {
//                            HdlThreadLogic.toast(_mActivity, R.string.permission_open);
                                return;
app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsListEdit.java
@@ -134,11 +134,11 @@
            public void onClick(View v) {
                // 未授权 如果应用程序没有所需的权限,则显示解释说明
                PermissionExplanationDialog.getInstance().showPortConflictPdDialog(_mActivity, getString(R.string.camera_storage_instructions), getString(R.string.camera_storage_purpose));
//                PermissionExplanationDialog.getInstance().showPortConflictPdDialog(_mActivity, getString(R.string.camera_storage_instructions), getString(R.string.camera_storage_purpose));
                PermissionUtils.requestPermissionsResultCallback(_mActivity, Manifest.permission.CAMERA, new PermissionUtils.PermissionState() {
                    @Override
                    public void Success(int value) {
                        PermissionExplanationDialog.getInstance().dismiss();
//                        PermissionExplanationDialog.getInstance().dismiss();
                        if (value == PermissionUtils.STATUS_REFUSE_PERMANENT | value == PermissionUtils.STATUS_REFUSE) {
//                            HdlThreadLogic.toast(_mActivity, R.string.permission_open);
                            return;
app/src/main/java/com/hdl/photovoltaic/utils/SharedPreUtils.java
@@ -5,7 +5,9 @@
import com.hdl.photovoltaic.HDLApp;
/**
 * 轻量级储存
 */
public class SharedPreUtils {
    private static final String FILE_NAME = "MyData";
app/src/main/java/com/hdl/photovoltaic/widget/apkwgtupload/AndroidPermissionActivity.java
File was deleted
app/src/main/java/com/hdl/photovoltaic/widget/apkwgtupload/ApkDownLoadService.java
File was deleted
app/src/main/java/com/hdl/photovoltaic/widget/apkwgtupload/AppDownloadManager.java
File was deleted
app/src/main/java/com/hdl/photovoltaic/widget/popupview/CameraAlbumPopWindow.java
@@ -104,11 +104,11 @@
    private void checkPermission_After(final Activity context, final int tag) {
        String permission = Manifest.permission.CAMERA;
        // 未授权 如果应用程序没有所需的权限,则显示解释说明
        PermissionExplanationDialog.getInstance().showPortConflictPdDialog(context, context.getString(R.string.camera_storage_instructions), context.getString(R.string.camera_storage_purpose));
//        PermissionExplanationDialog.getInstance().showPortConflictPdDialog(context, context.getString(R.string.camera_storage_instructions), context.getString(R.string.camera_storage_purpose));
        int status = PermissionUtils.getPermissionState(context, permission);
        switch (status) {
            case PermissionUtils.STATUS_SUCCESS:
                PermissionExplanationDialog.getInstance().dismiss();
//                PermissionExplanationDialog.getInstance().dismiss();
                dismiss();
                if (0 == tag) {
                    take_photo();
app/src/main/res/layout/activity_as_regards.xml
@@ -81,16 +81,26 @@
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/qr_code_box" />
            <View
                android:id="@+id/line"
                android:layout_width="match_parent"
                android:layout_height="@dimen/dp_29"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/as_regards_download_app_tv" />
            <!--版本更新-->
            <RelativeLayout
                android:id="@+id/as_regards_version_updating_rl"
                android:layout_width="match_parent"
                android:layout_height="@dimen/dp_57"
                android:layout_marginTop="@dimen/dp_29"
                android:background="@color/text_FF1C1C1E"
                app:layout_constraintEnd_toEndOf="parent"
                app:layout_constraintStart_toStartOf="parent"
                app:layout_constraintTop_toBottomOf="@+id/as_regards_download_app_tv">
                app:layout_constraintTop_toBottomOf="@+id/line">
                <TextView
                    android:id="@+id/as_regards_version_updating_tv"
app/src/main/res/layout/dialog_confirm_cancel.xml
@@ -12,8 +12,8 @@
        android:layout_marginTop="@dimen/dp_20"
        android:layout_marginEnd="@dimen/dp_48"
        android:layout_marginBottom="@dimen/dp_20"
        android:paddingBottom="@dimen/dp_24"
        android:background="@drawable/dalog_bj_ff222222"
        android:paddingBottom="@dimen/dp_24"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
app/src/main/res/layout/item_plant_details.xml
@@ -86,7 +86,7 @@
                android:textSize="@dimen/text_14" />
            <TextView
                android:id="@+id/kwp_unit"
                android:id="@+id/capacity_kwp_unit"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_alignBottom="@+id/device_details_value_tv"
app/src/main/res/values-en/strings.xml
@@ -205,7 +205,7 @@
    <string name="minute">minutes</string>
    <string name="event"> Event</string>
    <string name="The_gateway_cannot_be_found_locally">Unable to find gateway under local network</string>
    <string name="welcome_to_the_smart_energy_app">Welcome to the Smart Energy APP</string>
    <string name="welcome_to_the_smart_energy_app">Welcome to the Xenterra Solar APP</string>
    <string name="no_permissions_unable_to_receive_push">Unable to receive push notification If the permission is not enabled, you cannot receive push information</string>
    <string name="go_to_settings">Go to Settings</string>
    <string name="system_positioning_switch">You need to turn on the system positioning switch. Otherwise, the system can obtain the position information</string>
app/src/main/res/values-zh/strings.xml
@@ -203,7 +203,7 @@
    <string name="minute">分钟</string>
    <string name="event">事件</string>
    <string name="The_gateway_cannot_be_found_locally">本地找不到网关</string>
    <string name="welcome_to_the_smart_energy_app">欢迎打开智慧能源APP</string>
    <string name="welcome_to_the_smart_energy_app">欢迎打开新特锐能APP</string>
    <string name="no_permissions_unable_to_receive_push">通知权限没开启,将无法收到推送信息。</string>
    <string name="go_to_settings">前往设置</string>
    <string name="system_positioning_switch">需要打开系统定位开关,否则无法获取位置信息。</string>
app/src/main/res/values/strings.xml
@@ -205,7 +205,7 @@
    <string name="minute">minutes</string>
    <string name="event"> Event</string>
    <string name="The_gateway_cannot_be_found_locally">Unable to find gateway under local network</string>
    <string name="welcome_to_the_smart_energy_app">Welcome to the Smart Energy APP</string>
    <string name="welcome_to_the_smart_energy_app">Welcome to the Xenterra Solar APP</string>
    <string name="no_permissions_unable_to_receive_push">Unable to receive push notification If the permission is not enabled, you cannot receive push information</string>
    <string name="go_to_settings">Go to Settings</string>
    <string name="system_positioning_switch">You need to turn on the system positioning switch. Otherwise, the system can obtain the position information</string>