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