mac
2023-12-29 27d994f4375f604ba7f49a5ba600882884d73126
app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java
@@ -2,9 +2,11 @@
import androidx.annotation.NonNull;
import androidx.appcompat.content.res.AppCompatResources;
import androidx.core.app.ActivityCompat;
import android.Manifest;
import android.content.IntentFilter;
import android.content.UriPermission;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.os.Process;
@@ -12,6 +14,7 @@
import android.view.View;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.hdl.linkpm.sdk.core.exception.HDLException;
import com.hdl.linkpm.sdk.home.type.HomeType;
import com.hdl.photovoltaic.R;
@@ -21,6 +24,7 @@
import com.hdl.photovoltaic.config.ConstantManage;
import com.hdl.photovoltaic.config.UserConfigManage;
import com.hdl.photovoltaic.databinding.ActivityMyPowerStationBinding;
import com.hdl.photovoltaic.enums.HomepageTitleTabSwitch;
import com.hdl.photovoltaic.enums.NetworkType;
import com.hdl.photovoltaic.listener.CloudCallBeak;
import com.hdl.photovoltaic.other.HdlCommonLogic;
@@ -31,6 +35,7 @@
import com.hdl.photovoltaic.other.HdlThreadLogic;
import com.hdl.photovoltaic.other.HdlUniLogic;
import com.hdl.photovoltaic.ui.bean.DeviceRemoteInfo;
import com.hdl.photovoltaic.ui.bean.OidBean;
import com.hdl.photovoltaic.uni.HDLUniMP;
import com.hdl.photovoltaic.utils.AppManagerUtils;
import com.hdl.photovoltaic.utils.PermissionUtils;
@@ -47,6 +52,7 @@
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import java.lang.reflect.Type;
import java.util.List;
@@ -85,17 +91,6 @@
        //监听网络状态变化
        this.networkMonitoring();
//        HdlOtaLogic.getInstance().startLocalService(new ServiceConnection() {
//            @Override
//            public void onServiceConnected(ComponentName name, IBinder service) {
//
//            }
//
//            @Override
//            public void onServiceDisconnected(ComponentName name) {
//
//            }
//        });
    }
@@ -115,7 +110,7 @@
            public void onClick(View v) {
                currentFragmentIndex = 1;
                bottomViewChangeOfStyle();
                postEventBus(HdlCommonLogic.HomepageTitleTabSwitch.powerstation);
                postEventBus(HomepageTitleTabSwitch.powerstation);
            }
        });
        viewBinding.myMessageBottomIl2.clickTv.setOnClickListener(new View.OnClickListener() {
@@ -123,7 +118,8 @@
            public void onClick(View v) {
                currentFragmentIndex = 2;
                bottomViewChangeOfStyle();
                postEventBus(HdlCommonLogic.HomepageTitleTabSwitch.message);
                postEventBus(HomepageTitleTabSwitch.message);
            }
        });
        viewBinding.myMeBottomIl3.clickTv.setOnClickListener(new View.OnClickListener() {
@@ -131,7 +127,7 @@
            public void onClick(View v) {
                currentFragmentIndex = 3;
                bottomViewChangeOfStyle();
                postEventBus(HdlCommonLogic.HomepageTitleTabSwitch.me);
                postEventBus(HomepageTitleTabSwitch.me);
            }
        });
@@ -196,10 +192,10 @@
     *
     * @param tabSwitch -
     */
    private void postEventBus(HdlCommonLogic.HomepageTitleTabSwitch tabSwitch) {
    private void postEventBus(HomepageTitleTabSwitch tabSwitch) {
        BaseEventBus baseEventBus = new BaseEventBus();
        baseEventBus.setTopic(ConstantManage.homepage_title_tab_switch);
        baseEventBus.setType(tabSwitch + "");
        baseEventBus.setType(tabSwitch.toString());
        EventBus.getDefault().post(baseEventBus);
    }
@@ -262,7 +258,7 @@
                    if (response.getTopic() == null) {
                        return;
                    }
                    HdlLogLogic.print("监听到的数据===" + new Gson().toJson(response), false);
                    HdlLogLogic.print("监听到Modbus数据--->" + new Gson().toJson(response), false);
//                    if (response.getTopic().endsWith("custom/native/inverter/up")) {
                    HDLUniMP.UniCallBackBaseBean uniCallBackBaseBean = new HDLUniMP.UniCallBackBaseBean();
                    uniCallBackBaseBean.setType(response.getTopic());
@@ -281,11 +277,33 @@
                        uniCallBackBaseBean.setData(linkResponse.getData());
                        HdlUniLogic.getInstance().sendUni(HDLUniMP.UNI_EVENT_REPLY_OTA_MODEL, uniCallBackBaseBean);
                        HdlLogLogic.print(linkResponse.getTopic() + new Gson().toJson(linkResponse.getData()), true);
                    } else if (linkResponse.getTopic().endsWith("/custom/device/list/upload")) {
                        //逆变器有新oid通知主题
                        if (linkResponse.getData() == null) {
                            HdlLogLogic.print("逆变器有新oid通知--->数据为空", false);
                            return;
                        }
                        try {
                            Gson gson = new Gson();
                            Type typeOfT = new TypeToken<List<OidBean>>() {
                            }.getType();
                            String json = gson.toJson(linkResponse.getData());
                            List<OidBean> oidList = gson.fromJson(json, typeOfT);
                            //增量增加add
                            HdlDeviceLogic.getInstance().updateOidAdd(UserConfigManage.getInstance().getHomeId(), oidList, null);
                        } catch (Exception ignored) {
                        }
                    }
                }
            }
        };
        HDLLinkLocalSdk.getInstance().registerAllTopicsListener(allTopicsListener);
        }
        ;
        HDLLinkLocalSdk.getInstance().
                registerAllTopicsListener(allTopicsListener);
    }
    /**
@@ -302,7 +320,7 @@
            @Override
            public void onFailure(HDLException e) {
                HdlLogLogic.print("读取mqtt远程信息失败===" + e.getMessage(), e.getCode(), true);
                HdlLogLogic.print("读取mqtt远程信息失败--->" + e.getMessage(), e.getCode(), true);
            }
        });
    }
@@ -324,7 +342,7 @@
                return;
            }
            int index = -1;
            List<GatewayBean> list = HdlDeviceLogic.getInstance().getCurrentHomeGatewayList();
            List<GatewayBean> list = HdlDeviceLogic.getInstance().getCurrentHomeGatewayList(UserConfigManage.getInstance().getHomeId());
            for (int i = 0; i < list.size(); i++) {
                GatewayBean gatewayBean = list.get(i);
                if (gatewayBean.getGatewayId().equals(topics[2])) {
@@ -390,7 +408,7 @@
    /**
     * 点击返回键的事件
     * 物理按键返回事件
     */
    @Override
    public void onBackPressed() {