| | |
| | | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | |
| | | private int backPressTimes; |
| | | |
| | | private NetworkChangeReceiver networkChangeReceiver; |
| | | |
| | | |
| | | @Override |
| | | public Object getContentView() { |
| | |
| | | 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 |
| | |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 监听网络状态变化 |
| | | */ |
| | | 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() { |
| | |
| | | public void onClick(View v) { |
| | | currentFragmentIndex = 2; |
| | | bottomViewChangeOfStyle(); |
| | | postEventBus(HdlCommonLogic.HomepageTitleTabSwitch.message); |
| | | postEventBus(HomepageTitleTabSwitch.message); |
| | | |
| | | } |
| | | }); |
| | | viewBinding.myMeBottomIl3.clickTv.setOnClickListener(new View.OnClickListener() { |
| | |
| | | public void onClick(View v) { |
| | | currentFragmentIndex = 3; |
| | | bottomViewChangeOfStyle(); |
| | | postEventBus(HdlCommonLogic.HomepageTitleTabSwitch.me); |
| | | postEventBus(HomepageTitleTabSwitch.me); |
| | | } |
| | | }); |
| | | |
| | |
| | | HdlUniLogic.getInstance().checkRemoveOtherUniMPEventCallBack(); |
| | | //移除监听 |
| | | HDLLinkLocalSdk.getInstance().removeAllTopicsListener(allTopicsListener); |
| | | //移除监听网络状态变化 |
| | | unregisterReceiver(networkChangeReceiver); |
| | | |
| | | } |
| | | |
| | |
| | | * |
| | | * @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); |
| | | } |
| | | |
| | |
| | | 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()); |
| | |
| | | |
| | | @Override |
| | | public void onFailure(HDLException e) { |
| | | HdlLogLogic.print("读取mqtt远程信息失败===" + e.getMessage(), e.getCode(), true); |
| | | HdlLogLogic.print("读取mqtt远程信息失败--->" + e.getMessage(), e.getCode(), true); |
| | | } |
| | | }); |
| | | } |
| | |
| | | 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() { |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |