From 4e59e31d1eff03798eabae43e3062be9fe61218c Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期四, 29 六月 2023 17:55:34 +0800
Subject: [PATCH] 2023年06月29日17:55:11
---
app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java | 199 +++++++++++++++++++++++++++++++++++--------------
1 files changed, 140 insertions(+), 59 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 45b0636..7ae93a2 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
@@ -1,10 +1,10 @@
package com.hdl.photovoltaic.ui.powerstation;
+import android.Manifest;
import android.content.Context;
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;
@@ -12,34 +12,42 @@
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.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
public Object getContentView() {
@@ -60,50 +68,25 @@
}
-
private void initEvent() {
viewBinding.toolbarTopFragmentHouseListRl.topMoreIv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- String path = "pages/powerStationDetail/index";
-// HDLUniMP.UNI_PATH_MILLIMETER;//鍘熺敓閫氱煡灏忕▼搴忓湴鍧�
- HDLUniMP.UniCallBackBaseBean uniCallBackBaseBean = new HDLUniMP.UniCallBackBaseBean();
- uniCallBackBaseBean.setType(HDLUniMP.UNI_EVENT_HOME_DETAILS);
- JSONObject json = uniCallBackBaseBean.getJSONObject(uniCallBackBaseBean);
-// HDLUniMPSDKManager.getInstance().openUniMP(HDLUniMP.UNI_APP_ID, path, json, new HDLUniMPSDKManager.IOnOtherUniMPEventCallBack() {
-// @Override
-// public void onOtherUniMPEventReceive(String appid, String event, Object data, DCUniMPJSCallback callback) {
-//
-// }
-// });
-//
-// HdlThreadLogic.runThread(new Runnable() {
-// @Override
-// public void run() {
-// SystemClock.sleep(3000);
-// HDLUniMPSDKManager.getInstance().sendUniMPEvent(HDLUniMP.UNI_APP_ID, "2342", "764574574");
-//
-// }
-// }, null, 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);
+ }
-
-// String[] ary = PermissionUtils.checkPermission(_mActivity, new String[]{Manifest.permission.CAMERA});
-// if (ary.length > 0) {
-// requestPermissions(ary, PermissionUtils.STATUS_SUCCESS);
-// } else {
-// startActivity(FastScanActivity.class);
-// }
-
-// ConfirmationInputDialog confirmationInputDialog =new ConfirmationInputDialog(_mActivity);
-// confirmationInputDialog.show();
-// confirmationInputDialog.setNoOnclickListener(new ConfirmationInputDialog.onNoOnclickListener() {
-// @Override
-// public void Cancel() {
-// confirmationInputDialog.dismiss();
-// }
-// });
+ @Override
+ public void failing() {
+ }
+ });
}
});
@@ -112,9 +95,18 @@
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, HouseIdBean houseIdBean) {
+ //鐐瑰嚮浣忓畢璇︽儏
+ HdlLogLogic.print("====鐐瑰嚮浣忓畢璇︽儏" + position);
+ HdlResidenceLogic.getInstance().switchHouse(houseIdBean);
+ String path = HDLUniMP.UNI_EVENT_OPEN_HOME_DETAILS + "?homeId=" + houseIdBean.getHomeId();
+ HdlUniLogic.getInstance().openUniMP(path, null);
}
});
}
@@ -124,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);
@@ -132,14 +124,90 @@
}
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(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 {
+ if (mPermissionsResultCallback != null) {
+ mPermissionsResultCallback.succeed();
+ }
+ }
}
@Override
@@ -148,11 +216,24 @@
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();
+ }
}
}
}
}
+
+ private PermissionsResultCallback mPermissionsResultCallback;
+
+ public interface PermissionsResultCallback {
+
+ void succeed();
+
+ void failing();
+
+ }
+
}
--
Gitblit v1.8.0