From 14de918a79943e4961b09fa01ed320c6cad41f2e Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期三, 28 六月 2023 17:14:51 +0800 Subject: [PATCH] Revert "Revert "Merge branch 'hxb' into wjc"" --- app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java | 152 +++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 119 insertions(+), 33 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 fdff614..bd3064f 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 @@ -5,7 +5,6 @@ import android.content.pm.PackageManager; import android.hardware.camera2.CameraManager; import android.os.Bundle; -import android.os.SystemClock; import android.util.Log; import android.view.View; @@ -13,38 +12,41 @@ import androidx.recyclerview.widget.LinearLayoutManager; import androidx.swiperefreshlayout.widget.SwipeRefreshLayout; -import com.google.gson.Gson; -import com.google.gson.JsonObject; import com.hdl.photovoltaic.R; +import com.hdl.photovoltaic.bean.BaseEventBus; +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.databinding.LoadingConfirmInputBinding; +import com.hdl.photovoltaic.enums.ShowErrorMode; +import com.hdl.photovoltaic.listener.CloudCallBeak; import com.hdl.photovoltaic.other.HdlLogLogic; +import com.hdl.photovoltaic.other.HdlResidenceLogic; import com.hdl.photovoltaic.other.HdlThreadLogic; import com.hdl.photovoltaic.other.HdlUniLogic; import com.hdl.photovoltaic.ui.adapter.HouseInfoAdapter; -import com.hdl.photovoltaic.ui.bean.HouseListBean; -import com.hdl.photovoltaic.ui.device.FastScanActivity; +import com.hdl.photovoltaic.ui.bean.HouseIdBean; import com.hdl.photovoltaic.uni.HDLUniMP; -import com.hdl.photovoltaic.uni.HDLUniMPSDKManager; import com.hdl.photovoltaic.utils.PermissionUtils; -import com.hdl.photovoltaic.widget.ConfirmationInputDialog; - -import org.json.JSONException; -import org.json.JSONObject; import java.util.ArrayList; import java.util.List; -import io.dcloud.feature.unimp.DCUniMPJSCallback; - public class HouseListFragment extends CustomBaseFragment { + + public static final String SORT_TYPE_1 = "powerSort";//鍙戠數鍔熺巼鎺掑簭 + public static final String SORT_TYPE_2 = "todayElectricitySort";//浠婃棩鍙戠數閲忔帓搴� + public static final String SORT_TYPE_3 = "createTimeSort";//鍒涘缓鏃堕棿鎺掑簭 + public static final String DESCENDING = "descending";//闄嶅簭 + public static final String ASCENDING = "ascending";//鍗囧簭 + public static final String SELECTED_SORT_TYPE = SORT_TYPE_1; + public static final String SELECTED_SORT = DESCENDING; + private FragmentHouseListBinding viewBinding; private HouseInfoAdapter houseInfoAdapter; private CameraManager manager; - private List<HouseListBean> houseListBeanList = null; + private List<HouseIdBean> houseListBeanIDList = null; @Override @@ -71,8 +73,21 @@ viewBinding.toolbarTopFragmentHouseListRl.topMoreIv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { + // 鎵撳紑灏忕▼搴忛〉闈� - HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_HOME_CREATION, null); +// HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION, null); + requestPermissions(new PermissionsResultCallback() { + @Override + public void succeed() { + // 鎵撳紑灏忕▼搴忛〉闈� + HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION, null); + } + + @Override + public void failing() { + } + }); + } }); //璁剧疆涓嬫媺绠ご棰滆壊 @@ -80,21 +95,17 @@ viewBinding.fragmentHouseSrl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { - - viewBinding.fragmentHouseSrl.setRefreshing(false); + updateUIData(true); Log.d("HouseListFragment", "涓嬫媺鍒锋柊"); } }); houseInfoAdapter.setNoOnclickListener(new HouseInfoAdapter.OnclickListener() { @Override - public void onClick(int position) { + public void onClick(int position, HouseIdBean houseIdBean) { //鐐瑰嚮浣忓畢璇︽儏 HdlLogLogic.print("====鐐瑰嚮浣忓畢璇︽儏" + position); - if (houseListBeanList == null || houseListBeanList.size() <= 0) { - return; - } - HouseListBean houseListBean = houseListBeanList.get(position); - String path = HDLUniMP.UNI_EVENT_HOME_CREATION + "?homeId=" + houseListBean.getHomeId(); + HdlResidenceLogic.getInstance().switchHouse(houseIdBean.getHomeId()); + String path = HDLUniMP.UNI_EVENT_OPEN_HOME_DETAILS + "?homeId=" + houseIdBean.getHomeId(); HdlUniLogic.getInstance().openUniMP(path, null); } }); @@ -105,7 +116,7 @@ viewBinding.toolbarTopFragmentHouseListRl.topMoreIv.setVisibility(View.VISIBLE); viewBinding.toolbarTopFragmentHouseListRl.topMoreIv.setImageResource(R.drawable.add); LinearLayoutManager linearLayout = new LinearLayoutManager(_mActivity); - houseInfoAdapter = new HouseInfoAdapter(this.houseListBeanList); + houseInfoAdapter = new HouseInfoAdapter(this.houseListBeanIDList); viewBinding.fragmentHouseSrlListRc.setLayoutManager(linearLayout); viewBinding.fragmentHouseSrlListRc.setAdapter(houseInfoAdapter); @@ -113,25 +124,89 @@ } private void initData() { - this.houseListBeanList = new ArrayList<>(); - for (int i = 0; i < 11; i++) { - HouseListBean houseListBean = new HouseListBean(); - houseListBean.setHomeName("鐢电珯" + i); - this.houseListBeanList.add(houseListBean); + 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()); + } + + @Override + public void onEventMessage(BaseEventBus eventBus) { + super.onEventMessage(eventBus); + //鏀跺埌EventBUs閫氱煡 + if (ConstantManage.EVENTBUS_POST_HOME_CREATED.equals(eventBus.getType())) { + updateUIData(false); } + } + /** + * 鍒锋柊UI + * + * @param isRefreshing 琛ㄧず鏄笅鎷夊埛鏂扮殑 + */ + private void updateUIData(boolean isRefreshing) { + //鑾峰彇浣忓畢(鐢电珯)ID鍒楄〃 + HdlResidenceLogic.getInstance().getResidenceIdList("", "", new CloudCallBeak<List<HouseIdBean>>() { + @Override + public void onSuccess(List<HouseIdBean> list) { + HdlThreadLogic.runMainThread(new Runnable() { + @Override + public void run() { + if (isRefreshing) { + //鍏抽棴涓嬫媺鍒锋柊鐨勫湀鍦� + viewBinding.fragmentHouseSrl.setRefreshing(false); + } + if (list != null && list.size() > 0) { + //鏇存柊缂撳瓨 + HdlResidenceLogic.getInstance().setHouseIdList(list); + if (houseInfoAdapter != null) { + //鏇存柊UI + houseInfoAdapter.setList(list); + houseInfoAdapter.notifyDataSetChanged(); + } + } + } + }, _mActivity, ShowErrorMode.YES); + } + + @Override + public void onFailure(Exception exception) { + HdlThreadLogic.runMainThread(new Runnable() { + @Override + public void run() { + if (isRefreshing) { + //鍏抽棴涓嬫媺鍒锋柊鐨勫湀鍦� + viewBinding.fragmentHouseSrl.setRefreshing(false); + } + + } + }, _mActivity, ShowErrorMode.YES); + } + }); } /** * 鐢宠鏉冮檺 */ - private void requestPermissions() { - String[] ary = PermissionUtils.checkPermission(_mActivity, new String[]{Manifest.permission.CAMERA}); + private void requestPermissions(PermissionsResultCallback permissionsResultCallback) { + + + mPermissionsResultCallback = permissionsResultCallback; + //Manifest.permission.CAMERA, + String[] s = new String[]{ + Manifest.permission.ACCESS_FINE_LOCATION, + }; + String[] ary = PermissionUtils.checkPermission(_mActivity, s); if (ary.length > 0) { requestPermissions(ary, PermissionUtils.STATUS_SUCCESS); } else { - startActivity(FastScanActivity.class); + if (mPermissionsResultCallback != null) { + mPermissionsResultCallback.succeed(); + } } } @@ -141,7 +216,9 @@ if (requestCode == PermissionUtils.STATUS_SUCCESS) { for (int i = 0; i < permissions.length; i++) { if (grantResults[i] == PackageManager.PERMISSION_GRANTED) { - startActivity(FastScanActivity.class); + if (mPermissionsResultCallback != null) { + mPermissionsResultCallback.succeed(); + } } } @@ -149,5 +226,14 @@ } + private PermissionsResultCallback mPermissionsResultCallback; + + public interface PermissionsResultCallback { + + void succeed(); + + void failing(); + + } } -- Gitblit v1.8.0