From 0077e2137a77e6e671e95529165e10b3ed1289bb Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期一, 25 十二月 2023 16:09:09 +0800 Subject: [PATCH] 2023年12月25日16:08:58 --- app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java | 84 +++++++++++++++++++++++++++++++----------- 1 files changed, 62 insertions(+), 22 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 e24ddaf..2d5e97f 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 @@ -2,9 +2,11 @@ import android.Manifest; import android.content.Context; +import android.content.Intent; import android.content.pm.PackageManager; import android.hardware.camera2.CameraManager; import android.os.Bundle; +import android.text.TextUtils; import android.view.View; import androidx.annotation.NonNull; @@ -14,10 +16,14 @@ 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.ShowErrorMode; import com.hdl.photovoltaic.listener.CloudCallBeak; +import com.hdl.photovoltaic.other.HdlCommonLogic; import com.hdl.photovoltaic.other.HdlDeviceLogic; import com.hdl.photovoltaic.other.HdlLogLogic; import com.hdl.photovoltaic.other.HdlResidenceLogic; @@ -25,6 +31,8 @@ import com.hdl.photovoltaic.other.HdlUniLogic; import com.hdl.photovoltaic.ui.adapter.HouseInfoAdapter; import com.hdl.photovoltaic.ui.bean.HouseIdBean; +import com.hdl.photovoltaic.ui.bean.HouseInfoBean; +import com.hdl.photovoltaic.ui.device.FastScanActivity; import com.hdl.photovoltaic.uni.HDLUniMP; import com.hdl.photovoltaic.utils.PermissionUtils; import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus; @@ -73,16 +81,19 @@ private void initEvent() { + + //娣诲姞鐢电珯 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() { - // 鎵撳紑灏忕▼搴忛〉闈� + +// Intent intent = new Intent(); +// intent.setClass(_mActivity, FastScanActivity.class); +// startActivity(intent); +// // 鎵撳紑灏忕▼搴忛〉闈� HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION, null); } @@ -108,11 +119,12 @@ //鐐瑰嚮浣忓畢璇︽儏 HdlLogLogic.print("鐐瑰嚮浣忓畢璇︽儏===" + new Gson().toJson(houseIdBean), false); HdlResidenceLogic.getInstance().switchHouse(houseIdBean); - String path = HDLUniMP.UNI_EVENT_OPEN_HOME_DETAILS + "?homeId=" + houseIdBean.getHomeId() + "&homeName=" + houseIdBean.getHomeName(); + String path = HDLUniMP.UNI_EVENT_OPEN_HOME_DETAILS + + "?homeId=" + houseIdBean.getHomeId() + + "&homeName=" + houseIdBean.getHomeName() + + "&powerStationStatus=" + houseIdBean.getPowerStationStatus() + + "&serverAddress=" + AppConfigManage.getUserRegionUrl(); HdlUniLogic.getInstance().openUniMP(path, null); - HdlLogLogic.print("鐐瑰嚮浣忓畢璇︽儏===1", true); - HdlLogLogic.print("鐐瑰嚮浣忓畢璇︽儏===2", true); - HdlLogLogic.print("鐐瑰嚮浣忓畢璇︽儏===3", true); } }); @@ -132,11 +144,6 @@ private void initData() { this.houseListBeanIDList = new ArrayList<>(); -// for (int i = 0; i < 11; i++) { -// HouseListBean houseListBean = new HouseListBean(); -// houseListBean.setHomeName("鐢电珯" + i); -// this.houseListBeanList.add(houseListBean); -// } this.houseListBeanIDList.addAll(HdlResidenceLogic.getInstance().getHouseIdList()); } @@ -148,14 +155,40 @@ @Override public void onEventMessage(BaseEventBus eventBus) { super.onEventMessage(eventBus); - if (HDLUniMP.UNI_EVENT_REPLY_HOME_CREATION.equals(eventBus.getType())) { - //uin鍒涘缓鐢电珯鎴愬姛鍚庨�氱煡 - updateUIData(false); - if (eventBus.getData() != null) { - Gson gson = new Gson(); - String json = eventBus.getData().toString(); - HouseIdBean houseIdBean = gson.fromJson(json, HouseIdBean.class); - HdlResidenceLogic.getInstance().switchHouse(houseIdBean); + if (HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL.equals(eventBus.getTopic())) { + if (HDLUniMP.UNI_EVENT_REPLY_HOME_CREATION.equals(eventBus.getType())) { + //uin鍒涘缓鐢电珯鎴愬姛鍚庨�氱煡 + updateUIData(false); + if (eventBus.getData() != null) { + Gson gson = new Gson(); + String json = eventBus.getData().toString(); + HouseIdBean houseIdBean = gson.fromJson(json, HouseIdBean.class); + HdlResidenceLogic.getInstance().switchHouse(houseIdBean); + + } + } else if (HDLUniMP.UNI_EVENT_REPLY_HOME_EDIT.equals(eventBus.getType())) { + //uin缂栬緫浣忓畢閫氱煡 + String homeId = HdlUniLogic.getInstance().getKeyValue("homeId", eventBus.getData()); + String home_name = HdlUniLogic.getInstance().getKeyValue("powerStationName", eventBus.getData()); + if (TextUtils.isEmpty(homeId) || TextUtils.isEmpty(home_name)) { + return; + } + int index = -1; + for (int i = 0; i < houseListBeanIDList.size(); i++) { + HouseIdBean houseIdBean = houseListBeanIDList.get(i); + if (houseIdBean.getHomeId().equals(homeId)) { + index = i; + houseIdBean.setHomeName(home_name); + break; + } + } + if (index > -1) { + if (houseInfoAdapter != null) { + //鏇存柊鍗曚釜鏁版嵁 + houseInfoAdapter.notifyItemChanged(index); + } + } + } } else if (HDLUniMP.UNI_EVENT_REPLY_HOME_CLOSE_HOME_DETAILS_PAGE.equals(eventBus.getType())) { @@ -171,6 +204,11 @@ //String topic = "/user/" + gatewayId+"/1"; //杩涘幓浣忓畢璇︽儏寮�濮嬭闃呬富棰� MqttRecvClient.getInstance().checkAndsubscribeAllTopics(""); + } + } else if (eventBus.getTopic().equals(ConstantManage.homepage_title_tab_switch)) { + //鎺ユ敹澶栭儴鐐瑰嚮浜嬩欢 + if (eventBus.getType().equals(HdlCommonLogic.HomepageTitleTabSwitch.powerstation.toString())) { + HdlLogLogic.print("姝e湪鐐瑰嚮銆愮數绔欍��"); } } } @@ -230,9 +268,10 @@ mPermissionsResultCallback = permissionsResultCallback; - //Manifest.permission.CAMERA, + String[] s = new String[]{ Manifest.permission.ACCESS_FINE_LOCATION, + Manifest.permission.CAMERA, }; String[] ary = PermissionUtils.checkPermission(_mActivity, s); if (ary.length > 0) { @@ -260,6 +299,7 @@ } + private PermissionsResultCallback mPermissionsResultCallback; public interface PermissionsResultCallback { -- Gitblit v1.8.0