From cdcd08459665a89844a14c1d376995ebc501e018 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期三, 22 五月 2024 16:23:49 +0800 Subject: [PATCH] 2024年05月22日16:23:47 --- app/src/main/java/com/hdl/photovoltaic/enums/LowerTagType.java | 8 ++++ app/src/main/java/com/hdl/photovoltaic/ui/adapter/DeviceInfoAdapter.java | 44 +++++++++++++++++++++- app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java | 21 +++++++--- app/src/main/res/layout/swipe_right_layout.xml | 2 app/src/main/java/com/hdl/photovoltaic/widget/DelayedConfirmationCancelDialog.java | 16 +++++++ app/src/main/java/com/hdl/photovoltaic/other/HdlCommonLogic.java | 4 ++ app/src/main/java/com/hdl/photovoltaic/HDLApp.java | 9 ++++ app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java | 5 ++ 8 files changed, 97 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java index ddf3bd9..f6e3974 100644 --- a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java +++ b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java @@ -20,9 +20,12 @@ import com.hdl.photovoltaic.config.AppConfigManage; import com.hdl.photovoltaic.config.ConstantManage; import com.hdl.photovoltaic.config.UserConfigManage; +import com.hdl.photovoltaic.enums.LowerTagType; import com.hdl.photovoltaic.enums.NetworkType; +import com.hdl.photovoltaic.other.HdlDeviceLogic; import com.hdl.photovoltaic.other.HdlLogLogic; import com.hdl.photovoltaic.other.HdlMessageLogic; +import com.hdl.photovoltaic.other.HdlResidenceLogic; import com.hdl.photovoltaic.other.HdlThreadLogic; import com.hdl.photovoltaic.ui.LoginActivity; import com.hdl.photovoltaic.uni.HDLUniMPSDKManager; @@ -59,6 +62,7 @@ //澹版槑涓�涓叕鍏辩殑淇℃伅鏄犲皠,鍙綋浣滃叏灞�鍙橀噺浣跨敤; public HashMap<String, String> mInfoMap = new HashMap<>(); + //鍒╃敤鍗曚緥妯″紡鑾峰彇褰撳墠搴旂敤鐨勫敮涓�瀹炰緥 public static HDLApp getInstance() { return mHDLApp; @@ -67,7 +71,6 @@ @Override public void onCreate() { super.onCreate(); - // 鑾峰彇褰撳墠杩涚▼鐨凱ID Log.d("杩涚▼===", android.os.Process.myPid() + ""); mHDLApp = this; @@ -195,6 +198,10 @@ //娓呯┖娑堟伅缂撳瓨鏁版嵁 HdlMessageLogic.getInstance().clearListMessage(); + //娓呯┖鐢电珯缂撳瓨鏁版嵁 + HdlResidenceLogic.getInstance().clearHouseList(); + //娓呯┖璁惧缂撳瓨鏁版嵁 + HdlDeviceLogic.getInstance().clearDeviceList(); //娓呯┖缂撳瓨鏁版嵁 if (mInfoMap != null) { mInfoMap.clear(); diff --git a/app/src/main/java/com/hdl/photovoltaic/enums/LowerTagType.java b/app/src/main/java/com/hdl/photovoltaic/enums/LowerTagType.java new file mode 100644 index 0000000..2d4f74b --- /dev/null +++ b/app/src/main/java/com/hdl/photovoltaic/enums/LowerTagType.java @@ -0,0 +1,8 @@ +package com.hdl.photovoltaic.enums; + +public enum LowerTagType { + home, + power_station, + message, + me +} diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlCommonLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlCommonLogic.java index 6cb0f7b..5be54bf 100644 --- a/app/src/main/java/com/hdl/photovoltaic/other/HdlCommonLogic.java +++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlCommonLogic.java @@ -17,6 +17,7 @@ import com.hdl.photovoltaic.config.ConstantManage; import com.hdl.photovoltaic.config.UserConfigManage; import com.hdl.photovoltaic.enums.HomepageTitleTabSwitch; +import com.hdl.photovoltaic.enums.LowerTagType; import com.hdl.photovoltaic.enums.UnitType; import com.hdl.photovoltaic.utils.GlideUtils; import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus; @@ -40,6 +41,9 @@ private static volatile HdlCommonLogic sHdlCommonLogic; + public static LowerTagType lowerTagType = LowerTagType.home; + + /** * 鑾峰彇褰撳墠瀵硅薄 * 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 ede598c..fa9bc5a 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java @@ -31,6 +31,7 @@ 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.enums.PowerStationStatusType; import com.hdl.photovoltaic.listener.CloudCallBeak; @@ -308,6 +309,7 @@ currentFragmentIndex = 0; bottomViewChangeOfStyle(); showFragment(); + HdlCommonLogic.lowerTagType = LowerTagType.home; HdlCommonLogic.getInstance().postEventBusSticky(ConstantManage.homepage_title_tab_switch, HomepageTitleTabSwitch.homepage.toString()); } }); @@ -320,6 +322,7 @@ currentFragmentIndex = 1; bottomViewChangeOfStyle(); showFragment(); + HdlCommonLogic.lowerTagType = LowerTagType.power_station; HdlCommonLogic.getInstance().postEventBusSticky(ConstantManage.homepage_title_tab_switch, HomepageTitleTabSwitch.powerstation.toString()); } }); @@ -332,6 +335,7 @@ currentFragmentIndex = 2; bottomViewChangeOfStyle(); showFragment(); + HdlCommonLogic.lowerTagType = LowerTagType.message; HdlCommonLogic.getInstance().postEventBusSticky(ConstantManage.homepage_title_tab_switch, HomepageTitleTabSwitch.message.toString()); } }); @@ -344,6 +348,7 @@ currentFragmentIndex = 3; bottomViewChangeOfStyle(); showFragment(); + HdlCommonLogic.lowerTagType = LowerTagType.me; HdlCommonLogic.getInstance().postEventBusSticky(ConstantManage.homepage_title_tab_switch, HomepageTitleTabSwitch.me.toString()); } }); diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/adapter/DeviceInfoAdapter.java b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/DeviceInfoAdapter.java index 7118b04..0546b48 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/adapter/DeviceInfoAdapter.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/DeviceInfoAdapter.java @@ -1,6 +1,7 @@ package com.hdl.photovoltaic.ui.adapter; import android.content.Context; +import android.graphics.drawable.Drawable; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -9,6 +10,7 @@ import android.widget.TextView; import androidx.annotation.NonNull; +import androidx.appcompat.content.res.AppCompatResources; import androidx.recyclerview.widget.RecyclerView; import com.hdl.photovoltaic.R; @@ -50,7 +52,7 @@ holder.device_label_power_value_tv.setText(HdlCommonLogic.getConvertDoubleUnit(deviceBean.getPowerPvNow(), UnitType.kW)); holder.device_label_day_value_tv.setText(HdlCommonLogic.getConvertDoubleUnit(deviceBean.getPowerPvNow(), UnitType.kWh)); holder.device_label_location_tv.setText(deviceBean.getHomeAddress()); - + setTextViewStyle(holder.device_label_state_tv, deviceBean.getDeviceStatus()); holder.itemView.setTag(position); holder.itemView.setOnClickListener(new View.OnClickListener() { @Override @@ -87,6 +89,44 @@ } /** + * 鏀瑰彉缁勪欢鏍峰紡 + * + * @param textView 鏄剧ず缁勪欢 + * @param state_value 璁惧鐘舵��(1:杩炴帴涓�,2:鏁呴殰,3:姝e父(杩愯),4:绂荤嚎) + */ + private void setTextViewStyle(TextView textView, int state_value) { + String text = mContext.getString(R.string.my_power_station_operation); + Drawable drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_06b92a); + switch (state_value) { + case 1: { + text = mContext.getString(R.string.my_power_station_connecting); + drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_ffb300); + } + break; + case 2: { + text = mContext.getString(R.string.my_power_station_malfunction); + drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_e34343); + } + break; + case 3: { + text = mContext.getString(R.string.my_power_station_operation); + } + break; + case 4: { + text = mContext.getString(R.string.my_power_station_off_line); + drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_b9b9b9); + } + break; + + + } + textView.setText(text); + textView.setBackground(drawable); + + + } + + /** * 涓�琛屽竷灞�瀹瑰櫒 */ static class MyViewHolder extends RecyclerView.ViewHolder { @@ -98,7 +138,7 @@ public TextView device_label_power_value_tv;//鏈夊姛鍔熺巼 public TextView device_label_day_value_tv;//褰撴棩鍙戠數閲� public TextView device_label_location_tv;//鐢电珯鍦板潃 - public TextView device_label_state_tv;//鐢电珯鐘舵��(杩炴帴涓�,杩愯,绂荤嚎,鏁呴殰); + public TextView device_label_state_tv;//璁惧鐘舵��(1:杩炴帴涓�,2:鏁呴殰,3:姝e父(杩愯),4:绂荤嚎) public MyViewHolder(@NonNull View itemView) { diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java index 507e362..0563f1e 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java @@ -23,6 +23,7 @@ import com.hdl.photovoltaic.databinding.FragmentHouseListBinding; import com.hdl.photovoltaic.base.CustomBaseFragment; import com.hdl.photovoltaic.enums.HomepageTitleTabSwitch; +import com.hdl.photovoltaic.enums.LowerTagType; import com.hdl.photovoltaic.enums.PowerStationStatus; import com.hdl.photovoltaic.enums.ShowErrorMode; import com.hdl.photovoltaic.enums.SortType; @@ -300,10 +301,11 @@ public void onDelClick(int position, HouseIdBean houseIdBean) { DelayedConfirmationCancelDialog delayedConfirmationCancelDialog = new DelayedConfirmationCancelDialog(_mActivity); - delayedConfirmationCancelDialog.setTitleContent(getString(R.string.loading_title_tip)); + delayedConfirmationCancelDialog.show(); + delayedConfirmationCancelDialog.isHideTitle(true); String homeName = "\"" + houseIdBean.getHomeName() + "\""; delayedConfirmationCancelDialog.setContent(getString(R.string.delete_power_station).replace("%s", homeName)); - delayedConfirmationCancelDialog.show(); + delayedConfirmationCancelDialog.startCountdown(4); delayedConfirmationCancelDialog.setYesOnclickListener(new DelayedConfirmationCancelDialog.onYesOnclickListener() { @Override @@ -596,15 +598,20 @@ } else if (HDLUniMP.UNI_EVENT_REPLY_HOME_CLOSE_HOME_DETAILS_PAGE.equals(eventBus.getType())) { // 鍙栨秷绮樻�т簨浠� EventBus.getDefault().removeStickyEvent(eventBus); - //uin鍏抽棴浣忓畢璇︽儏鐣岄潰閫氱煡 - if (MqttRecvClient.getInstance() != null) { - MqttRecvClient.getInstance().removeAllTopic(); + //鏄湪鐢电珯鍒楄〃椤垫墠杩涙潵杩欓噷 + if (HdlCommonLogic.lowerTagType == LowerTagType.power_station && isClickPowerStationLabel) { + //uin鍏抽棴浣忓畢璇︽儏鐣岄潰閫氱煡 + if (MqttRecvClient.getInstance() != null) { + MqttRecvClient.getInstance().removeAllTopic(); + } + loadNextPageHouseList(false, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true); } - loadNextPageHouseList(false, key, value, installedCapacityMinValue, installedCapacityMaxValue, gridTypeValue, powerStationStatusValue, 1, true); - } else if (HDLUniMP.UNI_EVENT_REPLY_DEVICE_LIST.equals(eventBus.getType())) { // 鍙栨秷绮樻�т簨浠� EventBus.getDefault().removeStickyEvent(eventBus); +// if (!isClickPowerStationLabel) { +// return; +// } //杩涘幓浣忓畢璇︽儏uni璇诲彇閫嗗彉鍣ㄥ垪琛ㄦ垚鍔熷悗閫氱煡 for (int i = 0; i < HdlDeviceLogic.getInstance().getCurrentHomeGatewayList(UserConfigManage.getInstance().getHomeId()).size(); i++) { String gatewayId = HdlDeviceLogic.getInstance().getCurrentHomeGatewayList(UserConfigManage.getInstance().getHomeId()).get(i).getGatewayId(); diff --git a/app/src/main/java/com/hdl/photovoltaic/widget/DelayedConfirmationCancelDialog.java b/app/src/main/java/com/hdl/photovoltaic/widget/DelayedConfirmationCancelDialog.java index 9621ecf..8219c57 100644 --- a/app/src/main/java/com/hdl/photovoltaic/widget/DelayedConfirmationCancelDialog.java +++ b/app/src/main/java/com/hdl/photovoltaic/widget/DelayedConfirmationCancelDialog.java @@ -11,12 +11,13 @@ import androidx.annotation.NonNull; import com.hdl.photovoltaic.R; +import com.hdl.photovoltaic.base.BaseDialog; import com.hdl.photovoltaic.databinding.DialogConfirmCancelBinding; /** * 寤舵椂纭妗� */ -public class DelayedConfirmationCancelDialog extends Dialog { +public class DelayedConfirmationCancelDialog extends BaseDialog { public DelayedConfirmationCancelDialog(@NonNull Context context) { super(context, R.style.Custom_Dialog); this.mContext = context; @@ -64,6 +65,19 @@ } /** + * 闅愯棌鑷畾涔�"鏍囬"缁勪欢 + * + * @param isHideTitle true 闅愯棌 + */ + public void isHideTitle(boolean isHideTitle) { + if (isHideTitle) { + if (viewBinding != null) { + viewBinding.loadingConfirmationTitleTv.setVisibility(View.GONE); + } + } + } + + /** * 鑷畾涔�"纭"鏂囨湰 * * @param confirm 鍐呭 diff --git a/app/src/main/res/layout/swipe_right_layout.xml b/app/src/main/res/layout/swipe_right_layout.xml index 73ebdbb..2f127ff 100644 --- a/app/src/main/res/layout/swipe_right_layout.xml +++ b/app/src/main/res/layout/swipe_right_layout.xml @@ -7,7 +7,7 @@ <View android:layout_width="wrap_content" - android:layout_height="@dimen/dp_24" /> + android:layout_height="@dimen/dp_16" /> <ImageView android:id="@+id/move_home_iv" -- Gitblit v1.8.0