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 | 174 ++++++++++++++++++++++++++++++++++++++++++----------------
1 files changed, 126 insertions(+), 48 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 dda2339..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;
@@ -38,7 +40,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;
@@ -47,16 +48,21 @@
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;
import com.hdl.photovoltaic.widget.ConfirmationCancelDialog;
import com.hdl.photovoltaic.widget.ConfirmationTipDialog;
import com.hdl.sdk.link.HDLLinkLocalSdk;
@@ -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;
@@ -102,10 +109,10 @@
@Override
public void onBindView(Bundle savedInstanceState) {
-// setNotificationBarBackgroundColor(CustomColor.white);
setStatusBarTranslucent();
+ getWindow().setNavigationBarColor(getColor(R.color.text_FF1C1C1E));
//鍒濆鍖栫鐗�
- initFragment(savedInstanceState);
+ initFragment(null);
//鍒濆鍖�
this.initView();
//鍒濆鍖栫晫闈㈢洃鍚櫒
@@ -144,23 +151,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]));
}
@@ -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();
}
@@ -277,29 +321,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);
+ }
}
}
@@ -387,43 +439,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));
}
}
@@ -469,6 +521,7 @@
allTopicsListener = new EventListener() {
@Override
public void onMessage(Object msg) {
+
if (msg == null) {
return;
@@ -530,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("/");
//浣忓畢鍒犻櫎閫氱煡
@@ -554,6 +608,27 @@
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) {
+ 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);
}
}
}
@@ -766,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