wjc
6 天以前 da8d00e706afcff506848331ec0e58ea1ee58969
app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseAndDeviceFragment.java
@@ -9,7 +9,6 @@
import android.os.Bundle;
import android.provider.Settings;
import android.text.TextUtils;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
@@ -19,8 +18,6 @@
import androidx.annotation.NonNull;
import androidx.appcompat.content.res.AppCompatResources;
import androidx.recyclerview.widget.LinearLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import com.google.gson.Gson;
import com.hdl.linkpm.sdk.core.exception.HDLException;
@@ -57,9 +54,11 @@
import com.hdl.photovoltaic.utils.GPSManagerUtils;
import com.hdl.photovoltaic.utils.PermissionUtils;
import com.hdl.photovoltaic.utils.URLEncodingUtils;
import com.hdl.photovoltaic.widget.AddPowerStationDialog;
import com.hdl.photovoltaic.widget.ConfirmationCancelDialog;
import com.hdl.photovoltaic.widget.DefaultFilteringDialog;
import com.hdl.photovoltaic.widget.DelayedConfirmationCancelDialog;
import com.hdl.photovoltaic.widget.adapter.PowerStationDialogAdapter;
import com.hdl.photovoltaic.widget.refreshlayout.BGARefreshLayout;
import com.hdl.photovoltaic.widget.refreshlayout.HDLRefreshViewHolder;
import com.hdl.sdk.link.common.exception.HDLLinkException;
@@ -222,12 +221,26 @@
        viewBinding.addIv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                requestPermissions(new OnCallBeak() {
                AddPowerStationDialog addPowerStationDialog = new AddPowerStationDialog(_mActivity);
                addPowerStationDialog.show();
                addPowerStationDialog.setCanceledOnTouchOutside(true);
                addPowerStationDialog.setItemOnclickListener(new PowerStationDialogAdapter.OnclickListener() {
                    @Override
                    public void onClickCallBeak() {
//                        UserConfigManage.getInstance().setUniBottomSafeDistanceBackgroundColor(1);
//                        HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION, null);
                    public void onClick(int position, String str) {
                        addPowerStationDialog.dismiss();
                        UserConfigManage.getInstance().setUniBottomSafeDistanceBackgroundColor(1);
                        if (_mActivity.getString(R.string.simple_debugging).equals(str)) {
                            HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION_SIMPLE, null);
                        } else {
                            HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION, null);
                        }
//                        requestPermissions(new OnCallBeak() {
//                            @Override
//                            public void onClickCallBeak() {
////                        UserConfigManage.getInstance().setUniBottomSafeDistanceBackgroundColor(1);
////                        HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION, null);
//                            }
//                        });
                    }
                });
@@ -445,7 +458,7 @@
                        }
                        if (TextUtils.isEmpty(newGatewayBean.getGatewayId()) || TextUtils.isEmpty(newGatewayBean.getAesKey())) {
                            //这里只支持远程调试,远程拿不到mqtt通讯秘钥以及gatewayId;
                            HdlThreadLogic.toast(_mActivity, getString(R.string.Device_failed_to_certificate) + "(124004)");
                            HdlThreadLogic.toast(_mActivity, getString(R.string.device_failed_to_certificate) + "(124004)");
                            return;
                        }
                        String jsonEncryption = URLEncodingUtils.encodeURIComponent(new Gson().toJson(newGatewayBean));
