From da8bb15e0d0293d373071b44b89f2b953ecc0830 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期二, 27 六月 2023 11:00:37 +0800
Subject: [PATCH] 2023年06月27日11:00:19
---
/dev/null | 17 -
app/src/main/java/com/hdl/photovoltaic/internet/HttpClient.java | 1
app/src/main/java/com/hdl/photovoltaic/ui/StartActivity.java | 7
app/src/main/java/com/hdl/photovoltaic/config/UserConfigManage.java | 9
app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java | 270 ++++++++++++++++++++++++++-
app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java | 42 ++++
app/src/main/java/com/hdl/photovoltaic/HDLApp.java | 6
app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java | 75 ++++++
app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java | 82 ++-----
app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java | 43 +++
app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseInfoBean.java | 43 ---
11 files changed, 459 insertions(+), 136 deletions(-)
diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml
deleted file mode 100644
index d549df4..0000000
--- a/.idea/deploymentTargetDropDown.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project version="4">
- <component name="deploymentTargetDropDown">
- <runningDeviceTargetSelectedWithDropDown>
- <Target>
- <type value="RUNNING_DEVICE_TARGET" />
- <deviceKey>
- <Key>
- <type value="SERIAL_NUMBER" />
- <value value="2ffc9a07" />
- </Key>
- </deviceKey>
- </Target>
- </runningDeviceTargetSelectedWithDropDown>
- <timeTargetWasSelectedWithDropDown value="2023-06-26T02:32:08.398530Z" />
- </component>
-</project>
\ No newline at end of file
diff --git a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
index e3cf84d..6ee13bb 100644
--- a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
+++ b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
@@ -1,12 +1,17 @@
package com.hdl.photovoltaic;
+import android.Manifest;
import android.app.Application;
+import android.content.pm.PackageManager;
+
+import androidx.annotation.NonNull;
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.hdl.photovoltaic.other.HdlLogLogic;
import com.hdl.photovoltaic.uni.HDLUniMPSDKManager;
+import com.hdl.photovoltaic.utils.PermissionUtils;
import com.hdl.photovoltaic.utils.SharedPreUtils;
import java.util.HashMap;
@@ -94,4 +99,5 @@
}
+
}
diff --git a/app/src/main/java/com/hdl/photovoltaic/config/UserConfigManage.java b/app/src/main/java/com/hdl/photovoltaic/config/UserConfigManage.java
index d45942c..b260bc2 100644
--- a/app/src/main/java/com/hdl/photovoltaic/config/UserConfigManage.java
+++ b/app/src/main/java/com/hdl/photovoltaic/config/UserConfigManage.java
@@ -7,6 +7,7 @@
import com.hdl.photovoltaic.other.HdlFileLogic;
import com.hdl.photovoltaic.other.HdlLogLogic;
import com.hdl.photovoltaic.other.HdlResidenceLogic;
+import com.hdl.photovoltaic.ui.bean.HouseInfoBean;
import com.hdl.photovoltaic.ui.bean.HouseListBean;
import java.util.ArrayList;
@@ -159,18 +160,18 @@
/**
* 褰撳墠浣忓畢
*/
- private HouseListBean m_Home = null;
+ private HouseInfoBean m_Home = null;
/**
* 褰撳墠浣忓畢
*/
- public HouseListBean home() {
+ public HouseInfoBean home() {
if (m_Home != null) {
return m_Home;
}
- m_Home = HdlResidenceLogic.getInstance().getHouseByHouseId(homeId);
+ m_Home = HdlResidenceLogic.getInstance().getHouse(homeId);
if (m_Home == null) {
- m_Home = new HouseListBean();
+ m_Home = new HouseInfoBean();
}
return m_Home;
}
diff --git a/app/src/main/java/com/hdl/photovoltaic/internet/HttpClient.java b/app/src/main/java/com/hdl/photovoltaic/internet/HttpClient.java
index d8fce79..2e66b6f 100644
--- a/app/src/main/java/com/hdl/photovoltaic/internet/HttpClient.java
+++ b/app/src/main/java/com/hdl/photovoltaic/internet/HttpClient.java
@@ -86,7 +86,6 @@
@Override
public void run() {
try {
-
HdlLogLogic.print("http->鍙戦��->", fullUrl + "\r\n" + json);
OkHttpClient okHttpClient = new OkHttpClient();
RequestBody requestBody = FormBody.create(MediaType.parse("application/json; charset=utf-8"), getJson(json));
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java
index af96ffb..6b2f341 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlResidenceLogic.java
@@ -1,5 +1,9 @@
package com.hdl.photovoltaic.other;
+import android.os.SystemClock;
+import android.text.TextUtils;
+import android.util.Log;
+
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.hdl.photovoltaic.bean.HttpResponsePack;
@@ -11,13 +15,19 @@
import com.hdl.photovoltaic.ui.bean.HouseInfoBean;
import com.hdl.photovoltaic.ui.bean.HouseListBean;
+import org.w3c.dom.Text;
+
import java.util.ArrayList;
import java.util.List;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.concurrent.atomic.AtomicInteger;
/**
* 浣忓畢閫昏緫鐣岄潰
*/
public class HdlResidenceLogic {
+
+ public static final int pageSize = 50;
private static volatile HdlResidenceLogic sHdlResidenceLogic;
@@ -59,24 +69,93 @@
//浣忓畢璇︽儏鍒楄〃
private List<HouseInfoBean> houseInfoList = new ArrayList<>();
- public HouseListBean getHouseByHouseId(String homeId) {
- return new HouseListBean();
- }
+ /**
+ * 鑾峰彇浣忓畢鍒楄〃
+ *
+ * @param cloudCallBeak -
+ */
+ public void getHouseList(CloudCallBeak<Boolean> cloudCallBeak) {
+ //鑾峰彇浣忓畢鍒楄〃
+ getResidenceList("", "", new CloudCallBeak<List<HouseListBean>>() {
+ @Override
+ public void onSuccess(List<HouseListBean> houseListBeanList) {
+ if (houseListBeanList != null && houseListBeanList.size() > 0) {
+ houseList.clear();
+ houseList.addAll(houseListBeanList);
+ //鏍囪鏈�鍚庝竴鏉�
+ AtomicInteger atomicInteger = new AtomicInteger(0);
+ for (int i = 0; i < houseList.size(); i++) {
+ HouseListBean houseListBean = houseList.get(i);
+ atomicInteger.set(i);
+ //鑾峰彇浣忓畢璇︽儏鍒楄〃
+ getResidenceInfo(houseListBean.getHomeId(), new CloudCallBeak<HouseInfoBean>() {
+ @Override
+ public void onSuccess(HouseInfoBean houseInfoBean) {
+ if (houseInfoBean != null) {
+ houseInfoBean.setHomeImage(houseListBean.getHomeImage());//鐢电珯鍥剧墖
+ houseInfoBean.setInstalledCapacity(houseListBean.getInstalledCapacity());//瑁呮満瀹归噺
+ houseInfoBean.setPower(houseListBean.getPower());//鍙戠數鍔熺巼
+ houseInfoBean.setTodayElectricity(houseListBean.getTodayElectricity());//浠婂ぉ鍙戠數閲�
+ houseInfoBean.setPowerStationStatus(houseListBean.getPowerStationStatus());//鐢电珯鐘舵��(鐢电珯鐘舵�� 1:姝e父(杩愯),2:绂荤嚎,3:杩炴帴涓�,4:鏁呴殰)
+ //娣诲姞鍒版湰鍦扮紦瀛�
+ addHouseToLocalMemory(houseInfoBean);
+ }
+ if (atomicInteger.get() == houseList.size() - 1) {
+ //鏈�鍚庝竴鏉¢��鍑�
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onSuccess(true);
+ }
+ }
+
+ }
+
+ @Override
+ public void onFailure(Exception exception) {
+ if (atomicInteger.get() == houseList.size() - 1) {
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onFailure(exception);
+ }
+ }
+ }
+ });
+
+ }
+ } else {
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onSuccess(true);
+ }
+ }
+ }
+
+ @Override
+ public void onFailure(Exception exception) {
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onFailure(exception);
+ }
+ }
+ });
+
+ }
/**
* 鑾峰彇浣忓畢(鐢电珯)鍒楄〃
*
- * @param pageNo 褰撳墠椤垫暟
- * @param pageSize 涓�椤靛ぇ灏�
+ * @param pageNo 褰撳墠椤垫暟 寮�濮嬮粯璁�1
+ * @param pageSize 涓�椤靛ぇ灏� 寮�濮嬮粯璁�50
+ * @param key 鍙戠數鍔熺巼鎺掑簭(powerSort);浠婃棩鍙戠數閲忔帓搴�(todayElectricitySort);鍒涘缓鏃堕棿鎺掑簭(createTimeSort);
+ * @param keyValue (descending:闄嶅簭ascending:鍗囧簭),
*/
- public void getResidenceList(int pageNo, int pageSize, CloudCallBeak<Boolean> cloudCallBeak) {
+ public void getResidenceList(int pageNo, int pageSize, String key, String keyValue, CloudCallBeak<Boolean> cloudCallBeak) {
if (pageNo == 1) {
//绗竴娆¤繘鏉ユ竻绌哄垪琛�
houseList.clear();
}
String requestUrl = HttpApi.POST_PowerStation_List;
JsonObject json = new JsonObject();
+ if (!TextUtils.isEmpty(key) && !TextUtils.isEmpty(keyValue)) {
+ json.addProperty(key, keyValue);//鍙戠數鍔熺巼鎺掑簭(descending:闄嶅簭ascending:鍗囧簭)
+ }
// json.addProperty("powerSort", "descending");//鍙戠數鍔熺巼鎺掑簭(descending:闄嶅簭ascending:鍗囧簭)
// json.addProperty("todayElectricitySort", "descending");//浠婃棩鍙戠數閲忔帓搴�
// json.addProperty("createTimeSort", "descending");//鍒涘缓鏃堕棿鎺掑簭
@@ -91,6 +170,7 @@
Gson gson = new Gson();
String jsonStr = gson.toJson(httpResponsePack.getData());
HouseInfoBeanClass houseInfoBeanClass = gson.fromJson(jsonStr, HouseInfoBeanClass.class);
+ //娣诲姞銆愪綇瀹呫�戝埌鏈湴缂撳瓨
houseList.addAll(houseInfoBeanClass.getList());
//鎬诲叡鏈夊灏戦〉
long totalPage = houseInfoBeanClass.totalPage;
@@ -100,7 +180,14 @@
}
return;
}
- getResidenceList(pageNo + 1, 100, cloudCallBeak);
+ if (pageNo > totalPage) {
+ //褰撳墠璇锋眰鐨勯〉鏁板ぇ浜庢�婚〉鏁�,浜戠鍑洪敊浜嗙珛鍗宠繑鍥炲幓;
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onSuccess(true);
+ }
+ return;
+ }
+ getResidenceList(pageNo + 1, pageSize, key, keyValue, cloudCallBeak);
}
}
@@ -115,6 +202,87 @@
});
}
+
+ public void getResidenceList(String key, String keyValue, CloudCallBeak<List<HouseListBean>> cloudCallBeak) {
+
+ String requestUrl = HttpApi.POST_PowerStation_List;
+ JsonObject json = new JsonObject();
+ if (!TextUtils.isEmpty(key) && !TextUtils.isEmpty(keyValue)) {
+ json.addProperty(key, keyValue);//鍙戠數鍔熺巼鎺掑簭(descending:闄嶅簭ascending:鍗囧簭)
+ }
+// json.addProperty("powerSort", "descending");//鍙戠數鍔熺巼鎺掑簭(descending:闄嶅簭ascending:鍗囧簭)
+// json.addProperty("todayElectricitySort", "descending");//浠婃棩鍙戠數閲忔帓搴�
+// json.addProperty("createTimeSort", "descending");//鍒涘缓鏃堕棿鎺掑簭
+// json.addProperty("zoneType", "password");//鍖哄煙
+ json.addProperty("pageNo", 1);//椤电爜
+ json.addProperty("pageSize", pageSize);//椤垫暟
+ List<HouseListBean> list = new ArrayList<>();
+ HttpClient.getInstance().requestHttp(requestUrl, json.toString(), true, true, new BaseSuccessFailureCallBeak() {
+ @Override
+ public void onSuccess(HttpResponsePack httpResponsePack) {
+ if (httpResponsePack != null && httpResponsePack.getData() != null) {
+ Gson gson = new Gson();
+ String jsonStr = gson.toJson(httpResponsePack.getData());
+ HouseInfoBeanClass houseInfoBeanClass = gson.fromJson(jsonStr, HouseInfoBeanClass.class);
+ list.addAll(houseInfoBeanClass.getList());
+ //鎬诲叡鏈夊灏戦〉
+ long totalPage = houseInfoBeanClass.totalPage;
+ if (totalPage < 2) {
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onSuccess(list);
+ }
+ return;
+ }
+ //鏍囪鏈�鍚庝竴鏉�
+ AtomicBoolean isLast = new AtomicBoolean(false);
+ //浠庣浜岄〉鑾峰彇鏁版嵁
+ for (int i = 2; i <= totalPage; i++) {
+ if (totalPage == i) {
+ isLast.set(true);
+ }
+ json.addProperty("pageNo", i);//鏇存柊椤电爜
+ HttpClient.getInstance().requestHttp(requestUrl, json.toString(), true, true, new BaseSuccessFailureCallBeak() {
+ @Override
+ public void onSuccess(HttpResponsePack httpResponsePack) {
+ Gson gson = new Gson();
+ String jsonStr = gson.toJson(httpResponsePack.getData());
+ HouseInfoBeanClass houseInfoBeanClass = gson.fromJson(jsonStr, HouseInfoBeanClass.class);
+ list.addAll(houseInfoBeanClass.getList());
+ if (isLast.get()) {
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onSuccess(list);
+ }
+ }
+ }
+
+ @Override
+ public void onFailure(Exception exception) {
+ if (isLast.get()) {
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onSuccess(list);
+ }
+ }
+ }
+ });
+ }
+
+ } else {
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onSuccess(list);
+ }
+ }
+ }
+
+ @Override
+ public void onFailure(Exception exception) {
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onFailure(exception);
+ }
+ }
+ });
+
+
+ }
/**
* 鑾峰彇浣忓畢(鐢电珯)璇︽儏
@@ -134,6 +302,7 @@
Gson gson = new Gson();
String jsonStr = gson.toJson(httpResponsePack.getData());
HouseInfoBean houseInfoBean = gson.fromJson(jsonStr, HouseInfoBean.class);
+
if (cloudCallBeak != null) {
cloudCallBeak.onSuccess(houseInfoBean);
}
@@ -153,7 +322,7 @@
/**
- * 缂栬緫浣忓畢(鐢电珯)
+ * 缂栬緫浣忓畢(鐢电珯),
*
* @param houseInfoBean -
* @param cloudCallBeak -
@@ -232,12 +401,12 @@
}
/**
- * 娣诲姞浣忓畢(鐢电珯)
+ * 娣诲姞浣忓畢(鐢电珯)鍒颁簯绔�
*
* @param houseInfoBean -
* @param cloudCallBeak -
*/
- public void addResidence(HouseInfoBean houseInfoBean, CloudCallBeak<Boolean> cloudCallBeak) {
+ public void addHouseToCloud(HouseInfoBean houseInfoBean, CloudCallBeak<Boolean> cloudCallBeak) {
String requestUrl = HttpApi.POST_PowerStation_Create;
JsonObject json = new JsonObject();
JsonObject location = new JsonObject();
@@ -282,6 +451,87 @@
}
+ /**
+ * 鍒囨崲浣忓畢
+ *
+ * @param homeId 浣忓畢id
+ */
+ public Boolean switchHouse(String homeId) {
+ UserConfigManage.getInstance().setHomeId(homeId);
+ HdlThreadLogic.runThread(new Runnable() {
+ @Override
+ public void run() {
+ //鎼滅储涓�涓嬩綇瀹呰澶�
+ }
+ }, null, null);
+
+ //鍏抽棴杩涘害鏉�
+
+ return true;
+ }
+
+
+ /**
+ * 娣诲姞銆愪綇瀹呰鎯呫�戝埌鏈湴缂撳瓨
+ *
+ * @param houseInfoBean 浣忓畢璇︽儏
+ */
+ public void addHouseToLocalMemory(HouseInfoBean houseInfoBean) {
+ if (houseInfoBean == null) {
+ return;
+ }
+ int index = isExistHouse(houseInfoBean.getHomeId());
+ if (index > -1) {
+ houseInfoList.remove(index);
+ houseInfoList.add(index, houseInfoBean);
+ } else {
+ houseInfoList.add(houseInfoBean);
+ }
+ }
+
+ /**
+ * 鏌ヨ鏈湴缂撳瓨浣忓畢鍒楄〃鏄惁瀛樺湪浣忓畢
+ *
+ * @param homeId 浣忓畢id
+ * @return 鍒楄〃绱㈠紩
+ */
+ public int isExistHouse(String homeId) {
+ int index = -1;
+ for (int i = 0; i < houseInfoList.size(); i++) {
+ if (houseInfoList.get(i).getHomeId().equals(homeId)) {
+ index = i;
+ break;
+ }
+ }
+ return index;
+ }
+
+ /**
+ * 鑾峰彇浣忓畢璇︽儏
+ *
+ * @param homeId 浣忓畢id
+ * @return 浣忓畢鎵句笉鍒拌繑鍥瀗ull
+ */
+ public HouseInfoBean getHouse(String homeId) {
+ int position = isExistHouse(homeId);
+ if (position > -1) {
+ return houseInfoList.get(position);
+ }
+ return null;
+ }
+
+ /**
+ * 鍒犻櫎浣忓畢
+ *
+ * @param homeId 浣忓畢id
+ */
+ public void delHouse(String homeId) {
+ int position = isExistHouse(homeId);
+ if (position > -1) {
+ houseInfoList.remove(position);
+ }
+ }
+
static class HouseInfoBeanClass {
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
index 245bdbc..e9f9b18 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
@@ -1,10 +1,14 @@
package com.hdl.photovoltaic.other;
+import android.text.TextUtils;
+
import com.google.gson.Gson;
+import com.hdl.photovoltaic.HDLApp;
import com.hdl.photovoltaic.config.UserConfigManage;
import com.hdl.photovoltaic.uni.HDLUniMP;
import com.hdl.photovoltaic.uni.HDLUniMPSDKManager;
+import com.hdl.photovoltaic.utils.WifiUtils;
import org.json.JSONObject;
@@ -44,19 +48,74 @@
*/
@Override
public void onOtherUniMPEventReceive(String appId, String event, Object data, DCUniMPJSCallback callback) {
- if (!HDLUniMP.UNI_APP_ID.equals(appId)) {
- return;
- }
try {
- org.json.JSONObject jsonObject = null;
- if (data != null) {
- jsonObject = new org.json.JSONObject(data.toString());
+ if (!HDLUniMP.UNI_APP_ID.equals(appId)) {
+ return;
}
- //浣忓畢妯″潡
- if (HDLUniMP.UNI_EVENT_REPLY_HOME_LIST.equals(event)) {
+ String json = data == null ? "{}" : data.toString();
+ json = json.equals("") ? "{}" : json;
+ org.json.JSONObject jsonObject = new org.json.JSONObject(json);
+ String type_value = "";
+ if (jsonObject.has("type")) {
+ type_value = jsonObject.getString("type");
+ }
+
+ if (HDLUniMP.UNI_EVENT_REPLY_HOME_MODEL.equals(event)) {
+ //浣忓畢妯″潡
+ switch (type_value) {
+ case HDLUniMP.UNI_EVENT_REPLY_HOME_CREATION: {
+ //鍒涘缓
+ HdlResidenceLogic.getInstance().getResidenceList(1, 100, "", "", null);
+
+ }
+ break;
+ case HDLUniMP.UNI_EVENT_REPLY_HOME_DETAILS: {
+ //璇︽儏
+ }
+ break;
+
+ }
if (callback != null) {
uniCallbackData(null, "0", "", callback);
}
+ } else if (HDLUniMP.UNI_EVENT_REPLY_DEVICE_MODEL.equals(event)) {
+ //璁惧妯″潡
+ switch (type_value) {
+ case HDLUniMP.UNI_EVENT_REPLY_DEVICE_ADD: {
+ //娣诲姞
+ }
+ break;
+ case HDLUniMP.UNI_EVENT_REPLY_DEVICE_LIST: {
+ //鑾峰彇璁惧鍒楄〃
+ }
+ break;
+
+ }
+
+ } else if (HDLUniMP.UNI_EVENT_REPLY_WIFI_MODEL.equals(event)) {
+ WifiUtils wifiUtils = new WifiUtils(HDLApp.getInstance());
+ //wifi妯″潡
+ switch (type_value) {
+ case HDLUniMP.UNI_EVENT_REPLY_WIFI_LIST: {
+ //鑾峰彇wifi鍒楄〃
+ if (callback != null) {
+ uniCallbackData(wifiUtils.getScanResult(), "0", "", callback);
+ }
+ }
+ break;
+ case HDLUniMP.UNI_EVENT_REPLY_WIFI_INFO: {
+ //褰撳墠wifi璇︽儏
+ if (callback != null) {
+ uniCallbackData(wifiUtils.getCurrentConnectWifiInfo(), "0", "", callback);
+ }
+ }
+ break;
+ case HDLUniMP.UNI_EVENT_REPLY_WIFI_CONNECT: {
+ //wifi杩炴帴
+ }
+ break;
+
+ }
}
HdlLogLogic.print("uni===鍘熺敓鎺ユ敹uni鍙戞潵鐨勬暟鎹�", event + "\r\n" + data);
} catch (Exception e) {
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java
index adf4e9f..569a9a9 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java
@@ -20,6 +20,9 @@
import androidx.annotation.NonNull;
import androidx.appcompat.content.res.AppCompatResources;
+import com.alibaba.fastjson.JSONObject;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
import com.hdl.photovoltaic.HDLApp;
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.base.CustomBaseActivity;
@@ -33,6 +36,7 @@
import com.hdl.photovoltaic.other.HdlAccountLogic;
import com.hdl.photovoltaic.other.HdlThreadLogic;
import com.hdl.photovoltaic.ui.device.FastScanActivity;
+import com.hdl.photovoltaic.uni.HDLUniMP;
import com.hdl.photovoltaic.utils.PermissionUtils;
import com.hdl.photovoltaic.utils.WifiUtils;
@@ -198,27 +202,21 @@
HdlAccountLogic.getInstance().loginByPassword(account, password, new CloudCallBeak<LoginUserBean>() {
@Override
public void onSuccess(LoginUserBean obj) {
- HdlThreadLogic.runMainThread(new Runnable() {
+ HdlResidenceLogic.getInstance().getResidenceList(1,50,"","",new CloudCallBeak<Boolean>() {
@Override
- public void run() {
- HdlResidenceLogic.getInstance().getResidenceList(1, 100, new CloudCallBeak<Boolean>() {
- @Override
- public void onSuccess(Boolean obj) {
- hideLoading();
- restoreButtonStyleToInitializeState();
- startActivity(MyPowerStationActivity.class);
- }
-
- @Override
- public void onFailure(Exception exception) {
- hideLoading();
- restoreButtonStyleToInitializeState();
- startActivity(MyPowerStationActivity.class);
- }
- });
+ public void onSuccess(Boolean obj) {
+ hideLoading();
+ restoreButtonStyleToInitializeState();
+ startActivity(MyPowerStationActivity.class);
}
- }, null, null);
+ @Override
+ public void onFailure(Exception exception) {
+ hideLoading();
+ restoreButtonStyleToInitializeState();
+ startActivity(MyPowerStationActivity.class);
+ }
+ });
}
@Override
@@ -243,12 +241,6 @@
public void onClick(View v) {
// requestPermissions();
// startActivity(MyPowerStationActivity.class);
- HdlThreadLogic.runMainThread(new Runnable() {
- @Override
- public void run() {
- int s = 1 / 0;
- }
- }, _mActivity, ShowErrorMode.YES);
}
});
@@ -298,10 +290,15 @@
* 鎭㈠缁勪欢鏍峰紡鍒板垵濮嬪寲鐘舵��
*/
private void restoreButtonStyleToInitializeState() {
- viewBinding.homeLoginLine1V.setBackgroundColor(getColor(R.color.text_E1E1E1));
- viewBinding.homeLoginAccountTextErrorTv.setText("");
- viewBinding.homeLoginLine2V.setBackgroundColor(getColor(R.color.text_E1E1E1));
- viewBinding.homeLoginPasswordTextErrorTv.setText("");
+ HdlThreadLogic.runMainThread(new Runnable() {
+ @Override
+ public void run() {
+ viewBinding.homeLoginLine1V.setBackgroundColor(getColor(R.color.text_E1E1E1));
+ viewBinding.homeLoginAccountTextErrorTv.setText("");
+ viewBinding.homeLoginLine2V.setBackgroundColor(getColor(R.color.text_E1E1E1));
+ viewBinding.homeLoginPasswordTextErrorTv.setText("");
+ }
+ }, null, null);
}
/**
@@ -319,33 +316,4 @@
}
- private void requestPermissions() {
- String[] ary = PermissionUtils.checkPermission(_mActivity, new String[]{Manifest.permission.ACCESS_FINE_LOCATION});
- if (ary.length > 0) {
- requestPermissions(ary, PermissionUtils.STATUS_SUCCESS);
- } else {
- wifi();
- }
- }
-
- @Override
- public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
- super.onRequestPermissionsResult(requestCode, permissions, grantResults);
- if (requestCode == PermissionUtils.STATUS_SUCCESS) {
- for (int i = 0; i < permissions.length; i++) {
- if (grantResults[i] == PackageManager.PERMISSION_GRANTED) {
- wifi();
- }
-
- }
- }
-
- }
-
- public void wifi() {
- WifiUtils wifiUtils = new WifiUtils(HDLApp.getInstance());
-// wifiUtils.getCurrentConnectWifiInfo();
-// wifiUtils.getScanResult();
- wifiUtils.connectWiFi("Application", "12345678", 3);
- }
}
\ No newline at end of file
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java
index 4f6568f..84a148a 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/MyPowerStationActivity.java
@@ -81,5 +81,47 @@
}
}
+ public void requestPermissions() {
+ String[] ary = PermissionUtils.checkPermission(_mActivity, new String[]{Manifest.permission.ACCESS_FINE_LOCATION});
+ if (ary.length > 0) {
+ requestPermissions(ary, PermissionUtils.STATUS_SUCCESS);
+ } else {
+ if (mPermissionsResultCallback != null) {
+ mPermissionsResultCallback.succeed();
+ }
+ }
+ }
+
+ @Override
+ public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
+ super.onRequestPermissionsResult(requestCode, permissions, grantResults);
+ if (requestCode == PermissionUtils.STATUS_SUCCESS) {
+ for (int i = 0; i < permissions.length; i++) {
+ if (grantResults[i] == PackageManager.PERMISSION_GRANTED) {
+ if (mPermissionsResultCallback != null) {
+ mPermissionsResultCallback.succeed();
+ }
+ }
+
+ }
+ }
+
+ }
+
+
+ private PermissionsResultCallback mPermissionsResultCallback;
+
+ public void setPermissionsResultCallback(PermissionsResultCallback permissionsResultCallback) {
+ mPermissionsResultCallback = permissionsResultCallback;
+ }
+
+ public interface PermissionsResultCallback {
+
+ void succeed();
+
+ void failing();
+
+ }
+
}
\ No newline at end of file
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/StartActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/StartActivity.java
index 84e87e7..da99726 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/StartActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/StartActivity.java
@@ -1,11 +1,15 @@
package com.hdl.photovoltaic.ui;
+import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
+import android.Manifest;
import android.content.Intent;
+import android.content.pm.PackageManager;
import android.os.Bundle;
import com.hdl.photovoltaic.R;
+import com.hdl.photovoltaic.utils.PermissionUtils;
public class StartActivity extends AppCompatActivity {
@@ -21,4 +25,7 @@
}
+
+
+
}
\ No newline at end of file
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseInfoBean.java b/app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseInfoBean.java
index 891580d..0cef03c 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseInfoBean.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseInfoBean.java
@@ -1,31 +1,20 @@
package com.hdl.photovoltaic.ui.bean;
-public class HouseInfoBean {
- private String homeId;//鐢电珯id
+public class HouseInfoBean extends HouseListBean {
private Location location;//鐢电珯鍦板潃
private String address;//璇︾粏鍦板潃
private String latitude;//绾害
private String longitude;//缁忓害
- private String homeName;//鐢电珯鍚嶇О
private String timezone;//鏃跺尯
- private int powerStationType;//鐢电珯绫诲瀷(DOMESTIC_ROOF:瀹剁敤灞嬮《,COMMERCIAL_ROOF:鍟嗕笟鐢ㄥ眿椤�,INDUSTRIAL_ROOF:宸ヤ笟鐢ㄥ眿椤�,SURFACE_POWER_STATION:鍦伴潰鐢电珯)
- private int workMode;//宸ヤ綔妯″紡(self_use:鑷彂鑷敤,peak_load_shifting:鍓婂嘲濉胺,battery_priority:鐢垫睜浼樺厛,auto:鏅鸿兘妯″紡)
- private String installedCapacity;//瑁呮満瀹归噺
+ private String powerStationType;//鐢电珯绫诲瀷(DOMESTIC_ROOF:瀹剁敤灞嬮《,COMMERCIAL_ROOF:鍟嗕笟鐢ㄥ眿椤�,INDUSTRIAL_ROOF:宸ヤ笟鐢ㄥ眿椤�,SURFACE_POWER_STATION:鍦伴潰鐢电珯)
+ private String workMode;//宸ヤ綔妯″紡(self_use:鑷彂鑷敤,peak_load_shifting:鍓婂嘲濉胺,battery_priority:鐢垫睜浼樺厛,auto:鏅鸿兘妯″紡)
private long productionTime;//鎶曚骇鏃ュ織
private String monetaryUnit;//璐у竵鍗曚綅
private String electrovalence;//鐢典环
private String totalCost;//鎬绘垚鏈�
-
private String zoneType;//鍖哄煙
- public String getHomeId() {
- return homeId == null ? "" : homeId;
- }
-
- public void setHomeId(String homeId) {
- this.homeId = homeId;
- }
public Location getLocation() {
return location == null ? new Location() : location;
@@ -59,13 +48,6 @@
this.longitude = longitude;
}
- public String getHomeName() {
- return homeName == null ? "" : homeName;
- }
-
- public void setHomeName(String homeName) {
- this.homeName = homeName;
- }
public String getTimezone() {
return timezone == null ? "" : timezone;
@@ -75,29 +57,22 @@
this.timezone = timezone;
}
- public int getPowerStationType() {
- return powerStationType;
+ public String getPowerStationType() {
+ return powerStationType == null ? "" : powerStationType;
}
- public void setPowerStationType(int powerStationType) {
+ public void setPowerStationType(String powerStationType) {
this.powerStationType = powerStationType;
}
- public int getWorkMode() {
- return workMode;
+ public String getWorkMode() {
+ return workMode == null ? "" : workMode;
}
- public void setWorkMode(int workMode) {
+ public void setWorkMode(String workMode) {
this.workMode = workMode;
}
- public String getInstalledCapacity() {
- return installedCapacity == null ? "" : installedCapacity;
- }
-
- public void setInstalledCapacity(String installedCapacity) {
- this.installedCapacity = installedCapacity;
- }
public long getProductionTime() {
return productionTime;
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 9373411..dee2bc7 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
@@ -24,6 +24,7 @@
import com.hdl.photovoltaic.other.HdlResidenceLogic;
import com.hdl.photovoltaic.other.HdlThreadLogic;
import com.hdl.photovoltaic.other.HdlUniLogic;
+import com.hdl.photovoltaic.ui.MyPowerStationActivity;
import com.hdl.photovoltaic.ui.adapter.HouseInfoAdapter;
import com.hdl.photovoltaic.ui.bean.HouseListBean;
import com.hdl.photovoltaic.ui.device.FastScanActivity;
@@ -72,8 +73,21 @@
viewBinding.toolbarTopFragmentHouseListRl.topMoreIv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
+
// 鎵撳紑灏忕▼搴忛〉闈�
- HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_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() {
+ }
+ });
+
}
});
//璁剧疆涓嬫媺绠ご棰滆壊
@@ -128,12 +142,19 @@
/**
* 鐢宠鏉冮檺
*/
- 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 +164,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 +174,14 @@
}
+ private PermissionsResultCallback mPermissionsResultCallback;
+
+ public interface PermissionsResultCallback {
+
+ void succeed();
+
+ void failing();
+
+ }
+
}
--
Gitblit v1.8.0