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 |  416 +++++++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 329 insertions(+), 87 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 9c0de30..1e292ba 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java
@@ -2,6 +2,10 @@
 
 import androidx.annotation.NonNull;
 import androidx.appcompat.content.res.AppCompatResources;
+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;
@@ -13,7 +17,9 @@
 import android.os.SystemClock;
 import android.provider.Settings;
 import android.text.TextUtils;
+import android.util.Log;
 import android.view.View;
+import android.widget.TextView;
 
 import com.google.gson.Gson;
 import com.google.gson.reflect.TypeToken;
@@ -27,10 +33,14 @@
 import com.hdl.photovoltaic.config.UserConfigManage;
 import com.hdl.photovoltaic.databinding.ActivityMyPowerStationBinding;
 import com.hdl.photovoltaic.enums.HomepageTitleTabSwitch;
+import com.hdl.photovoltaic.enums.LowerTagType;
 import com.hdl.photovoltaic.enums.NetworkType;
 import com.hdl.photovoltaic.listener.CloudCallBeak;
+import com.hdl.photovoltaic.other.HdlCommonLogic;
 import com.hdl.photovoltaic.other.HdlDeviceLogic;
+import com.hdl.photovoltaic.other.HdlESLocalJsonLogic;
 import com.hdl.photovoltaic.other.HdlLogLogic;
+import com.hdl.photovoltaic.other.HdlMessageLogic;
 import com.hdl.photovoltaic.other.HdlMqttLogic;
 import com.hdl.photovoltaic.other.HdlOtaLogic;
 import com.hdl.photovoltaic.other.HdlResidenceLogic;
@@ -38,10 +48,17 @@
 import com.hdl.photovoltaic.other.HdlUniLogic;
 import com.hdl.photovoltaic.ui.bean.DeviceRemoteInfo;
 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.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;
@@ -53,12 +70,13 @@
 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.EventBus;
 import org.greenrobot.eventbus.Subscribe;
 import org.greenrobot.eventbus.ThreadMode;
 
 import java.lang.reflect.Type;
+import java.util.ArrayList;
 import java.util.List;
 
 import cn.jpush.android.api.JPushInterface;
