From 86c0d87ee254c23eec2e2f530b996e9219deadb4 Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期一, 18 八月 2025 15:20:37 +0800 Subject: [PATCH] 2025年08月18日15:20:34 --- app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java | 96 ++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 76 insertions(+), 20 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 2b2a627..89365c4 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; @@ -106,7 +112,7 @@ setStatusBarTranslucent(); getWindow().setNavigationBarColor(getColor(R.color.text_FF1C1C1E)); //鍒濆鍖栫鐗� - initFragment(savedInstanceState); + initFragment(null); //鍒濆鍖� this.initView(); //鍒濆鍖栫晫闈㈢洃鍚櫒 @@ -152,16 +158,31 @@ fragmentList.add(mFragmentManager.findFragmentByTag(1 + "")); fragmentList.add(mFragmentManager.findFragmentByTag(2 + "")); fragmentList.add(mFragmentManager.findFragmentByTag(3 + "")); - restoreFragment();//鎭㈠fragment椤甸潰 + this.restoreFragment();//鎭㈠fragment椤甸潰 } else { - //姝e父鍚姩鏃惰皟鐢� - fragmentList.add(mHomePageFragment); - fragmentList.add(mHouseAndDeviceFragment); - fragmentList.add(mMessageFragment); - fragmentList.add(mMeFragment); - showFragment(); + // + this.removeAllFragments(mFragmentManager); + //姝e父鍚姩鏃惰皟鐢� + if (!fragmentList.isEmpty()) { + fragmentList.clear(); + } + fragmentList.add(mHomePageFragment); + fragmentList.add(mHouseAndDeviceFragment); + fragmentList.add(mMessageFragment); + fragmentList.add(mMeFragment); + 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])); } @@ -170,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()) { @@ -178,12 +200,10 @@ } else { ft.hide(currentFragment).show(fragmentList.get(currentFragmentIndex)); } + //鎶婂綋鍓嶆樉绀虹殑fragment璁板綍涓嬫潵 currentFragment = fragmentList.get(currentFragmentIndex); ft.commit(); //鎶婂綋鍓嶆樉绀虹殑fragment璁板綍涓嬫潵 - currentFragment = fragmentList.get(currentFragmentIndex); - - } /** @@ -199,6 +219,29 @@ } } 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[1]; + 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) { @@ -624,7 +680,7 @@ return; } int index = -1; - List<GatewayBean> list = HdlDeviceLogic.getInstance().getCurrentHomeGatewayList(UserConfigManage.getInstance().getHomeId(), null); + 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])) { -- Gitblit v1.8.0