From 7e79979359bf5d3438afac05458e454c4786d50b Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期四, 30 五月 2024 10:57:54 +0800
Subject: [PATCH] 2024年05月30日10:57:47

---
 app/src/main/java/com/hdl/photovoltaic/ui/message/SearchMessageActivity.java       |   29 ++++++-
 app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java |   10 +-
 app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseSearchActivity.java    |   30 ++++++-
 app/src/main/AndroidManifest.xml                                                   |    3 
 app/src/main/java/com/hdl/photovoltaic/ui/powerstation/DeviceSearchActivity.java   |   29 ++++++-
 app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java            |   60 +++++++++------
 app/src/main/res/layout/item_device_details.xml                                    |   21 +++--
 7 files changed, 130 insertions(+), 52 deletions(-)

diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 088a69e..89cfe76 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -107,9 +107,6 @@
             android:name=".ui.message.MessageInfoActivity"
             android:exported="false" />
         <activity
-            android:name=".ui.message.TestMessageActivity"
-            android:exported="false" />
-        <activity
             android:name=".ui.me.BindMailActivity"
             android:exported="false" />
         <activity
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java
index 43a2774..37bfc80 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java
@@ -15,6 +15,7 @@
 
 import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
 import com.hdl.photovoltaic.R;
+import com.hdl.photovoltaic.enums.PowerStationStatus;
 import com.hdl.photovoltaic.enums.UnitType;
 import com.hdl.photovoltaic.other.HdlCommonLogic;
 import com.hdl.photovoltaic.other.HdlDeviceLogic;
@@ -32,6 +33,8 @@
     private List<HouseIdBean> mList;
     private final Context mContext;
     private OnclickListener noOnclickListener;//鐐瑰嚮浜嗙殑鐩戝惉鍣�
+
+    String mPowerStationStatus;
 
     /**
      * 鏀堕泦SwipeLayout鏁扮粍,瑕佷竴閿叏閮ㄦ墦寮�;
@@ -114,7 +117,8 @@
     }
 
 
-    public void setList(List<HouseIdBean> newData) {
+    public void setList(List<HouseIdBean> newData, String powerStationStatus) {
+        mPowerStationStatus = powerStationStatus;
         if (this.mList == null) {
             this.mList = new ArrayList<>();
         } else {
@@ -148,37 +152,45 @@
      * @param state_value 鐢电珯鐘舵��(1:姝e父(杩愯),2:绂荤嚎,3:杩炴帴涓�,4:鏁呴殰,5:绂荤嚎鏈夋晠闅�)
      */
     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_operation);
+        if (mPowerStationStatus.equals(PowerStationStatus.All)) {
+            switch (state_value) {
+                case 1: {
+                    text = mContext.getString(R.string.my_power_station_operation);
+                }
+                break;
 
-            }
-            break;
-            case 5:
-            case 2: {
-                text = mContext.getString(R.string.my_power_station_off_line);
-                drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_b9b9b9);
-            }
-            break;
-            case 3: {
-                text = mContext.getString(R.string.my_power_station_connecting);
-                drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_ffb300);
-            }
-            break;
-            case 4:
-            {
-                text = mContext.getString(R.string.my_power_station_malfunction);
-                drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_e34343);
-            }
-            //5:绂荤嚎鏈夋晠闅淥ffline_fault
-            break;
+                case 2: {
+                    text = mContext.getString(R.string.my_power_station_off_line);
+                    drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_b9b9b9);
+                }
+                break;
+                case 3: {
+                    text = mContext.getString(R.string.my_power_station_connecting);
+                    drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_ffb300);
+                }
+                break;
+                case 4:
+                case 5: {
+                    text = mContext.getString(R.string.my_power_station_malfunction);
+                    drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_e34343);
+                }
+                //5:绂荤嚎鏈夋晠闅淥ffline_fault
+                break;
 //            case 5: {
 //                text = mContext.getString(R.string.Offline_fault);
 //                drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_e34343);
 //            }
 //            break;
+            }
+        } else if (mPowerStationStatus.equals(PowerStationStatus.malfunction)) {
+            text = mContext.getString(R.string.my_power_station_malfunction);
+            drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_e34343);
+        } else if (mPowerStationStatus.equals(PowerStationStatus.off)) {
+            text = mContext.getString(R.string.my_power_station_off_line);
+            drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_b9b9b9);
         }
         textView.setText(text);
         textView.setBackground(drawable);
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/message/SearchMessageActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/message/SearchMessageActivity.java
index 067e6f3..41cb83e 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/message/SearchMessageActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/message/SearchMessageActivity.java
@@ -27,6 +27,7 @@
 import com.hdl.photovoltaic.ui.adapter.SearchHistoryAdapter;
 import com.hdl.photovoltaic.ui.adapter.SearchMessageAdapter;
 import com.hdl.photovoltaic.ui.bean.MessageBean;
+import com.hdl.photovoltaic.utils.KeyboardStateObserverUtils;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -208,6 +209,29 @@
         searchMessageAdapter = new SearchMessageAdapter(_mActivity);
         viewBinding.listRcv.setLayoutManager(new LinearLayoutManager(_mActivity));
         viewBinding.listRcv.setAdapter(searchMessageAdapter);
+        viewBinding.messageSearchEt.post(new Runnable() {
+            @Override
+            public void run() {
+                viewBinding.messageSearchEt.requestFocus();
+            }
+        });
+
+        //鍦ㄧ晫闈腑浣跨敤
+        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.messageSearchEt.clearFocus();
+            }
+
+        });
     }
 
 
@@ -394,14 +418,11 @@
                 searchHistoryTitleList.remove(searchHistoryTitleList.get(i));
             }
         }
-        searchHistoryTitleList.add(currSearchText);
-        // 鍊掑簭鎺掑垪鏁版嵁(鎼滅储鏈�鍚庢帓鍦ㄥ墠闈�)
-        Collections.reverse(searchHistoryTitleList);
+        searchHistoryTitleList.add(0, currSearchText);
         if (searchHistoryTitleList.size() > maxValue) {
             //鍘嗗彶璁板綍涓嶈兘瓒呭嚭10
             searchHistoryTitleList.remove(searchHistoryTitleList.get(maxValue));
         }