@@ -69,9 +87,13 @@
  */
 public class BPowerStationActivity extends CustomBaseActivity {
 
+    private static final String CURRENT_FRAGMENT = "state_fragment_show";
+    private FragmentManager mFragmentManager;
+    private Fragment currentFragment = new Fragment();
+    private final List<Fragment> fragmentList = new ArrayList<>();
+    private int currentFragmentIndex = 0;
 
     private ActivityMyPowerStationBinding viewBinding;
-    private int currentFragmentIndex = 0;
     private EventListener allTopicsListener;
     private int backPressTimes;
 
@@ -83,8 +105,10 @@
 
     @Override
     public void onBindView(Bundle savedInstanceState) {
-//        setNotificationBarBackgroundColor(CustomColor.blue);
         setStatusBarTranslucent();
+        getWindow().setNavigationBarColor(getColor(R.color.text_FF1C1C1E));
+        //鍒濆鍖栫鐗�
+        initFragment(null);
         //鍒濆鍖�
         this.initView();
         //鍒濆鍖栫晫闈㈢洃鍚櫒
@@ -99,6 +123,120 @@
         this.clickJpushNotificationMessage();
         //鍒濆鍖栨潈闄�
         this.requestPermissions();
+        //璇诲彇娑堟伅鏈鏁伴噺
+        this.getUnreadCount();
+        //鑾峰彇浜戠鑴氭湰
+        HdlESLocalJsonLogic.getInstance().getAllHdlESLocalJson();
+
+
+    }
+
+
+    /**
+     * 鍒濆鍖朏ragment
+     *
+     * @param savedInstanceState -
+     */
+    private void initFragment(Bundle savedInstanceState) {
+        mFragmentManager = getSupportFragmentManager();
+        //纰庣墖鍒濆鍖�
+        HomePageFragment mHomePageFragment = new HomePageFragment();
+        HouseAndDeviceFragment mHouseAndDeviceFragment = new HouseAndDeviceFragment();
+        MessageFragment mMessageFragment = new MessageFragment();
+        MeFragment mMeFragment = new MeFragment();
+        if (savedInstanceState != null) {
+            //鈥滃唴瀛橀噸鍚�濇椂璋冪敤 鑾峰彇鈥滃唴瀛橀噸鍚�濇椂淇濆瓨鐨勭储寮曚笅鏍�
+            currentFragmentIndex = savedInstanceState.getInt(CURRENT_FRAGMENT, 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 + ""));
+            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);
+            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]));
+    }
+
+
+    /**
+     * 浣跨敤show() hide()鍒囨崲椤甸潰
+     * 鏄剧ずfragment
+     */
+    private void showFragment() {
+//        FragmentUtils.showHideFragment(mFragmentManager, fragmentList.toArray(new Fragment[0])[currentFragmentIndex]);
+        FragmentTransaction ft = mFragmentManager.beginTransaction();
+        //濡傛灉涔嬪墠娌℃湁娣诲姞杩�
+        if (!fragmentList.get(currentFragmentIndex).isAdded()) {
+            //绗笁涓弬鏁颁负娣诲姞褰撳墠鐨刦ragment鏃剁粦瀹氫竴涓猼ag
+            ft.hide(currentFragment).add(R.id.module_fcv, fragmentList.get(currentFragmentIndex), currentFragmentIndex + "");
+        } else {
+            ft.hide(currentFragment).show(fragmentList.get(currentFragmentIndex));
+        }
+        //鎶婂綋鍓嶆樉绀虹殑fragment璁板綍涓嬫潵
+        currentFragment = fragmentList.get(currentFragmentIndex);
+        ft.commit();
+        //鎶婂綋鍓嶆樉绀虹殑fragment璁板綍涓嬫潵
+    }
+
+    /**
+     * 鎭㈠fragment
+     */
+    private void restoreFragment() {
+        FragmentTransaction ft = mFragmentManager.beginTransaction();
+        for (int i = 0; i < fragmentList.size(); i++) {
+            if (i == currentFragmentIndex) {
+                ft.show(fragmentList.get(i));
+            } else {
+                ft.hide(fragmentList.get(i));
+            }
+        }
+        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();
+        }
 
     }
 
@@ -156,14 +294,14 @@
                                 UserConfigManage.getInstance().Save();
                             }
                             HDLApp.getInstance().setInfoMap(registrationId_tag, "true");//璁板綍涓�涓嬬姸鎬�,鍚庡彴鏉�姝籥pp浼氭竻绌�;
-                            HdlLogLogic.print("娣诲姞鏋佸厜ID鍒颁簯绔�--->registrationID:" + UserConfigManage.getInstance().getUserName() + "--->" + finalRegistrationID, true);
+                            HdlLogLogic.print("娣诲姞鏋佸厜ID鍒颁簯绔�---registrationID:" + UserConfigManage.getInstance().getUserName() + "---" + finalRegistrationID, true);
 
                         }
 
                         @Override
                         public void onFailure(HDLException e) {
                             HDLApp.getInstance().setInfoMap(registrationId_tag, "false");//璁板綍涓�涓嬬姸鎬�,鍚庡彴鏉�姝籥pp浼氭竻绌�;
-                            HdlLogLogic.print("娣诲姞鏋佸厜ID鍒颁簯绔け璐�--->registrationID:" + UserConfigManage.getInstance().getUserName() + "--->" + finalRegistrationID, true);
+                            HdlLogLogic.print("娣诲姞鏋佸厜ID鍒颁簯绔け璐�---registrationID:" + UserConfigManage.getInstance().getUserName() + "---" + finalRegistrationID, true);
                         }
                     });
 
@@ -178,28 +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.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);
+            }
         }
     }
 
@@ -213,7 +360,9 @@
                 }
                 currentFragmentIndex = 0;
                 bottomViewChangeOfStyle();
