From 04fa70b5c61f927e4b5e3c85e9fe9e116d79102e Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期二, 18 十一月 2025 17:09:10 +0800
Subject: [PATCH] 2025年11月18日17:09:03
---
app/src/main/res/drawable/red_message_house_font.xml | 5
app/src/main/java/com/hdl/photovoltaic/ui/message/MessageActivity.java | 78 ++-
app/src/main/res/layout/fragment_message.xml | 26
app/src/main/AndroidManifest.xml | 10
app/src/main/res/layout/activity_message.xml | 244 ++++++++++
app/src/main/java/com/hdl/photovoltaic/ui/adapter/MessageAdapter.java | 4
app/src/main/java/com/hdl/photovoltaic/ui/message/MessageHouseFragment.java | 409 +++++++++++++++++
app/src/main/java/com/hdl/photovoltaic/ui/adapter/MessageHouseAdapter.java | 162 +++++++
app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java | 13
app/src/main/java/com/hdl/photovoltaic/utils/TimeUtils.java | 21
app/src/main/java/com/hdl/photovoltaic/internet/api/HttpApi.java | 2
app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java | 17
app/src/main/res/layout/fragement_message_house.xml | 106 ++++
app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java | 21
app/src/main/java/com/hdl/photovoltaic/config/ConstantManage.java | 4
app/src/main/res/layout/item_message_house.xml | 102 ++++
app/src/main/java/com/hdl/photovoltaic/config/AppConfigManage.java | 2
app/src/main/java/com/hdl/photovoltaic/ui/bean/MessageBean.java | 22
app/src/main/java/com/hdl/photovoltaic/other/HdlMessageLogic.java | 82 +++
19 files changed, 1,261 insertions(+), 69 deletions(-)
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 4e89854..aaecda6 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -10,13 +10,13 @@
<uses-permission android:name="android.permission.READ_MEDIA_VIDEO" /> <!-- Android13 闊抽 -->
<!-- <uses-permission android:name="android.permission.READ_MEDIA_AUDIO" /> -->
<uses-permission android:name="android.permission.VIBRATE" /> <!-- honor 瑙掓爣 -->
- <!-- <uses-permission android:name="android.permission.VIBRATE" />-->
+ <!-- <uses-permission android:name="android.permission.VIBRATE" /> -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <!-- <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" /><!–澶栭儴瀛樺偍鐩綍璁块棶鏉冮檺 璋锋瓕play涓婃灦涓嶄簡–> -->
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" /> <!-- wifi鐘舵�佹潈闄� -->
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> <!-- 鍓嶅彴鏈嶅姟鏉冮檺 -->
- <!-- <uses-permission android:name="android.permission.FOREGROUND_SERVICE" />-->
+ <!-- <uses-permission android:name="android.permission.FOREGROUND_SERVICE" /> -->
<uses-permission android:name="android.permission.INTERNET" /> <!-- 寮�鍚綉缁滄潈闄� -->
<!-- 浣嶇疆淇℃伅 -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 妫�娴嬭仈缃戞柟寮忥紝鍦ㄧ綉缁滃紓甯哥姸鎬佷笅閬垮厤鏁版嵁鍙戦�侊紝鑺傜渷娴侀噺鍜岀數閲忋�� -->
@@ -69,6 +69,12 @@
android:supportsRtl="true"
android:theme="@style/Theme.PhotovoltaicDebug">
<activity
+ android:name=".ui.message.MessageActivity"
+ android:exported="false" />
+ <activity
+ android:name=".ui.message.PowerStationMessageSearchActivity"
+ android:exported="false" />
+ <activity
android:name=".ui.me.HelpWebActivity"
android:exported="false" />
<activity
diff --git a/app/src/main/java/com/hdl/photovoltaic/config/AppConfigManage.java b/app/src/main/java/com/hdl/photovoltaic/config/AppConfigManage.java
index bab7ccc..12d388d 100644
--- a/app/src/main/java/com/hdl/photovoltaic/config/AppConfigManage.java
+++ b/app/src/main/java/com/hdl/photovoltaic/config/AppConfigManage.java
@@ -10,7 +10,7 @@
public class AppConfigManage {
/*********鏄惁姝e紡鏈嶅姟鍣�*********/
- private static boolean isOnlineServer =true;// UserConfigManage.getInstance().isOnlineServer();
+ private static boolean isOnlineServer =false;// UserConfigManage.getInstance().isOnlineServer();
/*********姝e紡鐜*********/
private static final String APP_KEY_ONLINE = "CSZEMDJL";
private static final String APP_SECRET_ONLINE = "CSZEMDKBCSZEMDKR";
diff --git a/app/src/main/java/com/hdl/photovoltaic/config/ConstantManage.java b/app/src/main/java/com/hdl/photovoltaic/config/ConstantManage.java
index edc8375..dfe7e26 100644
--- a/app/src/main/java/com/hdl/photovoltaic/config/ConstantManage.java
+++ b/app/src/main/java/com/hdl/photovoltaic/config/ConstantManage.java
@@ -21,8 +21,8 @@
* 娑堟伅璀﹀憡瑙e喅鎴栬�呮湭瑙e喅浜嬩欢
*/
public static final String message_function_push_post = "message_function_push";
- //娑堟伅鏁伴噺
- public static final String message_count = "message_count";
+ //鍒锋柊娑堟伅浣忓畢
+ public static final String refresh_message_house = "refresh_message_house";
public static final String homepage_title_tab_switch = "homepage_title_tab_switch";
public static final String home_del = "home_del";
diff --git a/app/src/main/java/com/hdl/photovoltaic/internet/api/HttpApi.java b/app/src/main/java/com/hdl/photovoltaic/internet/api/HttpApi.java
index 7837e3f..55e7794 100644
--- a/app/src/main/java/com/hdl/photovoltaic/internet/api/HttpApi.java
+++ b/app/src/main/java/com/hdl/photovoltaic/internet/api/HttpApi.java
@@ -20,6 +20,8 @@
public static final String POST_Message_List = "/home-wisdom/app/powerStation/message/listByPage";
//娑堟伅鍒楄〃锛堝尮閰嶇淮淇柟妗堬級
public static final String POST_Message_Plan_List = "/home-wisdom/app/powerStation/message/plan/listByPage";
+ //娑堟伅鍒楄〃锛堝尮閰嶇淮淇柟妗堬級鐢电珯绾害
+ public static final String POST_Message_Plan_homeListByPage = "/home-wisdom/app/powerStation/message/plan/homeListByPage";
//鑾峰彇娑堟伅璇︽儏
public static final String POST_Message_Info = "/home-wisdom/app/powerStation/message/info";
//鑾峰彇娑堟伅璇︽儏(鍖归厤缁翠慨鏂规锛�
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlMessageLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlMessageLogic.java
index ad21ee7..c63c146 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlMessageLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlMessageLogic.java
@@ -672,6 +672,88 @@
}
+ /**
+ * 鑾峰彇娑堟伅浣忓畢鍒楄〃
+ *
+ * @param homeName 鐢电珯鍚嶇О锛堟悳绱㈢敤鐨勶級,濡傛灉鏄┖瀛楃涓查粯璁よ鍙栧叏閮�
+ * @param cloudCallBeak -
+ */
+ public void getMessageHouseList(String homeName, CloudCallBeak<List<MessageBean>> cloudCallBeak) {
+ String requestUrl = HttpApi.POST_Message_Plan_homeListByPage;
+ JsonObject json = new JsonObject();
+
+ if (!TextUtils.isEmpty(homeName)) {
+ json.addProperty("homeName", homeName);
+ }
+ json.addProperty("pageNo", 1);//椤电爜
+ json.addProperty("pageSize", 500);//椤垫暟
+
+ final List<MessageBean> list = new ArrayList<>();
+ HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
+ @Override
+ public void onSuccess(String jsonStr) {
+ if (TextUtils.isEmpty(jsonStr)) {
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onSuccess(new ArrayList<>());
+ }
+ return;
+ }
+ Gson gson = new Gson();
+ MessageListClass oldMessageListClass = gson.fromJson(jsonStr, MessageListClass.class);
+ list.addAll(oldMessageListClass.getList());
+ //鎬诲叡鏈夊灏戦〉
+ long totalPage = oldMessageListClass.totalPage;
+ if (totalPage < 2) {
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onSuccess(list);
+ }
+ return;
+ }
+ //璁板綍璇锋眰鏉℃暟
+ AtomicInteger atomicInteger = new AtomicInteger(0);
+ //浠庣浜岄〉鑾峰彇鏁版嵁
+ for (int i = 2; i <= totalPage; i++) {
+ json.addProperty("pageNo", i);//鏇存柊椤电爜
+ HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
+ @Override
+ public void onSuccess(String jsonStr) {
+ atomicInteger.set(atomicInteger.get() + 1);
+ MessageListClass newMessageListClass = gson.fromJson(jsonStr, MessageListClass.class);
+ list.addAll(newMessageListClass.getList());
+ if (atomicInteger.get() == totalPage - 1) {
+ //鏈�鍚庝竴鏉¢��鍑�
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onSuccess(list);
+ }
+ }
+ }
+
+ @Override
+ public void onFailure(HDLException e) {
+ atomicInteger.set(atomicInteger.get() + 1);
+ if (atomicInteger.get() == totalPage - 1) {
+ //鏈�鍚庝竴鏉¢��鍑�
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onSuccess(list);
+ }
+ }
+ }
+ });
+ }
+ }
+
+ @Override
+ public void onFailure(HDLException e) {
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onFailure(e);
+ }
+ }
+ });
+
+
+ }
+
+
public static class MessageListClass {
//鎬绘潯鏁�
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 e05ea20..f113a3d 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/BPowerStationActivity.java
@@ -5,7 +5,6 @@
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;
@@ -17,12 +16,10 @@
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.JsonObject;
import com.google.gson.reflect.TypeToken;
import com.hdl.linkpm.sdk.core.exception.HDLException;
import com.hdl.linkpm.sdk.home.type.HomeType;
@@ -48,18 +45,14 @@
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.message.MessageHouseFragment;
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;
@@ -146,7 +139,7 @@
//纰庣墖鍒濆鍖�
HomePageFragment mHomePageFragment = new HomePageFragment();
HouseAndDeviceFragment mHouseAndDeviceFragment = new HouseAndDeviceFragment();
- MessageFragment mMessageFragment = new MessageFragment();
+ MessageHouseFragment mMessageHouseFragment = new MessageHouseFragment();
MeFragment mMeFragment = new MeFragment();
if (savedInstanceState != null) {
//鈥滃唴瀛橀噸鍚�濇椂璋冪敤 鑾峰彇鈥滃唴瀛橀噸鍚�濇椂淇濆瓨鐨勭储寮曚笅鏍�
@@ -168,7 +161,7 @@
}
fragmentList.add(mHomePageFragment);
fragmentList.add(mHouseAndDeviceFragment);
- fragmentList.add(mMessageFragment);
+ fragmentList.add(mMessageHouseFragment);
fragmentList.add(mMeFragment);
this.showFragment();
}
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/adapter/MessageAdapter.java b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/MessageAdapter.java
index 7ca2b67..5ee22c5 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/adapter/MessageAdapter.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/MessageAdapter.java
@@ -20,7 +20,9 @@
import java.util.ArrayList;
import java.util.List;
-
+/**
+ * 娑堟伅閫傞厤鍣�
+ */
public class MessageAdapter extends RecyclerView.Adapter<MessageAdapter.MyViewHolder> {
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/adapter/MessageHouseAdapter.java b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/MessageHouseAdapter.java
new file mode 100644
index 0000000..4bb528f
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/MessageHouseAdapter.java
@@ -0,0 +1,162 @@
+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;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.appcompat.content.res.AppCompatResources;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.hdl.photovoltaic.R;
+import com.hdl.photovoltaic.enums.DeviceType;
+import com.hdl.photovoltaic.enums.MessageAlarmStateType;
+import com.hdl.photovoltaic.ui.bean.MessageBean;
+import com.hdl.photovoltaic.utils.GlideUtils;
+import com.hdl.photovoltaic.utils.TimeUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 浣忓畢娑堟伅閫傞厤鍣�
+ */
+public class MessageHouseAdapter extends RecyclerView.Adapter<MessageHouseAdapter.MyViewHolder> {
+
+
+ private List<MessageBean> mList;
+ private final Context mContext;
+ private MessageHouseAdapter.OnClickListener mOnclickListener;//鐐瑰嚮浜嗙殑鐩戝惉鍣�
+
+ public MessageHouseAdapter(Context context) {
+ this.mContext = context;
+ }
+
+ @NonNull
+ @Override
+ public MessageHouseAdapter.MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+ View view = LayoutInflater.from(mContext).inflate(R.layout.item_message_house, parent, false);
+ return new MessageHouseAdapter.MyViewHolder(view);
+ }
+
+ @Override
+ public void onBindViewHolder(@NonNull MessageHouseAdapter.MyViewHolder holder, int position) {
+ MessageBean messageBean = this.mList.get(position);
+ GlideUtils.getRoundedCornersImage(mContext, messageBean.getPowerStationImage(), holder.home_image_iv, 6);
+ holder.item_home_name_tv.setText(messageBean.getHomeName());
+ holder.item_content_tv.setText(messageBean.getTitle());
+ String date = TimeUtils.getDataFromTimestamp(messageBean.getCreateTime());
+ holder.item_time_tv.setText(date);
+ String type = "";//FAULT:鏁呴殰,WARN:鍛婅,EVENT:鎻愮ず
+ Drawable drawable = AppCompatResources.getDrawable(mContext, R.drawable.device_satte_ffb300);
+ if (messageBean.getType().equals(MessageAlarmStateType.fault)) {
+ type = mContext.getString(R.string.my_power_station_malfunction);
+ drawable = AppCompatResources.getDrawable(mContext, R.drawable.device_state_fff55252);
+ } else if (messageBean.getType().equals(MessageAlarmStateType.warn)) {
+ type = mContext.getString(R.string.message_alarm);
+ drawable = AppCompatResources.getDrawable(mContext, R.drawable.device_satte_ffb300);
+ } else if (messageBean.getType().equals(MessageAlarmStateType.event)) {
+ type = mContext.getString(R.string.loading_title_tip);
+ drawable = AppCompatResources.getDrawable(mContext, R.drawable.device_state_ffb9b9b9);
+ }
+// holder.item_estate_tv.setText(type);
+ holder.item_estate_tv.setBackground(drawable);
+ final Long unreadCount = messageBean.getUnreadCount();
+ if (unreadCount == 0) {
+ holder.item_unread_message_tv.setVisibility(View.GONE);
+ } else {
+ holder.item_unread_message_tv.setVisibility(View.VISIBLE);
+ if (unreadCount > 99) {
+ holder.item_unread_message_tv.setText("99+");
+ } else {
+ holder.item_unread_message_tv.setText(unreadCount + "");
+ }
+ }
+ //鏍囪绱㈠紩
+ holder.itemView.setTag(position);
+ holder.itemView.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ try {
+ if (mOnclickListener != null) {
+ mOnclickListener.onClick((int) holder.itemView.getTag(), messageBean);
+ }
+ } catch (Exception ignored) {
+ }
+ }
+ });
+
+ }
+
+ @Override
+ public int getItemCount() {
+ return mList == null ? 0 : mList.size();
+ }
+
+
+ public void setList(List<MessageBean> newData) {
+ if (this.mList == null) {
+ this.mList = new ArrayList<>();
+ } else {
+ this.mList.clear();
+ }
+
+ this.mList.addAll(newData);
+ notifyDataSetChanged();
+ }
+
+ public void setOnclickListener(MessageHouseAdapter.OnClickListener onClickListener) {
+ this.mOnclickListener = onClickListener;
+ }
+
+ /**
+ * 涓�琛屽竷灞�瀹瑰櫒
+ */
+ static class MyViewHolder extends RecyclerView.ViewHolder {
+
+ public ImageView home_image_iv;
+ public TextView item_home_name_tv;
+ public TextView item_content_tv;
+ public TextView item_time_tv;
+ public TextView item_estate_tv;
+ public TextView item_unread_message_tv;
+
+ public MyViewHolder(@NonNull View itemView) {
+ super(itemView);
+ home_image_iv = itemView.findViewById(R.id.home_image_iv);
+ item_home_name_tv = itemView.findViewById(R.id.home_name_tv);
+ item_content_tv = itemView.findViewById(R.id.item_content_tv);
+ item_time_tv = itemView.findViewById(R.id.home_last_date_tv);
+ item_estate_tv = itemView.findViewById(R.id.item_estate_tv);
+ item_unread_message_tv = itemView.findViewById(R.id.item_unread_message_tv);
+ }
+ }
+
+ public interface OnClickListener {
+ void onClick(int position, MessageBean messageBean);
+ }
+
+ /**
+ * 閫氳繃鏋氫妇杞崲璁惧绫诲瀷鐨勫瓧绗�
+ *
+ * @param deviceType //璁惧绫诲瀷(INV 锛� 閫嗗彉鍣�, BMS 锛� BMS鎺у埗鐩�, BATTERY 锛� 鐢垫睜鍗曞厓)
+ * @return 璁惧绫诲瀷
+ */
+ private String getDeviceTypeStr(String deviceType) {
+ switch (deviceType) {
+ case DeviceType.inv:
+ return mContext.getString(R.string.alarm_all_device_inverter);
+ case DeviceType.bms:
+ return mContext.getString(R.string.alarm_all_device_bms);
+ case DeviceType.battery:
+ return mContext.getString(R.string.alarm_all_device_battery_cell);
+ default:
+ return "";
+ }
+ }
+
+}
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/bean/MessageBean.java b/app/src/main/java/com/hdl/photovoltaic/ui/bean/MessageBean.java
index ce3f836..0d86ad2 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/bean/MessageBean.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/bean/MessageBean.java
@@ -13,12 +13,32 @@
private String homeId;//鐢电珯id
private String homeName;//鐢电珯鍚嶇О
private String status;//UNTREATED:鏈鐞嗭紝PROCESSED:宸插鐞�
- private Long createTime=0L;//娑堟伅鏃堕棿(鎶ヨ鏃堕棿)
+ private Long createTime = 0L;//娑堟伅鏃堕棿(鎶ヨ鏃堕棿)
+
private String deviceOidId;//璁惧oid id
private String deviceOid;//璁惧oid
private String deviceDesc;//璁惧澶囨敞
+ public String getPowerStationImage() {
+ return powerStationImage == null ? "" : powerStationImage;
+ }
+
+ public void setPowerStationImage(String powerStationImage) {
+ this.powerStationImage = powerStationImage;
+ }
+
+ public Long getUnreadCount() {
+ return unreadCount;
+ }
+
+ public void setUnreadCount(Long unreadCount) {
+ this.unreadCount = unreadCount;
+ }
+
+ private String powerStationImage;//鐢电珯鍥剧墖
+ private Long unreadCount = 0L;//鐢电珯鏈娑堟伅鏁�
+
public String getDescription() {
return description == null ? "" : description;
}
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java
index 96f9445..bd2663a 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/home/HomePageFragment.java
@@ -131,9 +131,18 @@
private void initEvent() {
//鐢电珯娣诲姞
+ //鐐瑰嚮杩涘叆鏂伴厤缃叆缃戠晫闈�
viewBinding.homePageStationAddIv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
+ UserConfigManage.getInstance().setUniBottomSafeDistanceBackgroundColor(1);
+ HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION_SIMPLE, null);
+ }
+ });
+ //闀挎寜杩涘叆鏃ч厤缃叆缃戠晫闈�
+ viewBinding.homePageStationAddIv.setOnLongClickListener(new View.OnLongClickListener() {
+ @Override
+ public boolean onLongClick(View v) {
UserConfigManage.getInstance().setUniBottomSafeDistanceBackgroundColor(1);
HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION, null);
// AddPowerStationDialog addPowerStationDialog = new AddPowerStationDialog(_mActivity);
@@ -160,14 +169,6 @@
// }
// });
-
- }
- });
- viewBinding.homePageStationAddIv.setOnLongClickListener(new View.OnLongClickListener() {
- @Override
- public boolean onLongClick(View v) {
- UserConfigManage.getInstance().setUniBottomSafeDistanceBackgroundColor(1);
- HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION_SIMPLE, null);
return true;
}
});
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageActivity.java
similarity index 92%
rename from app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java
rename to app/src/main/java/com/hdl/photovoltaic/ui/message/MessageActivity.java
index 2f63d48..3eaf048 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageActivity.java
@@ -5,39 +5,32 @@
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
+import android.text.TextUtils;
import android.view.View;
import android.widget.TextView;
-
-import androidx.annotation.NonNull;
import androidx.recyclerview.widget.LinearLayoutManager;
-import androidx.recyclerview.widget.RecyclerView;
-import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import com.google.gson.Gson;
import com.hdl.linkpm.sdk.core.exception.HDLException;
import com.hdl.photovoltaic.R;
-import com.hdl.photovoltaic.base.CustomBaseFragment;
+import com.hdl.photovoltaic.base.CustomBaseActivity;
import com.hdl.photovoltaic.config.ConstantManage;
import com.hdl.photovoltaic.databinding.FragmentMessageBinding;
import com.hdl.photovoltaic.enums.FilterType;
-import com.hdl.photovoltaic.enums.HomepageTitleTabSwitch;
import com.hdl.photovoltaic.enums.MessageStateType;
import com.hdl.photovoltaic.listener.CloudCallBeak;
import com.hdl.photovoltaic.other.HdlCommonLogic;
-import com.hdl.photovoltaic.other.HdlLogLogic;
import com.hdl.photovoltaic.other.HdlMessageLogic;
import com.hdl.photovoltaic.other.HdlThreadLogic;
import com.hdl.photovoltaic.ui.adapter.MessageAdapter;
import com.hdl.photovoltaic.ui.bean.MessageBean;
import com.hdl.photovoltaic.ui.bean.UnCountBean;
import com.hdl.photovoltaic.widget.BTypeTitleListDialog;
-import com.hdl.photovoltaic.widget.TypeTitleListDialog;
import com.hdl.photovoltaic.widget.refreshlayout.BGARefreshLayout;
import com.hdl.photovoltaic.widget.refreshlayout.HDLRefreshViewHolder;
import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
-import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
@@ -46,16 +39,13 @@
import java.util.List;
import java.util.Map;
-/**
- * 娑堟伅妯″潡鐣岄潰
- */
-public class MessageFragment extends CustomBaseFragment {
+public class MessageActivity extends CustomBaseActivity {
private FragmentMessageBinding viewBinding;
private MessageAdapter mMessageAdapter;
private boolean isAlarmDeviceClick = true;//true琛ㄧず鍛婅璁惧琚�変腑,鍒檉alse琛ㄧず鎶ヨ璁板綍琚�変腑
-
+ private MessageBean mMessageBean;
private final List<MessageBean> mList = new ArrayList<>();
private boolean isRefreshTotalCount = true;
@@ -82,6 +72,19 @@
@Override
public void onBindView(Bundle savedInstanceState) {
+ setStatusBarTranslucent();
+ getWindow().setNavigationBarColor(getColor(R.color.text_FF000000));
+ try {
+ String json = getIntent().getStringExtra("messageBean");
+ mMessageBean = new Gson().fromJson(json, MessageBean.class);
+ if (mMessageBean == null) {
+ mMessageBean = new MessageBean();
+ }
+ } catch (Exception ignored) {
+ if (mMessageBean == null) {
+ mMessageBean = new MessageBean();
+ }
+ }
//鍒濆鍖栫晫闈�
initView();
//鍒濆鍖栫洃鍚櫒
@@ -92,8 +95,14 @@
}
private void initEvent() {
-
-
+ //鍚庨��鐨勪簨浠�
+ viewBinding.topBackLl.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ HdlCommonLogic.getInstance().postEventBus(ConstantManage.refresh_message_house, ConstantManage.refresh_message_house);
+ finish();
+ }
+ });
//鍙戠敓涓�
viewBinding.messageTabNascentTitleTv.setOnClickListener(new View.OnClickListener() {
@Override
@@ -163,8 +172,11 @@
viewBinding.allClearIv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
+ if (TextUtils.isEmpty(mMessageBean.getHomeId().replace(" ", ""))) {
+ return;
+ }
// showLoading();
- HdlMessageLogic.getInstance().messageAllRead("", new CloudCallBeak<Boolean>() {
+ HdlMessageLogic.getInstance().messageAllRead(mMessageBean.getHomeId(), new CloudCallBeak<Boolean>() {
@Override
public void onSuccess(Boolean obj) {
// hideLoading();
@@ -365,17 +377,7 @@
if (eventBus == null) {
return;
}
- //鎺ユ敹澶栭儴鐐瑰嚮浜嬩欢
- if (eventBus.getTopic().equals(ConstantManage.homepage_title_tab_switch)) {
- if (eventBus.getType().equals(HomepageTitleTabSwitch.message.toString())) {
- // 鍙栨秷绮樻�т簨浠�
- EventBus.getDefault().removeStickyEvent(eventBus);
- //杩涙潵璇诲彇涓�娆℃暟鎹�(涓轰簡鏇存柊currentPage锛宑urrentTotal杩欎釜鍊�)
-// initData();
- HdlLogLogic.print("姝e湪鐐瑰嚮銆愭秷鎭��");
-
- }
- } else if (eventBus.getTopic().equals(ConstantManage.message_function_push_post)) {
+ if (eventBus.getTopic().equals(ConstantManage.message_function_push_post)) {
if (eventBus.getType().equals(MessageStateType.untreated)) {
updateListData();
}/* else if (eventBus.getType().equals(MessageStateType.processed)) {
@@ -396,7 +398,6 @@
* @param isClear true琛ㄧず娓呯┖缂撳瓨
*/
private void loadNextPageMessageList(
-
boolean isShowLoading,
int pageNo,
String deviceType_filter_key,
@@ -406,6 +407,9 @@
String timeType_filter_key,
String timeType_filter_value,
boolean isClear) {
+ if (TextUtils.isEmpty(mMessageBean.getHomeId().replace(" ", ""))) {
+ return;
+ }
if (isClear) {
//琛ㄧず浠庣涓�椤靛彲浠ヨ鍙栵紝榛樿娓呯┖鎵�鏈夌紦瀛樻暟鎹�;
clearCacheData();
@@ -426,7 +430,7 @@
} else {
messageStateType = MessageStateType.processed;
}
- HdlMessageLogic.getInstance().getPageNoMessageList("", pageNo, messageStateType, deviceType_filter_key, deviceType_filter_value, type_filter_key, type_filter_value, timeType_filter_key, timeType_filter_value, "", new CloudCallBeak<HdlMessageLogic.MessageListClass>() {
+ HdlMessageLogic.getInstance().getPageNoMessageList(mMessageBean.getHomeId(), pageNo, messageStateType, deviceType_filter_key, deviceType_filter_value, type_filter_key, type_filter_value, timeType_filter_key, timeType_filter_value, "", new CloudCallBeak<HdlMessageLogic.MessageListClass>() {
@Override
public void onSuccess(HdlMessageLogic.MessageListClass messageListClass) {
if (messageListClass != null) {
@@ -592,7 +596,10 @@
* 璇诲彇娑堟伅銆愭湭璇绘暟閲�,鏈鐞嗘�绘暟閲忥紝宸插鐞嗘�绘暟閲忋��
*/
private void getUnreadCount() {
- HdlMessageLogic.getInstance().getMessageUntreatedCount("", new CloudCallBeak<UnCountBean>() {
+ if (TextUtils.isEmpty(mMessageBean.getHomeId().replace(" ", ""))) {
+ return;
+ }
+ HdlMessageLogic.getInstance().getMessageUntreatedCount(mMessageBean.getHomeId(), new CloudCallBeak<UnCountBean>() {
@Override
public void onSuccess(UnCountBean unCountBean) {
@@ -702,4 +709,11 @@
}
return stringList;
}
-}
+
+ @Override
+ public void onBackPressed() {
+ HdlCommonLogic.getInstance().postEventBus(ConstantManage.refresh_message_house, ConstantManage.refresh_message_house);
+ super.onBackPressed();
+
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageHouseFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageHouseFragment.java
new file mode 100644
index 0000000..f661011
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageHouseFragment.java
@@ -0,0 +1,409 @@
+package com.hdl.photovoltaic.ui.message;
+
+import android.annotation.SuppressLint;
+import android.content.Intent;
+import android.os.AsyncTask;
+import android.os.Build;
+import android.os.Bundle;
+import android.text.Editable;
+import android.text.TextUtils;
+import android.text.TextWatcher;
+import android.view.View;
+import android.widget.TextView;
+
+import androidx.recyclerview.widget.LinearLayoutManager;
+
+import com.google.gson.Gson;
+import com.hdl.linkpm.sdk.core.exception.HDLException;
+import com.hdl.photovoltaic.R;
+import com.hdl.photovoltaic.base.CustomBaseFragment;
+import com.hdl.photovoltaic.config.ConstantManage;
+import com.hdl.photovoltaic.databinding.FragementMessageHouseBinding;
+import com.hdl.photovoltaic.enums.HomepageTitleTabSwitch;
+import com.hdl.photovoltaic.enums.MessageStateType;
+import com.hdl.photovoltaic.listener.CloudCallBeak;
+import com.hdl.photovoltaic.other.HdlCommonLogic;
+import com.hdl.photovoltaic.other.HdlLogLogic;
+import com.hdl.photovoltaic.other.HdlMessageLogic;
+import com.hdl.photovoltaic.other.HdlThreadLogic;
+import com.hdl.photovoltaic.ui.adapter.MessageAdapter;
+import com.hdl.photovoltaic.ui.adapter.MessageHouseAdapter;
+import com.hdl.photovoltaic.ui.bean.MessageBean;
+import com.hdl.photovoltaic.ui.bean.UnCountBean;
+import com.hdl.photovoltaic.utils.KeyboardStateObserverUtils;
+import com.hdl.photovoltaic.widget.refreshlayout.BGARefreshLayout;
+import com.hdl.photovoltaic.widget.refreshlayout.HDLRefreshViewHolder;
+import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
+
+import org.greenrobot.eventbus.EventBus;
+import org.greenrobot.eventbus.Subscribe;
+import org.greenrobot.eventbus.ThreadMode;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+public class MessageHouseFragment extends CustomBaseFragment {
+ private FragementMessageHouseBinding viewBinding;
+ private MessageHouseAdapter mMessageHouseAdapter;
+
+ private boolean isFirstLoading = true;
+
+ private final List<MessageBean> mList = new ArrayList<>();
+
+ @Override
+ public Object getContentView() {
+ viewBinding = FragementMessageHouseBinding.inflate(getLayoutInflater());
+ return viewBinding.getRoot();
+ }
+
+ @Override
+ public void onBindView(Bundle savedInstanceState) {
+ //鍒濆鍖栫晫闈�
+ initView();
+ //鍒濆鍖栫洃鍚櫒
+ initEvent();
+ //鍒濆鍖栨暟鎹�
+ initData(true);
+
+ }
+
+ /**
+ * 鑾峰彇璐﹀彿涓嬪叏閮ㄧ數绔欐秷鎭�
+ *
+ * @param homeName 鐢电珯鍚嶇О锛堟悳绱㈢敤鐨勶級,濡傛灉鏄┖瀛楃涓查粯璁よ鍙栧叏閮�
+ * @param isShowLoading 鏄惁闇�瑕佸姞杞界獥锛坱rue=闇�瑕侊紝false=涓嶉渶瑕侊級
+ */
+ private void getMessageHouseList(String homeName, boolean isShowLoading) {
+ if (isShowLoading) {
+ showLoading();
+ }
+ HdlMessageLogic.getInstance().getMessageHouseList(homeName, new CloudCallBeak<List<MessageBean>>() {
+ @Override
+ public void onSuccess(List<MessageBean> list) {
+ isFirstLoading = false;
+ if (isShowLoading) {
+ hideLoading();
+ }
+ mList.clear();
+ if (list != null && !list.isEmpty()) {
+ mList.addAll(list);
+ }
+ updateRecyclerViewList();
+
+ }
+
+ @Override
+ public void onFailure(HDLException e) {
+
+ if (isShowLoading) {
+ hideLoading();
+ }
+ }
+ });
+ }
+
+ /**
+ * 鑾峰彇璐﹀彿涓嬪叏閮ㄧ數绔欐秷鎭�
+ *
+ * @param homeId 娑堟伅id(涓嶄紶宸茶鎵�鏈夌數绔欑殑锛屼紶鍊煎凡璇绘寚瀹氱數绔欑殑)
+ * @param isShowLoading 鏄惁闇�瑕佸姞杞界獥锛坱rue=闇�瑕侊紝false=涓嶉渶瑕侊級
+ */
+ private void messageAllRead(String homeId, boolean isShowLoading) {
+ if (isShowLoading) {
+ showLoading();
+ }
+ HdlMessageLogic.getInstance().messageAllRead(homeId, new CloudCallBeak<Boolean>() {
+ @Override
+ public void onSuccess(Boolean obj) {
+ if (isShowLoading) {
+ hideLoading();
+ }
+ if (!mList.isEmpty()) {
+ for (int i = 0; i < mList.size(); i++) {
+ MessageBean messageBean = mList.get(i);
+ messageBean.setUnreadCount(0L);
+ }
+ updateRecyclerViewList();
+ }
+ }
+
+ @Override
+ public void onFailure(HDLException e) {
+ if (isShowLoading) {
+ hideLoading();
+ }
+ }
+ });
+ }
+
+ /**
+ * 璇诲彇娑堟伅銆愭湭璇绘暟閲�,鏈鐞嗘�绘暟閲忥紝宸插鐞嗘�绘暟閲忋��
+ */
+ 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;
+ }
+ refreshUnreadCount(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);
+ }
+ }
+ });
+ }
+ });
+ }
+
+ private void initData(boolean isShowLoading) {
+ this.getMessageHouseList("", isShowLoading);
+ this.getUnreadCount();
+ }
+
+ private void initEvent() {
+ //鎼滅储
+ viewBinding.powerStationSearchEt.addTextChangedListener(powerStationSearchWatcher);
+ //娓呴櫎鎼滅储鏂囨
+ viewBinding.powerStationClearIv.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ viewBinding.powerStationSearchEt.setText("");
+ viewBinding.powerStationClearIv.setVisibility(View.GONE);
+ getMessageHouseList("", false);
+
+ }
+ });
+ //鍏ㄩ儴宸茶
+ viewBinding.powerStationReadIv.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ messageAllRead("", true);
+ refreshUnreadCount(0);
+ }
+ });
+
+ if (mMessageHouseAdapter != null) {
+ mMessageHouseAdapter.setOnclickListener(new MessageHouseAdapter.OnClickListener() {
+ @Override
+ public void onClick(int position, MessageBean messageBean) {
+ Intent intent = new Intent();
+ intent.putExtra("messageBean", new Gson().toJson(messageBean));
+ intent.setClass(_mActivity, MessageActivity.class);
+ startActivity(intent);
+ }
+ });
+
+ }
+ }
+
+ /**
+ * 閲嶆柊鏇存柊鍒楄〃鏁版嵁
+ */
+ private void updateRecyclerViewList() {
+ if (mMessageHouseAdapter == null) {
+ return;
+ }
+ mMessageHouseAdapter.setList(mList);
+ nullDataUpdateUi();
+ }
+
+ /**
+ * 鍒锋柊銆愭秷鎭ā鍧椼�戜笅瑙掓爣鏁板��
+ *
+ * @param unreadCount 鏈淇℃伅鏁伴噺鎬绘暟
+ */
+ private void refreshUnreadCount(int unreadCount) {
+ HdlThreadLogic.runMainThread(new Runnable() {
+ @SuppressLint("SetTextI18n")
+ @Override
+ public void run() {
+ TextView textView = _mActivity.findViewById(R.id.my_message_bottom_il2).findViewById(R.id.red_count_tv);
+ if (textView != null) {
+ if (unreadCount == 0) {
+ textView.setVisibility(View.GONE);
+ } else {
+ textView.setVisibility(View.VISIBLE);
+ if (unreadCount > 99) {
+ textView.setText("99+");
+ } else {
+ textView.setText(unreadCount + "");
+ }
+ }
+ }
+ }
+ });
+ }
+
+ /**
+ * 娌℃湁娑堟伅鍒楄〃鐨勬牱寮�
+ */
+ private void nullDataUpdateUi() {
+ HdlCommonLogic.getInstance().nullDataUpdateUi(_mActivity, viewBinding.deviceNullDataIc.getRoot(), viewBinding.deviceNullDataIc.nullDataGifAnimationIv, viewBinding.deviceNullDataIc.nullDataTv, getString(R.string.message_alarm_data_null), mList.size() > 0);
+ }
+
+ private void initView() {
+ mMessageHouseAdapter = new MessageHouseAdapter(_mActivity);
+ viewBinding.houseListRcv.setLayoutManager(new LinearLayoutManager(_mActivity));
+ viewBinding.houseListRcv.setAdapter(mMessageHouseAdapter);
+ this.pullToRefresh();
+ //鍦ㄧ晫闈腑浣跨敤
+ KeyboardStateObserverUtils.getKeyboardStateObserver(_mActivity).setKeyboardVisibilityListener(new KeyboardStateObserverUtils.OnKeyboardVisibilityListener() {
+ @Override
+ public void onKeyboardShow(int h) {
+ //Toast.makeText(MainActivity.this,"閿洏寮瑰嚭",Toast.LENGTH_SHORT).show();
+// viewBinding.messageSearchEt.requestFocus();
+
+ }
+
+ @Override
+
+ public void onKeyboardHide(int h) {
+ viewBinding.powerStationSearchEt.clearFocus();
+ }
+
+ });
+ }
+
+ /**
+ * 涓嬫媺鍒锋柊鐨勯�昏緫
+ */
+ protected void pullToRefresh() {
+ viewBinding.houseListRbl.setDelegate(new BGARefreshLayout.BGARefreshLayoutDelegate() {
+ @SuppressLint("StaticFieldLeak")
+ @Override
+ public void onBGARefreshLayoutBeginRefreshing(BGARefreshLayout refreshLayout) {
+ new AsyncTask<Void, Void, Void>() {
+
+ @Override
+ protected Void doInBackground(Void... params) {
+ try {
+ Thread.sleep(1000);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ @Override
+ protected void onPostExecute(Void aVoid) {
+ // 鎵ц浠诲姟锛堝鏇存柊UI銆佽烦杞瓑锛�
+ viewBinding.houseListRbl.endRefreshing();
+ initData(false);
+
+ }
+ }.execute();
+
+
+ }
+
+
+ @SuppressLint("StaticFieldLeak")
+ @Override
+ public boolean onBGARefreshLayoutBeginLoadingMore(BGARefreshLayout refreshLayout) {
+ new AsyncTask<Void, Void, Void>() {
+ @Override
+ protected Void doInBackground(Void... params) {
+ try {
+ Thread.sleep(10);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ @Override
+ protected void onPostExecute(Void aVoid) {
+ viewBinding.houseListRbl.endLoadingMore();
+ //鍔犺浇鏈�鏂版暟鎹畬鎴�
+ }
+ }.execute();
+ return true;
+ }
+ });
+ HDLRefreshViewHolder hdlRefreshViewHolder = new HDLRefreshViewHolder(_mActivity, true);
+ hdlRefreshViewHolder.setPullDownImageResource(R.mipmap.loading_44);
+ hdlRefreshViewHolder.setChangeToReleaseRefreshAnimResId(R.drawable.loading_refresh);
+ hdlRefreshViewHolder.setRefreshingAnimResId(R.drawable.loading_refresh_end);
+ viewBinding.houseListRbl.setRefreshViewHolder(hdlRefreshViewHolder);
+ }
+
+ @Subscribe(threadMode = ThreadMode.MAIN, sticky = true)
+ public void onEventMessage(BaseEventBus eventBus) {
+ super.onEventMessage(eventBus);
+ if (eventBus == null) {
+ return;
+ }
+ //鎺ユ敹澶栭儴鐐瑰嚮浜嬩欢
+ if (eventBus.getTopic().equals(ConstantManage.homepage_title_tab_switch)) {
+ if (eventBus.getType().equals(HomepageTitleTabSwitch.message.toString())) {
+ // 鍙栨秷绮樻�т簨浠�
+ EventBus.getDefault().removeStickyEvent(eventBus);
+ HdlLogLogic.print("姝e湪鐐瑰嚮銆愭秷鎭��");
+ //绗簩娆¤繘鏉ヤ笉鏄剧ず鍔犺浇妗�
+ if (!isFirstLoading) {
+ initData(false);
+ }
+ }
+ } else if (eventBus.getTopic().equals(ConstantManage.refresh_message_house)) {
+ // 鍙栨秷绮樻�т簨浠�
+ EventBus.getDefault().removeStickyEvent(eventBus);
+ //绗簩娆¤繘鏉ヤ笉鏄剧ず鍔犺浇妗�
+ if (!isFirstLoading) {
+ initData(false);
+ }
+
+ }
+ }
+
+ /**
+ *
+ */
+ private final TextWatcher powerStationSearchWatcher = new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ //鎼滅储鍏抽敭瀛�
+ String currSearchText = s.toString().replace(" ", "");
+ if (TextUtils.isEmpty(currSearchText)) {
+ viewBinding.powerStationClearIv.setVisibility(View.GONE);
+// HdlThreadLogic.toast(_mActivity, R.string.search_content_null);
+ return;
+ }
+ viewBinding.powerStationClearIv.setVisibility(View.VISIBLE);
+ viewBinding.powerStationSearchEt.clearFocus();
+ getMessageHouseList(currSearchText, false);
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ };
+
+ @Override
+ public void onDestroy() {
+ super.onDestroy();
+ viewBinding.powerStationSearchEt.removeTextChangedListener(powerStationSearchWatcher);
+ }
+}
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 5801f16..1e37e34 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
@@ -220,9 +220,18 @@
});
//鐢电珯娣诲姞
+ //鐐瑰嚮杩涘叆鏂伴厤缃叆缃戠晫闈�
viewBinding.addIv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
+ UserConfigManage.getInstance().setUniBottomSafeDistanceBackgroundColor(1);
+ HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION_SIMPLE, null);
+ }
+ });
+ //闀挎寜杩涘叆鏃ч厤缃叆缃戠晫闈�
+ viewBinding.addIv.setOnLongClickListener(new View.OnLongClickListener() {
+ @Override
+ public boolean onLongClick(View v) {
UserConfigManage.getInstance().setUniBottomSafeDistanceBackgroundColor(1);
HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION, null);
// AddPowerStationDialog addPowerStationDialog = new AddPowerStationDialog(_mActivity);
@@ -231,8 +240,8 @@
// addPowerStationDialog.setItemOnclickListener(new PowerStationDialogAdapter.OnclickListener() {
// @Override
// public void onClick(int position, String str) {
+//// debugging_str = str;
// addPowerStationDialog.dismiss();
-//
//// UserConfigManage.getInstance().setUniBottomSafeDistanceBackgroundColor(1);
//// if (_mActivity.getString(R.string.simple_debugging).equals(str)) {
//// HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION_SIMPLE, null);
@@ -249,16 +258,12 @@
// }
// });
- }
- });
- viewBinding.addIv.setOnLongClickListener(new View.OnLongClickListener() {
- @Override
- public boolean onLongClick(View v) {
- UserConfigManage.getInstance().setUniBottomSafeDistanceBackgroundColor(1);
- HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION_SIMPLE, null);
return true;
}
});
+
+
+
//鐢电珯鎼滅储
viewBinding.powerStationSearchClickCl.setOnClickListener(new View.OnClickListener() {
@Override
diff --git a/app/src/main/java/com/hdl/photovoltaic/utils/TimeUtils.java b/app/src/main/java/com/hdl/photovoltaic/utils/TimeUtils.java
index 0091ead..c882622 100644
--- a/app/src/main/java/com/hdl/photovoltaic/utils/TimeUtils.java
+++ b/app/src/main/java/com/hdl/photovoltaic/utils/TimeUtils.java
@@ -157,6 +157,27 @@
return "";
}
+ /**
+ * 鏃堕棿鎴宠浆鏃ユ湡(鏍煎紡:MM-dd)
+ *
+ * @param timestamp 鏃堕棿鎴�
+ * 卢 * @return -
+ */
+ public static String getDataFromTimestamp(long timestamp) {
+ try {
+ String pattern = "MM-dd";
+ if (UserConfigManage.getInstance().getCurrentAppLanguage().equals(LocalManageUtil.en)) {
+ pattern = "dd-MM";
+ }
+ SimpleDateFormat dateFormat = new SimpleDateFormat(pattern, getLocale());
+ Date date = new Date(timestamp);
+ return dateFormat.format(date);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return "";
+ }
+
/**
* 鏃堕棿鎴宠浆鏃堕棿(鏍煎紡:yyyy-MM-dd HH:mm:ss)
diff --git a/app/src/main/res/drawable/red_message_house_font.xml b/app/src/main/res/drawable/red_message_house_font.xml
new file mode 100644
index 0000000..d27ae53
--- /dev/null
+++ b/app/src/main/res/drawable/red_message_house_font.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<shape xmlns:android="http://schemas.android.com/apk/res/android">
+ <solid android:color="#FFF55252" />
+ <corners android:radius="10.5dp" />
+</shape>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_message.xml b/app/src/main/res/layout/activity_message.xml
new file mode 100644
index 0000000..d94b3e8
--- /dev/null
+++ b/app/src/main/res/layout/activity_message.xml
@@ -0,0 +1,244 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+xmlns:app="http://schemas.android.com/apk/res-auto"
+android:id="@+id/message_parent"
+android:layout_width="match_parent"
+android:layout_height="match_parent"
+android:background="@color/text_FF000000">
+<!--澶撮儴鏍囩-->
+<RelativeLayout
+ android:id="@+id/message_rl"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/dp_44"
+ android:layout_marginStart="@dimen/dp_16"
+ android:layout_marginTop="@dimen/dp_38"
+ android:layout_marginEnd="@dimen/dp_16"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent">
+
+ <TextView
+ android:id="@+id/message_tab_nascent_title_tv"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_centerVertical="true"
+ android:text="@string/message_nascent"
+ android:textColor="@color/text_FFACACAC"
+ android:textSize="@dimen/text_18" />
+
+ <TextView
+ android:id="@+id/message_tab_recover_title_tv"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_centerVertical="true"
+ android:layout_marginStart="20dp"
+ android:layout_marginEnd="36dp"
+ android:layout_toEndOf="@+id/message_tab_nascent_title_tv"
+ android:text="@string/alarm_record"
+ android:textColor="@color/text_FF5B5B5B"
+ android:textSize="@dimen/text_14" />
+
+ <ImageView
+ android:id="@+id/all_clear_iv"
+ android:layout_width="@dimen/dp_33"
+ android:layout_height="@dimen/dp_33"
+ android:layout_alignParentEnd="true"
+ android:layout_centerVertical="true"
+ android:layout_marginEnd="@dimen/dp_5"
+ android:src="@drawable/clear_all" />
+
+
+</RelativeLayout>
+
+<LinearLayout
+ android:id="@+id/message_cl"
+ android:layout_width="match_parent"
+ android:layout_height="77dp"
+ android:layout_marginTop="@dimen/dp_10"
+ android:orientation="vertical"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/message_rl">
+ <!--鎼滅储-->
+ <RelativeLayout
+ android:id="@+id/message_search_cl"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/dp_35"
+ android:layout_marginStart="@dimen/dp_13"
+ android:layout_marginEnd="@dimen/dp_16"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent">
+
+ <RelativeLayout
+ android:id="@+id/message_search_click_cl"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_alignParentEnd="true"
+ android:layout_marginEnd="@dimen/dp_17"
+ android:background="@drawable/search_bj_ff1c1c1e">
+
+ <ImageView
+ android:id="@+id/power_station_search_iv"
+ android:layout_width="@dimen/dp_18"
+ android:layout_height="@dimen/dp_18"
+ android:layout_alignParentStart="true"
+ android:layout_centerVertical="true"
+ android:layout_marginStart="@dimen/dp_13"
+ android:src="@drawable/search_path" />
+
+ <TextView
+ android:id="@+id/power_station_search_tv"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_centerVertical="true"
+ android:layout_marginStart="@dimen/dp_11"
+ android:layout_toEndOf="@+id/power_station_search_iv"
+ android:text="@string/enter_alarm_name"
+ android:textColor="@color/text_FF5B5B5B"
+ android:textSize="@dimen/text_14" />
+ </RelativeLayout>
+
+
+ </RelativeLayout>
+ <!--鏉′欢绛涢��-->
+ <LinearLayout
+ android:id="@+id/message_tab_ll"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/dp_22"
+ android:layout_marginStart="@dimen/dp_16"
+ android:layout_marginTop="@dimen/dp_20"
+ android:layout_marginEnd="@dimen/dp_16"
+ android:orientation="horizontal">
+ <!--鍏ㄩ儴璁惧-->
+ <LinearLayout
+ android:id="@+id/message_tab_all_device_cl"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:gravity="center_vertical"
+ android:orientation="horizontal">
+
+ <TextView
+ android:id="@+id/all_device_title_tv"
+ android:layout_width="wrap_content"
+ android:layout_height="@dimen/dp_20"
+ android:text="@string/alarm_all_device"
+ android:textColor="@color/text_FFACACAC"
+ android:textSize="@dimen/text_14" />
+
+ <View
+ android:layout_width="@dimen/dp_5"
+ android:layout_height="match_parent" />
+
+ <ImageView
+ android:id="@+id/all_device_title_iv"
+ android:layout_width="@dimen/dp_10"
+ android:layout_height="@dimen/dp_10"
+ android:layout_marginStart="@dimen/dp_0"
+ android:background="@drawable/down" />
+
+ </LinearLayout>
+
+ <View
+ android:layout_width="0dp"
+ android:layout_height="match_parent"
+ android:layout_weight="1" />
+ <!--鍏ㄩ儴绛夌骇-->
+ <LinearLayout
+ android:id="@+id/message_tab_all_grade_cl"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:gravity="center"
+ android:orientation="horizontal">
+
+ <TextView
+ android:id="@+id/all_grade_title_tv"
+ android:layout_width="wrap_content"
+ android:layout_height="@dimen/dp_20"
+ android:text="@string/alarm_all_grade"
+ android:textColor="@color/text_FFACACAC"
+ android:textSize="@dimen/text_14" />
+
+ <View
+ android:layout_width="5dp"
+ android:layout_height="match_parent" />
+
+ <ImageView
+ android:id="@+id/all_grade_title_iv"
+ android:layout_width="@dimen/dp_10"
+ android:layout_height="@dimen/dp_10"
+ android:layout_marginStart="@dimen/dp_0"
+ android:background="@drawable/down" />
+ </LinearLayout>
+
+ <View
+ android:layout_width="0dp"
+ android:layout_height="match_parent"
+ android:layout_weight="1" />
+ <!--鍏ㄩ儴鏃堕棿-->
+ <LinearLayout
+ android:id="@+id/message_tab_all_time_cl"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:gravity="center_vertical|end"
+ android:orientation="horizontal">
+
+ <TextView
+ android:id="@+id/all_time_title_tv"
+ android:layout_width="wrap_content"
+ android:layout_height="@dimen/dp_20"
+ android:text="@string/alarm_all_time"
+ android:textColor="@color/text_FFACACAC"
+ android:textSize="@dimen/text_14" />
+
+ <View
+ android:layout_width="@dimen/dp_5"
+ android:layout_height="match_parent" />
+
+ <ImageView
+ android:id="@+id/all_time_title_iv"
+ android:layout_width="@dimen/dp_10"
+ android:layout_height="@dimen/dp_10"
+ android:background="@drawable/down" />
+ </LinearLayout>
+ </LinearLayout>
+
+</LinearLayout>
+
+
+<com.hdl.photovoltaic.widget.refreshlayout.BGARefreshLayout
+ android:id="@+id/message_srl"
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_marginTop="@dimen/dp_10"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/message_cl">
+
+ <!-- android:clipToPadding="false"
+ android:paddingBottom="@dimen/dp_16"
+ 搴曢儴闂磋窛
+ -->
+ <androidx.recyclerview.widget.RecyclerView
+ android:id="@+id/message_rcv"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:clipToPadding="false"
+ android:paddingBottom="@dimen/dp_10"
+ />
+</com.hdl.photovoltaic.widget.refreshlayout.BGARefreshLayout>
+
+<!--娌℃湁鏁版嵁鏄剧ず鏍峰紡-->
+<include
+ android:id="@+id/null_data_ic"
+ layout="@layout/null_data_view"
+ android:layout_width="match_parent"
+ android:layout_height="224dp"
+ android:visibility="gone"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/message_cl" />
+
+</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragement_message_house.xml b/app/src/main/res/layout/fragement_message_house.xml
new file mode 100644
index 0000000..4aaca0a
--- /dev/null
+++ b/app/src/main/res/layout/fragement_message_house.xml
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@color/text_FF000000">
+ <!--鎼滅储-->
+ <RelativeLayout
+ android:id="@+id/power_station_search_cl"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/dp_44"
+ android:layout_marginTop="@dimen/dp_48"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent">
+
+ <RelativeLayout
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:layout_marginStart="@dimen/dp_16"
+ android:layout_marginTop="4.5dp"
+ android:layout_marginEnd="@dimen/dp_16"
+ android:layout_marginBottom="4.5dp"
+ android:layout_toStartOf="@+id/power_station_read_iv"
+ android:background="@drawable/search_bj_ff1c1c1e">
+
+ <ImageView
+ android:id="@+id/power_station_search_iv"
+ android:layout_width="@dimen/dp_18"
+ android:layout_height="@dimen/dp_18"
+ android:layout_alignParentStart="true"
+ android:layout_centerVertical="true"
+ android:layout_marginStart="@dimen/dp_13"
+ android:src="@drawable/search_path" />
+
+ <EditText
+ android:id="@+id/power_station_search_et"
+ android:layout_width="0dp"
+ android:layout_height="match_parent"
+ android:layout_alignParentEnd="true"
+ android:layout_centerVertical="true"
+ android:layout_marginStart="@dimen/dp_11"
+ android:layout_marginEnd="@dimen/dp_40"
+ android:layout_toEndOf="@+id/power_station_search_iv"
+ android:background="@null"
+ android:gravity="start|center_vertical"
+ android:hint="@string/search_station"
+ android:textColor="@color/text_FFACACAC"
+ android:textColorHint="@color/text_FF5B5B5B"
+ android:textSize="@dimen/text_14" />
+
+ <ImageView
+ android:id="@+id/power_station_clear_iv"
+ android:layout_width="@dimen/dp_20"
+ android:layout_height="@dimen/dp_20"
+ android:layout_alignParentEnd="true"
+ android:layout_centerVertical="true"
+ android:layout_marginEnd="@dimen/dp_13"
+ android:src="@drawable/clear"
+ android:visibility="gone" />
+ </RelativeLayout>
+
+ <ImageView
+ android:id="@+id/power_station_read_iv"
+ android:layout_width="@dimen/dp_33"
+ android:layout_height="@dimen/dp_33"
+ android:layout_alignParentEnd="true"
+ android:layout_centerVertical="true"
+ android:layout_marginEnd="@dimen/dp_21"
+ android:src="@drawable/clear_all" />
+
+
+ </RelativeLayout>
+ <!--浣忓畢鍒楄〃娑堟伅-->
+
+ <com.hdl.photovoltaic.widget.refreshlayout.BGARefreshLayout
+ android:id="@+id/house_list_rbl"
+ android:layout_width="match_parent"
+ android:layout_height="0dp"
+ android:layout_marginTop="10dp"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/power_station_search_cl">
+
+ <androidx.recyclerview.widget.RecyclerView
+ android:id="@+id/house_list_rcv"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:clipToPadding="false"
+ android:paddingTop="@dimen/dp_10"
+ />
+
+ </com.hdl.photovoltaic.widget.refreshlayout.BGARefreshLayout>
+ <!--娌℃湁鏁版嵁鏄剧ず鏍峰紡-->
+ <include
+ android:id="@+id/device_null_data_ic"
+ layout="@layout/null_data_view"
+ android:layout_width="match_parent"
+ android:layout_height="224dp"
+ android:visibility="gone"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/power_station_search_cl" />
+</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_message.xml b/app/src/main/res/layout/fragment_message.xml
index e181a31..548fff1 100644
--- a/app/src/main/res/layout/fragment_message.xml
+++ b/app/src/main/res/layout/fragment_message.xml
@@ -10,12 +10,29 @@
android:id="@+id/message_rl"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_44"
- android:layout_marginStart="@dimen/dp_16"
android:layout_marginTop="@dimen/dp_38"
android:layout_marginEnd="@dimen/dp_16"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
+
+ <!--1.杩斿洖鎸夐挳 澧炲ぇ鐐瑰嚮鍖哄煙-->
+ <LinearLayout
+ android:id="@+id/top_back_ll"
+ android:layout_width="@dimen/dp_56"
+ android:layout_height="match_parent"
+ android:gravity="center_vertical"
+ android:orientation="horizontal">
+
+ <ImageView
+ android:id="@+id/top_left_iv"
+ android:layout_width="@dimen/dp_30"
+ android:layout_height="@dimen/dp_30"
+ android:layout_gravity="center"
+ android:layout_marginStart="@dimen/dp_10"
+ android:scaleType="centerInside"
+ android:src="@drawable/back" />
+ </LinearLayout>
<TextView
android:id="@+id/message_tab_nascent_title_tv"
@@ -24,7 +41,9 @@
android:layout_centerVertical="true"
android:text="@string/message_nascent"
android:textColor="@color/text_FFACACAC"
- android:textSize="@dimen/text_18" />
+ android:textSize="@dimen/text_18"
+ android:layout_toEndOf="@+id/top_back_ll"
+ />
<TextView
android:id="@+id/message_tab_recover_title_tv"
@@ -225,8 +244,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
- android:paddingBottom="@dimen/dp_10"
- />
+ android:paddingBottom="@dimen/dp_10" />
</com.hdl.photovoltaic.widget.refreshlayout.BGARefreshLayout>
<!--娌℃湁鏁版嵁鏄剧ず鏍峰紡-->
diff --git a/app/src/main/res/layout/item_message_house.xml b/app/src/main/res/layout/item_message_house.xml
new file mode 100644
index 0000000..29d0a0a
--- /dev/null
+++ b/app/src/main/res/layout/item_message_house.xml
@@ -0,0 +1,102 @@
+<?xml version="1.0" encoding="utf-8"?>
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_width="match_parent"
+ android:layout_height="76dp">
+
+ <androidx.constraintlayout.widget.ConstraintLayout
+ android:layout_width="match_parent"
+ android:layout_height="66dp"
+ android:layout_marginStart="@dimen/dp_16"
+ android:layout_marginEnd="@dimen/dp_16"
+ android:background="@drawable/bj_ff1c1c1e">
+
+ <ImageView
+ android:id="@+id/home_image_iv"
+ android:layout_width="44dp"
+ android:layout_height="42dp"
+ android:layout_marginStart="@dimen/dp_16"
+ android:layout_marginTop="@dimen/dp_12"
+ android:scaleType="centerCrop"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent" />
+
+ <LinearLayout
+ android:id="@+id/home_name_ll"
+ android:layout_width="0dp"
+ android:layout_height="@dimen/dp_20"
+ android:layout_marginStart="@dimen/dp_24"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toEndOf="@+id/home_image_iv"
+ app:layout_constraintTop_toTopOf="@+id/home_image_iv">
+
+ <TextView
+ android:id="@+id/home_name_tv"
+ android:layout_width="0dp"
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ android:ellipsize="end"
+ android:gravity="center_vertical|start"
+ android:singleLine="true"
+ android:text="@string/power_station"
+ android:textColor="@color/text_FFACACAC"
+ android:textSize="@dimen/text_14" />
+
+ <TextView
+ android:id="@+id/home_last_date_tv"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:ellipsize="end"
+ android:gravity="center_vertical|end"
+ android:paddingStart="4dp"
+ android:paddingEnd="@dimen/dp_16"
+ android:singleLine="true"
+ android:text="@string/power_station"
+ android:textColor="@color/text_FFACACAC"
+ android:textSize="@dimen/text_12" />
+ </LinearLayout>
+
+ <LinearLayout
+ android:layout_width="0dp"
+ android:layout_height="21dp"
+ android:layout_marginStart="@dimen/dp_11"
+ android:layout_marginTop="4.5dp"
+ android:gravity="center_vertical"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toEndOf="@+id/home_image_iv"
+ app:layout_constraintTop_toBottomOf="@+id/home_name_ll">
+
+ <TextView
+ android:id="@+id/item_estate_tv"
+ android:layout_width="7dp"
+ android:layout_height="7dp"
+ android:background="@drawable/device_state_ffb9b9b9" />
+
+ <TextView
+ android:id="@+id/item_content_tv"
+ android:layout_width="0dp"
+ android:layout_height="match_parent"
+ android:layout_weight="1"
+ android:ellipsize="end"
+ android:gravity="center_vertical|start"
+ android:paddingStart="6dp"
+ android:paddingEnd="5dp"
+ android:singleLine="true"
+ android:textColor="@color/text_FFACACAC"
+ android:textSize="@dimen/text_12" />
+ <!--鏈鏍囩-->
+ <TextView
+ android:id="@+id/item_unread_message_tv"
+ android:layout_width="21dp"
+ android:layout_height="21dp"
+ android:gravity="center"
+ android:layout_marginEnd="@dimen/dp_16"
+ android:background="@drawable/red_message_house_font"
+ android:textColor="@color/text_FFFFFFFF"
+ android:textSize="12sp" />
+ </LinearLayout>
+
+
+ </androidx.constraintlayout.widget.ConstraintLayout>
+
+</LinearLayout>
\ No newline at end of file
--
Gitblit v1.8.0