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