From 30859ca8f2175475d2c666353bc27f3b2ceede53 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期四, 22 八月 2024 13:43:47 +0800
Subject: [PATCH] 2024年08月22日13:43:45

---
 app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java |  128 +++++++++++++++++++++++++++++++++++-------
 1 files changed, 106 insertions(+), 22 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 4276a36..cbf332e 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java
@@ -17,6 +17,7 @@
 import android.provider.Settings;
 import android.text.TextUtils;
 import android.view.View;
+import android.widget.TextView;
 
 import com.google.gson.Gson;
 import com.google.gson.reflect.TypeToken;
@@ -30,10 +31,13 @@
 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.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;
@@ -41,10 +45,11 @@
 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.HouseListFragment;
+import com.hdl.photovoltaic.ui.powerstation.HouseAndDeviceFragment;
 import com.hdl.photovoltaic.uni.HDLUniMP;
 import com.hdl.photovoltaic.utils.AppManagerUtils;
 import com.hdl.photovoltaic.utils.GPSManagerUtils;
@@ -61,7 +66,6 @@
 import com.hdl.sdk.link.core.connect.HDLUdpConnect;
 import com.hdl.sdk.link.core.utils.mqtt.MqttRecvClient;
 
-import org.greenrobot.eventbus.EventBus;
 import org.greenrobot.eventbus.Subscribe;
 import org.greenrobot.eventbus.ThreadMode;
 
@@ -113,6 +117,8 @@
         this.clickJpushNotificationMessage();
         //鍒濆鍖栨潈闄�
         this.requestPermissions();
+        //璇诲彇娑堟伅鏈鏁伴噺
+        this.getUnreadCount();
 
     }
 
@@ -126,7 +132,7 @@
         mFragmentManager = getSupportFragmentManager();
         //纰庣墖鍒濆鍖�
         HomePageFragment mHomePageFragment = new HomePageFragment();
-        HouseListFragment mHouseListFragment = new HouseListFragment();
+        HouseAndDeviceFragment mHouseAndDeviceFragment = new HouseAndDeviceFragment();
         MessageFragment mMessageFragment = new MessageFragment();
         MeFragment mMeFragment = new MeFragment();
         if (savedInstanceState != null) {
@@ -143,7 +149,7 @@
         } else {
             //姝e父鍚姩鏃惰皟鐢�
             fragmentList.add(mHomePageFragment);
-            fragmentList.add(mHouseListFragment);
+            fragmentList.add(mHouseAndDeviceFragment);
             fragmentList.add(mMessageFragment);
             fragmentList.add(mMeFragment);
             showFragment();
@@ -272,6 +278,7 @@
             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() {
@@ -301,7 +308,8 @@
                 currentFragmentIndex = 0;
                 bottomViewChangeOfStyle();
                 showFragment();
-                postEventBus(HomepageTitleTabSwitch.homepage);
+                HdlCommonLogic.lowerTagType = LowerTagType.home;
+                HdlCommonLogic.getInstance().postEventBusSticky(ConstantManage.homepage_title_tab_switch, HomepageTitleTabSwitch.homepage.toString());
             }
         });
         viewBinding.myPowerStationBottomIl1.clickTv.setOnClickListener(new View.OnClickListener() {
@@ -313,7 +321,8 @@
                 currentFragmentIndex = 1;
                 bottomViewChangeOfStyle();
                 showFragment();
-                postEventBus(HomepageTitleTabSwitch.powerstation);
+                HdlCommonLogic.lowerTagType = LowerTagType.power_station;
+                HdlCommonLogic.getInstance().postEventBusSticky(ConstantManage.homepage_title_tab_switch, HomepageTitleTabSwitch.powerstation.toString());
             }
         });
         viewBinding.myMessageBottomIl2.clickTv.setOnClickListener(new View.OnClickListener() {
@@ -325,7 +334,8 @@
                 currentFragmentIndex = 2;
                 bottomViewChangeOfStyle();
                 showFragment();
-                postEventBus(HomepageTitleTabSwitch.message);
+                HdlCommonLogic.lowerTagType = LowerTagType.message;
+                HdlCommonLogic.getInstance().postEventBusSticky(ConstantManage.homepage_title_tab_switch, HomepageTitleTabSwitch.message.toString());
             }
         });
         viewBinding.myMeBottomIl3.clickTv.setOnClickListener(new View.OnClickListener() {
@@ -337,7 +347,8 @@
                 currentFragmentIndex = 3;
                 bottomViewChangeOfStyle();
                 showFragment();
-                postEventBus(HomepageTitleTabSwitch.me);
+                HdlCommonLogic.lowerTagType = LowerTagType.me;
+                HdlCommonLogic.getInstance().postEventBusSticky(ConstantManage.homepage_title_tab_switch, HomepageTitleTabSwitch.me.toString());
             }
         });
 
@@ -354,16 +365,19 @@
     }
 
     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.myPowerStationBottomIl0.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.home_page_selected));
             viewBinding.myPowerStationBottomIl0.titleTv.setTextColor(getColor(R.color.text_E6000000));
             viewBinding.myPowerStationBottomIl1.iconIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.power_station_unselected));
@@ -405,17 +419,6 @@
         }
     }
 
-    /**
-     * 鍙戝竷鐐瑰嚮浜嬩欢
-     *
-     * @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() {
         //娑堟伅閫氱煡闄愭潈
@@ -517,6 +520,30 @@
                         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);
                     }
@@ -631,8 +658,64 @@
                     }
                 });
             }
+        } else if (event.getTopic().contains(ConstantManage.station_status)) {
+            currentFragmentIndex = 1;
+            bottomViewChangeOfStyle();
+            showFragment();
+            HdlCommonLogic.getInstance().postEventBusSticky(ConstantManage.homepage_title_tab_switch, event.getType());
+
         }
     }
+
+    /**
+     * 璇诲彇娑堟伅銆愭湭璇绘暟閲�,鏈鐞嗘�绘暟閲忥紝宸插鐞嗘�绘暟閲忋��
+     */
+    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);
+                        }
+                    }
+                });
+
+            }
+        });
+    }
+
 
     /**
      * 鐐瑰嚮鏋佸厜閫氱煡鏍忔秷鎭繘鏉�
@@ -691,10 +774,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() {
@@ -726,6 +809,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() {

--
Gitblit v1.8.0