-                postEventBus(HomepageTitleTabSwitch.homepage);
+                showFragment();
+                HdlCommonLogic.lowerTagType = LowerTagType.home;
+                HdlCommonLogic.getInstance().postEventBusSticky(ConstantManage.homepage_title_tab_switch, HomepageTitleTabSwitch.homepage.toString());
             }
         });
         viewBinding.myPowerStationBottomIl1.clickTv.setOnClickListener(new View.OnClickListener() {
@@ -224,7 +373,9 @@
                 }
                 currentFragmentIndex = 1;
                 bottomViewChangeOfStyle();
-                postEventBus(HomepageTitleTabSwitch.powerstation);
+                showFragment();
+                HdlCommonLogic.lowerTagType = LowerTagType.power_station;
+                HdlCommonLogic.getInstance().postEventBusSticky(ConstantManage.homepage_title_tab_switch, HomepageTitleTabSwitch.powerstation.toString());
             }
         });
         viewBinding.myMessageBottomIl2.clickTv.setOnClickListener(new View.OnClickListener() {
@@ -235,7 +386,9 @@
                 }
                 currentFragmentIndex = 2;
                 bottomViewChangeOfStyle();
-                postEventBus(HomepageTitleTabSwitch.message);
+                showFragment();
+                HdlCommonLogic.lowerTagType = LowerTagType.message;
+                HdlCommonLogic.getInstance().postEventBusSticky(ConstantManage.homepage_title_tab_switch, HomepageTitleTabSwitch.message.toString());
             }
         });
         viewBinding.myMeBottomIl3.clickTv.setOnClickListener(new View.OnClickListener() {
@@ -246,7 +399,9 @@
                 }
                 currentFragmentIndex = 3;
                 bottomViewChangeOfStyle();
-                postEventBus(HomepageTitleTabSwitch.me);
+                showFragment();
+                HdlCommonLogic.lowerTagType = LowerTagType.me;
+                HdlCommonLogic.getInstance().postEventBusSticky(ConstantManage.homepage_title_tab_switch, HomepageTitleTabSwitch.me.toString());
             }
         });
 
@@ -260,95 +415,77 @@
         HdlUniLogic.getInstance().checkRemoveOtherUniMPEventCallBack();
         //绉婚櫎鐩戝惉
         HDLLinkLocalSdk.getInstance().removeAllTopicsListener(allTopicsListener);
+
+
     }
 
     private void initView() {
-        viewBinding.myPowerStationBottomIl0.titleTv.setText(R.string.power_shome_page);
+        viewBinding.myPowerStationBottomIl0.titleTv.setText(R.string.power_home_page);
         viewBinding.myPowerStationBottomIl1.titleTv.setText(R.string.power_station);
         viewBinding.myMessageBottomIl2.titleTv.setText(R.string.message);
         viewBinding.myMeBottomIl3.titleTv.setText(R.string.power_station_me);
         this.bottomViewChangeOfStyle();
     }
 
+    /**
+     * 搴曢儴妯″潡鏍峰紡鏀瑰彉
+     */
     private void bottomViewChangeOfStyle() {
         if (this.currentFragmentIndex == 0) {
-            viewBinding.myHomePageFcv0.setVisibility(View.VISIBLE);//鏄剧ず棣栭〉鐣岄潰
-            viewBinding.myPowerStationFcv1.setVisibility(View.GONE);//鏄剧ず鐢电珯鐣岄潰
-            viewBinding.myMessageFcv2.setVisibility(View.GONE);//闅愯棌娑堟伅鐣岄潰
-            viewBinding.myMeFcv3.setVisibility(View.GONE);//闅愯棌鎴戠殑鐣岄潰
+            //姒傝鐣岄潰
             viewBinding.myPowerStationBottomIl0.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.home_page_selected));
-            viewBinding.myPowerStationBottomIl0.titleTv.setTextColor(getColor(R.color.text_90000000));
+            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_65000000));
+            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_65000000));
+            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_65000000));
+            viewBinding.myMeBottomIl3.titleTv.setTextColor(getColor(R.color.text_FF5B5B5B));
         } else if (this.currentFragmentIndex == 1) {
-            viewBinding.myHomePageFcv0.setVisibility(View.GONE);//闅愯棌棣栭〉鐣岄潰
-            viewBinding.myPowerStationFcv1.setVisibility(View.VISIBLE);//鏄剧ず鐢电珯鐣岄潰
-            viewBinding.myMessageFcv2.setVisibility(View.GONE);//闅愯棌娑堟伅鐣岄潰
-            viewBinding.myMeFcv3.setVisibility(View.GONE);//闅愯棌鎴戠殑鐣岄潰
+            //鐢电珯鐣岄潰
             viewBinding.myPowerStationBottomIl0.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.home_page_unselected));
