wjc
2 天以前 db937c029a3f9dbaec86cbbc944ebbee3ece13be
app/src/main/java/com/hdl/photovoltaic/ui/newC/PowerStationsMoveActivity.java
@@ -2,6 +2,8 @@
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.view.View;
import androidx.recyclerview.widget.LinearLayoutManager;
@@ -13,12 +15,20 @@
import com.hdl.photovoltaic.config.ConstantManage;
import com.hdl.photovoltaic.databinding.ActivityPowerStationsMoveBinding;
import com.hdl.photovoltaic.enums.ShowErrorMode;
import com.hdl.photovoltaic.internet.HttpClient;
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.ui.bean.HouseIdBean;
import com.hdl.photovoltaic.ui.newC.adapter.HouseMoveAdapter;
import com.hdl.photovoltaic.uni.HDLUniMP;
import com.hdl.photovoltaic.widget.refreshlayout.BGARefreshLayout;
import com.hdl.photovoltaic.widget.refreshlayout.HDLRefreshViewHolder;
import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
import org.greenrobot.eventbus.Subscribe;
import org.greenrobot.eventbus.ThreadMode;
import java.util.ArrayList;
import java.util.List;
@@ -27,6 +37,8 @@
 * C端电站列表移动位置
 */
public class PowerStationsMoveActivity extends CustomBaseActivity {
    private Handler handler;
    private Runnable delayedRunnable;
    private ActivityPowerStationsMoveBinding viewBinding;//是否在编辑状态
    private HouseMoveAdapter houseMoveAdapter;
@@ -56,6 +68,53 @@
        this.houseListBeanIDList.addAll(HdlResidenceLogic.getInstance().getHouseIdList());
    }
    /**
     * 下拉刷新的逻辑
     */
    protected void pullToRefresh() {
        viewBinding.fragmentHouseSrl.setDelegate(new BGARefreshLayout.BGARefreshLayoutDelegate() {
            @Override
            public void onBGARefreshLayoutBeginRefreshing(BGARefreshLayout refreshLayout) {
                handler = new Handler(Looper.getMainLooper());
                delayedRunnable = new Runnable() {
                    @Override
                    public void run() {
                        viewBinding.fragmentHouseSrl.endRefreshing();
                        HdlResidenceLogic.getInstance().clearHouseList();
                        downReadData(false);
                    }
                };
                // 延迟 5 秒执行
                handler.postDelayed(delayedRunnable, 1000);
            }
            @Override
            public boolean onBGARefreshLayoutBeginLoadingMore(BGARefreshLayout refreshLayout) {
                handler = new Handler(Looper.getMainLooper());
                delayedRunnable = new Runnable() {
                    @Override
                    public void run() {
                        viewBinding.fragmentHouseSrl.endLoadingMore();
                    }
                };
                // 延迟 5 秒执行
                handler.postDelayed(delayedRunnable, 10);
                return true;
            }
        });
        HDLRefreshViewHolder hdlRefreshViewHolder = new HDLRefreshViewHolder(_mActivity, true);
        hdlRefreshViewHolder.setPullDownImageResource(R.mipmap.loading_44);
        hdlRefreshViewHolder.setChangeToReleaseRefreshAnimResId(R.drawable.loading_refresh);
        hdlRefreshViewHolder.setRefreshingAnimResId(R.drawable.loading_refresh_end);
        viewBinding.fragmentHouseSrl.setRefreshViewHolder(hdlRefreshViewHolder);
    }
    private void initEvent() {
        //返回按钮
        viewBinding.toolbarTopRl.topBackLl.setOnClickListener(new View.OnClickListener() {
@@ -65,17 +124,6 @@
            }
        });
        //设置下拉箭头颜色
        viewBinding.fragmentHouseSrl.setColorSchemeResources(R.color.text_FF245EC3);
        //列表下拉按钮
        viewBinding.fragmentHouseSrl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
            @Override
            public void onRefresh() {
                HdlResidenceLogic.getInstance().clearHouseList();
                downReadData(true);
            }
        });
        if (houseMoveAdapter != null) {
            //电站移动位置按钮
            houseMoveAdapter.setMoveOnclickListener(new HouseMoveAdapter.OnMoveClickListener() {
@@ -96,7 +144,9 @@
                            //移动电站位置
                            HdlResidenceLogic.getInstance().moveHouseId(houseIdBean.getHomeId());
                            initData();//初始化缓存数据
                            houseMoveAdapter.setList(houseListBeanIDList);//重新刷新列表
                            if (houseMoveAdapter != null) {
                                houseMoveAdapter.setList(houseListBeanIDList);//重新刷新列表
                            }
                            nullDataUpdateUi(houseListBeanIDList);//检测数据是否为空
                            //通知外面更新位置
                            HdlCommonLogic.getInstance().postEventBus(ConstantManage.REFRESH_HOME_LIST, ConstantManage.REFRESH_HOME_LIST);
@@ -125,6 +175,7 @@
        viewBinding.fragmentHouseSrlListRc.setAdapter(houseMoveAdapter);
        houseMoveAdapter.setList(this.houseListBeanIDList);
        this.nullDataUpdateUi(houseListBeanIDList);
        pullToRefresh();
    }
    /**
@@ -133,6 +184,10 @@
     * @param isRefreshing 表示是下拉刷新的
     */
    private void downReadData(boolean isRefreshing) {
        if (isRefreshing) {
            //关闭下拉刷新的圈圈
            showLoading();
        }
        //获取住宅(电站)ID列表
        HdlResidenceLogic.getInstance().getResidenceIdList("", "", new CloudCallBeak<List<HouseIdBean>>() {
            @Override
@@ -142,7 +197,7 @@
                    public void run() {
                        if (isRefreshing) {
                            //关闭下拉刷新的圈圈
                            viewBinding.fragmentHouseSrl.setRefreshing(false);
                            hideLoading();
                        }
                        if (list != null && list.size() > 0) {
                            //更新缓存
@@ -167,8 +222,9 @@
                    public void run() {
                        if (isRefreshing) {
                            //关闭下拉刷新的圈圈
                            viewBinding.fragmentHouseSrl.setRefreshing(false);
                            hideLoading();
                        }
                        HdlThreadLogic.toast(_mActivity, e.getMsg() + "(" + e.getCode() + ")");
                    }
                }, _mActivity, ShowErrorMode.YES);
@@ -183,5 +239,30 @@
        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);
    }
    @Override
    protected void onDestroy() {
        if (handler != null && delayedRunnable != null) {
            handler.removeCallbacks(delayedRunnable);
        }
        super.onDestroy();
    }
    /**
     * 收到EventBUs通知
     *
     * @param eventBus 数据
     */
    @Subscribe(threadMode = ThreadMode.MAIN)
    public void onEventMessage(BaseEventBus eventBus) {
        super.onEventMessage(eventBus);
        if (ConstantManage.REFRESH_HOME_LIST.equals(eventBus.getTopic())) {
            if (houseMoveAdapter != null) {
                initData();
                houseMoveAdapter.setList(houseListBeanIDList);
            }
            nullDataUpdateUi(houseListBeanIDList);//检测数据是否为空
        }
    }
}