From 63b0ee228bf52e8e9c4d7fc51a1117543c9a67af Mon Sep 17 00:00:00 2001
From: 刘卫锦 <lwj@hdlchina.com.cn>
Date: 星期一, 03 七月 2023 19:02:40 +0800
Subject: [PATCH] Merge branch 'master' of http://172.16.1.23:6688/r/~wjc/HDLPhotovoltaicDebugAPP
---
app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java | 147 +++++++++++++++++++++++++++++++++++++++----------
1 files changed, 117 insertions(+), 30 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 781bb8a..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,39 +12,43 @@
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
@@ -72,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() {
+ }
+ });
+
}
});
//璁剧疆涓嬫媺绠ご棰滆壊
@@ -81,21 +97,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);
+ String path = HDLUniMP.UNI_EVENT_OPEN_HOME_DETAILS + "?homeId=" + houseIdBean.getHomeId();
HdlUniLogic.getInstance().openUniMP(path, null);
}
});
@@ -106,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);
@@ -114,26 +126,89 @@
}
private void initData() {
- this.houseListBeanList = new ArrayList<>();
+ this.houseListBeanIDList = new ArrayList<>();
// for (int i = 0; i < 11; i++) {
// HouseListBean houseListBean = new HouseListBean();
// houseListBean.setHomeName("鐢电珯" + i);
// this.houseListBeanList.add(houseListBean);
// }
- this.houseListBeanList.addAll(HdlResidenceLogic.getInstance().getHouseInfoBeanList());
+ 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();
+ }
}
}
@@ -143,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();
+ }
}
}
@@ -151,4 +228,14 @@
}
+ private PermissionsResultCallback mPermissionsResultCallback;
+
+ public interface PermissionsResultCallback {
+
+ void succeed();
+
+ void failing();
+
+ }
+
}
--
Gitblit v1.8.0