@@ -592,15 +605,18 @@
            if (HDLUniMP.UNI_EVENT_REPLY_HOME_CREATION.equals(eventBus.getType())) {
                // 取消粘性事件
                EventBus.getDefault().removeStickyEvent(eventBus);
                //uin创建电站成功后通知
                loadNextPageHouseList(false, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue, 1, true);
                if (eventBus.getData() != null) {
                    Gson gson = new Gson();
                    String json = eventBus.getData().toString();
                    HouseIdBean houseIdBean = gson.fromJson(json, HouseIdBean.class);
                    HdlResidenceLogic.getInstance().switchHouse(houseIdBean, true);
                }
//                HdlLogLogic.print("进来了---11111" + eventBus.getData().toString());
//                //uin创建电站成功后通知
//                loadNextPageHouseList(false, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue, 1, true);
//                if (eventBus.getData() != null) {
//                    HdlLogLogic.print("进来了---" + eventBus.getData().toString());
//                    Gson gson = new Gson();
//                    String json = eventBus.getData().toString();
//                    HouseIdBean houseIdBean = gson.fromJson(json, HouseIdBean.class);
//                    HdlResidenceLogic.getInstance().switchHouse(houseIdBean, true);
//                    HdlLogLogic.print("进来了---结束" + eventBus.getData().toString());
//
//                }
            } else if (HDLUniMP.UNI_EVENT_REPLY_HOME_EDIT.equals(eventBus.getType())) {
                // 取消粘性事件
                EventBus.getDefault().removeStickyEvent(eventBus);
@@ -652,8 +668,8 @@
            }
            String homeId = eventBus.getData().toString();
            //进去住宅详情uni读取逆变器列表成功后通知
            for (int i = 0; i < HdlDeviceLogic.getInstance().getCurrentHomeGatewayList(homeId, null).size(); i++) {
                String gatewayId = HdlDeviceLogic.getInstance().getCurrentHomeGatewayList(homeId, null).get(i).getGatewayId();
            for (int i = 0; i < HdlDeviceLogic.getInstance().getCurrentHomeGatewayList(homeId).size(); i++) {
                String gatewayId = HdlDeviceLogic.getInstance().getCurrentHomeGatewayList(homeId).get(i).getGatewayId();
                //字符串是自己按规则拼接的,里面注册主题时会解析字符串,只拿getGatewayId()值;
                String topic = "/user/" + gatewayId + "/#";
                //进去住宅详情开始订阅主题
@@ -969,7 +985,7 @@
            @Override
            public void onSuccess(Boolean obj) {
                hideLoading();
                initializeInverter(list); //发起初始化指令给逆变器;(注意:只能是本地发送了(要搜索局域网逆变器列表,建立本地通讯通道),删除电站成功后,云端解绑逆变器的关系)
                initializeInverter(list); //发起初始化指令给逆变器;(注意:前面已先解绑云端逆变器,mqtt通道已断开,初始化只能是本地发送(先搜索局域网逆变器列表,建立本地通讯通道))
                HdlResidenceLogic.getInstance().delHouseId(homeId);//删除电站缓存
                initData();//初始化缓存数据
                houseInfoAdapter.setList(houseListBeanIDList, powerStationStatusValue);//重新刷新列表
@@ -1019,12 +1035,24 @@
        if (ary.length > 0) {
            this.requestPermissions(ary, PermissionUtils.STATUS_SUCCESS);
        } else {
            UserConfigManage.getInstance().setUniBottomSafeDistanceBackgroundColor(1);
            HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION, null);
            locationUpdates();
            AddPowerStationDialog addPowerStationDialog = new AddPowerStationDialog(_mActivity);
            addPowerStationDialog.show();
            addPowerStationDialog.setCanceledOnTouchOutside(true);
            addPowerStationDialog.setItemOnclickListener(new PowerStationDialogAdapter.OnclickListener() {
                @Override
                public void onClick(int position, String str) {
                    addPowerStationDialog.dismiss();
//                    UserConfigManage.getInstance().setCurrentAppLanguage(itemData.getLanguage());
//                    UserConfigManage.getInstance().Save();
                    UserConfigManage.getInstance().setUniBottomSafeDistanceBackgroundColor(1);
                    if (_mActivity.getString(R.string.simple_debugging).equals(str)) {
                        HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION_SIMPLE, null);
                    } else {
                        HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION, null);
                    }
                    locationUpdates();
                }
            });
        }
    }
@@ -1090,7 +1118,7 @@
                        // 执行任务(如更新UI、跳转等)
                        viewBinding.fragmentHouseSrl.endRefreshing();
                        //加载最新数据完成
                        loadNextPageHouseList(true, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue, 1, true);
                        loadNextPageHouseList(false, key, value, installedCapacityMinValue, installedCapacityMaxValue, screeningConditionStatus, powerStationStatusValue, 1, true);
                        getStatusOverview();
                    }
                }.execute();
@@ -1153,7 +1181,7 @@
                    @Override
                    protected void onPostExecute(Void aVoid) {
                        viewBinding.fragmentDeviceSrl.endRefreshing();
                        loadNextPageDeviceList(true, 1, true);
                        loadNextPageDeviceList(false, 1, true);
                    }
                }.execute();
            }