From 2c7615cd73dfa6a7ca4df975430d2217524513d2 Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期四, 28 九月 2023 11:38:28 +0800
Subject: [PATCH] 2023年09月28日11:38:24
---
app/src/main/res/layout/activity_change_password.xml | 2
app/src/main/java/com/hdl/photovoltaic/ui/account/ChangePassword.java | 80 ++-
app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java | 2
app/src/main/res/values/strings.xml | 1
app/src/main/java/com/hdl/photovoltaic/internet/api/TopicApi.java | 5
app/src/main/java/com/hdl/photovoltaic/other/HdlLogLogic.java | 11
app/src/main/res/layout/activity_register_account.xml | 92 +++
app/src/main/java/com/hdl/photovoltaic/HDLApp.java | 2
app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java | 37 +
app/src/main/res/layout/dialog_list.xml | 94 ++++
app/src/main/java/com/hdl/photovoltaic/internet/HttpClient.java | 2
app/src/main/java/com/hdl/photovoltaic/internet/api/HttpApi.java | 18
app/src/main/res/layout/activity_home_login.xml | 6
app/src/main/java/com/hdl/photovoltaic/widget/ListDialog.java | 96 ++++
app/src/main/java/com/hdl/photovoltaic/config/UserConfigManage.java | 12
app/src/main/java/com/hdl/photovoltaic/ui/account/RegisterAccountActivity.java | 503 ++++++++++++++++++++++-
app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java | 169 ++++++--
app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java | 25 +
app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java | 65 ++
19 files changed, 1,101 insertions(+), 121 deletions(-)
diff --git a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
index 021bd5a..3d9a32f 100644
--- a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
+++ b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java
@@ -114,7 +114,7 @@
HDLLinkLocalSdk.getInstance().init(getInstance());
initSocket();
//4.鍒濆鍖朞KHttpLog 鏄惁寮�鍚�
-// setOKHttpLogOpen(isLogEnabled);
+ setOKHttpLogOpen(isLogEnabled);
}
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 b3e8d5c..6400d93 100644
--- a/app/src/main/java/com/hdl/photovoltaic/config/UserConfigManage.java
+++ b/app/src/main/java/com/hdl/photovoltaic/config/UserConfigManage.java
@@ -52,6 +52,10 @@
//鏄惁鏄疊绔处鍙风櫥褰�
private boolean isB_account;
+
+
+ //鏄惁鏄敤鎴蜂綋楠岃处鍙风櫥褰�
+ private boolean isUserExperience;
//浣忓畢鏂囦欢鍒楄〃
public List<String> homeFilePathList = new ArrayList<>();
@@ -158,6 +162,14 @@
isB_account = b;
}
+ public boolean isUserExperience() {
+ return isUserExperience;
+ }
+
+ public void setUserExperience(boolean userExperience) {
+ isUserExperience = userExperience;
+ }
+
public String getLocalSecret() {
return localSecret == null ? "" : localSecret;
}
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 fe8fa9b..eab83ff 100644
--- a/app/src/main/java/com/hdl/photovoltaic/internet/HttpClient.java
+++ b/app/src/main/java/com/hdl/photovoltaic/internet/HttpClient.java
@@ -94,7 +94,7 @@
HDLExceptionSubmitUtils.submit(requestUrl, body, e);
if (callBack != null) {
callBack.onFailure(e);
- System.out.println("鍥炲->" + requestUrl + "\r\n" + "{code=" + e.getCode() + ",message=" + e.getMessage() + "}");
+ System.out.println("鍥炲->" + requestUrl + "\r\n" + "\"{code=\"" + e.getCode() + "," + "\"message=\"" + e.getMsg() + "}");
}
}
});
diff --git a/app/src/main/java/com/hdl/photovoltaic/internet/api/HttpApi.java b/app/src/main/java/com/hdl/photovoltaic/internet/api/HttpApi.java
index 2d416d2..8092d99 100644
--- a/app/src/main/java/com/hdl/photovoltaic/internet/api/HttpApi.java
+++ b/app/src/main/java/com/hdl/photovoltaic/internet/api/HttpApi.java
@@ -2,12 +2,15 @@
public class HttpApi {
//region -----鐢ㄦ埛绠$悊---------
+ /**
+ * B绔帴鍙�
+ */
//鑾峰彇璐﹀彿鍖哄煙淇℃伅
public static final String POST_RegionByUserAccount = "/smart-footstone/region/regionByUserAccount";
//鐧诲綍鎺ュ彛
public static final String POST_Login = "/smart-footstone/user/oauth/login";
//鐢ㄦ埛鎵惧洖瀵嗙爜 蹇樿瀵嗙爜,閫氳繃閭鍜屾墜鏈哄彿鎵惧洖
- public static final String POST_FORGET_PROGRAM_PWD = "/smart-footstone/user/oauth/forgetProgramPwd";
+ public static final String B_POST_FORGET_PROGRAM_PWD = "/smart-footstone/user/oauth/forgetProgramPwd";
//鍙戦�佹秷鎭獙璇佺爜
public static final String POST_SEND_VERIFICATION = "/smart-footstone/verification/message/send";
//鏇存敼涓汉瀵嗙爜
@@ -25,7 +28,16 @@
//鏌ヨ鍥剧墖璺緞
public static final String POST_GET_IMAGE_URL = "/home-wisdom/app/images/get_image_url";
//閫�鍑虹櫥褰�
- public static final String POST_GET_IMAGE_LOGOUT = "basis-footstone/mgmt/user/oauth/logout";
+ public static final String POST_GET_IMAGE_LOGOUT = "/basis-footstone/mgmt/user/oauth/logout";
+ /**
+ * C绔帴鍙�
+ */
+ //閫�鍑虹櫥褰�
+ public static final String C_POST_GET_OAUTH_REGISTER = "/smart-footstone/member/oauth/register";
+ //鐢ㄦ埛鎵惧洖瀵嗙爜 蹇樿瀵嗙爜,閫氳繃閭鍜屾墜鏈哄彿鎵惧洖
+ public static final String C_POST_FORGET_PROGRAM_PWD = "/smart-footstone/member/oauth/forgetPwd";
+
+
//endregion
//region -----鐢电珯绠$悊(浣忓畢)---------
//鐢电珯鍒楄〃
@@ -38,7 +50,7 @@
public static final String POST_PowerStation_Info = "/home-wisdom/app/powerStation/info";
//鐢电珯缂栬緫
public static final String POST_PowerStation_Edit = "/home-wisdom/app/powerStation/edit";
- //endregion
+ //endregion
//region -----璁惧绠$悊---------
//娣诲姞閫嗗彉鍣�
diff --git a/app/src/main/java/com/hdl/photovoltaic/internet/api/TopicApi.java b/app/src/main/java/com/hdl/photovoltaic/internet/api/TopicApi.java
index 9cbc6cf..f5bf38a 100644
--- a/app/src/main/java/com/hdl/photovoltaic/internet/api/TopicApi.java
+++ b/app/src/main/java/com/hdl/photovoltaic/internet/api/TopicApi.java
@@ -39,7 +39,10 @@
* */
public static final String GATEWAY_INITIALIZE_REMOTE = "/user/%s/custom/gateway/initialize";
public static final String GATEWAY_FIND_REMOTE = "/base/%s/thing/service/mmv_device_find/down";
-
+ //缃戝叧鏃堕棿璇诲彇
+ public static final String GET_GATEWAY_TIME = "/base/%s/custom/gateway/time/get";
+ //缃戝叧鏃堕棿淇敼
+ public static final String SET_GATEWAY_TIME_EDIT = "/user/%s/custom/gateway/time/edit";
/*
* 缃戝叧缂栬緫鍛戒护
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java
index aee3bf3..bbd321a 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java
@@ -110,8 +110,8 @@
* @param verifyCode 楠岃瘉鐮�
* @param cloudCallBeak -
*/
- public void changePassword(boolean isPhone, String account, String loginPwd, String verifyCode, CloudCallBeak<Boolean> cloudCallBeak) {
- String requestUrl = HttpApi.POST_FORGET_PROGRAM_PWD;
+ public void changeBPassword(boolean isPhone, String account, String loginPwd, String verifyCode, CloudCallBeak<Boolean> cloudCallBeak) {
+ String requestUrl = HttpApi.B_POST_FORGET_PROGRAM_PWD;
JsonObject json = new JsonObject();
if (isPhone) {
json.addProperty("userPhone", account);//鐢ㄦ埛鎵嬫満鍙� 鎵嬫満鍙峰拰閭蹇呭~鍏朵竴
@@ -121,7 +121,6 @@
json.addProperty("loginPwd", loginPwd);//鏂板瘑鐮�
json.addProperty("verifyCode", verifyCode);//楠岃瘉鐮�
// json.addProperty("platform", "APP");
- json.addProperty("grantType", "password");
HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
@Override
@@ -142,8 +141,131 @@
}
+
/**
- * 淇敼瀵嗙爜(B绔处鍙�)
+ * 鍒锋柊Token(B绔处鍙�)
+ *
+ * @param account 鎵嬫満鎴栬�呴偖绠�
+ * @param loginPwd 瀵嗙爜
+ * @param cloudCallBeak -
+ */
+ public void refreshToken(String account, String loginPwd, CloudCallBeak<HDLLoginBean> cloudCallBeak) {
+ String requestUrl = HttpApi.POST_Login;
+ JsonObject json = new JsonObject();
+ json.addProperty("grantType", "refresh_token");
+// json.addProperty("refreshToken", UserConfigManage.getInstance().getRefreshToken());
+ HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
+ @Override
+ public void onSuccess(String jsonStr) {
+ Gson gson = new Gson();
+ HDLLoginBean loginBean = gson.fromJson(jsonStr, HDLLoginBean.class);
+// saveUserData(loginBean);
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onSuccess(loginBean);
+ }
+ }
+
+ @Override
+ public void onFailure(HDLException e) {
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onFailure(e);
+ }
+ }
+ });
+ }
+
+
+ // endregion
+
+ // region --------銆怌绔处鍙枫��---------
+
+ /**
+ * 娉ㄥ唽璐﹀彿(C绔处鍙�)
+ * 娉ㄦ剰:B
+ *
+ * @param isPhone true琛ㄧず鎵嬫満鍙�,鍚﹀垯鏄偖绠�
+ * @param account 璐﹀彿 (鎵嬫満鎴栬�呴偖绠�)
+ * @param loginPwd 瀵嗙爜
+ * @param verifyCode 楠岃瘉鐮�
+ * @param cloudCallBeak -
+ */
+ public void registerAccount(boolean isPhone, String account, String loginPwd, String verifyCode, CloudCallBeak<Boolean> cloudCallBeak) {
+ String requestUrl = HttpApi.C_POST_GET_OAUTH_REGISTER;
+ JsonObject json = new JsonObject();
+ if (isPhone) {
+ json.addProperty("memberPhone", account);//鐢ㄦ埛鎵嬫満鍙� 鎵嬫満鍙峰拰閭蹇呭~鍏朵竴
+ } else {
+ json.addProperty("memberEmail", account);
+ }
+ json.addProperty("loginPwd", loginPwd);//鐧婚檰瀵嗙爜锛岄渶瑕丮D5澶勭悊
+ json.addProperty("verifyCode", verifyCode);//楠岃瘉鐮�
+// json.addProperty("platform", "APP");
+// json.addProperty("memberName", "memberName");//浼氬憳鏄电О
+
+ HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
+ @Override
+ public void onSuccess(String str) {
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onSuccess(true);
+ }
+ }
+
+ @Override
+ public void onFailure(HDLException e) {
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onFailure(e);
+ }
+ }
+ });
+
+
+ }
+
+
+ /**
+ * 淇敼瀵嗙爜(C绔处鍙�)
+ *
+ * @param isPhone true琛ㄧず鎵嬫満鍙�,鍚﹀垯鏄偖绠�
+ * @param account 璐﹀彿 (鎵嬫満鎴栬�呴偖绠�)
+ * @param loginPwd 鏂板瘑鐮�
+ * @param verifyCode 楠岃瘉鐮�
+ * @param cloudCallBeak -
+ */
+ public void changeCPassword(boolean isPhone, String account, String loginPwd, String verifyCode, CloudCallBeak<Boolean> cloudCallBeak) {
+ String requestUrl = HttpApi.C_POST_FORGET_PROGRAM_PWD;
+ JsonObject json = new JsonObject();
+ if (isPhone) {
+ json.addProperty("memberPhone", account);//鐢ㄦ埛鎵嬫満鍙� 鎵嬫満鍙峰拰閭蹇呭~鍏朵竴
+ } else {
+ json.addProperty("memberEmail", account);
+ }
+ json.addProperty("loginPwd", loginPwd);//鏂板瘑鐮�
+ json.addProperty("verifyCode", verifyCode);//楠岃瘉鐮�
+// json.addProperty("platform", "APP");
+
+ HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
+ @Override
+ public void onSuccess(String str) {
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onSuccess(true);
+ }
+ }
+
+ @Override
+ public void onFailure(HDLException e) {
+ if (cloudCallBeak != null) {
+ cloudCallBeak.onFailure(e);
+ }
+ }
+ });
+
+
+ }
+ // endregion
+
+
+ /**
+ * 鍙戦�侀獙璇佺爜
*
* @param isPhone true琛ㄧず鎵嬫満鍙�,鍚﹀垯鏄偖绠�
* @param account 璐﹀彿 (鎵嬫満鎴栬�呴偖绠�)
@@ -183,45 +305,6 @@
}
-
- /**
- * 鍒锋柊Token(B绔处鍙�)
- *
- * @param account 鎵嬫満鎴栬�呴偖绠�
- * @param loginPwd 瀵嗙爜
- * @param cloudCallBeak -
- */
- public void refreshToken(String account, String loginPwd, CloudCallBeak<HDLLoginBean> cloudCallBeak) {
- String requestUrl = HttpApi.POST_Login;
- JsonObject json = new JsonObject();
- json.addProperty("grantType", "refresh_token");
-// json.addProperty("refreshToken", UserConfigManage.getInstance().getRefreshToken());
- HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() {
- @Override
- public void onSuccess(String jsonStr) {
- Gson gson = new Gson();
- HDLLoginBean loginBean = gson.fromJson(jsonStr, HDLLoginBean.class);
-// saveUserData(loginBean);
- if (cloudCallBeak != null) {
- cloudCallBeak.onSuccess(loginBean);
- }
- }
-
- @Override
- public void onFailure(HDLException e) {
- if (cloudCallBeak != null) {
- cloudCallBeak.onFailure(e);
- }
- }
- });
- }
-
-
- // endregion
-
- // region --------銆怌绔处鍙枫��---------
-
- // endregion
/**
* 閫�鍑虹櫥褰曟椂璋冪敤锛屾竻闄ゆ帹閫佹暟鎹�
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
index 0f57fad..820d6b8 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlDeviceLogic.java
@@ -57,8 +57,8 @@
GatewayBean gatewayBean = list.get(i);
if (gatewayBean.getMaster().equals("true")
&& gatewayBean.getHomeId().equals(UserConfigManage.getInstance().getHomeId())) {
- if("0101050217BBC400".equals(gatewayBean.getOid()))//娴嬭瘯鏃惰繃婊ゆ帀鏃犳晥鐨勶紝鍚庨潰杩欏姞浠g爜瑕佸垹闄�
- continue;
+// if ("0101050217BBC400".equals(gatewayBean.getOid()))//娴嬭瘯鏃惰繃婊ゆ帀鏃犳晥鐨勶紝杩欒鍚庨潰浠g爜瑕佸垹闄�
+// continue;
newList.add(gatewayBean);
}
}
@@ -318,6 +318,64 @@
}
/**
+ * 缃戝叧鏃堕棿璇诲彇
+ *
+ * @param mac 璁惧mac
+ * @param linkCallBack 鍥炶皟update
+ */
+ public void getGatewayTime(String mac, LinkCallBack<Boolean> linkCallBack) {
+ String requestUrl = TopicApi.GET_GATEWAY_TIME;
+ TcpClient.getInstance().sendDataToLinkGateway(mac, requestUrl, null, "", new HDLLinkCallBack() {
+ @Override
+ public void onSuccess(String msg) {
+ if (linkCallBack != null) {
+ linkCallBack.onSuccess(true);
+ }
+ }
+
+ @Override
+ public void onError(HDLLinkException e) {
+ if (linkCallBack != null) {
+ linkCallBack.onError(e);
+ }
+ }
+ });
+
+ }
+
+ /**
+ * 缃戝叧鏃堕棿淇敼
+ *
+ * @param mac 璁惧mac
+ * @param linkCallBack 鍥炶皟update
+ */
+ public void editGatewayTime(String mac, JsonObject jsonObject, LinkCallBack<Boolean> linkCallBack) {
+ String requestUrl = TopicApi.SET_GATEWAY_TIME_EDIT;
+// JsonObject json = new JsonObject();
+// json.addProperty("master", "true");
+// "objects": {
+// "date": "2020-08-15",
+// "time": "17:25:20"
+// }
+ TcpClient.getInstance().sendDataToLinkGateway(mac, requestUrl, jsonObject, "", new HDLLinkCallBack() {
+ @Override
+ public void onSuccess(String msg) {
+ if (linkCallBack != null) {
+ linkCallBack.onSuccess(true);
+ }
+ }
+
+ @Override
+ public void onError(HDLLinkException e) {
+ if (linkCallBack != null) {
+ linkCallBack.onError(e);
+ }
+ }
+ });
+
+ }
+
+ /**
* 缂栬緫缃戝叧鍙傛暟
*
* @param mac 璁惧mac
@@ -344,7 +402,6 @@
});
}
-
/**
* 鑾峰彇缃戝叧璇︽儏淇℃伅
@@ -490,11 +547,13 @@
HDLLinkLocalGateway.getInstance().getGatewayList().clear();
for (int i = 0; i < list.size(); i++) {
CloudInverterDeviceBean cloudInverterDeviceBean = list.get(i);
+ //浜戠瀵硅薄鏁版嵁浜ゆ崲鍒版湰鍦板璞�
GatewayBean gatewayBean = new GatewayBean();
gatewayBean.setOid(cloudInverterDeviceBean.getOid());
gatewayBean.setSid(cloudInverterDeviceBean.getSid());
gatewayBean.setGatewayId(cloudInverterDeviceBean.getGatewayId());
gatewayBean.setOnline(cloudInverterDeviceBean.isOnline());
+ gatewayBean.setDevice_mac(cloudInverterDeviceBean.getOsn());//璁惧mac
gatewayBean.setDevice_name(cloudInverterDeviceBean.getGatewayName());
gatewayBean.setHomeId(UserConfigManage.getInstance().getHomeId());
gatewayBean.setLocalEncrypt(true);
diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlLogLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlLogLogic.java
index 602ab43..1a4d07c 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlLogLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlLogLogic.java
@@ -31,6 +31,12 @@
return sHdlLogLogic;
}
+ /**
+ * android鎵撳嵃
+ *
+ * @param tag 鏍囩
+ * @param mgs 杈撳嚭淇℃伅
+ */
public static void print(String tag, String mgs) {
if (isDebug) {
return;
@@ -38,6 +44,11 @@
Log.d(tag, mgs);
}
+ /**
+ * java鎵撳嵃
+ *
+ * @param mgs 杈撳嚭淇℃伅
+ */
public static void print(String mgs) {
if (isDebug) {
return;
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 0fb0d86..690a6db 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java
@@ -204,6 +204,43 @@
});
}
break;
+ //璁惧鏃堕棿璇诲彇
+ case HDLUniMP.UNI_EVENT_REPLY_DEVICE_TIME: {
+ //娣诲姞璁惧鍒颁簯绔�
+ String mac = getKeyValue("mac", getKeyValue("data", data));
+ //鑾峰彇oid鍒楄〃
+ HdlDeviceLogic.getInstance().getGatewayTime(mac, new LinkCallBack<Boolean>() {
+ @Override
+ public void onSuccess(Boolean obj) {
+
+ }
+
+ @Override
+ public void onError(HDLLinkException e) {
+
+ }
+ });
+ }
+ //璁惧鏃堕棿缂栬緫
+ break;
+ case HDLUniMP.UNI_EVENT_REPLY_DEVICE_TIME_EDIT: {
+ //娣诲姞璁惧鍒颁簯绔�
+ String mac = getKeyValue("mac", getKeyValue("data", data));
+ //鑾峰彇oid鍒楄〃
+ HdlDeviceLogic.getInstance().getGatewayOidList(mac, new LinkCallBack<List<OidBean>>() {
+ @Override
+ public void onSuccess(List<OidBean> obj) {
+
+ }
+
+ @Override
+ public void onError(HDLLinkException e) {
+
+ }
+ });
+ }
+ break;
+
}
} else if (HDLUniMP.UNI_EVENT_REPLY_WIFI_MODEL.equals(event)) {
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 bbe33e5..18a3270 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java
@@ -25,6 +25,7 @@
import com.hdl.linkpm.sdk.user.callback.ILoginCallBack;
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.base.CustomBaseActivity;
+import com.hdl.photovoltaic.config.UserConfigManage;
import com.hdl.photovoltaic.other.HdlFileLogic;
import com.hdl.photovoltaic.other.HdlResidenceLogic;
import com.hdl.photovoltaic.ui.account.ChangePassword;
@@ -165,11 +166,31 @@
}
});
-
+ //閫夋嫨b绔紝c绔�
+ viewBinding.homeLoginInstallUserTv.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ v.setSelected(!v.isSelected());
+ UserConfigManage.getInstance().setBAccount(v.isSelected());
+ viewBinding.homeLoginCheckIv.setSelected(UserConfigManage.getInstance().isBAccount());
+ if (UserConfigManage.getInstance().isBAccount()) {
+ viewBinding.homeLoginRegisterTv.setVisibility(View.GONE);
+ } else {
+ viewBinding.homeLoginRegisterTv.setVisibility(View.VISIBLE);
+ }
+ }
+ });
+ //閫夋嫨b绔紝c绔�
viewBinding.homeLoginCheckIv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
v.setSelected(!v.isSelected());
+ UserConfigManage.getInstance().setBAccount(v.isSelected());
+ if (UserConfigManage.getInstance().isBAccount()) {
+ viewBinding.homeLoginRegisterTv.setVisibility(View.GONE);
+ } else {
+ viewBinding.homeLoginRegisterTv.setVisibility(View.VISIBLE);
+ }
}
});
viewBinding.homeLoginPrivacyCheckIv.setOnClickListener(new View.OnClickListener() {
@@ -241,6 +262,8 @@
viewBinding.homeLoginExperienceTv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
+ v.setSelected(!v.isSelected());
+ UserConfigManage.getInstance().setUserExperience(v.isSelected());
// requestPermissions();
// startActivity(MyPowerStationActivity.class);
HdlFileLogic.getInstance().deleteDirectory(HdlFileLogic.getInstance().getCurrentHomeRootPath());
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/account/ChangePassword.java b/app/src/main/java/com/hdl/photovoltaic/ui/account/ChangePassword.java
index b60bbd8..09c300c 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/account/ChangePassword.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/account/ChangePassword.java
@@ -1,6 +1,6 @@
package com.hdl.photovoltaic.ui.account;
-import android.app.AppComponentFactory;
+
import android.os.Bundle;
import android.os.CountDownTimer;
import android.text.Editable;
@@ -11,7 +11,7 @@
import android.text.method.PasswordTransformationMethod;
import android.view.View;
-import androidx.appcompat.app.AppCompatActivity;
+
import androidx.appcompat.content.res.AppCompatResources;
import com.hdl.linkpm.sdk.core.exception.HDLException;
@@ -20,6 +20,7 @@
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.base.CustomBaseActivity;
import com.hdl.photovoltaic.config.AppConfigManage;
+import com.hdl.photovoltaic.config.UserConfigManage;
import com.hdl.photovoltaic.databinding.ActivityChangePasswordBinding;
import com.hdl.photovoltaic.listener.CloudCallBeak;
import com.hdl.photovoltaic.other.HdlAccountLogic;
@@ -251,30 +252,57 @@
} else {
verification_code = viewBinding.changeMailVerificationEt.getText().toString();
}
- HdlAccountLogic.getInstance().changePassword(isPhoneType, account, psw, verification_code, new CloudCallBeak<Boolean>() {
- @Override
- public void onSuccess(Boolean obj) {
- HdlThreadLogic.runMainThread(new Runnable() {
- @Override
- public void run() {
- ConfirmationTipDialog dialog = new ConfirmationTipDialog(_mActivity);
- dialog.show();
- dialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() {
- @Override
- public void Confirm() {
- finish();
- }
- });
- }
- }, null, null);
+ if (UserConfigManage.getInstance().isBAccount()) {
+ HdlAccountLogic.getInstance().changeBPassword(isPhoneType, account, psw, verification_code, new CloudCallBeak<Boolean>() {
+ @Override
+ public void onSuccess(Boolean obj) {
+ HdlThreadLogic.runMainThread(new Runnable() {
+ @Override
+ public void run() {
+ ConfirmationTipDialog dialog = new ConfirmationTipDialog(_mActivity);
+ dialog.show();
+ dialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() {
+ @Override
+ public void Confirm() {
+ finish();
+ }
+ });
+ }
+ }, null, null);
- }
+ }
- @Override
- public void onFailure(HDLException e) {
+ @Override
+ public void onFailure(HDLException e) {
- }
- });
+ }
+ });
+ } else {
+ HdlAccountLogic.getInstance().changeCPassword(isPhoneType, account, psw, verification_code, new CloudCallBeak<Boolean>() {
+ @Override
+ public void onSuccess(Boolean obj) {
+ HdlThreadLogic.runMainThread(new Runnable() {
+ @Override
+ public void run() {
+ ConfirmationTipDialog dialog = new ConfirmationTipDialog(_mActivity);
+ dialog.show();
+ dialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() {
+ @Override
+ public void Confirm() {
+ finish();
+ }
+ });
+ }
+ }, null, null);
+
+ }
+
+ @Override
+ public void onFailure(HDLException e) {
+
+ }
+ });
+ }
}
});
@@ -294,9 +322,12 @@
}
return;
}
+ //鑾峰彇璐﹀彿鍖哄煙淇℃伅
HdlAccountLogic.getInstance().regionByAccount(account, new CloudCallBeak<HDLUserRegionBean>() {
+ //鍙戦�佹秷鎭獙璇佺爜
@Override
public void onSuccess(HDLUserRegionBean obj) {
+ //璁剧疆璐﹀彿鎵�鍦ㄥ尯鍩熷崗璁強鍦板潃
AppConfigManage.setUserRegionUrl(obj.getRegionUrl());
HDLLinkPMUser.getInstance().setUserRegionUrl(AppConfigManage.getUserRegionUrl());
HdlAccountLogic.getInstance().sendVerifyCode(isPhoneType, account, "86", 2, new CloudCallBeak<Boolean>() {
@@ -318,7 +349,8 @@
@Override
public void onFailure(HDLException e) {
- hideLoading();
+
+// hideLoading();
}
});
}
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/account/RegisterAccountActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/account/RegisterAccountActivity.java
index da72b98..0a099e0 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/account/RegisterAccountActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/account/RegisterAccountActivity.java
@@ -2,14 +2,34 @@
import android.os.Bundle;
+import android.os.CountDownTimer;
+import android.text.Editable;
+import android.text.InputType;
+import android.text.TextUtils;
+import android.text.TextWatcher;
+import android.text.method.HideReturnsTransformationMethod;
+import android.text.method.PasswordTransformationMethod;
import android.view.View;
+import androidx.appcompat.content.res.AppCompatResources;
import androidx.constraintlayout.widget.ConstraintSet;
+import com.hdl.linkpm.sdk.core.exception.HDLException;
+import com.hdl.linkpm.sdk.user.HDLLinkPMUser;
+import com.hdl.linkpm.sdk.user.bean.HDLUserRegionBean;
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.base.CustomBaseActivity;
+import com.hdl.photovoltaic.config.AppConfigManage;
import com.hdl.photovoltaic.databinding.ActivityRegisterAccountBinding;
+import com.hdl.photovoltaic.listener.CloudCallBeak;
+import com.hdl.photovoltaic.other.HdlAccountLogic;
+import com.hdl.photovoltaic.other.HdlLogLogic;
+import com.hdl.photovoltaic.other.HdlThreadLogic;
import com.hdl.photovoltaic.utils.KeyboardStateObserverUtils;
+import com.hdl.photovoltaic.widget.ConfirmationCancelDialog;
+import com.hdl.photovoltaic.widget.ConfirmationTipDialog;
+import com.hdl.photovoltaic.widget.ListDialog;
+import com.hdl.sdk.link.common.utils.ThreadToolUtils;
/**
* 娉ㄥ唽璐﹀彿鐣岄潰
@@ -17,6 +37,21 @@
public class RegisterAccountActivity extends CustomBaseActivity {
private ActivityRegisterAccountBinding viewBinding;
+
+ private boolean isPhoneType = true;
+
+ private String mPhoneAccount;
+ private String mPhonePsw;
+ private String mPhoneConfirmPsw;
+ private String mPhoneVerificationCode;
+
+ private String mMailAccount;
+ private String mMailPsw;
+ private String mMailConfirmPsw;
+ private String mMailVerificationCode;
+
+ private String mUrl = "https://test-gz.hdlcontrol.com";
+
@Override
public Object getContentView() {
@@ -56,17 +91,7 @@
private void initView() {
-
- viewBinding.registerPhoneTitleIc.accountTitleTv.setText(R.string.home_login_鎵嬫満鍙�);
- viewBinding.registerPhoneTitleIc.accountTitleTv.setTextSize(20);
- viewBinding.registerPhoneTitleIc.accountTitleTv.setTextColor(getResources().getColor(R.color.text_90000000));
- viewBinding.registerPhoneTitleIc.lineV.setVisibility(View.VISIBLE);
-
- viewBinding.registerMailTitleIc.accountTitleTv.setText(R.string.home_login_閭);
- viewBinding.registerMailTitleIc.accountTitleTv.setTextSize(16);
- viewBinding.registerMailTitleIc.accountTitleTv.setTextColor(getResources().getColor(R.color.text_40000000));
- viewBinding.registerMailTitleIc.lineV.setVisibility(View.GONE);
-
+ switchPhoneOrMailView();
}
private void initEvent() {
@@ -77,36 +102,454 @@
finish();
}
});
+ viewBinding.registerRegionServerRl.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ ListDialog listDialog = new ListDialog(_mActivity);
+ listDialog.show();
+ listDialog.setOnHDLChinaOnListener(new ListDialog.onHDLChinaListener() {
+ @Override
+ public void HDLChina() {
+ mUrl = "https://china-gateway.hdlcontrol.com";
+ viewBinding.regionTv.setText(listDialog.geHDLChinaText());
+
+ }
+ });
+ listDialog.setOnHDLBahrainListener(new ListDialog.onHDLBahrainListener() {
+ @Override
+ public void HDLBahrain() {
+ mUrl = "https://bahrain-gateway.hdlcontrol.com";
+ viewBinding.regionTv.setText(listDialog.getHDLBahrainText());
+ }
+ });
+ }
+ });
+ //鍒囨崲鎵嬫満鍙�
viewBinding.registerPhoneTitleIc.underlineCl.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- viewBinding.registerPhoneTitleIc.accountTitleTv.setText(R.string.home_login_鎵嬫満鍙�);
- viewBinding.registerPhoneTitleIc.accountTitleTv.setTextSize(20);
- viewBinding.registerPhoneTitleIc.accountTitleTv.setTextColor(getResources().getColor(R.color.text_90000000));
- viewBinding.registerPhoneTitleIc.lineV.setVisibility(View.VISIBLE);
-
- viewBinding.registerMailTitleIc.accountTitleTv.setText(R.string.home_login_閭);
- viewBinding.registerMailTitleIc.accountTitleTv.setTextSize(16);
- viewBinding.registerMailTitleIc.accountTitleTv.setTextColor(getResources().getColor(R.color.text_40000000));
- viewBinding.registerMailTitleIc.lineV.setVisibility(View.GONE);
+ isPhoneType = true;
+ switchPhoneOrMailView();
}
});
-
+ //鍒囨崲閭
viewBinding.registerMailTitleIc.underlineCl.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- viewBinding.registerPhoneTitleIc.accountTitleTv.setText(R.string.home_login_鎵嬫満鍙�);
- viewBinding.registerPhoneTitleIc.accountTitleTv.setTextSize(16);
- viewBinding.registerPhoneTitleIc.accountTitleTv.setTextColor(getResources().getColor(R.color.text_40000000));
- viewBinding.registerPhoneTitleIc.lineV.setVisibility(View.GONE);
-
- viewBinding.registerMailTitleIc.accountTitleTv.setText(R.string.home_login_閭);
- viewBinding.registerMailTitleIc.accountTitleTv.setTextSize(20);
- viewBinding.registerMailTitleIc.accountTitleTv.setTextColor(getResources().getColor(R.color.text_90000000));
- viewBinding.registerMailTitleIc.lineV.setVisibility(View.VISIBLE);
+ isPhoneType = false;
+ switchPhoneOrMailView();
}
});
+ //杈撳叆瀵嗙爜
+ viewBinding.registerPswEt.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ isCompleteEnabled();
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ });
+ //瀵嗙爜鏄剧ず鎴栬�呴殣钘�
+ viewBinding.registerPswHideIv.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if (v.isSelected()) {
+ v.setSelected(false);
+ viewBinding.registerPswHideIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.hide));
+ viewBinding.registerPswEt.setTransformationMethod(PasswordTransformationMethod.getInstance());
+
+ } else {
+ v.setSelected(true);
+ viewBinding.registerPswHideIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.show));
+ viewBinding.registerPswEt.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
+ }
+ //璁剧疆鍏夋爣浣嶇疆
+ if (!TextUtils.isEmpty(viewBinding.registerPswEt.getText())) {
+ viewBinding.registerPswEt.setSelection(viewBinding.registerPswEt.length());
+ }
+ }
+ });
+ //杈撳叆纭瀵嗙爜
+ viewBinding.registerConfirmPswEt.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ isCompleteEnabled();
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ });
+ //纭瀵嗙爜鏄剧ず鎴栬�呴殣钘�
+ viewBinding.registerConfirmPswHideIv.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if (v.isSelected()) {
+ v.setSelected(false);
+ viewBinding.registerConfirmPswHideIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.hide));
+ viewBinding.registerConfirmPswEt.setTransformationMethod(PasswordTransformationMethod.getInstance());
+ } else {
+ v.setSelected(true);
+ viewBinding.registerConfirmPswHideIv.setImageDrawable(AppCompatResources.getDrawable(_mActivity, R.drawable.show));
+ viewBinding.registerConfirmPswEt.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
+ }
+ //璁剧疆鍏夋爣浣嶇疆
+ if (!TextUtils.isEmpty(viewBinding.registerConfirmPswEt.getText())) {
+ viewBinding.registerConfirmPswEt.setSelection(viewBinding.registerConfirmPswEt.length());
+ }
+ }
+ });
+ //杈撳叆鎵嬫満鍙锋垨鑰呴偖绠�
+ viewBinding.registerAccountEt.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ isCompleteEnabled();
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ });
+ //鎵嬫満鍙疯幏鍙栭獙璇佺爜
+ viewBinding.registerPhoneVerificationTv.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ sendVerification();
+
+ }
+ });
+ //杈撳叆鎵嬫満楠岃瘉鐮�
+ viewBinding.registerPhoneVerificationEt.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ isCompleteEnabled();
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ });
+ //閭鑾峰彇楠岃瘉鐮�
+ viewBinding.registerMailVerificationTv.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ sendVerification();
+
+ }
+ });
+ //杈撳叆閭楠岃瘉鐮�
+ viewBinding.registerMailVerificationEt.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ isCompleteEnabled();
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ });
+ //娉ㄥ唽璐﹀彿
+ viewBinding.registerCompleteTv.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if (!isLocalCheckAccountAndPassword()) {
+ return;
+ }
+ String account = viewBinding.registerAccountEt.getText().toString();
+ String psw = viewBinding.registerConfirmPswEt.getText().toString();
+ String verification_code;
+ if (isPhoneType) {
+ verification_code = viewBinding.registerPhoneVerificationEt.getText().toString();
+ } else {
+ verification_code = viewBinding.registerMailVerificationEt.getText().toString();
+ }
+ HdlAccountLogic.getInstance().registerAccount(isPhoneType, account, psw, verification_code, new CloudCallBeak<Boolean>() {
+ @Override
+ public void onSuccess(Boolean obj) {
+ HdlThreadLogic.runMainThread(new Runnable() {
+ @Override
+ public void run() {
+ ConfirmationTipDialog dialog = new ConfirmationTipDialog(_mActivity);
+ dialog.show();
+ dialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() {
+ @Override
+ public void Confirm() {
+ finish();
+ }
+ });
+ }
+ }, null, null);
+
+ }
+
+ @Override
+ public void onFailure(HDLException e) {
+
+ }
+ });
+ }
+ });
+
+ }
+
+ /**
+ * 鍙戦�侀獙璇佺爜鎸囦护
+ */
+ private void sendVerification() {
+
+ String account = viewBinding.registerAccountEt.getText().toString();
+ if (TextUtils.isEmpty(account)) {
+ if (isPhoneType) {
+ viewBinding.textErrorTv.setText(R.string.home_login_phone_null);
+ } else {
+ viewBinding.textErrorTv.setText(R.string.home_login_mail_null);
+ }
+ return;
+ }
+
+
+ //鑾峰彇璐﹀彿鍖哄煙淇℃伅
+ HdlAccountLogic.getInstance().regionByAccount(account, new CloudCallBeak<HDLUserRegionBean>() {
+ @Override
+ public void onSuccess(HDLUserRegionBean obj) {
+ //鍙戦�佹秷鎭獙璇佺爜
+ HdlThreadLogic.toast(RegisterAccountActivity.this, getString(R.string.home_login_already_exists));
+ HdlLogLogic.print("regionByAccount onSuccess==" + obj);
+ }
+
+ @Override
+ public void onFailure(HDLException e) {
+ //鐢ㄦ埛涓嶅瓨鍦ㄦ墠娉ㄥ唽
+ if (e != null && e.getCode() == 10010) {
+ //璁剧疆璐﹀彿鎵�鍦ㄥ尯鍩熷崗璁強鍦板潃
+// AppConfigManage.setUserRegionUrl("http://59.41.255.150:7777");//obj.getRegionUrl()
+ if (!AppConfigManage.isIsOnlineServer()) {
+ //娴嬭瘯鐜榛樿杩欎釜鍩熷悕
+ mUrl = "https://test-gz.hdlcontrol.com";
+ }
+ HDLLinkPMUser.getInstance().setUserRegionUrl(mUrl);
+ HdlAccountLogic.getInstance().sendVerifyCode(isPhoneType, account, "86", 1, new CloudCallBeak<Boolean>() {
+ @Override
+ public void onSuccess(Boolean obj) {
+ if (isPhoneType) {
+ phoneCountDownTimer.start();
+ } else {
+ mailCountDownTimer.start();
+ }
+ }
+
+ @Override
+ public void onFailure(HDLException e) {
+
+ }
+ });
+ }
+
+ }
+ });
+
+ }
+
+ /**
+ * 鍒濆鍖栨墜鏈哄彿璁℃椂鍣�
+ */
+ CountDownTimer phoneCountDownTimer = new CountDownTimer(60 * 1000, 1000) {
+ @Override
+ public void onTick(long millisUntilFinished) {
+ long time = (millisUntilFinished / 1000);
+ String str = time + "s" + getString(R.string.home_login_psw_verification_repeater);
+ viewBinding.registerPhoneVerificationTv.setText(str);
+ viewBinding.registerPhoneVerificationTv.setTextColor(getResources().getColor(R.color.text_25000000));
+ viewBinding.registerPhoneVerificationTv.setEnabled(false);
+
+ }
+
+ @Override
+ public void onFinish() {
+ viewBinding.registerPhoneVerificationTv.setText(getString(R.string.home_login_verification_regain));
+ viewBinding.registerPhoneVerificationTv.setTextColor(getResources().getColor(R.color.text_245EC3));
+ viewBinding.registerPhoneVerificationTv.setEnabled(true);
+
+
+ }
+ };
+ /**
+ * 鍒濆鍖栭偖绠辫鏃跺櫒
+ */
+ CountDownTimer mailCountDownTimer = new CountDownTimer(60 * 1000, 1000) {
+ @Override
+ public void onTick(long millisUntilFinished) {
+ long time = (millisUntilFinished / 1000);
+ String str = time + "s" + getString(R.string.home_login_psw_verification_repeater);
+
+ viewBinding.registerMailVerificationTv.setText(str);
+ viewBinding.registerMailVerificationTv.setTextColor(getResources().getColor(R.color.text_25000000));
+ viewBinding.registerMailVerificationTv.setEnabled(false);
+
+ }
+
+ @Override
+ public void onFinish() {
+ viewBinding.registerMailVerificationTv.setText(getString(R.string.home_login_verification_regain));
+ viewBinding.registerMailVerificationTv.setTextColor(getResources().getColor(R.color.text_245EC3));
+ viewBinding.registerMailVerificationTv.setEnabled(true);
+
+ }
+ };
+
+ /**
+ * 鍒囨崲鎵嬫満鍙锋垨鑰呴偖绠辩殑鏍峰紡
+ */
+ private void switchPhoneOrMailView() {
+ if (isPhoneType) {
+ //鎵嬫満鍙�
+ viewBinding.registerPhoneTitleIc.accountTitleTv.setText(R.string.home_login_鎵嬫満鍙�);
+ viewBinding.registerPhoneTitleIc.accountTitleTv.setTextSize(20);
+ viewBinding.registerPhoneTitleIc.accountTitleTv.setTextColor(getResources().getColor(R.color.text_90000000));
+ viewBinding.registerPhoneTitleIc.lineV.setVisibility(View.VISIBLE);
+
+ viewBinding.registerMailTitleIc.accountTitleTv.setText(R.string.home_login_閭);
+ viewBinding.registerMailTitleIc.accountTitleTv.setTextSize(16);
+ viewBinding.registerMailTitleIc.accountTitleTv.setTextColor(getResources().getColor(R.color.text_40000000));
+ viewBinding.registerMailTitleIc.lineV.setVisibility(View.GONE);
+
+ //杈撳叆鎵嬫満鍙�
+ viewBinding.registerAccountEt.setInputType(InputType.TYPE_CLASS_NUMBER);
+ viewBinding.registerAccountEt.setHint(R.string.home_login_璇疯緭鍏ユ墜鏈哄彿);
+ //鏄剧ず鎵嬫満鍙烽獙璇佺爜锛岄殣钘忛偖绠遍獙璇佺爜,
+ viewBinding.registerPhoneVerificationCodeRl.setVisibility(View.VISIBLE);
+ viewBinding.registerMailVerificationCodeRl.setVisibility(View.GONE);
+ //璁板綍閭璐﹀彿鍜屽瘑鐮�
+ mMailAccount = viewBinding.registerAccountEt.getText().toString();
+ mMailVerificationCode = viewBinding.registerMailVerificationEt.getText().toString();
+ mMailPsw = viewBinding.registerPswEt.getText().toString();
+ mMailConfirmPsw = viewBinding.registerConfirmPswEt.getText().toString();
+ //鏄剧ず鏃ф暟鎹�
+ viewBinding.registerAccountEt.setText(mPhoneAccount);
+ viewBinding.registerPhoneVerificationEt.setText(mPhoneVerificationCode);
+ viewBinding.registerPswEt.setText(mPhonePsw);
+ viewBinding.registerConfirmPswEt.setText(mPhoneConfirmPsw);
+
+
+ } else {
+ //閭
+ viewBinding.registerPhoneTitleIc.accountTitleTv.setText(R.string.home_login_鎵嬫満鍙�);
+ viewBinding.registerPhoneTitleIc.accountTitleTv.setTextSize(16);
+ viewBinding.registerPhoneTitleIc.accountTitleTv.setTextColor(getResources().getColor(R.color.text_40000000));
+ viewBinding.registerPhoneTitleIc.lineV.setVisibility(View.GONE);
+
+ viewBinding.registerMailTitleIc.accountTitleTv.setText(R.string.home_login_閭);
+ viewBinding.registerMailTitleIc.accountTitleTv.setTextSize(20);
+ viewBinding.registerMailTitleIc.accountTitleTv.setTextColor(getResources().getColor(R.color.text_90000000));
+ viewBinding.registerMailTitleIc.lineV.setVisibility(View.VISIBLE);
+ //杈撳叆閭
+ viewBinding.registerAccountEt.setInputType(InputType.TYPE_CLASS_TEXT);
+ viewBinding.registerAccountEt.setHint(R.string.home_login_input_mail);
+
+ //鏄剧ず绠遍偖楠岃瘉鐮侊紝闅愯棌鎵嬫満鍙烽獙璇佺爜,
+ viewBinding.registerPhoneVerificationCodeRl.setVisibility(View.GONE);
+ viewBinding.registerMailVerificationCodeRl.setVisibility(View.VISIBLE);
+
+ //璁板綍鎵嬫満鍙峰拰瀵嗙爜
+ mPhoneAccount = viewBinding.registerAccountEt.getText().toString();
+ mPhoneVerificationCode = viewBinding.registerPhoneVerificationEt.getText().toString();
+ mPhonePsw = viewBinding.registerPswEt.getText().toString();
+ mPhoneConfirmPsw = viewBinding.registerConfirmPswEt.getText().toString();
+ //鏄剧ず鏃ф暟鎹�
+ viewBinding.registerAccountEt.setText(mMailAccount);
+ viewBinding.registerMailVerificationEt.setText(mMailVerificationCode);
+ viewBinding.registerPswEt.setText(mMailPsw);
+ viewBinding.registerConfirmPswEt.setText(mMailConfirmPsw);
+
+ }
+ isCompleteEnabled();
+
+ }
+
+ /**
+ * 鏍¢獙鎸夐挳鏄惁鍚敤
+ */
+ private void isCompleteEnabled() {
+ String account = viewBinding.registerAccountEt.getText().toString();
+ String psw1 = viewBinding.registerPswEt.getText().toString();
+ String psw2 = viewBinding.registerConfirmPswEt.getText().toString();
+ String verification_code;
+ if (isPhoneType) {
+ verification_code = viewBinding.registerPhoneVerificationEt.getText().toString();
+ } else {
+ verification_code = viewBinding.registerMailVerificationEt.getText().toString();
+ }
+ boolean isEnabled = account.length() > 0 && psw1.length() > 0 && psw2.length() > 0 && verification_code.length() > 0;
+ viewBinding.registerCompleteTv.setEnabled(isEnabled);
+ }
+
+ /**
+ * 鏈湴鏍¢獙杈撳叆璐﹀彿鎴栬�呭瘑鐮佹槸鍚︽纭�
+ */
+ private boolean isLocalCheckAccountAndPassword() {
+ String psw1 = viewBinding.registerPswEt.getText().toString();
+ String psw2 = viewBinding.registerConfirmPswEt.getText().toString();
+ if (!psw1.equals(psw2)) {
+ viewBinding.textErrorTv.setText(R.string.home_login_psw_unlikeliness);
+ return false;
+ }
+ if (psw1.length() < 6 || psw1.length() > 16) {
+ viewBinding.textErrorTv.setText(R.string.home_login_error_6_16_str);
+ return false;
+ }
+// if (psw2.length() < 6 || psw2.length() > 16) {
+// viewBinding.textErrorTv.setText(R.string.home_login_error_6_16_str);
+// return false;
+// }
+ return true;
+
+ }
+
+
+ @Override
+ protected void onDestroy() {
+ super.onDestroy();
+ if (phoneCountDownTimer != null) {
+ phoneCountDownTimer.cancel();
+ phoneCountDownTimer = null;
+ }
+ if (mailCountDownTimer != null) {
+ mailCountDownTimer.cancel();
+ mailCountDownTimer = null;
+ }
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java b/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java
index bc717bc..2d70800 100644
--- a/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java
+++ b/app/src/main/java/com/hdl/photovoltaic/uni/HDLUniMP.java
@@ -34,6 +34,8 @@
public final static String UNI_EVENT_REPLY_DEVICE_ADD = "add";//璁惧娣诲姞
public final static String UNI_EVENT_REPLY_DEVICE_DEL = "del";//璁惧鍒犻櫎
public final static String UNI_EVENT_REPLY_DEVICE_OID = "oid";//璁惧銆愬寘鎷笅鎸傝澶囥�憃id鍒楄〃
+ public final static String UNI_EVENT_REPLY_DEVICE_TIME = "time";//璁惧鏃堕棿璇诲彇
+ public final static String UNI_EVENT_REPLY_DEVICE_TIME_EDIT = "time_edit";//璁惧鏃堕棿缂栬緫
public final static String UNI_EVENT_REPLY_DEVICE_MODBUS_SEND = "modbus_send";//modbus鍗忚
/*********Wifi妯″潡*********/ //鍗敠瀹氫箟
diff --git a/app/src/main/java/com/hdl/photovoltaic/widget/ListDialog.java b/app/src/main/java/com/hdl/photovoltaic/widget/ListDialog.java
new file mode 100644
index 0000000..230b631
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/widget/ListDialog.java
@@ -0,0 +1,96 @@
+package com.hdl.photovoltaic.widget;
+
+import android.app.Dialog;
+import android.content.Context;
+import android.os.Bundle;
+import android.view.View;
+
+import androidx.annotation.NonNull;
+
+import com.hdl.photovoltaic.R;
+import com.hdl.photovoltaic.databinding.DialogListBinding;
+
+public class ListDialog extends Dialog {
+ private onNoListener onNoOnclickListener;
+ private onHDLChinaListener onHDLChinaListener;
+ private onHDLBahrainListener onHDLBahrainListener;
+ private DialogListBinding viewBinding;
+
+ public ListDialog(@NonNull Context context) {
+ super(context, R.style.Custom_Dialog);
+ }
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ viewBinding = DialogListBinding.inflate(getLayoutInflater());
+ setContentView(viewBinding.getRoot());
+ initEvent();
+
+ }
+
+ public String geHDLChinaText(){
+ return viewBinding.hdlChinaTv.getText().toString();
+ };
+ public String getHDLBahrainText(){
+ return viewBinding.hdlBahrainTv.getText().toString();
+
+ }
+ private void initEvent() {
+
+ viewBinding.hdlCancelLl.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if (onNoOnclickListener != null) {
+ onNoOnclickListener.Cancel();
+ }
+ dismiss();
+ }
+ });
+ viewBinding.hdlChinaLl.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if (onHDLChinaListener != null) {
+ onHDLChinaListener.HDLChina();
+ }
+ dismiss();
+ }
+ });
+ viewBinding.hdlBahrainLl.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ if (onHDLBahrainListener != null) {
+ onHDLBahrainListener.HDLBahrain();
+ }
+ dismiss();
+ }
+ });
+
+
+ }
+
+ public void setNoOnListener(onNoListener onclickListener) {
+ this.onNoOnclickListener = onclickListener;
+ }
+
+ public void setOnHDLChinaOnListener(onHDLChinaListener onHDLChinaListener) {
+ this.onHDLChinaListener = onHDLChinaListener;
+ }
+
+ public void setOnHDLBahrainListener(onHDLBahrainListener onHDLBahrainListener) {
+ this.onHDLBahrainListener = onHDLBahrainListener;
+ }
+
+ public interface onNoListener {
+ void Cancel();
+ }
+
+ public interface onHDLChinaListener {
+ void HDLChina();
+ }
+
+ public interface onHDLBahrainListener {
+ void HDLBahrain();
+ }
+
+}
diff --git a/app/src/main/res/layout/activity_change_password.xml b/app/src/main/res/layout/activity_change_password.xml
index 80edf65..2905a80 100644
--- a/app/src/main/res/layout/activity_change_password.xml
+++ b/app/src/main/res/layout/activity_change_password.xml
@@ -284,7 +284,7 @@
</RelativeLayout>
-
+ <!--閿欒鎻愮ず-->
<TextView
android:id="@+id/text_error_tv"
android:layout_width="wrap_content"
diff --git a/app/src/main/res/layout/activity_home_login.xml b/app/src/main/res/layout/activity_home_login.xml
index cedebad..8971ce2 100644
--- a/app/src/main/res/layout/activity_home_login.xml
+++ b/app/src/main/res/layout/activity_home_login.xml
@@ -188,8 +188,8 @@
<TextView
android:id="@+id/home_login_register_tv"
- android:layout_width="wrap_content"
- android:layout_height="@dimen/dp_20"
+ android:layout_width="32dp"
+ android:layout_height="17dp"
android:layout_marginTop="@dimen/dp_24"
android:text="@string/home_login_娉ㄥ唽"
android:textColor="@color/text_245EC3"
@@ -245,7 +245,7 @@
android:layout_marginTop="@dimen/dp_208"
android:background="@drawable/yesandnoselected"
app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/home_login_register_tv" />
+ app:layout_constraintTop_toBottomOf="@+id/home_login_forget_password_tv" />
<TextView
android:id="@+id/home_login_privacy_tv"
diff --git a/app/src/main/res/layout/activity_register_account.xml b/app/src/main/res/layout/activity_register_account.xml
index 4f9aae0..46b70a3 100644
--- a/app/src/main/res/layout/activity_register_account.xml
+++ b/app/src/main/res/layout/activity_register_account.xml
@@ -268,8 +268,9 @@
</RelativeLayout>
+ <!--鎵嬫満鍙烽獙璇佺爜-->
<RelativeLayout
- android:id="@+id/register_verification_code_rl"
+ android:id="@+id/register_phone_verification_code_rl"
android:layout_width="match_parent"
android:layout_height="@dimen/dp_60"
app:layout_constraintEnd_toEndOf="parent"
@@ -278,7 +279,7 @@
<TextView
- android:id="@+id/register_verification_tv"
+ android:id="@+id/register_phone_verification_tv"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentEnd="true"
@@ -290,18 +291,18 @@
android:textSize="@dimen/text_14" />
<View
- android:id="@+id/register_verification_v"
+ android:id="@+id/register_phone_verification_v"
android:layout_width="0.5dp"
android:layout_height="20dp"
- android:layout_alignStart="@+id/register_verification_tv"
+ android:layout_alignStart="@+id/register_phone_verification_tv"
android:layout_centerInParent="true"
android:background="@color/text_E1E1E1" />
<EditText
- android:id="@+id/register_verification_et"
- android:layout_width="match_parent"
+ android:id="@+id/register_phone_verification_et"
+ android:layout_width="@dimen/dp_150"
android:layout_height="match_parent"
- android:layout_alignStart="@+id/register_verification_v"
+ android:layout_alignStart="@+id/register_phone_verification_v"
android:layout_alignParentStart="true"
android:layout_marginStart="@dimen/dp_20"
android:background="@null"
@@ -326,12 +327,83 @@
</RelativeLayout>
+ <!--閭楠岃瘉鐮�-->
+ <RelativeLayout
+ android:id="@+id/register_mail_verification_code_rl"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/dp_60"
+ android:visibility="gone"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/register_confirm_psw_rl">
+
+
+ <TextView
+ android:id="@+id/register_mail_verification_tv"
+ android:layout_width="wrap_content"
+ android:layout_height="match_parent"
+ android:layout_alignParentEnd="true"
+ android:layout_marginEnd="@dimen/dp_20"
+ android:gravity="center"
+ android:padding="@dimen/dp_16"
+ android:text="@string/home_login_send_mail"
+ android:textColor="@color/text_245EC3"
+ android:textSize="@dimen/text_14" />
+
+ <View
+ android:id="@+id/register_mail_verification_v"
+ android:layout_width="0.5dp"
+ android:layout_height="20dp"
+ android:layout_alignStart="@+id/register_mail_verification_tv"
+ android:layout_centerInParent="true"
+ android:background="@color/text_E1E1E1" />
+
+ <EditText
+ android:id="@+id/register_mail_verification_et"
+ android:layout_width="@dimen/dp_150"
+ android:layout_height="match_parent"
+ android:layout_alignStart="@+id/register_mail_verification_v"
+ android:layout_alignParentStart="true"
+ android:layout_marginStart="@dimen/dp_20"
+ android:background="@null"
+ android:hint="@string/home_login_input_楠岃瘉鐮�"
+ android:inputType="text"
+ android:lines="1"
+ android:maxLines="1"
+ android:textColor="@color/text_FF000000"
+ android:textColorHint="@color/text_25000000"
+ android:textSize="@dimen/text_16"
+
+ />
+
+ <View
+ android:layout_width="match_parent"
+ android:layout_height="0.5dp"
+ android:layout_alignParentBottom="true"
+ android:layout_marginStart="@dimen/dp_20"
+ android:layout_marginEnd="@dimen/dp_20"
+ android:background="@color/text_E1E1E1" />
+
+
+ </RelativeLayout>
+ <!--閿欒鎻愮ず-->
<TextView
- android:id="@+id/account_title_tv"
+ android:id="@+id/text_error_tv"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginStart="@dimen/dp_20"
+ android:layout_marginTop="@dimen/dp_60"
+ android:textColor="@color/text_D34545"
+ android:textSize="12sp"
+ app:layout_constraintStart_toStartOf="@+id/register_confirm_psw_rl"
+ app:layout_constraintTop_toBottomOf="@+id/register_confirm_psw_rl" />
+
+ <TextView
+ android:id="@+id/register_complete_tv"
android:layout_width="0dp"
android:layout_height="52dp"
android:layout_marginStart="@dimen/dp_20"
- android:layout_marginTop="@dimen/dp_42"
+ android:layout_marginTop="102dp"
android:layout_marginEnd="@dimen/dp_20"
android:background="@drawable/yesandnocheck"
android:enabled="false"
@@ -341,7 +413,7 @@
android:textSize="18sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintTop_toBottomOf="@+id/register_verification_code_rl" />
+ app:layout_constraintTop_toBottomOf="@+id/register_confirm_psw_rl" />
</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/dialog_list.xml b/app/src/main/res/layout/dialog_list.xml
new file mode 100644
index 0000000..637f883
--- /dev/null
+++ b/app/src/main/res/layout/dialog_list.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <androidx.constraintlayout.widget.ConstraintLayout
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/dp_200"
+ android:layout_marginStart="@dimen/dp_20"
+ android:layout_marginEnd="@dimen/dp_20"
+ app:layout_constraintBottom_toBottomOf="parent"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent">
+
+ <LinearLayout
+ android:id="@+id/hdl_china_ll"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/dp_50"
+ android:background="@color/ffffff"
+ android:gravity="center"
+ android:orientation="horizontal"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="parent">
+
+ <TextView
+ android:id="@+id/hdl_china_tv"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="HDL China"
+ android:textColor="@color/text_90000000"
+ android:textSize="@dimen/text_18" />
+ </LinearLayout>
+
+ <View
+ android:id="@+id/line_v"
+ android:layout_width="match_parent"
+ android:layout_height="0.5dp"
+ android:background="@color/text_E1E1E1"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/hdl_china_ll"
+
+ />
+
+
+ <LinearLayout
+ android:id="@+id/hdl_bahrain_ll"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/dp_50"
+ android:background="@color/ffffff"
+ android:gravity="center"
+ android:orientation="horizontal"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/line_v">
+
+ <TextView
+ android:id="@+id/hdl_bahrain_tv"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="HDL Bahrain"
+ android:textColor="@color/text_90000000"
+ android:textSize="@dimen/text_18"
+
+ />
+ </LinearLayout>
+
+ <LinearLayout
+ android:id="@+id/hdl_cancel_ll"
+ android:layout_width="match_parent"
+ android:layout_height="@dimen/dp_50"
+ android:layout_marginTop="@dimen/dp_20"
+ android:background="@color/ffffff"
+ android:gravity="center"
+ android:orientation="horizontal"
+ app:layout_constraintEnd_toEndOf="parent"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toBottomOf="@+id/hdl_bahrain_ll">
+
+ <TextView
+ android:id="@+id/hdl_cancel_tv"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:text="@string/loading_鍙栨秷"
+ android:textColor="@color/text_90000000"
+ android:textSize="@dimen/text_18"
+
+ />
+ </LinearLayout>
+ </androidx.constraintlayout.widget.ConstraintLayout>
+
+</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 5589246..6b4d1df 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -49,6 +49,7 @@
<string name="home_login_pws_reset_succeeded">瀵嗙爜閲嶇疆鎴愬姛</string>
<string name="home_login_back_login">杩斿洖鐧诲綍</string>
<string name="home_login_send_mail">鍙戦�佽嚦閭</string>
+ <string name="home_login_already_exists">璇ョ敤鎴峰凡瀛樺湪锛屽彲鐩存帴鐧诲綍</string>
<!--鎴戠殑鐢电珯-->
--
Gitblit v1.8.0