-
     }
 
     /**
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/DeviceSearchActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/DeviceSearchActivity.java
index 045b1b8..bee47e2 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/DeviceSearchActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/DeviceSearchActivity.java
@@ -31,6 +31,7 @@
 import com.hdl.photovoltaic.ui.adapter.SearchHistoryAdapter;
 import com.hdl.photovoltaic.ui.bean.CloudInverterDeviceBean;
 import com.hdl.photovoltaic.uni.HDLUniMP;
+import com.hdl.photovoltaic.utils.KeyboardStateObserverUtils;
 import com.hdl.photovoltaic.utils.URLEncodingUtils;
 import com.hdl.sdk.link.core.bean.gateway.GatewayBean;
 import com.hdl.sdk.link.core.config.HDLLinkConfig;
@@ -233,6 +234,29 @@
         searchDeviceAdapter = new SearchDeviceAdapter(_mActivity);
         viewBinding.listRcv.setLayoutManager(new LinearLayoutManager(_mActivity));
         viewBinding.listRcv.setAdapter(searchDeviceAdapter);
+        viewBinding.powerStationSearchEt.post(new Runnable() {
+            @Override
+            public void run() {
+                viewBinding.powerStationSearchEt.requestFocus();
+            }
+        });
+
+        //鍦ㄧ晫闈腑浣跨敤
+        KeyboardStateObserverUtils.getKeyboardStateObserver(_mActivity).setKeyboardVisibilityListener(new KeyboardStateObserverUtils.OnKeyboardVisibilityListener() {
+            @Override
+            public void onKeyboardShow(int h) {
+                //Toast.makeText(MainActivity.this,"閿洏寮瑰嚭",Toast.LENGTH_SHORT).show();
+                viewBinding.powerStationSearchEt.requestFocus();
+
+            }
+
+            @Override
+
+            public void onKeyboardHide(int h) {
+                viewBinding.powerStationSearchEt.clearFocus();
+            }
+
+        });
     }
 
 
@@ -409,15 +433,12 @@
                 searchHistoryTitleList.remove(searchHistoryTitleList.get(i));
             }
         }
-        searchHistoryTitleList.add(currSearchText);
-        // 鍊掑簭鎺掑垪鏁版嵁(鎼滅储鏈�鍚庢帓鍦ㄥ墠闈�)
-        Collections.reverse(searchHistoryTitleList);
         int maxValue = 10;
+        searchHistoryTitleList.add(0, currSearchText);
         if (searchHistoryTitleList.size() > maxValue) {
             //鍘嗗彶璁板綍涓嶈兘瓒呭嚭10
             searchHistoryTitleList.remove(searchHistoryTitleList.get(maxValue));
         }
-
     }
 
     /**
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 effb37d..d470d94 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
@@ -284,7 +284,7 @@
                         //绉诲姩鐢电珯浣嶇疆
                         HdlResidenceLogic.getInstance().moveHouseId(houseIdBean.getHomeId());
                         initData();//鍒濆鍖栫紦瀛樻暟鎹�
-                        houseInfoAdapter.setList(houseListBeanIDList);//閲嶆柊鍒锋柊鍒楄〃
+                        houseInfoAdapter.setList(houseListBeanIDList, powerStationStatusValue);//閲嶆柊鍒锋柊鍒楄〃
                         nullDataUpdateUi();//妫�娴嬫暟鎹槸鍚︿负绌�
                     }
 
@@ -503,7 +503,7 @@
         houseInfoAdapter = new HouseInfoAdapter(_mActivity);
         viewBinding.fragmentHouseSrlListRc.setLayoutManager(new LinearLayoutManager(_mActivity));
         viewBinding.fragmentHouseSrlListRc.setAdapter(houseInfoAdapter);
-        houseInfoAdapter.setList(this.houseListBeanIDList);
+        houseInfoAdapter.setList(this.houseListBeanIDList, powerStationStatusValue);
 
         //璁惧鏍囩
         deviceInfoAdapter = new DeviceInfoAdapter(_mActivity);
@@ -662,7 +662,7 @@
                 if (houseInfoAdapter != null) {
                     initData();
                     //鏇存柊UI
-                    houseInfoAdapter.setList(houseListBeanIDList);
+                    houseInfoAdapter.setList(houseListBeanIDList, powerStationStatusValue);
                 }
             }
         }
@@ -744,7 +744,7 @@
                             if (houseInfoAdapter != null) {
                                 initData();
                                 //鏇存柊UI
-                                houseInfoAdapter.setList(houseListBeanIDList);
+                                houseInfoAdapter.setList(houseListBeanIDList, powerStationStatusValue);
                             }
                         }
                         nullDataUpdateUi();
@@ -925,7 +925,7 @@
                 initializeInverter(list); //鍙戣捣鍒濆鍖栨寚浠ょ粰閫嗗彉鍣�;锛堟敞鎰�:鍙兘鏄湰鍦板彂閫佷簡(瑕佹悳绱㈠眬鍩熺綉閫嗗彉鍣ㄥ垪琛紝寤虹珛鏈湴閫氳閫氶亾),鍒犻櫎鐢电珯鎴愬姛鍚�,浜戠瑙g粦閫嗗彉鍣ㄧ殑鍏崇郴锛�
                 HdlResidenceLogic.getInstance().delHouseId(homeId);//鍒犻櫎鐢电珯缂撳瓨
                 initData();//鍒濆鍖栫紦瀛樻暟鎹�
-                houseInfoAdapter.setList(houseListBeanIDList);//閲嶆柊鍒锋柊鍒楄〃
+                houseInfoAdapter.setList(houseListBeanIDList, powerStationStatusValue);//閲嶆柊鍒锋柊鍒楄〃
                 nullDataUpdateUi();//妫�娴嬫暟鎹槸鍚︿负绌�
             }
 
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseSearchActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseSearchActivity.java
index 96835b0..61f9934 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseSearchActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseSearchActivity.java
@@ -30,6 +30,7 @@
 import com.hdl.photovoltaic.ui.adapter.SearchHouseAdapter;
 import com.hdl.photovoltaic.ui.bean.HouseIdBean;
 import com.hdl.photovoltaic.uni.HDLUniMP;
+import com.hdl.photovoltaic.utils.KeyboardStateObserverUtils;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -212,6 +213,29 @@
         searchHouseAdapter = new SearchHouseAdapter(_mActivity);
         viewBinding.listRcv.setLayoutManager(new LinearLayoutManager(_mActivity));
         viewBinding.listRcv.setAdapter(searchHouseAdapter);
+        viewBinding.powerStationSearchEt.post(new Runnable() {
+            @Override
+            public void run() {
+                viewBinding.powerStationSearchEt.requestFocus();
+            }
+        });
+
+        //鍦ㄧ晫闈腑浣跨敤
+        KeyboardStateObserverUtils.getKeyboardStateObserver(_mActivity).setKeyboardVisibilityListener(new KeyboardStateObserverUtils.OnKeyboardVisibilityListener() {
+            @Override
+            public void onKeyboardShow(int h) {
+                //Toast.makeText(MainActivity.this,"閿洏寮瑰嚭",Toast.LENGTH_SHORT).show();
+                viewBinding.powerStationSearchEt.requestFocus();
+
+            }
+
+            @Override
+
+            public void onKeyboardHide(int h) {
+                viewBinding.powerStationSearchEt.clearFocus();
+            }
+
+        });
     }
 
 
@@ -385,15 +409,13 @@
      * 娣诲姞鍘嗗彶璁板綍
      */
     private void addSearchTextToList() {
-        int maxValue = 10;
         for (int i = 0; i < searchHistoryTitleList.size(); i++) {
             if (searchHistoryTitleList.get(i).equals(currSearchText)) {
                 searchHistoryTitleList.remove(searchHistoryTitleList.get(i));
             }
         }
-        searchHistoryTitleList.add(currSearchText);
-        // 鍊掑簭鎺掑垪鏁版嵁(鎼滅储鏈�鍚庢帓鍦ㄥ墠闈�)
-        Collections.reverse(searchHistoryTitleList);
+        int maxValue = 10;
+        searchHistoryTitleList.add(0, currSearchText);
         if (searchHistoryTitleList.size() > maxValue) {
             //鍘嗗彶璁板綍涓嶈兘瓒呭嚭10
             searchHistoryTitleList.remove(searchHistoryTitleList.get(maxValue));
diff --git a/app/src/main/res/layout/item_device_details.xml b/app/src/main/res/layout/item_device_details.xml
index 2ab825c..021ad75 100644
--- a/app/src/main/res/layout/item_device_details.xml
+++ b/app/src/main/res/layout/item_device_details.xml
@@ -1,17 +1,22 @@
 <?xml version="1.0" encoding="utf-8"?>
-<com.hdl.photovoltaic.widget.SwipeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<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/item_parent_swipeLayout"
     android:layout_width="match_parent"
     android:layout_height="wrap_content">
-
-    <include
-        android:id="@+id/swipe_layout_il"
-        layout="@layout/swipe_right_layout" />
+    <!--鍏堥殣钘忓彸婊戝姛鑳� SwipeLayout-->
+    <!-- <include
+         android:id="@+id/swipe_layout_il"
+         layout="@layout/swipe_right_layout"
+         />-->
 
     <RelativeLayout
         android:id="@+id/item_parent_rl"
-        android:layout_width="match_parent"
-        android:layout_height="164dp">
+        android:layout_width="0dp"
+        android:layout_height="164dp"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent">
 
         <RelativeLayout
             android:id="@+id/device_details_info_rl"
@@ -206,4 +211,4 @@
 
     </RelativeLayout>
 
-</com.hdl.photovoltaic.widget.SwipeLayout>
\ No newline at end of file
+</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file

--
Gitblit v1.8.0