From 5d3efa4c93dde0cde474951e5310bb72ebbf4184 Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期三, 07 五月 2025 15:18:26 +0800 Subject: [PATCH] 2025年05月07日15:18:20 1.2.0 --- app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java | 169 ++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 114 insertions(+), 55 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 0cde8ff..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,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; @@ -18,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; @@ -39,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; @@ -56,8 +55,10 @@ 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; import com.hdl.photovoltaic.widget.ConfirmationCancelDialog; import com.hdl.photovoltaic.widget.ConfirmationTipDialog; import com.hdl.sdk.link.HDLLinkLocalSdk; @@ -69,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; @@ -104,10 +106,9 @@ @Override public void onBindView(Bundle savedInstanceState) { setStatusBarTranslucent(); - - + getWindow().setNavigationBarColor(getColor(R.color.text_FF1C1C1E)); //鍒濆鍖栫鐗� - initFragment(savedInstanceState); + initFragment(null); //鍒濆鍖� this.initView(); //鍒濆鍖栫晫闈㈢洃鍚櫒 @@ -146,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])); } @@ -171,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()) { @@ -179,12 +196,10 @@ } else { ft.hide(currentFragment).show(fragmentList.get(currentFragmentIndex)); } + //鎶婂綋鍓嶆樉绀虹殑fragment璁板綍涓嬫潵 currentFragment = fragmentList.get(currentFragmentIndex); ft.commit(); //鎶婂綋鍓嶆樉绀虹殑fragment璁板綍涓嬫潵 - currentFragment = fragmentList.get(currentFragmentIndex); - - } /** @@ -200,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(); + } } @@ -279,29 +316,37 @@ * 寮�鍚�氱煡鏉冮檺 */ private void notificationSet() { - boolean isBoolean = PermissionUtils.isNotificationEnabled(_mActivity); - if (!isBoolean) { - ConfirmationCancelDialog confirmationCancelDialog = new ConfirmationCancelDialog(_mActivity); - confirmationCancelDialog.setTitle(getString(R.string.loading_title_tip)); - confirmationCancelDialog.setContent(getString(R.string.no_permissions_unable_to_receive_push)); - confirmationCancelDialog.setConfirmation(getString(R.string.go_to_settings)); - confirmationCancelDialog.show(); - confirmationCancelDialog.isHideTitle(true); - confirmationCancelDialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() { - @Override - public void Confirm() { - confirmationCancelDialog.dismiss(); - PermissionUtils.openNotificationSettings(_mActivity); + String key = "isOpenNotificationEnabled"; + boolean isCancel = SharedPreUtils.getBoolean(key); + if (!isCancel) { + boolean isBoolean = PermissionUtils.isNotificationEnabled(_mActivity); + if (!isBoolean) { + ConfirmationCancelDialog confirmationCancelDialog = new ConfirmationCancelDialog(_mActivity); + confirmationCancelDialog.setTitle(getString(R.string.loading_title_tip)); + confirmationCancelDialog.setContent(getString(R.string.no_permissions_unable_to_receive_push)); + confirmationCancelDialog.setConfirmation(getString(R.string.go_to_settings)); + confirmationCancelDialog.show(); + confirmationCancelDialog.isHideTitle(true); + confirmationCancelDialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() { + @Override + public void Confirm() { + SharedPreUtils.putBoolean(key, true); + confirmationCancelDialog.dismiss(); + PermissionUtils.openNotificationSettings(_mActivity); - } - }); - confirmationCancelDialog.setNoOnclickListener(new ConfirmationCancelDialog.onNoOnclickListener() { - @Override - public void Cancel() { - confirmationCancelDialog.dismiss(); - } - }); + } + }); + confirmationCancelDialog.setNoOnclickListener(new ConfirmationCancelDialog.onNoOnclickListener() { + @Override + public void Cancel() { + SharedPreUtils.putBoolean(key, true); + confirmationCancelDialog.dismiss(); + } + }); + } else { + SharedPreUtils.putBoolean(key, true); + } } } @@ -389,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)); } } @@ -435,12 +480,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 @@ -471,6 +516,7 @@ allTopicsListener = new EventListener() { @Override public void onMessage(Object msg) { + if (msg == null) { return; @@ -556,6 +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; + } + HDLUniMP.UniCallBackBaseBean uniCallBackBaseBean = new HDLUniMP.UniCallBackBaseBean(); + uniCallBackBaseBean.setType(linkResponse.getTopic()); + uniCallBackBaseBean.setData(linkResponse.getData()); + HdlUniLogic.getInstance().sendUni(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_MODEL, uniCallBackBaseBean); } } } @@ -607,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])) { @@ -768,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