From 1f3acf4c29f367e40a3f589b51176ed24e28948f Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期二, 02 九月 2025 17:54:42 +0800
Subject: [PATCH] 2025年09月02日17:54:39
---
app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java | 87 ++++++++++++++++++++++++++++++++++++-------
1 files changed, 73 insertions(+), 14 deletions(-)
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java
index 786694b..007ef4f 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java
@@ -5,6 +5,7 @@
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentTransaction;
+import androidx.lifecycle.Lifecycle;
import android.Manifest;
import android.content.Context;
@@ -21,6 +22,7 @@
import android.widget.TextView;
import com.google.gson.Gson;
+import com.google.gson.JsonObject;
import com.google.gson.reflect.TypeToken;
import com.hdl.linkpm.sdk.core.exception.HDLException;
import com.hdl.linkpm.sdk.home.type.HomeType;
@@ -46,14 +48,18 @@
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.HouseIdBean;
import com.hdl.photovoltaic.ui.bean.OidBean;
import com.hdl.photovoltaic.ui.bean.UnCountBean;
import com.hdl.photovoltaic.ui.home.HomePageFragment;
import com.hdl.photovoltaic.ui.me.MeFragment;
import com.hdl.photovoltaic.ui.message.MessageFragment;
+import com.hdl.photovoltaic.ui.newC.PowerStationsListActivity;
+import com.hdl.photovoltaic.ui.newC.PowerStationsMoveActivity;
import com.hdl.photovoltaic.ui.powerstation.HouseAndDeviceFragment;
import com.hdl.photovoltaic.uni.HDLUniMP;
import com.hdl.photovoltaic.utils.AppManagerUtils;
+import com.hdl.photovoltaic.utils.FragmentUtils;
import com.hdl.photovoltaic.utils.GPSManagerUtils;
import com.hdl.photovoltaic.utils.PermissionUtils;
import com.hdl.photovoltaic.utils.SharedPreUtils;
@@ -68,6 +74,7 @@
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 com.umeng.analytics.MobclickAgent;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
@@ -105,7 +112,7 @@
setStatusBarTranslucent();
getWindow().setNavigationBarColor(getColor(R.color.text_FF1C1C1E));
//鍒濆鍖栫鐗�
- initFragment(savedInstanceState);
+ initFragment(null);
//鍒濆鍖�
this.initView();
//鍒濆鍖栫晫闈㈢洃鍚櫒
@@ -151,16 +158,31 @@
fragmentList.add(mFragmentManager.findFragmentByTag(1 + ""));
fragmentList.add(mFragmentManager.findFragmentByTag(2 + ""));
fragmentList.add(mFragmentManager.findFragmentByTag(3 + ""));
- restoreFragment();//鎭㈠fragment椤甸潰
+ this.restoreFragment();//鎭㈠fragment椤甸潰
} else {
+ //
+ this.removeAllFragments(mFragmentManager);
//姝e父鍚姩鏃惰皟鐢�
+ if (!fragmentList.isEmpty()) {
+ fragmentList.clear();
+ }
fragmentList.add(mHomePageFragment);
fragmentList.add(mHouseAndDeviceFragment);
fragmentList.add(mMessageFragment);
fragmentList.add(mMeFragment);
- showFragment();
+ this.showFragment();
}
+
+// if (!fragmentList.isEmpty()) {
+// fragmentList.clear();
+// }
+// // 姝e父鍚姩鏃惰皟鐢�
+// fragmentList.add(mHomePageFragment);
+// fragmentList.add(mHouseAndDeviceFragment);
+// fragmentList.add(mMessageFragment);
+// fragmentList.add(mMeFragment);
+// FragmentUtils.loadMultipleFragment(R.id.module_fcv, mFragmentManager, fragmentList.toArray(new Fragment[0]));
}
@@ -169,6 +191,7 @@
* 鏄剧ずfragment
*/
private void showFragment() {
+// FragmentUtils.showHideFragment(mFragmentManager, fragmentList.toArray(new Fragment[0])[currentFragmentIndex]);
FragmentTransaction ft = mFragmentManager.beginTransaction();
//濡傛灉涔嬪墠娌℃湁娣诲姞杩�
if (!fragmentList.get(currentFragmentIndex).isAdded()) {
@@ -177,12 +200,10 @@
} else {
ft.hide(currentFragment).show(fragmentList.get(currentFragmentIndex));
}
+ //鎶婂綋鍓嶆樉绀虹殑fragment璁板綍涓嬫潵
currentFragment = fragmentList.get(currentFragmentIndex);
ft.commit();
//鎶婂綋鍓嶆樉绀虹殑fragment璁板綍涓嬫潵
- currentFragment = fragmentList.get(currentFragmentIndex);
-
-
}
/**
@@ -198,6 +219,28 @@
}
}
ft.commit();
+ }
+
+ private void removeAllFragments(FragmentManager manager) {
+ if (manager == null) return;
+ try {
+ final List<Fragment> fragments = manager.getFragments();
+ if (fragments.isEmpty()) {
+ return;
+ }
+ FragmentTransaction transaction = manager.beginTransaction();
+ for (int i = 0; i < fragments.size(); i++) {
+ Fragment fragment = fragments.get(i);
+ if (fragment != null) {
+// FragmentManager childManager = fragment.getChildFragmentManager();
+// removeAllFragments(childManager);
+ transaction.remove(fragment);
+ }
+ }
+ transaction.commit();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
}
@@ -243,14 +286,15 @@
}
}
if (!TextUtils.isEmpty(registrationID)) {
- UserConfigManage.getInstance().setRegistrationID(registrationID);
- UserConfigManage.getInstance().Save();
+// UserConfigManage.getInstance().setRegistrationID(registrationID);
+// UserConfigManage.getInstance().Save();
String finalRegistrationID = registrationID;
HdlResidenceLogic.getInstance().pushAdd(new CloudCallBeak<String>() {
@Override
public void onSuccess(String pushId) {
if (!TextUtils.isEmpty(pushId)) {
+ UserConfigManage.getInstance().setRegistrationID(finalRegistrationID);
UserConfigManage.getInstance().setPushId(pushId);
UserConfigManage.getInstance().Save();
}
@@ -441,12 +485,12 @@
this.notificationSet();
//ACCESS_FINE_LOCATION 鍏佽浣跨敤GPS瀹氫綅
//ACCESS_COARSE_LOCATION 鍏佽浣跨敤WIFI鐑偣鎴栧熀绔欐潵鑾峰彇绮楃暐鐨勫畾浣�
-// String[] ary = PermissionUtils.checkPermission(_mActivity, new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION});
-// if (ary.length > 0) {
-// this.requestPermissions(ary, PermissionUtils.STATUS_SUCCESS);
-// } else {
-// locationUpdates();
-// }
+ String[] ary = PermissionUtils.checkPermission(_mActivity, new String[]{Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION});
+ if (ary.length > 0) {
+ this.requestPermissions(ary, PermissionUtils.STATUS_SUCCESS);
+ } else {
+ locationUpdates();
+ }
}
@Override
@@ -539,6 +583,7 @@
uniCallBackBaseBean.setData(linkResponse.getData());
HdlUniLogic.getInstance().sendUni(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_MODEL, uniCallBackBaseBean);
HdlLogLogic.print(linkResponse.getTopic() + new Gson().toJson(linkResponse.getData()), true);
+// HdlDeviceLogic.getInstance().searchAllNetworkGateway(null);//閫嗗彉鍣╳ifi鐘舵��-閲嶆柊鎼滅储涓�涓嬮�嗗彉鍣�-閲嶆柊鏇存柊杩炴帴鐘舵��
} else if (linkResponse.getTopic().endsWith("/app/thing/event/appHomeRemoveRefresh/up")) {
String[] topicArray = linkResponse.getTopic().split("/");
//浣忓畢鍒犻櫎閫氱煡
@@ -563,6 +608,17 @@
uniCallBackBaseBean.setData(topicArray[1]);
HdlUniLogic.getInstance().sendUni(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_MODEL, uniCallBackBaseBean);
HdlLogLogic.print(linkResponse.getTopic() + new Gson().toJson(linkResponse.getData()), true);
+ } else if (linkResponse.getTopic().endsWith("/app/thing/event/appHomeRefresh/up")) {
+ //B绔櫥褰曠數绔欏洖婊氭椂锛屾敹鍒板洖婊氱殑浜嬩欢鏃讹紝鍙戜釜閫氱煡缁檜niapp锛寀niapp鍒锋柊涓嬬數绔欑殑鏉冮檺锛岃皟鏁翠笅鑿滃崟鏍忕殑鍐呭銆�
+ String[] topicArray = linkResponse.getTopic().split("/");
+ if (topicArray.length < 2) {
+ return;
+ }
+ final String HomeId = topicArray[2];
+ HDLUniMP.UniCallBackBaseBean uniCallBackBaseBean = new HDLUniMP.UniCallBackBaseBean();
+ uniCallBackBaseBean.setType(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_home_delivery_rollback);
+ uniCallBackBaseBean.setData(HomeId);
+ HdlUniLogic.getInstance().sendUni(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_MODEL, uniCallBackBaseBean);
} else if (linkResponse.getTopic().endsWith("/app/thing/property/send")) {
//璁惧鐘舵�佸彉鏇磘opic锛�/user/${homeId}/app/thing/property/send
if (linkResponse.getData() == null) {
@@ -785,7 +841,10 @@
return;
} else {
AppManagerUtils.getAppManager().finishAllActivity();
+ //濡傛灉寮�鍙戣�呰皟鐢╧ill鎴栬�卐xit涔嬬被鐨勬柟娉曟潃姝昏繘绋嬶紝鎴栬�呭弻鍑籦ack閿細鏉�姝昏繘绋嬶紝璇峰姟蹇呭湪姝や箣鍓嶈皟鐢∕obclickAgent.onKillProcess鏂规硶锛岀敤鏉ヤ繚瀛樼粺璁℃暟鎹��
+ MobclickAgent.onKillProcess(_mActivity);
Process.killProcess(Process.myPid());
+
}
}
super.onBackPressed();
--
Gitblit v1.8.0