From a291be17a07e3f657f5871675709d7ff76fe35b6 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期四, 11 四月 2024 18:04:09 +0800
Subject: [PATCH] 2024年04月11日18:04:06
---
app/src/main/java/com/hdl/photovoltaic/ui/CPowerStationActivity.java | 94 ++++++++++++++++++++++++++++++++++++++--------
1 files changed, 77 insertions(+), 17 deletions(-)
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/CPowerStationActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/CPowerStationActivity.java
index 90fab32..b66e48c 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/CPowerStationActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/CPowerStationActivity.java
@@ -2,14 +2,17 @@
import android.os.Bundle;
+import android.os.Process;
import android.os.SystemClock;
import android.text.TextUtils;
+
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.HDLApp;
+import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.base.CustomBaseActivity;
import com.hdl.photovoltaic.bean.MqttInfo;
import com.hdl.photovoltaic.config.ConstantManage;
@@ -28,6 +31,10 @@
import com.hdl.photovoltaic.ui.bean.HouseIdBean;
import com.hdl.photovoltaic.ui.bean.OidBean;
import com.hdl.photovoltaic.uni.HDLUniMP;
+import com.hdl.photovoltaic.uni.HDLUniMPSDKManager;
+import com.hdl.photovoltaic.utils.AppManagerUtils;
+import com.hdl.photovoltaic.widget.ConfirmationCancelDialog;
+import com.hdl.photovoltaic.widget.ConfirmationTipDialog;
import com.hdl.sdk.link.HDLLinkLocalSdk;
import com.hdl.sdk.link.common.event.EventListener;
import com.hdl.sdk.link.core.bean.LinkResponse;
@@ -35,6 +42,7 @@
import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
import com.hdl.sdk.link.core.bean.gateway.GatewayBean;
import com.hdl.sdk.link.core.config.HDLLinkConfig;
+import com.hdl.sdk.link.core.connect.HDLUdpConnect;
import com.hdl.sdk.link.core.utils.mqtt.MqttRecvClient;
import org.greenrobot.eventbus.Subscribe;
@@ -53,6 +61,7 @@
private ActivityCpowerStationBinding viewBinding;
private EventListener allTopicsListener;
+ private int backPressTimes;
@Override
public Object getContentView() {
@@ -62,6 +71,8 @@
@Override
public void onBindView(Bundle savedInstanceState) {
+ setNotificationBarBackgroundColor(CustomColor.white);
+ setStatusBarTextColor();
//C绔惎鍔ˋpp鑷姩鎵撳紑灏忕▼搴忕數绔欒鎯呯晫闈�
startAppAutomaticallyOpenUni();
//娉ㄥ唽鐩戝惉
@@ -70,6 +81,13 @@
this.initMqttClient();
//涓婁紶鏋佸厜娉ㄥ唽ID鍒颁簯绔�
this.pushTokens();
+ }
+
+ @Override
+ protected void onResume() {
+ super.onResume();
+ //鍚姩椤典笌mainActivity鏍峰紡涓�鏍凤紝杩欐牱鍚姩椤靛拰mainActivity鐪嬩笂鍘绘槸涓�涓晫闈紝鐩殑鏄负浜唌ainActivity閬綇涓嬩竴椤碉紱
+ AppManagerUtils.getAppManager().finishActivity(StartActivity.class);
}
@Subscribe(threadMode = ThreadMode.MAIN)
@@ -151,6 +169,9 @@
}
});
}
+ } else if (event.getTopic().contains(HDLUniMP.UNI_EVENT_REPLY_OTHER_MODEL) && event.getType().contains(HDLUniMP.UNI_EVENT_REPLY_OTHER_BACK)) {
+ //鐗╃悊鎸夐敭杩斿洖浜嬩欢(鍖呮嫭宸︽粦绉婚櫎浜嬩欢)
+ killProcessApp();
}
}
@@ -173,14 +194,52 @@
}
HouseIdBean houseIdBean = HouseIdList.get(select_home);
HdlResidenceLogic.getInstance().switchHouse(houseIdBean);
- String path = HDLUniMP.UNI_EVENT_OPEN_HOME_DETAILS_C
- + "?homeId=" + houseIdBean.getHomeId()
- + "&homeName=" + houseIdBean.getHomeName()
- + "&powerStationStatus=" + houseIdBean.getPowerStationStatus();
+ String path = HDLUniMP.UNI_EVENT_OPEN_HOME_DETAILS_C + "?homeId=" + houseIdBean.getHomeId() + "&homeName=" + houseIdBean.getHomeName() + "&powerStationStatus=" + houseIdBean.getPowerStationStatus();
HdlUniLogic.getInstance().openUniMP(path, null);
}
+
}
+
+// /**
+// * 鐗╃悊鎸夐敭杩斿洖浜嬩欢(鍖呮嫭宸︽粦绉婚櫎浜嬩欢)
+// */
+// @Override
+// public void onBackPressed() {
+// killProcessApp();
+// super.onBackPressed();
+// }
+
+ private void killProcessApp() {
+ //鐗╃悊鎸夐敭杩斿洖浜嬩欢(鍖呮嫭宸︽粦绉婚櫎浜嬩欢)
+ if (AppManagerUtils.getAppManager().getActivitySize() <= 1) {
+ if (backPressTimes == 0) {
+ HdlThreadLogic.toast(_mActivity, R.string.kill_app);
+ backPressTimes = 1;
+ new Thread() {
+ @Override
+ public void run() {
+ try {
+ Thread.sleep(2000);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ } finally {
+ backPressTimes = 0;
+ }
+ }
+ }.start();
+ return;
+ } else {
+ //鍏抽棴灏忕▼搴�
+ if (null != HDLUniMPSDKManager.getInstance().getUniMP()) {
+ HDLUniMPSDKManager.getInstance().getUniMP().closeUniMP();
+ }
+ AppManagerUtils.getAppManager().finishAllActivity();
+ Process.killProcess(Process.myPid());
+ }
+ }
+ }
+
@Override
protected void onDestroy() {
@@ -250,21 +309,22 @@
* 鍒濆鍖杕qtt瀹㈡埛绔�
*/
public void initMqttClient() {
-
- HdlMqttLogic.getInstance().getMqttRemoteInfo(HomeType.A, new CloudCallBeak<MqttInfo>() {
- @Override
- public void onSuccess(MqttInfo info) {
- if (info != null) {
- MqttRecvClient.getInstance().setConnectParam(info.getUrl(), info.getClientId(), info.getUserName(), info.getPassWord());
- MqttRecvClient.getInstance().connect();
+ if (!MqttRecvClient.getInstance().isInit()) {
+ HdlMqttLogic.getInstance().getMqttRemoteInfo(HomeType.A, new CloudCallBeak<MqttInfo>() {
+ @Override
+ public void onSuccess(MqttInfo info) {
+ if (info != null) {
+ MqttRecvClient.getInstance().setConnectParam(info.getUrl(), info.getClientId(), info.getUserName(), info.getPassWord(),null);
+ MqttRecvClient.getInstance().connect();
+ }
}
- }
- @Override
- public void onFailure(HDLException e) {
- HdlLogLogic.print("璇诲彇mqtt杩滅▼淇℃伅澶辫触--->" + e.getMessage(), e.getCode(), true);
- }
- });
+ @Override
+ public void onFailure(HDLException e) {
+ HdlLogLogic.print("璇诲彇mqtt杩滅▼淇℃伅澶辫触--->" + e.getMessage(), e.getCode(), true);
+ }
+ });
+ }
}
/**
--
Gitblit v1.8.0