From 0a13476751c01ae346c30a4c4dd266bad700d2c3 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期四, 07 三月 2024 13:28:45 +0800
Subject: [PATCH] 2024年03月07日13:28:38

---
 app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java |  141 ++++++++++++++++++++++++++++++++++++----------
 1 files changed, 110 insertions(+), 31 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java
index cd222e3..957a31c 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java
@@ -1,32 +1,20 @@
 package com.hdl.photovoltaic.ui.powerstation;
 
 import android.Manifest;
-import android.annotation.SuppressLint;
 import android.content.Context;
 import android.content.pm.PackageManager;
-import android.graphics.Movie;
 import android.hardware.camera2.CameraManager;
 import android.os.Bundle;
 import android.view.View;
 
 import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
 
-import com.bumptech.glide.Glide;
-import com.bumptech.glide.load.DataSource;
-import com.bumptech.glide.load.engine.DiskCacheStrategy;
-import com.bumptech.glide.load.engine.GlideException;
-import com.bumptech.glide.load.resource.gif.GifDrawable;
-import com.bumptech.glide.request.RequestListener;
-import com.bumptech.glide.request.target.Target;
 import com.google.gson.Gson;
 import com.hdl.linkpm.sdk.core.exception.HDLException;
 import com.hdl.photovoltaic.R;
-import com.hdl.photovoltaic.config.AppConfigManage;
 import com.hdl.photovoltaic.config.ConstantManage;
-import com.hdl.photovoltaic.config.UserConfigManage;
 import com.hdl.photovoltaic.databinding.FragmentHouseListBinding;
 import com.hdl.photovoltaic.base.CustomBaseFragment;
 import com.hdl.photovoltaic.enums.HomepageTitleTabSwitch;
@@ -40,9 +28,7 @@
 import com.hdl.photovoltaic.ui.adapter.HouseInfoAdapter;
 import com.hdl.photovoltaic.ui.bean.HouseIdBean;
 import com.hdl.photovoltaic.uni.HDLUniMP;
-import com.hdl.photovoltaic.utils.GlideUtils;
 import com.hdl.photovoltaic.utils.PermissionUtils;
-import com.hdl.photovoltaic.widget.MovieDrawable;
 import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
 import com.hdl.sdk.link.core.utils.mqtt.MqttRecvClient;
 
@@ -53,15 +39,7 @@
  * (浣忓畢)鐢电珯鍒楄〃-鐣岄潰
  */
 public class HouseListFragment extends CustomBaseFragment {
-
-    public static final String SORT_TYPE_1 = "powerSort";//鍙戠數鍔熺巼鎺掑簭
-    public static final String SORT_TYPE_2 = "todayElectricitySort";//浠婃棩鍙戠數閲忔帓搴�
-    public static final String SORT_TYPE_3 = "createTimeSort";//鍒涘缓鏃堕棿鎺掑簭
-    public static final String DESCENDING = "descending";//闄嶅簭
-    public static final String ASCENDING = "ascending";//鍗囧簭
-    public static final String SELECTED_SORT_TYPE = SORT_TYPE_1;
-    public static final String SELECTED_SORT = DESCENDING;
-
+    private boolean is_edit = false;
     private FragmentHouseListBinding viewBinding;
     private HouseInfoAdapter houseInfoAdapter;
     private CameraManager manager;
@@ -87,14 +65,23 @@
 
     private void initEvent() {
 
-
+        viewBinding.toolbarTopFragmentHouseListRl.topBackBtn.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                if (is_edit) {
+                    is_edit = false;
+                }
+                viewBinding.toolbarTopFragmentHouseListRl.topBackBtn.setVisibility(View.GONE);
+                initData();//鍒濆鍖栫紦瀛樻暟鎹�
+                setAllItemEdit(false);
+                houseInfoAdapter.setList(houseListBeanIDList);//閲嶆柊鍒锋柊鍒楄〃
+            }
+        });
         //娣诲姞鐢电珯
         viewBinding.toolbarTopFragmentHouseListRl.topMoreIv.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-
                 HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION, null);