-            viewBinding.myPowerStationBottomIl0.titleTv.setTextColor(getColor(R.color.text_65000000));
+            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_90000000));
+            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_65000000));
+            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_65000000));
+            viewBinding.myMeBottomIl3.titleTv.setTextColor(getColor(R.color.text_FF5B5B5B));
         } else if (this.currentFragmentIndex == 2) {
-            viewBinding.myHomePageFcv0.setVisibility(View.GONE);//闅愯棌棣栭〉鐣岄潰
-            viewBinding.myPowerStationFcv1.setVisibility(View.GONE);//闅愯棌鐢电珯鐣岄潰
-            viewBinding.myMessageFcv2.setVisibility(View.VISIBLE);//鏄剧ず娑堟伅鐣岄潰
-            viewBinding.myMeFcv3.setVisibility(View.GONE);//闅愯棌鎴戠殑鐣岄潰
+            //娑堟伅鐣岄潰
             viewBinding.myPowerStationBottomIl0.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.home_page_unselected));
-            viewBinding.myPowerStationBottomIl0.titleTv.setTextColor(getColor(R.color.text_65000000));
+            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_65000000));
-            viewBinding.myMessageBottomIl2.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.message_select));
-            viewBinding.myMessageBottomIl2.titleTv.setTextColor(getColor(R.color.text_90000000));
+            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_FFACACAC));
             viewBinding.myMeBottomIl3.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.me_unselected));
-            viewBinding.myMeBottomIl3.titleTv.setTextColor(getColor(R.color.text_65000000));
+            viewBinding.myMeBottomIl3.titleTv.setTextColor(getColor(R.color.text_FF5B5B5B));
         } else if (this.currentFragmentIndex == 3) {
-            viewBinding.myHomePageFcv0.setVisibility(View.GONE);//闅愯棌棣栭〉鐣岄潰
-            viewBinding.myPowerStationFcv1.setVisibility(View.GONE);//闅愯棌鐢电珯鐣岄潰
-            viewBinding.myMessageFcv2.setVisibility(View.GONE);//闅愯棌娑堟伅鐣岄潰
-            viewBinding.myMeFcv3.setVisibility(View.VISIBLE);//鏄剧ず鎴戠殑鐣岄潰
+            //鎴戠殑鐣岄潰
             viewBinding.myPowerStationBottomIl0.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.home_page_unselected));
-            viewBinding.myPowerStationBottomIl0.titleTv.setTextColor(getColor(R.color.text_65000000));
+            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_65000000));
+            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_65000000));
+            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_90000000));
+            viewBinding.myMeBottomIl3.titleTv.setTextColor(getColor(R.color.text_FFACACAC));
         }
     }
 
