From 5d320cd16c9fc2b45d0b9cbd7225febf42489f9e Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期一, 03 七月 2023 18:56:11 +0800
Subject: [PATCH] 2023年07月03日18:56:09
---
app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java | 157 +++++++++++++++++++++++++++++++++++++++++++---------
1 files changed, 130 insertions(+), 27 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 17a4e7e..79b5f4e 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,37 +12,44 @@
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.HdlDeviceLogic;
+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.CloudInverterDeviceBean;
+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
public Object getContentView() {
@@ -69,8 +75,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() {
+ }
+ });
+
}
});
//璁剧疆涓嬫媺绠ご棰滆壊
@@ -78,9 +97,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);
}
});
}
@@ -90,7 +118,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);
@@ -98,25 +126,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();
+ }
}
}
@@ -126,7 +218,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();
+ }
}
}
@@ -134,5 +228,14 @@
}
+ private PermissionsResultCallback mPermissionsResultCallback;
+
+ public interface PermissionsResultCallback {
+
+ void succeed();
+
+ void failing();
+
+ }
}
--
Gitblit v1.8.0