-
 //                requestPermissions(new PermissionsResultCallback() {
 //                    @Override
 //                    public void succeed() {
@@ -119,10 +106,11 @@
         viewBinding.fragmentHouseSrl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
             @Override
             public void onRefresh() {
-                updateUIData(true);
+                downReadData(true);
                 HdlLogLogic.print("HouseListFragment涓嬫媺鍒锋柊", false);
             }
         });
+        //杩涘叆鐢电珯璇︽儏,鍒犻櫎鐢电珯,绉诲姩鐢电珯浣嶇疆
         houseInfoAdapter.setNoOnclickListener(new HouseInfoAdapter.OnclickListener() {
             @Override
             public void onClick(int position, HouseIdBean houseIdBean) {
@@ -136,11 +124,88 @@
                 HdlUniLogic.getInstance().openUniMP(path, null);
 
             }
+
+            @Override
+            public void onMoveClick(int position, HouseIdBean houseIdBean) {
+                if (position > 0) {
+                    houseInfoAdapter.notifyItemMoved(position - 1, position);
+                }
+//                //绉诲姩鐢电珯浣嶇疆
+//                HdlResidenceLogic.getInstance().moveHouseId(houseIdBean.getHomeId());
+//                initData();//鍒濆鍖栫紦瀛樻暟鎹�
+//                houseInfoAdapter.setList(houseListBeanIDList);//閲嶆柊鍒锋柊鍒楄〃
+//                nullDataUpdateUi(houseListBeanIDList);//妫�娴嬫暟鎹槸鍚︿负绌�
+
+            }
+
+            @Override
+            public void onDelClick(int position, HouseIdBean houseIdBean) {
+
+                HdlResidenceLogic.getInstance().delHouseId(houseIdBean.getHomeId());
+                initData();//鍒濆鍖栫紦瀛樻暟鎹�
+                houseInfoAdapter.notifyItemRemoved(position);
+
+//                DelayedConfirmationCancelDialog delayedConfirmationCancelDialog = new DelayedConfirmationCancelDialog(_mActivity);
+//                delayedConfirmationCancelDialog.setTitle(R.string.loading_title_tip);
+//                delayedConfirmationCancelDialog.setContent("鏄惁纭鍒犻櫎鐢电珯?");
+//                delayedConfirmationCancelDialog.show();
+//                delayedConfirmationCancelDialog.startCountdown(3);
+//                delayedConfirmationCancelDialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() {
+//                    @Override
+//                    public void Confirm() {
+//                        //鍒犻櫎浣忓畢
+//                        HdlResidenceLogic.getInstance().delResidence(houseIdBean.getHomeId(), new CloudCallBeak<Boolean>() {
+//                            @Override
+//                            public void onSuccess(Boolean obj) {
+//                                HdlResidenceLogic.getInstance().delHouseId(houseIdBean.getHomeId());
+//                                initData();//鍒濆鍖栫紦瀛樻暟鎹�
+//                                setAllItemEdit(is_edit);
+//                                houseInfoAdapter.setList(houseListBeanIDList);//閲嶆柊鍒锋柊鍒楄〃
+//                                nullDataUpdateUi(houseListBeanIDList);//妫�娴嬫暟鎹槸鍚︿负绌�
+//                                delayedConfirmationCancelDialog.dismiss();
+//                            }
+//
+//                            @Override
+//                            public void onFailure(HDLException e) {
+//                                HdlThreadLogic.toast(_mActivity, e);
+//                            }
+//                        });
+//                    }
+//                });
+//                delayedConfirmationCancelDialog.setNoOnclickListener(new ConfirmationCancelDialog.onNoOnclickListener() {
+//                    @Override
+//                    public void Cancel() {
+//                        delayedConfirmationCancelDialog.dismiss();
+//                    }
+//                });
+
+            }
+        });
+
+        //缂栬緫鐢电珯鎸夐挳
+        viewBinding.toolbarTopFragmentHouseListRl.topEditIv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                if (is_edit) {
+                    //闃叉澶氭鐐瑰嚮
+                    return;
+                }
+                is_edit = true;
+                viewBinding.toolbarTopFragmentHouseListRl.topBackBtn.setVisibility(View.VISIBLE);
+                if (houseInfoAdapter == null) {
+                    return;
+                }
+                initData();//鍒濆鍖栫紦瀛樻暟鎹�
+                setAllItemEdit(true);
+                houseInfoAdapter.setList(houseListBeanIDList);//閲嶆柊鍒锋柊鍒楄〃
+            }
         });
     }
 
     private void initView() {
         viewBinding.toolbarTopFragmentHouseListRl.topTitleTv.setText(R.string.my_power_station);
+        viewBinding.toolbarTopFragmentHouseListRl.topEditIv.setVisibility(View.VISIBLE);
+        viewBinding.toolbarTopFragmentHouseListRl.topEditIv.setImageResource(R.drawable.editor_house);
         viewBinding.toolbarTopFragmentHouseListRl.topMoreIv.setVisibility(View.VISIBLE);
         viewBinding.toolbarTopFragmentHouseListRl.topMoreIv.setImageResource(R.drawable.add);
         LinearLayoutManager linearLayout = new LinearLayoutManager(_mActivity);
@@ -169,7 +234,7 @@
         if (HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL.equals(eventBus.getTopic())) {
             if (HDLUniMP.UNI_EVENT_REPLY_HOME_CREATION.equals(eventBus.getType())) {
                 //uin鍒涘缓鐢电珯鎴愬姛鍚庨�氱煡
-                updateUIData(false);
+                downReadData(false);
                 if (eventBus.getData() != null) {
                     Gson gson = new Gson();
                     String json = eventBus.getData().toString();
@@ -208,7 +273,7 @@
             if (MqttRecvClient.getInstance() != null) {
                 MqttRecvClient.getInstance().removeAllTopic();
             }
-            updateUIData(false);
+            downReadData(false);
 
         } else if (HDLUniMP.UNI_EVENT_REPLY_DEVICE_LIST.equals(eventBus.getType())) {
             //杩涘幓浣忓畢璇︽儏uni璇诲彇閫嗗彉鍣ㄥ垪琛ㄦ垚鍔熷悗閫氱煡
@@ -227,12 +292,24 @@
         }
     }
 
+
+    /**
+     * 璁剧疆鍏ㄩ儴缂撳瓨鏁版嵁缂栬緫鐘舵��
+     *
+     * @param edit true琛ㄧず鍦ㄧ紪杈戠姸鎬�
+     */
+    private void setAllItemEdit(boolean edit) {
+        for (int i = 0; i < houseListBeanIDList.size(); i++) {
+            houseListBeanIDList.get(i).setEdit(edit);
+        }
+    }
+
     /**
      * 鍒锋柊UI
      *
      * @param isRefreshing 琛ㄧず鏄笅鎷夊埛鏂扮殑
      */
-    private void updateUIData(boolean isRefreshing) {
+    private void downReadData(boolean isRefreshing) {
         //鑾峰彇浣忓畢(鐢电珯)ID鍒楄〃
         HdlResidenceLogic.getInstance().getResidenceIdList("", "", new CloudCallBeak<List<HouseIdBean>>() {
             @Override
@@ -248,8 +325,10 @@
                             //鏇存柊缂撳瓨
                             HdlResidenceLogic.getInstance().setHouseIdList(list);
                             if (houseInfoAdapter != null) {
+                                initData();
+                                setAllItemEdit(is_edit);
                                 //鏇存柊UI
-                                houseInfoAdapter.setList(list);
+                                houseInfoAdapter.setList(houseListBeanIDList);
                             }
 
                         }

--
Gitblit v1.8.0