-    /**
-     * 鍙戝竷鐐瑰嚮浜嬩欢
-     *
-     * @param tabSwitch -
-     */
-    private void postEventBus(HomepageTitleTabSwitch tabSwitch) {
-        BaseEventBus baseEventBus = new BaseEventBus();
-        baseEventBus.setTopic(ConstantManage.homepage_title_tab_switch);
-        baseEventBus.setType(tabSwitch.toString());
-        EventBus.getDefault().postSticky(baseEventBus);
-    }
 
     public void requestPermissions() {
         //娑堟伅閫氱煡闄愭潈
         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
@@ -380,6 +517,7 @@
             @Override
             public void onMessage(Object msg) {
 
+
                 if (msg == null) {
                     return;
                 }
@@ -388,7 +526,7 @@
                     if (response.getTopic() == null) {
                         return;
                     }
-                    HdlLogLogic.print("鐩戝惉鍒癕odbus鏁版嵁--->" + new Gson().toJson(response), false);
+                    HdlLogLogic.print("鐩戝惉鍒癕odbus鏁版嵁---" + new Gson().toJson(response), false);
 //                    if (response.getTopic().endsWith("custom/native/inverter/up")) {
                     HDLUniMP.UniCallBackBaseBean uniCallBackBaseBean = new HDLUniMP.UniCallBackBaseBean();
                     uniCallBackBaseBean.setType(response.getTopic());
@@ -418,7 +556,7 @@
                     } else if (linkResponse.getTopic().endsWith("/custom/device/list/upload")) {
                         //閫嗗彉鍣ㄦ湁鏂皁id閫氱煡涓婚
                         if (linkResponse.getData() == null) {
-                            HdlLogLogic.print("閫嗗彉鍣ㄦ湁鏂皁id閫氱煡--->鏁版嵁涓虹┖", false);
+                            HdlLogLogic.print("閫嗗彉鍣ㄦ湁鏂皁id閫氱煡---鏁版嵁涓虹┖", false);
                             return;
                         }
                         try {
@@ -433,6 +571,47 @@
                         }
 
 
+                    } else if (linkResponse.getTopic().endsWith("custom/wifi/notify")) {
+                        //閫嗗彉鍣ㄨ繛鎺ヨ矾鐢辩姸鎬侀�氱煡
+                        HDLUniMP.UniCallBackBaseBean uniCallBackBaseBean = new HDLUniMP.UniCallBackBaseBean();
+                        uniCallBackBaseBean.setType(linkResponse.getTopic());
+                        uniCallBackBaseBean.setData(linkResponse.getData());
+                        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/appHomeRemoveRefresh/up")) {
+                        String[] topicArray = linkResponse.getTopic().split("/");
+                        //浣忓畢鍒犻櫎閫氱煡
+                        HDLUniMP.UniCallBackBaseBean uniCallBackBaseBean = new HDLUniMP.UniCallBackBaseBean();
+                        uniCallBackBaseBean.setType(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_home_remove_refresh);
+                        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/appHomeDebugRefresh/up")) {
+                        String[] topicArray = linkResponse.getTopic().split("/");
+                        //浣忓畢浜屾璋冭瘯(鎺堟潈鐘舵��)鍒锋柊閫氱煡
+                        HDLUniMP.UniCallBackBaseBean uniCallBackBaseBean = new HDLUniMP.UniCallBackBaseBean();
+                        uniCallBackBaseBean.setType(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_home_debug_refresh);
+                        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/appHomeDeliverRefresh/up")) {
+                        String[] topicArray = linkResponse.getTopic().split("/");
+                        //浣忓畢浜や粯鐘舵�佸彉鏇村埛鏂伴�氱煡
+                        HDLUniMP.UniCallBackBaseBean uniCallBackBaseBean = new HDLUniMP.UniCallBackBaseBean();
+                        uniCallBackBaseBean.setType(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_home_delivery_refresh);
+                        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);
                     }
                 }
             }
@@ -444,8 +623,8 @@
      * 鍒濆鍖杕qtt瀹㈡埛绔�
      */
     public void initMqttClient() {
-        if (MqttRecvClient.getInstance().isConnected()) {
-            //妫�鏌ユ柇寮�杩炴帴
+        //妫�鏌ユ柇寮�鐘舵��
+        if (!MqttRecvClient.getInstance().isConnected()) {
             MqttRecvClient.getInstance().reConnect();
         }
         if (!MqttRecvClient.getInstance().isInit()) {
@@ -455,12 +634,13 @@
                     if (info != null) {
                         MqttRecvClient.getInstance().setConnectParam(info.getUrl(), info.getClientId(), info.getUserName(), info.getPassWord());
                         MqttRecvClient.getInstance().connect();
+                        HdlLogLogic.print("mqtt閾炬帴鎴愬姛---ClientId---" + info.getClientId(), true);
                     }
                 }
 
                 @Override
                 public void onFailure(HDLException e) {
-                    HdlLogLogic.print("璇诲彇mqtt杩滅▼淇℃伅澶辫触--->" + e.getMessage(), e.getCode(), true);
+                    HdlLogLogic.print("璇诲彇mqtt杩滅▼淇℃伅澶辫触---" + e.getMessage(), e.getCode(), true);
                 }
             });
         }
@@ -483,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])) {
@@ -545,8 +725,65 @@
                     }
                 });
             }
+        } else if (event.getTopic().contains(ConstantManage.homepage_title_tab_switch)) {
+            if (event.getType().contains(ConstantManage.station_page)) {
+                //浠庨椤垫寚瀹氱數绔欑姸鎬佹墦寮�鐢电珯鐣岄潰
+                currentFragmentIndex = 1;
+                bottomViewChangeOfStyle();
+                showFragment();
+            }
         }
     }
