From 28880ba7540c523d3e50d35416422396ef802c50 Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期三, 25 十月 2023 18:16:45 +0800 Subject: [PATCH] 2023年10月25日18:16:37 --- app/src/main/java/com/hdl/photovoltaic/ui/bean/DeviceTimeBean.java | 3 app/src/main/res/values/themes.xml | 4 app/src/main/res/anim/dcloud_unimp_host_open_enter.xml | 12 app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java | 14 .idea/misc.xml | 1 app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseInfoBean.java | 3 app/src/main/res/layout/frgment_house_list_line.xml | 3 app/src/main/java/com/hdl/photovoltaic/other/HdlFileLogic.java | 2 app/src/main/java/com/hdl/photovoltaic/ui/me/MeChangePasswordActivity.java | 35 - app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java | 49 ++ app/src/main/java/com/hdl/photovoltaic/ui/bean/CloudInverterChildDeviceBean.java | 3 app/src/main/java/com/hdl/photovoltaic/ui/bean/CloudInverterDeviceBean.java | 4 app/src/main/java/com/hdl/photovoltaic/config/UserConfigManage.java | 31 + app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java | 52 ++ app/src/main/res/layout/dialog_flashing_box.xml | 1 app/src/main/res/anim/dcloud_unimp_close_exit.xml | 18 + app/src/main/res/layout/fragment_me.xml | 2 app/src/main/java/com/hdl/photovoltaic/ui/StartActivity.java | 59 ++ app/src/main/res/values/strings.xml | 7 app/src/main/res/drawable/default_user.png | 0 app/src/main/java/com/hdl/photovoltaic/ui/bean/CUserInfo.java | 137 ++++++++ app/src/main/java/com/hdl/photovoltaic/ui/me/SetActivity.java | 25 + app/src/main/java/com/hdl/photovoltaic/HDLApp.java | 7 app/src/main/java/com/hdl/photovoltaic/ui/bean/BUserInfo.java | 49 ++ app/src/main/java/com/hdl/photovoltaic/ui/bean/LoginUserBean.java | 3 app/src/main/res/anim/dcloud_unimp_open_enter.xml | 15 app/src/main/java/com/hdl/photovoltaic/internet/HttpClient.java | 55 +++ app/src/main/java/com/hdl/photovoltaic/ui/me/MeFragment.java | 129 +++++++ app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseIdBean.java | 8 app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java | 3 app/src/main/java/com/hdl/photovoltaic/internet/api/HttpApi.java | 24 app/src/main/res/anim/dcloud_unimp_host_close_exit.xml | 14 HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/core/response/HDLResponse.java | 12 app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java | 186 ++++++++++ 34 files changed, 870 insertions(+), 100 deletions(-) diff --git a/.idea/misc.xml b/.idea/misc.xml index 614f292..3bac0e3 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,4 +1,3 @@ -<?xml version="1.0" encoding="UTF-8"?> <project version="4"> <component name="ExternalStorageConfigurationManager" enabled="true" /> <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="corretto-1.8" project-jdk-type="JavaSDK" /> diff --git a/HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/core/response/HDLResponse.java b/HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/core/response/HDLResponse.java index f12f663..ba940f2 100644 --- a/HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/core/response/HDLResponse.java +++ b/HDLLinkPMSdk/src/main/java/com/hdl/linkpm/sdk/core/response/HDLResponse.java @@ -47,18 +47,18 @@ if (response.getCode() == HDLCloudCode.SUCCEED) { onResponse(response.getData()); } else { - if(HDLLinkPMSdk.isDebugVersion()){ - HDLLinkPMSdk.showToast(response.getMessage()); - } +// if(HDLLinkPMSdk.isDebugVersion()){ +// HDLLinkPMSdk.showToast(response.getMessage()); +// } onFailure(new HDLException(response.getCode(), response.getMessage())); } } @Override public final void onError(HxException e) { - if(HDLLinkPMSdk.isDebugVersion()){ - HDLLinkPMSdk.showToast(e.getRawThrowable().getMessage()); - } +// if(HDLLinkPMSdk.isDebugVersion()){ +// HDLLinkPMSdk.showToast(e.getRawThrowable().getMessage()); +// } onFailure(new HDLException(e.getCode(),e.getRawThrowable().getMessage())); } diff --git a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java index e74a28d..cc202ec 100644 --- a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java +++ b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java @@ -16,6 +16,7 @@ import com.hdl.linkpm.sdk.user.callback.IOnReloginListener; import com.hdl.linkpm.sdk.utils.HDLSDKSPUtils; import com.hdl.photovoltaic.config.AppConfigManage; +import com.hdl.photovoltaic.config.UserConfigManage; import com.hdl.photovoltaic.other.HdlLogLogic; import com.hdl.photovoltaic.ui.HomeLoginActivity; import com.hdl.photovoltaic.uni.HDLUniMPSDKManager; @@ -142,6 +143,12 @@ //鏀跺埌鐧诲綍澶勭悊閫氱煡锛屽叧闂墍鏈夐〉闈㈠苟鎵撳紑鐧诲綍椤甸潰 AppManagerUtils.getAppManager().finishAllActivity(); HDLSDKSPUtils.clear(); + +// //閲嶆柊鐧婚檰,榛樿鍚屾剰闅愮鏀跨瓥 +// UserConfigManage.getInstance().AcceiptPolicy = true; + //璁惧畾涓�涓椂闂� + UserConfigManage.getInstance().setLoginDateTime(0); + UserConfigManage.getInstance().Save(); // if(null!=HDLUniMPSDKManager.getInstance().getUniMP()){ // LogUtils.d("asdfasdfasdfsdf鎴戣鍒犻櫎鍟�"); // HDLUniMPSDKManager.getInstance().getUniMP().closeUniMP(); 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 41dcd14..61bea23 100644 --- a/app/src/main/java/com/hdl/photovoltaic/config/UserConfigManage.java +++ b/app/src/main/java/com/hdl/photovoltaic/config/UserConfigManage.java @@ -62,7 +62,7 @@ //鍒ゆ柇褰撳墠鏃堕棿鐐规槸鍚﹁兘澶熻嚜鍔ㄧ櫥褰� public boolean isAutoLogin() { //7澶╁唴鑷姩鐧诲綍 - return ((System.currentTimeMillis() - loginDateTime) < 7 * 24 * 60 * 60); + return ((System.currentTimeMillis() - loginDateTime) < (7 * 24 * 60 * 60 * 1000)); } //鏄惁鍚屾剰闅愮鏀跨瓥 @@ -73,6 +73,22 @@ public String connEmqClientId; //褰撳墠鐧诲綍鐨勮处鍙锋槸涓嶆槸涔嬪墠鐨勮处鍙� public boolean theSameLoginAccount; + + /** + * 鐢ㄦ埛鍚嶇О + * + * @return - + */ + public String getUserName() { + + return TextUtils.isEmpty(userName) ? account : userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + private String userName;//鐢ㄦ埛鍚嶇О public String getRefreshToken() { return refreshToken == null ? "" : refreshToken; @@ -154,6 +170,11 @@ this.theSameLoginAccount = theSameLoginAccount; } + /** + * 鏄惁鏄疊绔处鍙风櫥褰�(true=B绔�) + * + * @return - + */ public boolean isBAccount() { return isB_account; } @@ -207,6 +228,9 @@ //璇诲彇淇濆瓨鐨勬暟鎹� Gson gson = new Gson(); sUserConfigManage = gson.fromJson(str, UserConfigManage.class); + if (sUserConfigManage == null) { + sUserConfigManage = new UserConfigManage(); + } } } @@ -226,10 +250,7 @@ /// <summary> /// Config鏂囦欢鍚� /// </summary> - private static final String FILENAME = "UserConfigManage.json"; - - - + private static final String FILENAME = HdlFileLogic.getInstance().getAPPInternalStoreFilesPath() + "/UserConfigManage.json"; } 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 0a9866e..a835302 100644 --- a/app/src/main/java/com/hdl/photovoltaic/internet/HttpClient.java +++ b/app/src/main/java/com/hdl/photovoltaic/internet/HttpClient.java @@ -25,6 +25,7 @@ import com.hdl.photovoltaic.other.HdlLogLogic; import com.hdl.photovoltaic.utils.HDLMD5Utils; +import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.Collections; @@ -101,6 +102,48 @@ } + /** + * 璇锋眰鏈嶅姟鍣� + * 搴曞眰鏂规硶,寮曠敤搴撶殑鏂规硶 + * + * @param api 璇锋眰鎺ュ彛 + * @param body 璇锋眰鍙傛暟(appKey,timestamp,sign杩欎笁涓弬鏁板唴閮ㄤ細鑷姩娣诲姞)) + * @param callBack 鍥炶皟 + * @return - + */ + private Disposable requestFile(String api, File body, CloudCallBeak<String> callBack) { + + + String requestUrl = HDLCloudUserApi.getRequestUrl(api); + Gson gson = new Gson(); + System.out.println("http->鍙戦��->" + requestUrl + "\r\n" + body); + return HxHttp.builder() + .url(requestUrl) + .file(body) + .build() + .post() + .subscribeWith(new HDLResponse<String>() { + @Override + public void onResponse(String str) { + if (callBack != null) { + callBack.onSuccess(str); +// System.out.println("http->鍥炲->" + requestUrl + "\r\n" + gson.fromJson(str, JsonObject.class).toString()); + System.out.println("http->鍥炲->" + requestUrl + "\r\n" + str); + } + } + + @Override + public void onFailure(HDLException e) { + HDLExceptionSubmitUtils.submit(requestUrl, body, e); + if (callBack != null) { + callBack.onFailure(e); + System.out.println("http->鍥炲->" + requestUrl + "\r\n" + "\"{code=\"" + e.getCode() + "," + "\"message=\"" + e.getMsg() + "}"); + } + } + }); + + } + /** * 璇锋眰鏈嶅姟鍣� @@ -114,6 +157,18 @@ } /** + * 璇锋眰鏈嶅姟鍣紙涓婁紶鏂囦欢锛� + * + * @param api 璇锋眰鎺ュ彛 + * @param body 璇锋眰鍙傛暟(json) + * @param callBack 鍥炶皟 + */ + public Disposable requestHttpFile(String api, File body, CloudCallBeak<String> callBack) { + return requestFile(api, body, callBack); + } + + + /** * 璇锋眰鏈嶅姟鍣ㄧ殑鏂规硶(宸插純鐢�) * * @param requestUrl 璇锋眰鎺ュ彛 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 cc27e33..864e48f 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 @@ -49,14 +49,13 @@ //鏇存敼涓汉瀵嗙爜 public static final String B_POST_UPDATE_PROGRAM_PASSWORD = "/smart-footstone/user/userInfo/updateProgramPassword"; //鑾峰彇鍛樺伐鍒楄〃 - public static final String POST_GET_USER_LIST = "/smart-footstone/user/userInfo/getUserList"; + public static final String B_POST_GET_USER_LIST = "/smart-footstone/user/userInfo/getUserList"; - //涓婁紶鍥剧墖 - public static final String POST_UPLOAD_IMAGE = "/home-wisdom/app/images/upload_image"; - //涓婁紶鍥剧墖锛堟柊锛� - public static final String POST_UPLOAD_IMAGE_NEW = "/basis-cosmos/file/upload"; - //鏌ヨ鍥剧墖璺緞 - public static final String POST_GET_Image_Url = "/home-wisdom/app/images/get_image_url"; + + //鑾峰彇鐢ㄦ埛璇︽儏淇℃伅 + public static final String B_POST_GET_USERINFO = "/basis-footstone/mgmt/user/oauth/getUserInfo"; + + //閫�鍑虹櫥褰� public static final String POST_GET_IMAGE_LOGOUT = "/basis-footstone/mgmt/user/oauth/logout"; //endregion @@ -73,10 +72,17 @@ public static final String C_POST_FORGET_PROGRAM_PWD = "/smart-footstone/member/oauth/forgetPwd"; //鏇存敼涓汉瀵嗙爜 public static final String C_POST_UPDATE_PROGRAM_PASSWORD = "/smart-footstone/member/memberInfo/updatePwd"; - //鑾峰彇鐢ㄦ埛涓汉淇℃伅 C绔� + //鑾峰彇鐢ㄦ埛涓汉淇℃伅 public static final String C_POST_GET_MEMBER_INFO = "/smart-footstone/member/memberInfo/getMemberInfo"; - //鏇存柊涓汉淇℃伅 C绔� + //鏇存柊涓汉淇℃伅 public static final String C_POST_UPDATE_MEMBER_INFO = "/smart-footstone/member/memberInfo/updateMemberInfo"; + //鏌ヨ鍥剧墖璺緞 + public static final String C_POST_GET_IMAGE_URL = "/home-wisdom/app/images/get_image_url"; + //涓婁紶鍥剧墖 + public static final String C_POST_UPLOAD_IMAGE = "/home-wisdom/app/images/upload_image"; + //涓婁紶鍥剧墖锛堟柊锛� + public static final String C_POST_UPLOAD_IMAGE_NEW = "/basis-cosmos/file/upload"; + //endregion //endregion 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 08d26ce..27dac5f 100644 --- a/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java +++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java @@ -1,19 +1,27 @@ package com.hdl.photovoltaic.other; +import android.text.TextUtils; + import com.google.gson.Gson; import com.google.gson.JsonObject; +import com.hdl.linkpm.sdk.core.callback.IResponseCallBack; import com.hdl.linkpm.sdk.core.exception.HDLException; import com.hdl.linkpm.sdk.user.HDLLinkPMUser; import com.hdl.linkpm.sdk.user.bean.HDLLoginBean; import com.hdl.linkpm.sdk.user.bean.HDLUserRegionBean; +import com.hdl.linkpm.sdk.user.bean.ImageSubmitInfo; import com.hdl.linkpm.sdk.user.callback.ILoginCallBack; import com.hdl.linkpm.sdk.user.callback.IRegionByAccountCallBack; +import com.hdl.linkpm.sdk.user.controller.HDLPMUserController; import com.hdl.photovoltaic.config.UserConfigManage; import com.hdl.photovoltaic.internet.HttpClient; import com.hdl.photovoltaic.internet.api.HttpApi; import com.hdl.photovoltaic.listener.CloudCallBeak; +import com.hdl.photovoltaic.ui.bean.BUserInfo; +import com.hdl.photovoltaic.ui.bean.CUserInfo; +import java.io.File; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -207,13 +215,185 @@ } + /** + * 鑾峰彇鐢ㄦ埛璇︽儏淇℃伅(B绔处鍙�) + * + * @param cloudCallBeak - + */ + public void getUserInfo(CloudCallBeak<BUserInfo> cloudCallBeak) { + String requestUrl = HttpApi.B_POST_GET_USERINFO; + JsonObject json = new JsonObject(); + HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { + @Override + public void onSuccess(String jsonStr) { + Gson gson = new Gson(); + BUserInfo bUserInfo = gson.fromJson(jsonStr, BUserInfo.class); + if (cloudCallBeak != null) { + cloudCallBeak.onSuccess(bUserInfo); + } + } + + @Override + public void onFailure(HDLException e) { + if (cloudCallBeak != null) { + cloudCallBeak.onFailure(e); + } + } + }); + + + } + + // endregion // region --------銆怌绔处鍙枫��--------- + + /** + * 涓婁紶鐢ㄦ埛澶村儚 + * + * @param file 鍥剧墖鏂囦欢 + * @param cloudCallBeak - + */ + public void uploadUserHeadImage(File file, CloudCallBeak<String> cloudCallBeak) { + String requestUrl = HttpApi.C_POST_GET_IMAGE_URL; + HttpClient.getInstance().requestHttpFile(requestUrl, file, new CloudCallBeak<String>() { + @Override + public void onSuccess(String jsonStr) { + if (cloudCallBeak != null) { + cloudCallBeak.onSuccess(jsonStr); + } + } + + @Override + public void onFailure(HDLException e) { + if (cloudCallBeak != null) { + cloudCallBeak.onFailure(e); + } + } + }); + } + + /** + * 鑾峰彇鐢ㄦ埛澶村儚璺緞(C绔处鍙�) + * + * @param imageKey 鐢ㄦ埛澶村儚imageKey + * @param cloudCallBeak - + */ + public void getImageKey(String imageKey, CloudCallBeak<String> cloudCallBeak) { + String requestUrl = HttpApi.C_POST_GET_IMAGE_URL; + JsonObject json = new JsonObject(); + json.addProperty("imageKey", imageKey); + HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { + @Override + public void onSuccess(String jsonStr) { + if (cloudCallBeak != null) { + cloudCallBeak.onSuccess(jsonStr); + } + } + + @Override + public void onFailure(HDLException e) { + if (cloudCallBeak != null) { + cloudCallBeak.onFailure(e); + } + } + }); + + + } + + /** + * 鑾峰彇涓汉淇℃伅(C绔处鍙�) + * + * @param cloudCallBeak - + */ + public void getMemberInfo(CloudCallBeak<CUserInfo> cloudCallBeak) { + String requestUrl = HttpApi.C_POST_GET_MEMBER_INFO; + JsonObject json = new JsonObject(); + HttpClient.getInstance().requestHttp(requestUrl, json.toString(), new CloudCallBeak<String>() { + @Override + public void onSuccess(String jsonStr) { + Gson gson = new Gson(); + CUserInfo cUserInfo = gson.fromJson(jsonStr, CUserInfo.class); + if (cloudCallBeak != null) { + cloudCallBeak.onSuccess(cUserInfo); + } + } + + @Override + public void onFailure(HDLException e) { + if (cloudCallBeak != null) { + cloudCallBeak.onFailure(e); + } + } + }); + + + } + + /** + * 鏇存柊涓汉淇℃伅(C绔处鍙�) + * + * @param languageType 璇█绫诲瀷 + * @param memberName 鐢ㄦ埛鏄电О + * @param memberBirthday 鐢ㄦ埛鐢熸棩 + * @param memberHeadIcon 鐢ㄦ埛澶村儚 + * @param loginName 鐧婚檰璐﹀彿 + * @param memberSex 鐢ㄦ埛鎬у埆 + * @param cloudCallBeak - + */ + public void updateMemberInfo(String languageType, + String memberName, + String memberBirthday, + String memberHeadIcon, + String loginName, + String memberSex, + CloudCallBeak<Boolean> cloudCallBeak) { + String requestUrl = HttpApi.C_POST_UPDATE_MEMBER_INFO; + JsonObject json = new JsonObject(); + if (!TextUtils.isEmpty(languageType)) { + json.addProperty("languageType", languageType);//璇█绫诲瀷 + } + if (!TextUtils.isEmpty(memberName)) { + json.addProperty("memberName", memberName);//鐢ㄦ埛鏄电О + } + if (!TextUtils.isEmpty(memberBirthday)) { + json.addProperty("memberBirthday", memberBirthday);//鐢ㄦ埛鐢熸棩 + } + if (!TextUtils.isEmpty(memberHeadIcon)) { + json.addProperty("memberHeadIcon", memberHeadIcon);//鐢ㄦ埛澶村儚 + } + if (!TextUtils.isEmpty(loginName)) { + json.addProperty("loginName", loginName);//鐧婚檰璐﹀彿 + } + if (!TextUtils.isEmpty(memberSex)) { + json.addProperty("memberSex", memberSex);//鐢ㄦ埛鎬у埆 + } + 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绔处鍙�) - * 娉ㄦ剰:B + * 娉ㄦ剰:B绔笉鏀寔娉ㄥ唽璐﹀彿 * * @param isPhone true琛ㄧず鎵嬫満鍙�,鍚﹀垯鏄偖绠� * @param account 璐﹀彿 (鎵嬫満鎴栬�呴偖绠�) @@ -326,9 +506,6 @@ } - - - // endregion @@ -408,6 +585,7 @@ UserConfigManage.getInstance().setRefreshToken(obj.getRefreshToken());//鍒锋柊Token鐢ㄧ殑鍒锋柊Token鐢ㄧ殑 boolean isUserId = UserConfigManage.getInstance().getUserId().equals(obj.getUserId()); UserConfigManage.getInstance().setTheSameLoginAccount(isUserId);//涓庝笂涓�涓处鍙锋槸鍚﹀悓涓�涓� + UserConfigManage.getInstance().Save(); } } diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlFileLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlFileLogic.java index 5b2ddd3..78760e0 100644 --- a/app/src/main/java/com/hdl/photovoltaic/other/HdlFileLogic.java +++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlFileLogic.java @@ -52,7 +52,7 @@ /** * 鑾峰彇鎵嬫満鍐呴儴瀛樺偍鏂囦欢璺緞 */ - private String getAPPInternalStoreFilesPath() { + public String getAPPInternalStoreFilesPath() { return HDLApp.getInstance().getExternalFilesDir(Environment.DIRECTORY_DOCUMENTS).getPath(); } diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java index ec25ae5..68f95f7 100644 --- a/app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java +++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java @@ -1,14 +1,20 @@ package com.hdl.photovoltaic.other; import android.content.Context; +import android.graphics.drawable.Drawable; import android.os.Handler; import android.os.Looper; import android.util.Log; import android.widget.Toast; +import androidx.appcompat.content.res.AppCompatResources; + +import com.hdl.linkpm.sdk.core.exception.HDLException; +import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.enums.ShowErrorMode; import com.hdl.photovoltaic.widget.ConfirmationCancelDialog; import com.hdl.photovoltaic.widget.ConfirmationExceptionDialog; +import com.hdl.photovoltaic.widget.FlashingBoxDialog; /** * 绾跨▼閫昏緫 @@ -20,7 +26,7 @@ /** * 鍒囨崲鍥炰富绾跨▼鎵ц * - * @param runnable 鍥炶皟 + * @param runnable 鍥炶皟 * @param context 涓婁笅鏂�(涓嶉渶瑕佸脊妗嗗~null) * @param showErrorMode 鏄惁鏄剧ず閿欒(涓嶉渶瑕佹樉绀洪敊璇~null) */ @@ -38,12 +44,10 @@ } - - /** * 瀛愮嚎绋嬫墽琛� * - * @param runnable 鍥炶皟 + * @param runnable 鍥炶皟 * @param context 涓婁笅鏂�(涓嶉渶瑕佸脊妗嗗~null) * @param showErrorMode 鏄惁鏄剧ず閿欒(涓嶉渶瑕佸~null) */ @@ -78,6 +82,18 @@ /** * 鍏ㄥ眬寮瑰嚭妗�,绯荤粺榛樿Toast */ + public static void toast(final Context context, final HDLException hdlException) { + handler.post(new Runnable() { + @Override + public void run() { + Toast.makeText(context, hdlException.getMsg() + "(" + hdlException.getCode() + ")", Toast.LENGTH_SHORT).show(); + } + }); + } + + /** + * 鍏ㄥ眬寮瑰嚭妗�,绯荤粺榛樿Toast + */ public static void toast(final Context context, final int resId) { handler.post(new Runnable() { @Override @@ -89,6 +105,31 @@ /** + * 閿欒鎻愮ず妗嗭紙钃濇箹涓婃牱寮忥級 + * + * @param isBoolean 鍥炬爣(true浣跨敤鎴愬姛鍥炬爣,false浣跨敤鎴愬姛鍥炬爣) + * @param msg 淇℃伅 + * @param code 鐘舵�� + */ + public static void tipFlashingBox(Context context, boolean isBoolean, String msg, int code) { + HdlThreadLogic.runMainThread(new Runnable() { + @Override + public void run() { + FlashingBoxDialog flashingBoxDialog = new FlashingBoxDialog(context); + if (isBoolean) { + Drawable drawable = AppCompatResources.getDrawable(context, R.drawable.tip_succeed); + flashingBoxDialog.setImage(drawable); + } else { + Drawable drawable = AppCompatResources.getDrawable(context, R.drawable.tip_fail); + flashingBoxDialog.setImage(drawable); + } + flashingBoxDialog.setContent(msg + "\r\n(" + code + ")"); + flashingBoxDialog.show(); + } + }, null, null); + } + + /** * @param ex 寮傚父淇℃伅绫� * @param context 涓婁笅鏂�(涓嶉渶瑕佸脊妗嗗~null) * @param showErrorMode 鏄惁鏄剧ず閿欒(涓嶉渶瑕佸~null) 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 9014c74..5451bc0 100644 --- a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java +++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java @@ -253,7 +253,7 @@ @Override public void onError(HDLLinkException e) { - uniCallbackData(null, e.getCode(), e.getMessage(), callback); + uniCallbackData(null, e.getCode(), e.getMsg(), callback); } }); } @@ -370,21 +370,21 @@ @Override public void onFailure(HDLException e) { - uniCallbackData(null, e.getCode(), e.getMessage(), callback); + uniCallbackData(null, e.getCode(), e.getMsg(), callback); } }); } @Override public void onError(HDLLinkException e) { - uniCallbackData(null, e.getCode(), e.getMessage(), callback); + uniCallbackData(null, e.getCode(), e.getMsg(), callback); } }); } @Override public void onError(HDLLinkException e) { - uniCallbackData(null, e.getCode(), e.getMessage(), callback); + uniCallbackData(null, e.getCode(), e.getMsg(), callback); } }); } @@ -405,7 +405,7 @@ @Override public void onFailure(HDLException e) { - uniCallbackData(null, e.getCode(), e.getMessage(), callback); + uniCallbackData(null, e.getCode(), e.getMsg(), callback); } }); } @@ -426,7 +426,7 @@ @Override public void onError(HDLLinkException e) { //鍙戦�佸け璐� - uniCallbackData(null, e.getCode(), e.getMessage(), callback); + uniCallbackData(null, e.getCode(), e.getMsg(), callback); } }); @@ -454,7 +454,7 @@ @Override public void onFailure(HDLException e) { if (callback != null) { - uniCallbackData(null, e.getCode(), e.getMessage(), callback); + uniCallbackData(null, e.getCode(), e.getMsg(), callback); } } }); diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/StartActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/StartActivity.java index 9fdc378..53e56d7 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/StartActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/StartActivity.java @@ -1,31 +1,60 @@ package com.hdl.photovoltaic.ui; -import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; -import android.Manifest; import android.content.Intent; -import android.content.pm.PackageManager; import android.os.Bundle; +import com.hdl.linkpm.sdk.core.exception.HDLException; import com.hdl.photovoltaic.R; -import com.hdl.photovoltaic.utils.PermissionUtils; +import com.hdl.photovoltaic.base.CustomBaseActivity; +import com.hdl.photovoltaic.config.UserConfigManage; +import com.hdl.photovoltaic.listener.CloudCallBeak; +import com.hdl.photovoltaic.other.HdlResidenceLogic; +import com.hdl.photovoltaic.ui.bean.HouseIdBean; -public class StartActivity extends AppCompatActivity { +import java.util.List; + +public class StartActivity extends CustomBaseActivity { @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); + public Object getContentView() { + return R.layout.activity_start; + } - setContentView(R.layout.activity_start); - Intent intent = new Intent(); - intent.setClass(this, HomeLoginActivity.class); - startActivity(intent); - finish(); + @Override + public void onBindView(Bundle savedInstanceState) { + + if (UserConfigManage.getInstance().isAutoLogin()) { +// showLoading(); + HdlResidenceLogic.getInstance().getResidenceIdList("", "", new CloudCallBeak<List<HouseIdBean>>() { + @Override + public void onSuccess(List<HouseIdBean> obj) { +// hideLoading(); + HdlResidenceLogic.getInstance().setHouseIdList(obj); + Intent intent = new Intent(); + intent.setClass(StartActivity.this, MyPowerStationActivity.class); + startActivity(intent); + finish(); + } + + @Override + public void onFailure(HDLException e) { +// hideLoading(); + Intent intent = new Intent(); + intent.setClass(StartActivity.this, MyPowerStationActivity.class); + startActivity(intent); + finish(); + } + }); + + } else { + Intent intent = new Intent(); + intent.setClass(this, HomeLoginActivity.class); + startActivity(intent); + finish(); + } } - - - } \ No newline at end of file diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java index f9c1020..47f85a0 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/HouseInfoAdapter.java @@ -1,7 +1,7 @@ package com.hdl.photovoltaic.ui.adapter; import android.content.Context; -import android.graphics.Bitmap; +import android.graphics.drawable.Drawable; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -9,6 +9,7 @@ import android.widget.TextView; import androidx.annotation.NonNull; +import androidx.appcompat.content.res.AppCompatResources; import androidx.recyclerview.widget.RecyclerView; import com.bumptech.glide.load.resource.bitmap.RoundedCorners; @@ -21,7 +22,7 @@ public class HouseInfoAdapter extends RecyclerView.Adapter<HouseInfoAdapter.MyViewHolder> { private List<HouseIdBean> mList; - private Context mContext; + private final Context mContext; private OnclickListener noOnclickListener;//鐐瑰嚮浜嗙殑鐩戝惉鍣� public HouseInfoAdapter(List<HouseIdBean> list, Context context) { @@ -39,8 +40,16 @@ @Override public void onBindViewHolder(@NonNull MyViewHolder holder, int position) { + HouseIdBean houseIdBean = this.mList.get(position); holder.homeNameTv.setText(houseIdBean.getHomeName()); + //瑁呮満瀹归噺 + String capacity = mContext.getString(R.string.my_power_station_installed_capacity) + houseIdBean.getInstalledCapacity(); + holder.capacityTv.setText(capacity); + //鍙戠數鍔熺巼 + String power = mContext.getString(R.string.power_station_generated_power) + houseIdBean.getPower(); + holder.powerTv.setText(power); + setTextViewStyle(holder.stateTv, houseIdBean.getPowerStationStatus()); GlideUtils.getRoundedCornersImage(mContext, houseIdBean.getPowerStationImage(), holder.homeIconIv, new RoundedCorners(4)); holder.itemView.setOnClickListener(new View.OnClickListener() { @Override @@ -67,6 +76,45 @@ this.noOnclickListener = onclickListener; } + /** + * 鏀瑰彉缁勪欢鏍峰紡 + * @param textView 鏄剧ず缁勪欢 + * @param state_value 鐢电珯鐘舵��(1:姝e父(杩愯),2:绂荤嚎,3:杩炴帴涓�,4:鏁呴殰) + */ + private void setTextViewStyle(TextView textView, int state_value) { + String text = mContext.getString(R.string.my_power_station_operation); + Drawable drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_06b92a); + switch (state_value) { + case 1: { + text = mContext.getString(R.string.my_power_station_operation); + + } + break; + case 2: { + text = mContext.getString(R.string.my_power_station_off_line); + drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_b9b9b9); + } + break; + case 3: { + text = mContext.getString(R.string.my_power_station_connecting); + drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_ffb300); + } + break; + case 4: { + text = mContext.getString(R.string.my_power_station_malfunction); + drawable = AppCompatResources.getDrawable(mContext, R.drawable.state_e34343); + } + break; + } + textView.setText(text); + textView.setBackground(drawable); + + + } + + /** + * 涓�琛屽竷灞�瀹瑰櫒 + */ static class MyViewHolder extends RecyclerView.ViewHolder { public ImageView homeIconIv;//浣忓畢鍥剧墖 diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/bean/BUserInfo.java b/app/src/main/java/com/hdl/photovoltaic/ui/bean/BUserInfo.java new file mode 100644 index 0000000..3a3a55a --- /dev/null +++ b/app/src/main/java/com/hdl/photovoltaic/ui/bean/BUserInfo.java @@ -0,0 +1,49 @@ +package com.hdl.photovoltaic.ui.bean; + +import java.io.Serializable; + +/** + * B绔敤鎴疯鎯呭疄浣撶被 + */ +public class BUserInfo implements Serializable { + private String userId;//鐢ㄦ埛ID + private String userName;//鐢ㄦ埛鍚嶇О + private String companyId;//鍏徃id + private String companyName;//鍏徃鍚嶇О + + public String getUserId() { + return userId == null ? "" : userId; + } + + public void setUserId(String userId) { + this.userId = userId; + } + + /** + * 鐢ㄦ埛鍚嶇О + * @return - + */ + public String getUserName() { + return userName == null ? "" : userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public String getCompanyId() { + return companyId == null ? "" : getCompanyId(); + } + + public void setCompanyId(String companyId) { + this.companyId = companyId; + } + + public String getCompanyName() { + return companyName == null ? "" : getCompanyName(); + } + + public void setCompanyName(String companyName) { + this.companyName = companyName; + } +} diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/bean/CUserInfo.java b/app/src/main/java/com/hdl/photovoltaic/ui/bean/CUserInfo.java new file mode 100644 index 0000000..1253201 --- /dev/null +++ b/app/src/main/java/com/hdl/photovoltaic/ui/bean/CUserInfo.java @@ -0,0 +1,137 @@ +package com.hdl.photovoltaic.ui.bean; + +import android.text.TextUtils; + +import com.hdl.photovoltaic.config.UserConfigManage; + +import java.io.Serializable; + +/** + * C绔敤鎴疯鎯呭疄浣撶被 + */ +public class CUserInfo implements Serializable { + + private String memberId;//鐢ㄦ埛ID + private String memberName;//鐢ㄦ埛鍚嶇О + private String memberPhone;//鐢ㄦ埛鎵嬫満鍙� + private String memberEmail;//鐢ㄦ埛閭鍙� + private String languageType;//璇█ + private String memberHeadIcon;//鐢ㄦ埛澶村儚 + private String memberBirthday;//鐢熸棩 + private String loginName;//璐﹀彿 + private String memberSex;//鎬у埆 + private String region; + private String createTime; + private String appCode; + private String lastLoginTime; + + public String getMemberId() { + return memberId == null ? "" : memberId; + } + + public void setMemberId(String memberId) { + this.memberId = memberId; + } + + /** + * 鐢ㄦ埛鍚嶇О + * + * @return - + */ + public String getMemberName() { + return TextUtils.isEmpty(memberName) ? UserConfigManage.getInstance().getAccount() : memberName; + } + + public void setMemberName(String memberName) { + this.memberName = memberName; + } + + + public String getMemberPhone() { + return memberPhone == null ? "" : memberPhone; + } + + public void setMemberPhone(String memberPhone) { + this.memberPhone = memberPhone; + } + + public String getMemberEmail() { + return memberEmail == null ? "" : memberEmail; + } + + public void setMemberEmail(String memberEmail) { + this.memberEmail = memberEmail; + } + + public String getLanguageType() { + return languageType == null ? "" : languageType; + } + + public void setLanguageType(String languageType) { + this.languageType = languageType; + } + + public String getMemberHeadIcon() { + return memberHeadIcon == null ? "" : memberHeadIcon; + } + + public void setMemberHeadIcon(String memberHeadIcon) { + this.memberHeadIcon = memberHeadIcon; + } + + public String getMemberBirthday() { + return memberBirthday == null ? "" : memberBirthday; + } + + public void setMemberBirthday(String memberBirthday) { + this.memberBirthday = memberBirthday; + } + + public String getLoginName() { + return loginName == null ? "" : loginName; + } + + public void setLoginName(String loginName) { + this.loginName = loginName; + } + + public String getMemberSex() { + return memberSex == null ? "" : memberSex; + } + + public void setMemberSex(String memberSex) { + this.memberSex = memberSex; + } + + public String getRegion() { + return region == null ? "" : region; + } + + public void setRegion(String region) { + this.region = region; + } + + public String getCreateTime() { + return createTime == null ? "" : createTime; + } + + public void setCreateTime(String createTime) { + this.createTime = createTime; + } + + public String getAppCode() { + return appCode == null ? "" : appCode; + } + + public void setAppCode(String appCode) { + this.appCode = appCode; + } + + public String getLastLoginTime() { + return lastLoginTime == null ? "" : lastLoginTime; + } + + public void setLastLoginTime(String lastLoginTime) { + this.lastLoginTime = lastLoginTime; + } +} diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/bean/CloudInverterChildDeviceBean.java b/app/src/main/java/com/hdl/photovoltaic/ui/bean/CloudInverterChildDeviceBean.java index af6f140..b615e19 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/bean/CloudInverterChildDeviceBean.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/bean/CloudInverterChildDeviceBean.java @@ -2,6 +2,9 @@ import java.io.Serializable; +/** + * 浜戠涓婇�嗗彉鍣ㄥ瓙璁惧瀹炰綋绫� + */ public class CloudInverterChildDeviceBean implements Serializable { private String deviceOidId;//璁惧Oid id diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/bean/CloudInverterDeviceBean.java b/app/src/main/java/com/hdl/photovoltaic/ui/bean/CloudInverterDeviceBean.java index 1203f6a..378fd33 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/bean/CloudInverterDeviceBean.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/bean/CloudInverterDeviceBean.java @@ -6,6 +6,9 @@ import java.util.List; import java.util.Map; +/** + * 浜戠閫嗗彉鍣ㄥ疄浣撶被 + */ public class CloudInverterDeviceBean implements Serializable { @@ -34,7 +37,6 @@ private String hwVersion;//杞欢鐗堟湰鍙� private String categorySecondName;//璁惧绫诲瀷(浜у搧浜岀骇鍒嗙被鍚嶇О) - public String getSystemStatusDesc() { diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/bean/DeviceTimeBean.java b/app/src/main/java/com/hdl/photovoltaic/ui/bean/DeviceTimeBean.java index 7c861a6..cd38c44 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/bean/DeviceTimeBean.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/bean/DeviceTimeBean.java @@ -2,6 +2,9 @@ import java.io.Serializable; +/** + * 閫嗗彉鍣ㄦ椂闂村疄浣撶被 + */ public class DeviceTimeBean implements Serializable { private String date; diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseIdBean.java b/app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseIdBean.java index b2c912a..38cd53a 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseIdBean.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseIdBean.java @@ -1,7 +1,12 @@ package com.hdl.photovoltaic.ui.bean; +import com.hdl.photovoltaic.R; + import java.io.Serializable; +/** + * 鐢电珯Id瀹炰綋绫� + */ public class HouseIdBean implements Serializable { private String homeId;//鐢电珯id private String powerStationImage;//鐢电珯鍥剧墖 @@ -67,6 +72,7 @@ public void setPowerStationStatus(int powerStationStatus) { this.powerStationStatus = powerStationStatus; } + public String getLocalSecret() { return localSecret == null ? "" : localSecret; } @@ -75,4 +81,6 @@ this.localSecret = localSecret; } + + } diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseInfoBean.java b/app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseInfoBean.java index 188cba8..606d149 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseInfoBean.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseInfoBean.java @@ -1,5 +1,8 @@ package com.hdl.photovoltaic.ui.bean; +/** + * 鐢电珯璇︽儏瀹炰綋绫� + */ public class HouseInfoBean extends HouseIdBean { private Location location;//鐢电珯鍦板潃 private String address;//璇︾粏鍦板潃 diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/bean/LoginUserBean.java b/app/src/main/java/com/hdl/photovoltaic/ui/bean/LoginUserBean.java index 7171577..2992584 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/bean/LoginUserBean.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/bean/LoginUserBean.java @@ -4,6 +4,9 @@ import java.io.Serializable; +/** + * 鐧诲綍瀹炰綋绫� + */ public class LoginUserBean implements Serializable { /// 鐢ㄦ埛鏈夋晥韬唤Token(涓嶇敤璁板綍浠�涔堟湁鏁堟湡,濡傛灉鐧婚檰澶辫触,灏辨嬁RefreshToken鍘诲埛鏂�) private String accessToken; diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/me/MeChangePasswordActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/me/MeChangePasswordActivity.java index 7a7a26d..e277935 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/me/MeChangePasswordActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/me/MeChangePasswordActivity.java @@ -2,7 +2,6 @@ import androidx.appcompat.content.res.AppCompatResources; -import android.graphics.drawable.Drawable; import android.os.Bundle; import android.text.Editable; import android.text.TextUtils; @@ -21,7 +20,6 @@ import com.hdl.photovoltaic.listener.CloudCallBeak; import com.hdl.photovoltaic.other.HdlAccountLogic; import com.hdl.photovoltaic.other.HdlThreadLogic; -import com.hdl.photovoltaic.widget.FlashingBoxDialog; /** * 鎴戠殑-淇敼瀵嗙爜-鐣岄潰 @@ -99,7 +97,7 @@ String newPsw = viewBinding.meChangePasswordNewIc.mePswEt.getText().toString().replaceAll(" +", ""); String affirmPsw = viewBinding.meChangePasswordAffirmIc.mePswEt.getText().toString().replaceAll(" +", ""); if (!isEditTextPassword(newPsw, affirmPsw)) { - tipFlashingBox(AppCompatResources.getDrawable(_mActivity, R.drawable.tip_fail), getString(R.string.home_login_input_unlike_psw), -1); + HdlThreadLogic.tipFlashingBox(_mActivity, true, getString(R.string.home_login_input_unlike_psw), -1); return; } if (UserConfigManage.getInstance().isBAccount()) { @@ -107,12 +105,12 @@ HdlAccountLogic.getInstance().updateBPassword(oldPsw, newPsw, new CloudCallBeak<String>() { @Override public void onSuccess(String str) { - tipFlashingBox(AppCompatResources.getDrawable(_mActivity, R.drawable.tip_succeed), getString(R.string.home_login_pws_reset_succeeded), 0); + HdlThreadLogic.tipFlashingBox(_mActivity, true, getString(R.string.home_login_pws_reset_succeeded), 0); } @Override public void onFailure(HDLException e) { - tipFlashingBox(AppCompatResources.getDrawable(_mActivity, R.drawable.tip_fail), e.getMsg(), e.getCode()); + HdlThreadLogic.tipFlashingBox(_mActivity, false, e.getMsg(), e.getCode()); } }); } else { @@ -120,12 +118,12 @@ HdlAccountLogic.getInstance().updateCPassword(oldPsw, newPsw, new CloudCallBeak<String>() { @Override public void onSuccess(String obj) { - tipFlashingBox(AppCompatResources.getDrawable(_mActivity, R.drawable.tip_succeed), getString(R.string.home_login_pws_reset_succeeded), 0); + HdlThreadLogic.tipFlashingBox(_mActivity, true, getString(R.string.home_login_pws_reset_succeeded), 0); } @Override public void onFailure(HDLException e) { - tipFlashingBox(AppCompatResources.getDrawable(_mActivity, R.drawable.tip_fail), e.getMsg(), e.getCode()); + HdlThreadLogic.tipFlashingBox(_mActivity, false, e.getMsg(), e.getCode()); } }); @@ -134,31 +132,12 @@ /** - * 鎻愮ず妗� - * - * @param drawable 鍥炬爣 - * @param msg 淇℃伅 - * @param code 鐘舵�� - */ - private void tipFlashingBox(Drawable drawable, String msg, int code) { - HdlThreadLogic.runMainThread(new Runnable() { - @Override - public void run() { - FlashingBoxDialog flashingBoxDialog = new FlashingBoxDialog(_mActivity); - flashingBoxDialog.setImage(drawable); - flashingBoxDialog.setContent(msg + "\r\n(" + code + ")"); - flashingBoxDialog.show(); - } - }, null, null); - } - - /** * 鍒濆鍖� */ private void initView() { - viewBinding.toolbarTopFragmentHouseListRl.topBarView.setBackgroundColor(getResources().getColor(R.color.text_FFFFFFFF)); + viewBinding.toolbarTopFragmentHouseListRl.topBarView.setBackgroundColor(getResources().getColor(R.color.text_FFFFFFFF,null)); viewBinding.toolbarTopFragmentHouseListRl.topTitleTv.setText(R.string.home_login_change_password); - viewBinding.toolbarTopFragmentHouseListRl.topTitleTv.setTextColor(getResources().getColor(R.color.text_030D1C)); + viewBinding.toolbarTopFragmentHouseListRl.topTitleTv.setTextColor(getResources().getColor(R.color.text_030D1C,null)); viewBinding.toolbarTopFragmentHouseListRl.topBackBtn.setVisibility(View.VISIBLE); viewBinding.meChangePasswordOldIc.mePswTitleTv.setText(R.string.home_login_old_pws); viewBinding.meChangePasswordOldIc.mePswEt.setHint(R.string.home_login_input_old_pws); diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/me/MeFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/me/MeFragment.java index 5a0af33..c01bad5 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/me/MeFragment.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/me/MeFragment.java @@ -4,15 +4,26 @@ import android.os.Bundle; import android.view.View; + +import com.bumptech.glide.load.resource.bitmap.RoundedCorners; +import com.hdl.linkpm.sdk.core.exception.HDLException; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.base.CustomBaseFragment; +import com.hdl.photovoltaic.config.UserConfigManage; import com.hdl.photovoltaic.databinding.FragmentMeBinding; +import com.hdl.photovoltaic.listener.CloudCallBeak; +import com.hdl.photovoltaic.other.HdlAccountLogic; +import com.hdl.photovoltaic.other.HdlThreadLogic; +import com.hdl.photovoltaic.ui.bean.BUserInfo; +import com.hdl.photovoltaic.ui.bean.CUserInfo; +import com.hdl.photovoltaic.utils.GlideUtils; /** * 鎴戠殑-鐣岄潰 */ public class MeFragment extends CustomBaseFragment { private FragmentMeBinding viewBinding; + @Override public Object getContentView() { @@ -22,33 +33,136 @@ @Override public void onBindView(Bundle savedInstanceState) { - - //鍒濆鍖� initView(); //鍒濆鍖栫晫闈㈢洃鍚櫒 initEvent(); //鍒濆鍖栨暟鎹� initData(); - - } + /** + * 鍒濆鍖栨暟鎹� + */ private void initData() { +// showLoading(); + if (UserConfigManage.getInstance().isBAccount()) { + this.getBUserInfo(); + } else { + this.getCMemberInfo(); + } } - private void initEvent() { + /** + * 鑾峰彇C绔釜浜轰俊鎭� + */ + private void getCMemberInfo() { + + HdlAccountLogic.getInstance().getMemberInfo(new CloudCallBeak<CUserInfo>() { + @Override + public void onSuccess(CUserInfo cUserInfo) { +// hideLoading(); + //鑾峰彇鐢ㄦ埛澶村儚璺緞 + if (cUserInfo.getMemberHeadIcon().contains("http")) { + updateView(null, cUserInfo); + } else { + HdlAccountLogic.getInstance().getImageKey(cUserInfo.getMemberHeadIcon(), new CloudCallBeak<String>() { + @Override + public void onSuccess(String url) { + cUserInfo.setMemberHeadIcon(url); + updateView(null, cUserInfo); + } + + @Override + public void onFailure(HDLException e) { + updateView(null, cUserInfo); + HdlThreadLogic.toast(_mActivity, e); + } + }); + } + + + } + + @Override + public void onFailure(HDLException e) { +// hideLoading(); + HdlThreadLogic.toast(_mActivity, e); + } + }); + } + + /** + * 鑾峰彇B绔釜浜轰俊鎭� + */ + private void getBUserInfo() { + + HdlAccountLogic.getInstance().getUserInfo(new CloudCallBeak<BUserInfo>() { + @Override + public void onSuccess(BUserInfo bUserInfo) { +// hideLoading(); + updateView(bUserInfo, null); + } + + @Override + public void onFailure(HDLException e) { +// hideLoading(); + HdlThreadLogic.toast(_mActivity, e); + } + }); + } + + + /** + * 娉ㄥ唽鐩戝惉鍣� + */ + private void initEvent() { viewBinding.fragmentMeLineSetIl.fragmentMeLineRightIconClickIv.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - Intent intent=new Intent(); - intent.setClass(_mActivity,SetActivity.class); + Intent intent = new Intent(); + intent.setClass(_mActivity, SetActivity.class); startActivity(intent); } }); } + /** + * 鏇存柊ui + * + * @param bUserInfo B绔釜浜轰俊鎭� + * @param cUserInfo C绔釜浜轰俊鎭� + */ + private void updateView(BUserInfo bUserInfo, CUserInfo cUserInfo) { + if (viewBinding == null) { + return; + } + String userName = UserConfigManage.getInstance().getUserName(); + if (bUserInfo != null) { + //B绔� + userName = bUserInfo.getUserName(); + } + if (cUserInfo != null) { + //C绔� + userName = cUserInfo.getMemberName(); + GlideUtils.getRoundedCornersImage(_mActivity, cUserInfo.getMemberHeadIcon(), viewBinding.fragmentMeIconIv, new RoundedCorners(4)); + } + viewBinding.fragmentMeUserNameIv.setText(userName); + UserConfigManage.getInstance().setUserName(userName); + UserConfigManage.getInstance().Save(); + } + + @Override + public void onResume() { + super.onResume(); + //鏇存柊鐢ㄦ埛鍚嶇О + updateView(null, null); + } + + /** + * 鍒濆鍖栫晫闈� + */ private void initView() { viewBinding.toolbarTopFragmentMeRl.topTitleTv.setText(R.string.power_station_me); viewBinding.toolbarTopFragmentMeRl.topMoreIv.setVisibility(View.VISIBLE); @@ -62,6 +176,5 @@ viewBinding.fragmentMeLineAsregardsIl.fragmentMeLineLeftIconIv.setImageResource(R.drawable.asregards); viewBinding.fragmentMeLineAsregardsIl.fragmentMeLineTitleIv.setText(R.string.me_regard); } - } diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/me/SetActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/me/SetActivity.java index 764d7d7..94ea26a 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/me/SetActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/me/SetActivity.java @@ -4,11 +4,16 @@ import android.os.Bundle; import android.view.View; +import com.hdl.linkpm.sdk.HDLLinkPMSdk; +import com.hdl.linkpm.sdk.core.exception.HDLException; import com.hdl.linkpm.sdk.user.HDLLinkPMUser; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.base.CustomBaseActivity; import com.hdl.photovoltaic.config.UserConfigManage; import com.hdl.photovoltaic.databinding.ActivitySetBinding; +import com.hdl.photovoltaic.listener.CloudCallBeak; +import com.hdl.photovoltaic.other.HdlAccountLogic; +import com.hdl.photovoltaic.other.HdlThreadLogic; import com.hdl.photovoltaic.widget.ConfirmationInputDialog; /** @@ -70,9 +75,9 @@ private void initView() { viewBinding.toolbarTopFragmentHouseListRl.topTitleTv.setText(R.string.me_set); - viewBinding.toolbarTopFragmentHouseListRl.topTitleTv.setTextColor(getResources().getColor(R.color.text_030D1C)); + viewBinding.toolbarTopFragmentHouseListRl.topTitleTv.setTextColor(getResources().getColor(R.color.text_030D1C,null)); viewBinding.toolbarTopFragmentHouseListRl.topBackBtn.setVisibility(View.VISIBLE); - viewBinding.toolbarTopFragmentHouseListRl.topBarView.setBackgroundColor(getResources().getColor(R.color.text_FFFFFFFF)); + viewBinding.toolbarTopFragmentHouseListRl.topBarView.setBackgroundColor(getResources().getColor(R.color.text_FFFFFFFF,null)); viewBinding.setNicknameIl.sllLlRlNameTv.setText(R.string.set_nickname); viewBinding.setChangePasswordIl.sllLlRlNameTv.setText(R.string.home_login_change_password); viewBinding.setCloseAccountIl.sllLlRlNameTv.setText(R.string.set_close_account); @@ -96,6 +101,7 @@ viewBinding.setNicknameIl.sllLlNameRl.setVisibility(View.VISIBLE); } + } /** @@ -107,12 +113,25 @@ } else { ConfirmationInputDialog confirmationInputDialog = new ConfirmationInputDialog(_mActivity); confirmationInputDialog.setTitle(getString(R.string.set_nickname_modification)); - confirmationInputDialog.setEditContent(UserConfigManage.getInstance().getAccount()); + confirmationInputDialog.setEditContent(UserConfigManage.getInstance().getUserName()); confirmationInputDialog.show(); confirmationInputDialog.setYesOnclickListener(new ConfirmationInputDialog.onYesOnclickListener() { @Override public void Confirm(String str) { + HdlAccountLogic.getInstance().updateMemberInfo("", str, "", "", "", "", new CloudCallBeak<Boolean>() { + @Override + public void onSuccess(Boolean obj) { + UserConfigManage.getInstance().setUserName(str); + UserConfigManage.getInstance().Save(); + HdlThreadLogic.tipFlashingBox(_mActivity, true, getString(R.string.home_login_change_name_succeed),0); + } + + @Override + public void onFailure(HDLException e) { + HdlThreadLogic.tipFlashingBox(_mActivity, false, e.getMessage(), e.getCode()); + } + }); } }); diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java index cdcd59c..515f330 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java @@ -6,6 +6,9 @@ import com.hdl.photovoltaic.base.CustomBaseFragment; import com.hdl.photovoltaic.databinding.FragmentMessageBinding; +/** + * + */ public class MessageFragment extends CustomBaseFragment { private FragmentMessageBinding viewBinding; diff --git a/app/src/main/res/anim/dcloud_unimp_close_exit.xml b/app/src/main/res/anim/dcloud_unimp_close_exit.xml new file mode 100644 index 0000000..e6a3dac --- /dev/null +++ b/app/src/main/res/anim/dcloud_unimp_close_exit.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<set xmlns:android="http://schemas.android.com/apk/res/android"> + <alpha + + android:duration="300" + android:fromAlpha="1.0" + android:toAlpha="0" /> +<!-- <translate--> +<!-- android:fromXDelta="0"--> +<!-- android:toXDelta="100%p"--> +<!-- android:duration="300"--> +<!-- android:interpolator="@android:anim/accelerate_interpolator"--> +<!-- />--> +</set> + + + + diff --git a/app/src/main/res/anim/dcloud_unimp_host_close_exit.xml b/app/src/main/res/anim/dcloud_unimp_host_close_exit.xml new file mode 100644 index 0000000..a54e277 --- /dev/null +++ b/app/src/main/res/anim/dcloud_unimp_host_close_exit.xml @@ -0,0 +1,14 @@ +<?xml version="1.0" encoding="utf-8"?> +<set xmlns:android="http://schemas.android.com/apk/res/android"> + <alpha + + android:duration="300" + android:fromAlpha="1.0" + android:toAlpha="0" /> +<!-- <translate--> +<!-- android:fromXDelta="0"--> +<!-- android:toXDelta="100%p"--> +<!-- android:duration="300"--> +<!-- android:interpolator="@android:anim/accelerate_interpolator"--> +<!-- />--> +</set> \ No newline at end of file diff --git a/app/src/main/res/anim/dcloud_unimp_host_open_enter.xml b/app/src/main/res/anim/dcloud_unimp_host_open_enter.xml new file mode 100644 index 0000000..97e86f0 --- /dev/null +++ b/app/src/main/res/anim/dcloud_unimp_host_open_enter.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="utf-8"?> +<set xmlns:android="http://schemas.android.com/apk/res/android"> + <alpha + android:duration="300" + android:fromAlpha="0" + android:toAlpha="1.0" /> + <translate + android:duration="300" + android:fromXDelta="100%p" + android:interpolator="@android:anim/accelerate_interpolator" + android:toXDelta="0" /> +</set> \ No newline at end of file diff --git a/app/src/main/res/anim/dcloud_unimp_open_enter.xml b/app/src/main/res/anim/dcloud_unimp_open_enter.xml new file mode 100644 index 0000000..b218075 --- /dev/null +++ b/app/src/main/res/anim/dcloud_unimp_open_enter.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="utf-8"?> +<set xmlns:android="http://schemas.android.com/apk/res/android"> + <alpha + + android:duration="300" + android:fromAlpha="0.0" + android:toAlpha="1.0" /> +<!-- <translate--> +<!-- android:fromXDelta="0"--> +<!-- android:toXDelta="100%p"--> +<!-- android:duration="300"--> +<!-- android:interpolator="@android:anim/accelerate_interpolator"--> + +<!-- />--> +</set> \ No newline at end of file diff --git a/app/src/main/res/drawable/default_user.png b/app/src/main/res/drawable/default_user.png new file mode 100644 index 0000000..b3f3e1f --- /dev/null +++ b/app/src/main/res/drawable/default_user.png Binary files differ diff --git a/app/src/main/res/layout/dialog_flashing_box.xml b/app/src/main/res/layout/dialog_flashing_box.xml index cbff012..8feb3fe 100644 --- a/app/src/main/res/layout/dialog_flashing_box.xml +++ b/app/src/main/res/layout/dialog_flashing_box.xml @@ -19,6 +19,7 @@ android:layout_width="@dimen/dp_36" android:layout_height="@dimen/dp_36" android:layout_marginTop="@dimen/dp_28" + android:background="@drawable/tip_fail" app:layout_constraintEnd_toEndOf="@id/tip_parent_cl" app:layout_constraintStart_toStartOf="@id/tip_parent_cl" app:layout_constraintTop_toTopOf="@id/tip_parent_cl" /> diff --git a/app/src/main/res/layout/fragment_me.xml b/app/src/main/res/layout/fragment_me.xml index 934d5d0..efd5887 100644 --- a/app/src/main/res/layout/fragment_me.xml +++ b/app/src/main/res/layout/fragment_me.xml @@ -14,7 +14,7 @@ android:layout_width="69dp" android:layout_height="69dp" android:layout_marginTop="@dimen/dp_39" - android:background="@color/text_D34545" + android:background="@drawable/default_user" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/toolbar_top_fragment_me_rl" /> diff --git a/app/src/main/res/layout/frgment_house_list_line.xml b/app/src/main/res/layout/frgment_house_list_line.xml index 5bcadf3..94d1b6a 100644 --- a/app/src/main/res/layout/frgment_house_list_line.xml +++ b/app/src/main/res/layout/frgment_house_list_line.xml @@ -6,7 +6,6 @@ <RelativeLayout android:id="@+id/fragment_house_list_line_parent_rl" - android:layout_width="0dp" android:layout_height="130dp" android:layout_alignParentStart="true" @@ -50,7 +49,7 @@ <TextView android:id="@+id/fragment_house_list_line_power_tv" android:layout_width="wrap_content" - android:layout_height="@dimen/dp_17" + android:layout_height="wrap_content" android:layout_below="@+id/fragment_house_list_line_capacity_tv" android:layout_alignStart="@+id/fragment_house_list_line_capacity_tv" android:layout_marginTop="@dimen/dp_13" diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 2ecbdbe..5289526 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -58,7 +58,8 @@ <string name="home_login_input_old_pws">璇疯緭鍏ュ師瀵嗙爜</string> <string name="home_login_input_new_pws">璇疯緭鍏ユ柊瀵嗙爜</string> <string name="home_login_input_affirm_psw">璇峰啀娆¤緭鍏ユ柊瀵嗙爜</string> - <string name="home_login_input_unlike_psw">鏂板瘑鐮佸拰鍐嶆纭瀵嗙爜涓嶄竴鑷�.</string> + <string name="home_login_input_unlike_psw">鏂板瘑鐮佸拰纭瀵嗙爜涓嶄竴鑷�.</string> + <string name="home_login_change_name_succeed">淇敼澶囨敞鎴愬姛.</string> @@ -66,10 +67,10 @@ <string name="power_station">鐢电珯</string> <string name="power_station_me">鎴戠殑</string> <string name="my_power_station">鎴戠殑鐢电珯</string> - <string name="power_station_generated_power">鍙戠數鍔熺巼</string> + <string name="power_station_generated_power">鍙戠數鍔熺巼:</string> <string name="power_station_Power_generation_today">浠婃棩鍙戠數</string> <string name="power_station_creation_time">鍒涘缓鏃堕棿</string> - <string name="my_power_station_installed_capacity">瑁呮満瀹归噺</string> + <string name="my_power_station_installed_capacity">瑁呮満瀹归噺:</string> <string name="my_power_station_connecting">杩炴帴涓�</string> <string name="my_power_station_off_line">绂荤嚎</string> <string name="my_power_station_malfunction">鏁呴殰</string> diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 15fa0e9..a9d29bd 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -51,4 +51,8 @@ <!-- <item name="android:windowBackground">@drawable/dia_bg</item>:璁剧疆dialog鐨勮儗鏅�--> </style> + <style name="DCloudMPHostActivityTheme" parent="@style/Theme.AppCompat"> + <item name="android:windowAnimationStyle">@style/uniMPHostWindowAnimation</item> + </style> + </resources> \ No newline at end of file -- Gitblit v1.8.0