From 0b6f27a6aeeb6eb3d5ee55b500797875c2bd5d2c Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期二, 12 三月 2024 21:08:03 +0800
Subject: [PATCH] 2024年03月12日21:07:52

---
 app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsListEdit.java |  117 ++++++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 100 insertions(+), 17 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsListEdit.java b/app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsListEdit.java
index 3b48abb..e9ebde6 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsListEdit.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsListEdit.java
@@ -1,23 +1,35 @@
 package com.hdl.photovoltaic.ui.newC;
 
 
+import android.content.Intent;
 import android.os.Bundle;
 import android.view.View;
 
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
 
+import com.google.gson.JsonObject;
 import com.hdl.linkpm.sdk.core.exception.HDLException;
+import com.hdl.photovoltaic.HDLApp;
 import com.hdl.photovoltaic.R;
 import com.hdl.photovoltaic.base.CustomBaseActivity;
+import com.hdl.photovoltaic.config.UserConfigManage;
 import com.hdl.photovoltaic.databinding.ActivityPowerStationsListBinding;
 import com.hdl.photovoltaic.enums.ShowErrorMode;
 import com.hdl.photovoltaic.listener.CloudCallBeak;
 import com.hdl.photovoltaic.other.HdlCommonLogic;
 import com.hdl.photovoltaic.other.HdlResidenceLogic;
 import com.hdl.photovoltaic.other.HdlThreadLogic;
+import com.hdl.photovoltaic.other.HdlUniLogic;
+import com.hdl.photovoltaic.ui.CPowerStationActivity;
+import com.hdl.photovoltaic.ui.StartActivity;
+import com.hdl.photovoltaic.ui.adapter.LanguageAdapter;
 import com.hdl.photovoltaic.ui.bean.HouseIdBean;
 import com.hdl.photovoltaic.ui.newC.adapter.HouseListAdapter;