+
+    /**
+     * 璇诲彇娑堟伅銆愭湭璇绘暟閲�,鏈鐞嗘�绘暟閲忥紝宸插鐞嗘�绘暟閲忋��
+     */
+    private void getUnreadCount() {
+        HdlMessageLogic.getInstance().getMessageUntreatedCount("", new CloudCallBeak<UnCountBean>() {
+            @Override
+            public void onSuccess(UnCountBean unCountBean) {
+
+                HdlThreadLogic.runMainThread(new Runnable() {
+                    @Override
+                    public void run() {
+                        if (unCountBean == null) {
+                            return;
+                        }
+                        //鍒锋柊銆愭秷鎭ā鍧椼�戜笅瑙掓爣鏁板��
+                        TextView textView = _mActivity.findViewById(R.id.my_message_bottom_il2).findViewById(R.id.red_count_tv);
+                        if (textView != null) {
+                            if (unCountBean.getUnreadCount() == 0) {
+                                textView.setVisibility(View.GONE);
+                            } else {
+                                textView.setVisibility(View.VISIBLE);
+                                if (unCountBean.getUnreadCount() > 99) {
+                                    textView.setText("99+");
+                                } else {
+                                    textView.setText(unCountBean.getUnreadCount() + "");
+                                }
+                            }
+                        }
+                    }
+
+                });
+            }
+
+            @Override
+            public void onFailure(HDLException e) {
+                HdlThreadLogic.runMainThread(new Runnable() {
+                    @Override
+                    public void run() {
+                        TextView textView = _mActivity.findViewById(R.id.my_message_bottom_il2).findViewById(R.id.red_count_tv);
+                        if (textView != null) {
+                            textView.setVisibility(View.GONE);
+                        }
+                    }
+                });
+
+            }
+        });
+    }
+
 
     /**
      * 鐐瑰嚮鏋佸厜閫氱煡鏍忔秷鎭繘鏉�
@@ -587,7 +824,10 @@
                 return;
             } else {
                 AppManagerUtils.getAppManager().finishAllActivity();
+                //濡傛灉寮�鍙戣�呰皟鐢╧ill鎴栬�卐xit涔嬬被鐨勬柟娉曟潃姝昏繘绋嬶紝鎴栬�呭弻鍑籦ack閿細鏉�姝昏繘绋嬶紝璇峰姟蹇呭湪姝や箣鍓嶈皟鐢∕obclickAgent.onKillProcess鏂规硶锛岀敤鏉ヤ繚瀛樼粺璁℃暟鎹��
+                MobclickAgent.onKillProcess(_mActivity);
                 Process.killProcess(Process.myPid());
+
             }
         }
         super.onBackPressed();
@@ -605,10 +845,10 @@
         if (!locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER)) {
             // 鎻愮ず鐢ㄦ埛鎵撳紑瀹氫綅鍔熻兘鎴栬�呭紩瀵肩敤鎴峰幓绯荤粺璁剧疆椤甸潰鎵撳紑瀹氫綅鍔熻兘
             ConfirmationCancelDialog confirmationCancelDialog = new ConfirmationCancelDialog(_mActivity);
-            confirmationCancelDialog.setTitle(getString(R.string.loading_title_tip));
             confirmationCancelDialog.setContent(getString(R.string.system_positioning_switch));
             confirmationCancelDialog.setConfirmation(getString(R.string.go_to_settings));
             confirmationCancelDialog.show();
+            confirmationCancelDialog.isHideTitle(true);
             confirmationCancelDialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() {
                 @Override
                 public void Confirm() {
@@ -640,6 +880,7 @@
             dialog.setTitle(getString(R.string.loading_title_tip));
             dialog.setContent(getString(R.string.port_conflict));
             dialog.setConfirmation(getString(R.string.home_login_affirm));
+            dialog.isHideTitle(true);
             dialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() {
                 @Override
                 public void Confirm() {
@@ -649,4 +890,5 @@
         }
     }
 
+
 }
\ No newline at end of file

--
Gitblit v1.8.0