From 8814f3f0828e6ac652a29cc9de9f971fd55bca5b Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期三, 07 五月 2025 14:54:42 +0800 Subject: [PATCH] 2025年05月07日14:54:39 --- app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java | 116 ++++++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 76 insertions(+), 40 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 020b802..1e292ba 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java @@ -5,9 +5,9 @@ import androidx.fragment.app.Fragment; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; +import androidx.lifecycle.Lifecycle; import android.Manifest; -import android.app.Activity; import android.content.Context; import android.content.Intent; import android.content.pm.PackageManager; @@ -19,7 +19,6 @@ import android.text.TextUtils; import android.util.Log; import android.view.View; -import android.view.WindowManager; import android.widget.TextView; import com.google.gson.Gson; @@ -40,7 +39,6 @@ import com.hdl.photovoltaic.other.HdlCommonLogic; import com.hdl.photovoltaic.other.HdlDeviceLogic; import com.hdl.photovoltaic.other.HdlESLocalJsonLogic; -import com.hdl.photovoltaic.other.HdlFileLogic; import com.hdl.photovoltaic.other.HdlLogLogic; import com.hdl.photovoltaic.other.HdlMessageLogic; import com.hdl.photovoltaic.other.HdlMqttLogic; @@ -57,6 +55,7 @@ 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; @@ -71,6 +70,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; @@ -108,7 +108,7 @@ setStatusBarTranslucent(); getWindow().setNavigationBarColor(getColor(R.color.text_FF1C1C1E)); //鍒濆鍖栫鐗� - initFragment(savedInstanceState); + initFragment(null); //鍒濆鍖� this.initView(); //鍒濆鍖栫晫闈㈢洃鍚櫒 @@ -147,23 +147,38 @@ if (savedInstanceState != null) { //鈥滃唴瀛橀噸鍚�濇椂璋冪敤 鑾峰彇鈥滃唴瀛橀噸鍚�濇椂淇濆瓨鐨勭储寮曚笅鏍� currentFragmentIndex = savedInstanceState.getInt(CURRENT_FRAGMENT, 0); - if (fragmentList.size() != 0) { + if (!fragmentList.isEmpty()) { fragmentList.clear(); } fragmentList.add(mFragmentManager.findFragmentByTag(0 + "")); 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])); } @@ -172,6 +187,7 @@ * 鏄剧ずfragment */ private void showFragment() { +// FragmentUtils.showHideFragment(mFragmentManager, fragmentList.toArray(new Fragment[0])[currentFragmentIndex]); FragmentTransaction ft = mFragmentManager.beginTransaction(); //濡傛灉涔嬪墠娌℃湁娣诲姞杩� if (!fragmentList.get(currentFragmentIndex).isAdded()) { @@ -180,12 +196,10 @@ } else { ft.hide(currentFragment).show(fragmentList.get(currentFragmentIndex)); } + //鎶婂綋鍓嶆樉绀虹殑fragment璁板綍涓嬫潵 currentFragment = fragmentList.get(currentFragmentIndex); ft.commit(); //鎶婂綋鍓嶆樉绀虹殑fragment璁板綍涓嬫潵 - currentFragment = fragmentList.get(currentFragmentIndex); - - } /** @@ -201,6 +215,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(); + } } @@ -398,43 +434,43 @@ if (this.currentFragmentIndex == 0) { //姒傝鐣岄潰 viewBinding.myPowerStationBottomIl0.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.home_page_selected)); - viewBinding.myPowerStationBottomIl0.titleTv.setTextColor(getColor(R.color.text_E6FFFFFF)); + viewBinding.myPowerStationBottomIl0.titleTv.setTextColor(getColor(R.color.text_FFACACAC)); viewBinding.myPowerStationBottomIl1.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.power_station_unselected)); - viewBinding.myPowerStationBottomIl1.titleTv.setTextColor(getColor(R.color.text_66FFFFFF)); + viewBinding.myPowerStationBottomIl1.titleTv.setTextColor(getColor(R.color.text_FF5B5B5B)); viewBinding.myMessageBottomIl2.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.message_unselected)); - viewBinding.myMessageBottomIl2.titleTv.setTextColor(getColor(R.color.text_66FFFFFF)); + viewBinding.myMessageBottomIl2.titleTv.setTextColor(getColor(R.color.text_FF5B5B5B)); viewBinding.myMeBottomIl3.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.me_unselected)); - viewBinding.myMeBottomIl3.titleTv.setTextColor(getColor(R.color.text_66FFFFFF)); + viewBinding.myMeBottomIl3.titleTv.setTextColor(getColor(R.color.text_FF5B5B5B)); } else if (this.currentFragmentIndex == 1) { //鐢电珯鐣岄潰 viewBinding.myPowerStationBottomIl0.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.home_page_unselected)); - viewBinding.myPowerStationBottomIl0.titleTv.setTextColor(getColor(R.color.text_66FFFFFF)); + viewBinding.myPowerStationBottomIl0.titleTv.setTextColor(getColor(R.color.text_FF5B5B5B)); viewBinding.myPowerStationBottomIl1.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.power_station_selected)); - viewBinding.myPowerStationBottomIl1.titleTv.setTextColor(getColor(R.color.text_E6FFFFFF)); + viewBinding.myPowerStationBottomIl1.titleTv.setTextColor(getColor(R.color.text_FFACACAC)); viewBinding.myMessageBottomIl2.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.message_unselected)); - viewBinding.myMessageBottomIl2.titleTv.setTextColor(getColor(R.color.text_66FFFFFF)); + viewBinding.myMessageBottomIl2.titleTv.setTextColor(getColor(R.color.text_FF5B5B5B)); viewBinding.myMeBottomIl3.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.me_unselected)); - viewBinding.myMeBottomIl3.titleTv.setTextColor(getColor(R.color.text_66FFFFFF)); + viewBinding.myMeBottomIl3.titleTv.setTextColor(getColor(R.color.text_FF5B5B5B)); } else if (this.currentFragmentIndex == 2) { //娑堟伅鐣岄潰 viewBinding.myPowerStationBottomIl0.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.home_page_unselected)); - viewBinding.myPowerStationBottomIl0.titleTv.setTextColor(getColor(R.color.text_66FFFFFF)); + viewBinding.myPowerStationBottomIl0.titleTv.setTextColor(getColor(R.color.text_FF5B5B5B)); viewBinding.myPowerStationBottomIl1.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.power_station_unselected)); - viewBinding.myPowerStationBottomIl1.titleTv.setTextColor(getColor(R.color.text_66FFFFFF)); + viewBinding.myPowerStationBottomIl1.titleTv.setTextColor(getColor(R.color.text_FF5B5B5B)); viewBinding.myMessageBottomIl2.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.message_selected)); - viewBinding.myMessageBottomIl2.titleTv.setTextColor(getColor(R.color.text_E6FFFFFF)); + viewBinding.myMessageBottomIl2.titleTv.setTextColor(getColor(R.color.text_FFACACAC)); viewBinding.myMeBottomIl3.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.me_unselected)); - viewBinding.myMeBottomIl3.titleTv.setTextColor(getColor(R.color.text_66FFFFFF)); + viewBinding.myMeBottomIl3.titleTv.setTextColor(getColor(R.color.text_FF5B5B5B)); } else if (this.currentFragmentIndex == 3) { //鎴戠殑鐣岄潰 viewBinding.myPowerStationBottomIl0.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.home_page_unselected)); - viewBinding.myPowerStationBottomIl0.titleTv.setTextColor(getColor(R.color.text_66FFFFFF)); + viewBinding.myPowerStationBottomIl0.titleTv.setTextColor(getColor(R.color.text_FF5B5B5B)); viewBinding.myPowerStationBottomIl1.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.power_station_unselected)); - viewBinding.myPowerStationBottomIl1.titleTv.setTextColor(getColor(R.color.text_66FFFFFF)); + viewBinding.myPowerStationBottomIl1.titleTv.setTextColor(getColor(R.color.text_FF5B5B5B)); viewBinding.myMessageBottomIl2.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.message_unselected)); - viewBinding.myMessageBottomIl2.titleTv.setTextColor(getColor(R.color.text_66FFFFFF)); + viewBinding.myMessageBottomIl2.titleTv.setTextColor(getColor(R.color.text_FF5B5B5B)); viewBinding.myMeBottomIl3.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.me_selected)); - viewBinding.myMeBottomIl3.titleTv.setTextColor(getColor(R.color.text_E6FFFFFF)); + viewBinding.myMeBottomIl3.titleTv.setTextColor(getColor(R.color.text_FFACACAC)); } } @@ -566,19 +602,16 @@ 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/property/send")) { -// //璁惧鐘舵�佸彉鏇磘opic锛�/user/${homeId}/app/thing/property/send -// if (linkResponse.getData() == null) { -// HdlLogLogic.print("璁惧鐘舵�佸彉鏇�--->鏁版嵁涓虹┖", false); -// return; -// } -// try { -// Gson gson = new Gson(); -// Type typeOfT = new TypeToken<List<OidBean>>() { -// }.getType(); -// String json = gson.toJson(linkResponse.getData()); -// } catch (Exception ignored) { -// } + } else if (linkResponse.getTopic().endsWith("/app/thing/property/send")) { + //璁惧鐘舵�佸彉鏇磘opic锛�/user/${homeId}/app/thing/property/send + if (linkResponse.getData() == null) { + HdlLogLogic.print("璁惧鐘舵�佸彉鏇�--->鏁版嵁涓虹┖", false); + return; + } + HDLUniMP.UniCallBackBaseBean uniCallBackBaseBean = new HDLUniMP.UniCallBackBaseBean(); + uniCallBackBaseBean.setType(linkResponse.getTopic()); + uniCallBackBaseBean.setData(linkResponse.getData()); + HdlUniLogic.getInstance().sendUni(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_MODEL, uniCallBackBaseBean); } } } @@ -630,7 +663,7 @@ return; } int index = -1; - List<GatewayBean> list = HdlDeviceLogic.getInstance().getCurrentHomeGatewayList(UserConfigManage.getInstance().getHomeId()); + List<GatewayBean> list = HdlDeviceLogic.getInstance().getCurrentHomeGatewayList(UserConfigManage.getInstance().getHomeId(), null); for (int i = 0; i < list.size(); i++) { GatewayBean gatewayBean = list.get(i); if (gatewayBean.getGatewayId().equals(topics[2])) { @@ -791,7 +824,10 @@ return; } else { AppManagerUtils.getAppManager().finishAllActivity(); + //濡傛灉寮�鍙戣�呰皟鐢╧ill鎴栬�卐xit涔嬬被鐨勬柟娉曟潃姝昏繘绋嬶紝鎴栬�呭弻鍑籦ack閿細鏉�姝昏繘绋嬶紝璇峰姟蹇呭湪姝や箣鍓嶈皟鐢∕obclickAgent.onKillProcess鏂规硶锛岀敤鏉ヤ繚瀛樼粺璁℃暟鎹�� + MobclickAgent.onKillProcess(_mActivity); Process.killProcess(Process.myPid()); + } } super.onBackPressed(); -- Gitblit v1.8.0