mac
2023-12-27 936fb552a30c05fc7a60c20f47bf6fccbc2dc1c1
app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java
@@ -2,13 +2,12 @@
import androidx.annotation.NonNull;
import androidx.appcompat.content.res.AppCompatResources;
import androidx.core.app.ActivityCompat;
import android.Manifest;
import android.content.ComponentName;
import android.content.ServiceConnection;
import android.content.IntentFilter;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.os.IBinder;
import android.os.Process;
import android.text.TextUtils;
import android.view.View;
@@ -19,9 +18,12 @@
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.base.CustomBaseActivity;
import com.hdl.photovoltaic.bean.MqttInfo;
import com.hdl.photovoltaic.broadcast.NetworkChangeReceiver;
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;
import com.hdl.photovoltaic.other.HdlDeviceLogic;
@@ -62,6 +64,8 @@
    private int backPressTimes;
    private NetworkChangeReceiver networkChangeReceiver;
    @Override
    public Object getContentView() {
@@ -73,13 +77,15 @@
    public void onBindView(Bundle savedInstanceState) {
        setNotificationBarBackgroundColor(CustomColor.blue);
        //初始化
        initView();
        this.initView();
        //初始化界面监听器
        initEvent();
        this.initEvent();
        //注册监听
        registerAllTopicsListener();
        this.registerAllTopicsListener();
        //初始化mqtt客户端
        initMqttClient();
        this.initMqttClient();
        //监听网络状态变化
        this.networkMonitoring();
//        HdlOtaLogic.getInstance().startLocalService(new ServiceConnection() {
//            @Override
@@ -95,13 +101,23 @@
    }
    /**
     * 监听网络状态变化
     */
    private void networkMonitoring() {
        IntentFilter intentFilter = new IntentFilter();
        intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");
        networkChangeReceiver = new NetworkChangeReceiver();
        registerReceiver(networkChangeReceiver, intentFilter);
    }
    private void initEvent() {
        viewBinding.myPowerStationBottomIl1.clickTv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                currentFragmentIndex = 1;
                bottomViewChangeOfStyle();
                postEventBus(HdlCommonLogic.HomepageTitleTabSwitch.powerstation);
                postEventBus(HomepageTitleTabSwitch.powerstation);
            }
        });
        viewBinding.myMessageBottomIl2.clickTv.setOnClickListener(new View.OnClickListener() {
@@ -109,7 +125,8 @@
            public void onClick(View v) {
                currentFragmentIndex = 2;
                bottomViewChangeOfStyle();
                postEventBus(HdlCommonLogic.HomepageTitleTabSwitch.message);
                postEventBus(HomepageTitleTabSwitch.message);
            }
        });
        viewBinding.myMeBottomIl3.clickTv.setOnClickListener(new View.OnClickListener() {
@@ -117,7 +134,7 @@
            public void onClick(View v) {
                currentFragmentIndex = 3;
                bottomViewChangeOfStyle();
                postEventBus(HdlCommonLogic.HomepageTitleTabSwitch.me);
                postEventBus(HomepageTitleTabSwitch.me);
            }
        });
@@ -130,6 +147,8 @@
        HdlUniLogic.getInstance().checkRemoveOtherUniMPEventCallBack();
        //移除监听
        HDLLinkLocalSdk.getInstance().removeAllTopicsListener(allTopicsListener);
        //移除监听网络状态变化
        unregisterReceiver(networkChangeReceiver);
    }
@@ -180,10 +199,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);
    }
@@ -246,7 +265,7 @@
                    if (response.getTopic() == null) {
                        return;
                    }
                    HdlLogLogic.print("监听到的数据===" + new Gson().toJson(response), false);
                    HdlLogLogic.print("监听到的数据--->" + new Gson().toJson(response), false);
//                    if (response.getTopic().endsWith("custom/native/inverter/up")) {
                    HDLUniMP.UniCallBackBaseBean uniCallBackBaseBean = new HDLUniMP.UniCallBackBaseBean();
                    uniCallBackBaseBean.setType(response.getTopic());
@@ -286,7 +305,7 @@
            @Override
            public void onFailure(HDLException e) {
                HdlLogLogic.print("读取mqtt远程信息失败===" + e.getMessage(), e.getCode(), true);
                HdlLogLogic.print("读取mqtt远程信息失败--->" + e.getMessage(), e.getCode(), true);
            }
        });
    }
@@ -342,12 +361,39 @@
            uniCallBackBaseBean.setData(event.getData());
            HdlUniLogic.getInstance().sendUni(HDLUniMP.UNI_EVENT_REPLY_OTA_MODEL, uniCallBackBaseBean);
            HdlLogLogic.print(event.getTopic() + new Gson().toJson(event.getData()), true);
        } else if (event.getTopic().contains(ConstantManage.network_change_post)) {
//            String wifi_ssid = WifiUtils.getInstance().getCurrentConnectWifiSsid();//获取WiFi的ssid需要位置权限的
            HdlLogLogic.print("监听网络状态--->" + event.getData().toString() + "(" + event.getType() + ")", true);
            //第一次启动App,以及切换网络的时候更新
            if (TextUtils.isEmpty(UserConfigManage.getInstance().getHomeId())) {
                return;
            }
            if (!event.getType().equals(NetworkType.no_network.toString())) {
//                AppManagerUtils.getAppManager().showLoading();
                HdlThreadLogic.runSubThread(new Runnable() {
                    @Override
                    public void run() {
                        HdlDeviceLogic.getInstance().getCurrentHomeLocalAndCloudGatewayList(UserConfigManage.getInstance().getHomeId(), new CloudCallBeak<List<GatewayBean>>() {
                            @Override
                            public void onSuccess(List<GatewayBean> obj) {
//                                AppManagerUtils.getAppManager().hideLoading();
                            }
                            @Override
                            public void onFailure(HDLException e) {
//                                AppManagerUtils.getAppManager().hideLoading();
                            }
                        });
                    }
                });
            }
        }
    }
    /**
     * 点击返回键的事件
     * 物理按键返回事件
     */
    @Override
    public void onBackPressed() {
@@ -377,4 +423,7 @@
    }
}