From ce85ef39594b9ba6066751eda310468fb2bccbda Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期四, 12 六月 2025 15:11:12 +0800 Subject: [PATCH] 2025年06月12日15:11:09 --- app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsListActivity.java | 113 ++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 105 insertions(+), 8 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/PowerStationsListActivity.java similarity index 78% rename from app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsListEdit.java rename to app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsListActivity.java index af6c830..0c61f1e 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsListEdit.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsListActivity.java @@ -7,17 +7,12 @@ import android.os.Bundle; import android.os.Handler; import android.os.Looper; -import android.os.SystemClock; -import android.text.TextUtils; -import android.util.Log; 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.linkpm.sdk.user.HDLLinkPMUser; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.base.CustomBaseActivity; import com.hdl.photovoltaic.config.ConstantManage; @@ -26,8 +21,9 @@ import com.hdl.photovoltaic.enums.ShowErrorMode; import com.hdl.photovoltaic.internet.HttpClient; import com.hdl.photovoltaic.listener.CloudCallBeak; +import com.hdl.photovoltaic.listener.LinkCallBack; import com.hdl.photovoltaic.other.HdlCommonLogic; -import com.hdl.photovoltaic.other.HdlLogLogic; +import com.hdl.photovoltaic.other.HdlDeviceLogic; import com.hdl.photovoltaic.other.HdlResidenceLogic; import com.hdl.photovoltaic.other.HdlThreadLogic; import com.hdl.photovoltaic.other.HdlUniLogic; @@ -35,13 +31,15 @@ import com.hdl.photovoltaic.ui.device.ScanActivity; import com.hdl.photovoltaic.ui.newC.adapter.HouseListAdapter; import com.hdl.photovoltaic.uni.HDLUniMP; -import com.hdl.photovoltaic.utils.LocalManageUtil; import com.hdl.photovoltaic.utils.PermissionUtils; import com.hdl.photovoltaic.widget.ConfirmationCancelDialog; +import com.hdl.photovoltaic.widget.DelayedConfirmationCancelDialog; import com.hdl.photovoltaic.widget.PermissionExplanationDialog; import com.hdl.photovoltaic.widget.refreshlayout.BGARefreshLayout; import com.hdl.photovoltaic.widget.refreshlayout.HDLRefreshViewHolder; +import com.hdl.sdk.link.common.exception.HDLLinkException; import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus; +import com.hdl.sdk.link.core.bean.gateway.GatewayBean; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; @@ -53,7 +51,7 @@ /** * C绔數绔欏垪琛ㄧ紪杈� */ -public class PowerStationsListEdit extends CustomBaseActivity { +public class PowerStationsListActivity extends CustomBaseActivity { private Handler handler; private Runnable delayedRunnable; private ActivityPowerStationsListBinding viewBinding;//鏄惁鍦ㄧ紪杈戠姸鎬� @@ -108,6 +106,7 @@ }); if (houseListAdapter != null) { + //閫変腑鐢电珯浜嬩欢 houseListAdapter.setOnItemClickListener(new HouseListAdapter.OnItemClickListener() { @Override public void onItemClick(int position, HouseIdBean houseBean) { @@ -122,6 +121,47 @@ return; } houseSelectionDialog(houseBean); + } + }); + //鍒犻櫎鐢电珯浜嬩欢 + houseListAdapter.setDelOnclickListener(new HouseListAdapter.OnDelClickListener() { + @Override + public void onDelClick(int position, HouseIdBean houseIdBean) { + DelayedConfirmationCancelDialog delayedConfirmationCancelDialog = new DelayedConfirmationCancelDialog(_mActivity); + delayedConfirmationCancelDialog.show(); + delayedConfirmationCancelDialog.isHideTitle(true); + String homeName = "\"" + houseIdBean.getHomeName() + "\""; + delayedConfirmationCancelDialog.setContent(getString(R.string.delete_power_station).replace("%s", homeName)); + +// delayedConfirmationCancelDialog.startCountdown(4); + delayedConfirmationCancelDialog.setYesOnclickListener(new DelayedConfirmationCancelDialog.onYesOnclickListener() { + @Override + public void Confirm() { + delayedConfirmationCancelDialog.dismiss(); + showLoading(getString(R.string.deleting_please_wait)); + HdlDeviceLogic.getInstance().getCurrentHomeLocalAndCloudGatewayList(houseIdBean.getHomeId(), new CloudCallBeak<List<GatewayBean>>() { + @Override + public void onSuccess(List<GatewayBean> list) { + //鍙戣捣鍒犻櫎鐢电珯鎸囦护 + deleteResidence(houseIdBean.getHomeId(), list); + + } + + @Override + public void onFailure(HDLException e) { + //鍙戣捣鍒犻櫎鐢电珯鎸囦护 + deleteResidence(houseIdBean.getHomeId(), null); + } + }); + + } + }); + delayedConfirmationCancelDialog.setNoOnclickListener(new DelayedConfirmationCancelDialog.onNoOnclickListener() { + @Override + public void Cancel() { + delayedConfirmationCancelDialog.dismiss(); + } + }); } }); } @@ -356,6 +396,63 @@ }); } + /** + * 鍒犻櫎鐢电珯 + * + * @param homeId 鐢电珯id + * @param list 閫嗗彉鍣ㄥ垪琛� + */ + private void deleteResidence(String homeId, List<GatewayBean> list) { + + //鍒犻櫎浣忓畢 + HdlResidenceLogic.getInstance().delResidence(homeId, new CloudCallBeak<Boolean>() { + @Override + public void onSuccess(Boolean obj) { + hideLoading(); + initializeInverter(list); //鍙戣捣鍒濆鍖栨寚浠ょ粰閫嗗彉鍣�;锛堟敞鎰�:鍓嶉潰宸插厛瑙g粦浜戠閫嗗彉鍣紝mqtt閫氶亾宸叉柇寮�锛屽垵濮嬪寲鍙兘鏄湰鍦板彂閫�(鍏堟悳绱㈠眬鍩熺綉閫嗗彉鍣ㄥ垪琛紝寤虹珛鏈湴閫氳閫氶亾)锛� + HdlResidenceLogic.getInstance().delHouseId(homeId);//鍒犻櫎鐢电珯缂撳瓨 + initData();//鍒濆鍖栫紦瀛樻暟鎹� + refreshDetails(); + //鏇存柊鐢电珯閫変腑鐘舵�� + setSelectState(); + houseListAdapter.setList(houseListBeanIDList); //鏇存柊鍒楄〃鏁版嵁 + nullDataUpdateUi(houseListBeanIDList);//妫�娴嬫暟鎹槸鍚︿负绌� + } + + @Override + public void onFailure(HDLException e) { + hideLoading(); + HdlThreadLogic.toast(_mActivity, e); + } + }); + } + + /** + * 鍒犻櫎鐢电珯,閫嗗彉鍣� + * (寮�濮嬪垹闄ょ數绔欙紝鍚屾椂锛屽悜閫嗗彉鍣ㄥ彂閫佸垵濮嬪寲閫嗗彉鍣ㄦ寚浠�,鏃犻』澶勭悊缁撴灉) + * + * @param list 璁惧鍒楄〃 + */ + private void initializeInverter(List<GatewayBean> list) { + if (list == null || list.size() == 0) { + return; + } + for (int i = 0; i < list.size(); i++) { + GatewayBean gatewayBean = list.get(i); + HdlDeviceLogic.getInstance().initializeInverter(gatewayBean.getDevice_mac(), new LinkCallBack<Boolean>() { + @Override + public void onSuccess(Boolean obj) { +// HdlLogLogic.print("鍒濆鍖栭�嗗彉鍣ㄦ垚鍔�-->mac:" + cloudInverterDeviceBean.getOsn(),true); + } + + @Override + public void onError(HDLLinkException e) { +// HdlLogLogic.print("鍒濆鍖栭�嗗彉鍣ㄥけ璐�-->mac:" + cloudInverterDeviceBean.getOsn(),true); + } + }); + } + } + /** * 鏀跺埌EventBUs閫氱煡 -- Gitblit v1.8.0