+import com.hdl.photovoltaic.uni.HDLUniMP;
+import com.hdl.photovoltaic.uni.HDLUniMPSDKManager;
+import com.hdl.photovoltaic.utils.AppManagerUtils;
+import com.hdl.photovoltaic.widget.ConfirmationCancelDialog;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -55,6 +67,7 @@
     private void initData() {
         this.houseListBeanIDList = new ArrayList<>();
         this.houseListBeanIDList.addAll(HdlResidenceLogic.getInstance().getHouseIdList());
+        setAllItemEdit(false);
     }
 
     private void initEvent() {
@@ -99,26 +112,48 @@
         });
         if (houseListAdapter != null) {
             //鐢电珯绉诲姩浣嶇疆鎸夐挳
-            houseListAdapter.setNoOnclickListener(new HouseListAdapter.OnClickListener() {
+            houseListAdapter.setMoveOnclickListener(new HouseListAdapter.OnMoveClickListener() {
                 @Override
                 public void onMoveClick(int position, HouseIdBean houseIdBean) {
-//                HdlResidenceLogic.getInstance().delResidence(houseIdBean.getHomeId(), new CloudCallBeak<Boolean>() {
-//                    @Override
-//                    public void onSuccess(Boolean obj) {
-                    //绉诲姩鐢电珯浣嶇疆
-                    HdlResidenceLogic.getInstance().moveHouseId(houseIdBean.getHomeId());
-                    initData();//鍒濆鍖栫紦瀛樻暟鎹�
-                    houseListAdapter.setList(houseListBeanIDList);//閲嶆柊鍒锋柊鍒楄〃
-                    nullDataUpdateUi(houseListBeanIDList);//妫�娴嬫暟鎹槸鍚︿负绌�
-//                    }
-//
-//                    @Override
-//                    public void onFailure(HDLException e) {
-//                        HdlThreadLogic.toast(_mActivity, e);
-//                    }
-//                });
+                    String frontHomeId = "";
+                    if (position > 0) {
+                        frontHomeId = houseListBeanIDList.get(position - 1).getHomeId();
+                    }
+                    HdlResidenceLogic.getInstance().moveResidence(houseIdBean.getHomeId(), frontHomeId, new CloudCallBeak<Boolean>() {
+                        @Override
+                        public void onSuccess(Boolean obj) {
+                            //绉诲姩鐢电珯浣嶇疆
+                            HdlResidenceLogic.getInstance().moveHouseId(houseIdBean.getHomeId());
+                            initData();//鍒濆鍖栫紦瀛樻暟鎹�
+                            houseListAdapter.setList(houseListBeanIDList);//閲嶆柊鍒锋柊鍒楄〃
+                            nullDataUpdateUi(houseListBeanIDList);//妫�娴嬫暟鎹槸鍚︿负绌�
+                        }
+
+                        @Override
+                        public void onFailure(HDLException e) {
+                            HdlThreadLogic.toast(_mActivity, e);
+                        }
+                    });
+
                 }
             });
+            houseListAdapter.setOnItemClickListener(new HouseListAdapter.OnItemClickListener() {
+                @Override
+                public void onItemClick(int position, HouseIdBean houseBean) {
+                    for (int i = 0; i < houseListBeanIDList.size(); i++) {
+                        HouseIdBean houseIdBean = houseListBeanIDList.get(i);
+                        houseIdBean.setState_select(false);
+                    }
+                    houseListBeanIDList.get(position).setState_select(true);
+                    houseListAdapter.notifyDataSetChanged();
+                    if (UserConfigManage.getInstance().getHomeId().equals(houseBean.getHomeId())) {
+                        //鍚屼竴涓笉鎵ц寮圭獥
+                        return;
+                    }
+                    houseSelectionDialog(houseBean);
+                }
+            });
+
         }
 
     }
@@ -195,7 +230,11 @@
      */
     private void setAllItemEdit(boolean edit) {
         for (int i = 0; i < houseListBeanIDList.size(); i++) {
-            houseListBeanIDList.get(i).setEdit(edit);
+            houseListBeanIDList.get(i).setMove(edit);
+            houseListBeanIDList.get(i).setDelIcon(false);
+            if (UserConfigManage.getInstance().getHomeId().equals(houseListBeanIDList.get(i).getHomeId())) {
+                this.houseListBeanIDList.get(i).setState_select(!edit);
+            }
         }
     }
 
@@ -205,4 +244,48 @@
     private void nullDataUpdateUi(List<HouseIdBean> list) {
         HdlCommonLogic.getInstance().nullDataUpdateUi(_mActivity, viewBinding.nullDataIc.getRoot(), viewBinding.nullDataIc.nullDataGifAnimationIv, viewBinding.nullDataIc.nullDataTv, getString(R.string.my_power_station_data_null), list != null && list.size() > 0);
     }
+
+    /**
+     * 浜屾纭鎻愮ず妗�
+     *
+     * @param houseIdBean 閫変腑鏁版嵁
+     */
+    private void houseSelectionDialog(HouseIdBean houseIdBean) {
+        ConfirmationCancelDialog dialog = new ConfirmationCancelDialog(this);
+        dialog.setTitle(getString(R.string.loading_title_tip));
+        dialog.setContent(getString(R.string.switch_power_station).replace("%s", "\"" + houseIdBean.getHomeName() + "\""));
+        dialog.show();
+        dialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() {
+            @Override
+            public void Confirm() {
+                UserConfigManage.getInstance().setHomeId(houseIdBean.getHomeId());
+                UserConfigManage.getInstance().Save();
+                dialog.dismiss();
+                JsonObject jsonObject = new JsonObject();
+                jsonObject.addProperty("homeId", houseIdBean.getHomeId());
+                jsonObject.addProperty("homeName", houseIdBean.getHomeName());
+                jsonObject.addProperty("powerStationStatus", houseIdBean.getPowerStationStatus());
+                HDLUniMP.UniCallBackBaseBean uniCallBackBaseBean = new HDLUniMP.UniCallBackBaseBean();
+                uniCallBackBaseBean.setType(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_REFRESH_DETAILS);
+                uniCallBackBaseBean.setData(jsonObject);
+                HdlUniLogic.getInstance().sendUni(HDLUniMP.UNI_EVENT_NOTIFICATION_DEVICE_MODEL, uniCallBackBaseBean);
+                finish();
+
+//                //todo 閫昏緫: 杩欓噷鍙互鎸囧畾鍏抽棴灏忕▼搴忚鎯咃紝鐒跺悗鍐嶉噸鏂版墦寮�璇︽儏鐣岄潰;
+//                String path = HDLUniMP.UNI_EVENT_OPEN_HOME_DETAILS_C
+//                        + "?homeId=" + houseIdBean.getHomeId()
+//                        + "&homeName=" + houseIdBean.getHomeName()
+//                        + "&powerStationStatus=" + houseIdBean.getPowerStationStatus();
+//                HdlUniLogic.getInstance().openUniMP(path, null);
+
+            }
+        });
+        dialog.setNoOnclickListener(new ConfirmationCancelDialog.onNoOnclickListener() {
+            @Override
+            public void Cancel() {
+                houseListAdapter.notifyDataSetChanged();
+                dialog.dismiss();
+            }
+        });
+    }
 }
\ No newline at end of file

--
Gitblit v1.8.0