From 593303fa91fd541844b204ec913c462d7855a31e Mon Sep 17 00:00:00 2001 From: mac <user@users-MacBook-Pro.local> Date: 星期五, 01 十二月 2023 18:24:44 +0800 Subject: [PATCH] 2023年12月01日18:24:35 --- app/src/main/res/values/themes.xml | 6 app/src/main/java/com/hdl/photovoltaic/ui/adapter/LanguageAdapter.java | 22 + app/src/main/java/com/hdl/photovoltaic/ui/me/AsRegardsActivity.java | 2 app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java | 3 app/src/main/java/com/hdl/photovoltaic/ui/me/WebActivity.java | 4 app/src/main/res/values/colors.xml | 2 app/src/main/java/com/hdl/photovoltaic/ui/me/BindPhoneActivity.java | 5 app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java | 4 app/src/main/java/com/hdl/photovoltaic/widget/ListDialog.java | 241 +++++++------ app/src/main/java/com/hdl/photovoltaic/config/UserConfigManage.java | 46 ++ app/src/main/java/com/hdl/photovoltaic/widget/ListStaticDialog.java | 150 ++++++++ app/src/main/java/com/hdl/photovoltaic/ui/test/TestLogActivity.java | 10 app/src/main/res/drawable/list_464d5a.xml | 5 app/src/main/java/com/hdl/photovoltaic/ui/me/TemperatureUnitActivity.java | 18 app/src/main/java/com/hdl/photovoltaic/ui/me/languageSelectionActivity.java | 56 ++ app/src/main/java/com/hdl/photovoltaic/utils/LocalManageUtil.java | 3 app/src/main/res/layout/dialog_static_list.xml | 94 +++++ app/src/main/res/values/strings.xml | 5 app/src/main/java/com/hdl/photovoltaic/base/BaseActivity.java | 5 app/src/main/java/com/hdl/photovoltaic/widget/adapter/ListDialogAdapter.java | 129 +++++++ app/src/main/java/com/hdl/photovoltaic/ui/me/SetActivity.java | 31 + app/src/main/java/com/hdl/photovoltaic/HDLApp.java | 12 app/src/main/res/layout/dialog_list.xml | 94 ---- app/src/main/java/com/hdl/photovoltaic/ui/me/MeFragment.java | 10 HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLModBusConnect.java | 3 app/src/main/res/values-en/strings.xml | 2 app/src/main/java/com/hdl/photovoltaic/ui/account/RegisterAccountActivity.java | 8 app/src/main/java/com/hdl/photovoltaic/ui/me/AccountAndSecurityActivity.java | 38 + app/src/main/res/layout/diaog_list_line.xml | 29 + app/src/main/java/com/hdl/photovoltaic/ui/me/BindMailActivity.java | 4 app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java | 25 + 31 files changed, 833 insertions(+), 233 deletions(-) diff --git a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLModBusConnect.java b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLModBusConnect.java index 4eb0581..47347c1 100644 --- a/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLModBusConnect.java +++ b/HDLLinkLocalSdk/src/main/java/com/hdl/sdk/link/core/connect/HDLModBusConnect.java @@ -169,9 +169,6 @@ } - - - /** * 鍙戦�佸師鐢熼�忎紶鍛戒护鏁版嵁 * diff --git a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java index 3a2a0d8..400f376 100644 --- a/app/src/main/java/com/hdl/photovoltaic/HDLApp.java +++ b/app/src/main/java/com/hdl/photovoltaic/HDLApp.java @@ -43,10 +43,6 @@ public class HDLApp extends Application { - /** - * 榛樿涓枃 - */ - public String currentAppLanguage = "zh"; //鎺у埗鎵撳嵃 Debug妯″紡鎵撳嵃 private Boolean isLogEnabled = true; //涓夋柟sdk鍒濆鍖栨爣璇� @@ -72,18 +68,16 @@ } public void getAppLanguage() { - String language = SharedPreUtils.getSharedPreferencesKey("language"); + String language = UserConfigManage.getInstance().getCurrentAppLanguage(); if (TextUtils.isEmpty(language)) { //浠庡唴瀛橀噷闈㈣幏鍙栦笉鍒拌瑷�,鑾峰彇褰撳墠绯荤粺鐨�; String str = getResources().getConfiguration().locale.getCountry(); if (str.equals("CN") || str.equals("TW")) { - language = "zh"; + UserConfigManage.getInstance().setCurrentAppLanguage(LocalManageUtil.zh); } else { - language = "en"; + UserConfigManage.getInstance().setCurrentAppLanguage(LocalManageUtil.en); } } - currentAppLanguage = language; - } public void setInfoMap(String key, String value) { diff --git a/app/src/main/java/com/hdl/photovoltaic/base/BaseActivity.java b/app/src/main/java/com/hdl/photovoltaic/base/BaseActivity.java index 6a2b68c..f970c6e 100644 --- a/app/src/main/java/com/hdl/photovoltaic/base/BaseActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/base/BaseActivity.java @@ -10,6 +10,7 @@ import androidx.appcompat.app.AppCompatActivity; import com.hdl.photovoltaic.R; +import com.hdl.photovoltaic.config.UserConfigManage; import com.hdl.photovoltaic.listener.BaseView; import com.hdl.photovoltaic.other.HdlThreadLogic; import com.hdl.photovoltaic.utils.AppManagerUtils; @@ -52,8 +53,8 @@ @Override protected void attachBaseContext(Context newBase) { super.attachBaseContext(newBase); -// //app涓嫳鏂囪缃� -// LocalManageUtil.changeAppLanguage("en", newBase); + //app涓嫳鏂囪缃� + LocalManageUtil.changeAppLanguage(UserConfigManage.getInstance().getCurrentAppLanguage(), newBase); } 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 30255a7..7babdf6 100644 --- a/app/src/main/java/com/hdl/photovoltaic/config/UserConfigManage.java +++ b/app/src/main/java/com/hdl/photovoltaic/config/UserConfigManage.java @@ -77,7 +77,51 @@ //杩滅▼杩炴帴鐨凪qtt鐨勫鎴风ID public String connEmqClientId; //褰撳墠鐧诲綍鐨勮处鍙锋槸涓嶆槸涔嬪墠鐨勮处鍙� - public boolean theSameLoginAccount; + private boolean theSameLoginAccount; + + //缁戝畾鎵嬫満鍙� + private String bingPhone; + //缁戝畾閭 + private String bingEmail; + + //娓╁害鍗曚綅(C鎽勬皬搴�;F=鍗庢皬搴�) + private String temperature_unit = "C"; + + //app褰撳墠鐨勮瑷� + private String currentAppLanguage; + + public String getCurrentAppLanguage() { + return currentAppLanguage; + } + + public void setCurrentAppLanguage(String currentAppLanguage) { + this.currentAppLanguage = currentAppLanguage; + } + + public String getTemperature_unit() { + return temperature_unit; + } + + public void setTemperature_unit(String temperature_unit) { + this.temperature_unit = temperature_unit; + } + + public String getBingPhone() { + return bingPhone == null ? "" : bingPhone; + } + + public void setBingPhone(String bingPhone) { + this.bingPhone = bingPhone; + } + + + public String getBingEmail() { + return bingEmail == null ? "" : bingEmail; + } + + public void setBingEmail(String bingEmail) { + this.bingEmail = bingEmail; + } /** * 鐢ㄦ埛鍚嶇О 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 96176d4..12b5617 100644 --- a/app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java +++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlThreadLogic.java @@ -141,7 +141,7 @@ /** - * 閿欒鎻愮ず妗嗭紙钃濇箹涓婃牱寮忥級 + * 鍏ㄥ眬寮瑰嚭妗�,閿欒鎻愮ず妗嗭紙钃濇箹涓婃牱寮忥級 * * @param isBoolean 鍥炬爣(true浣跨敤鎴愬姛鍥炬爣,false浣跨敤鎴愬姛鍥炬爣) * @param msg 淇℃伅 @@ -152,7 +152,7 @@ } /** - * 閿欒鎻愮ず妗嗭紙钃濇箹涓婃牱寮忥級 + * 鍏ㄥ眬寮瑰嚭妗�,閿欒鎻愮ず妗嗭紙钃濇箹涓婃牱寮忥級 * * @param isBoolean 鍥炬爣(true浣跨敤鎴愬姛鍥炬爣,false浣跨敤鎴愬姛鍥炬爣) * @param msg 淇℃伅 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 992160e..d1e0380 100644 --- a/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java +++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlUniLogic.java @@ -151,6 +151,7 @@ this.uniGetCurrentHomeLocalAndCloudGatewayList(callback); } break; + //modBus鍗忚涓撶敤 case HDLUniMP.UNI_EVENT_REPLY_DEVICE_MODBUS_SEND: { sendModBus(data, callback); } @@ -294,7 +295,7 @@ /** - * 鍘熺敓鎵撳紑uni鎸囧畾椤甸潰 + * 鍘熺敓銆愭墦寮�銆憉ni鎸囧畾椤甸潰 * * @param path 鎵撳紑璺緞 * @param jsonObject 闄勪欢鏁版嵁(娌℃湁鏁版嵁濉玭ull) 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 1b0c1a0..3a677f1 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java @@ -37,8 +37,12 @@ import com.hdl.photovoltaic.other.HdlAccountLogic; import com.hdl.photovoltaic.other.HdlThreadLogic; import com.hdl.photovoltaic.ui.me.WebActivity; +import com.hdl.photovoltaic.utils.LocalManageUtil; import com.hdl.photovoltaic.widget.ConfirmationCancelDialog; import com.hdl.photovoltaic.widget.ConfirmationCancelDialog1; +import com.hdl.photovoltaic.widget.ListDialog; +import com.hdl.photovoltaic.widget.adapter.ListDialogAdapter; +import com.hdl.sdk.link.core.utils.LanguageUtils; import java.util.List; @@ -101,6 +105,11 @@ viewBinding.homeLoginInstallUserTv.setSelected(UserConfigManage.getInstance().isBAccount()); viewBinding.homeLoginPrivacyCheckIv.setSelected(UserConfigManage.getInstance().isAcceiptPolicy()); setStringDifferentColors(viewBinding.homeLoginPrivacyTv); + if (UserConfigManage.getInstance().getCurrentAppLanguage().equals(LocalManageUtil.zh)) { + viewBinding.homeLoginLanguageTv.setText("绠�浣撲腑鏂�"); + } else { + viewBinding.homeLoginLanguageTv.setText("English"); + } String acc = "13375012441"; String pws = "123456"; @@ -115,6 +124,22 @@ */ private void initEvent() { + //璇█閫夋嫨 + viewBinding.homeLoginLanguageTv.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + ListDialog listDialog = new ListDialog(_mActivity); + listDialog.show(); + listDialog.setCanceledOnTouchOutside(true); + listDialog.setItemOnclickListener(new ListDialogAdapter.OnclickListener() { + @Override + public void onClick(int position, ListDialogAdapter.DialogItemData itemData) { + viewBinding.homeLoginLanguageTv.setText(itemData.getTitle()); + } + }); + } + }); + viewBinding.homeLoginAccountEt.addTextChangedListener(accountTextWatcher); viewBinding.homeLoginClearContentsIv.setOnClickListener(new View.OnClickListener() { @Override 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 7dabc0e..906e15a 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 @@ -28,7 +28,7 @@ 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.photovoltaic.widget.ListStaticDialog; /** * 娉ㄥ唽璐﹀彿鐣岄潰 @@ -104,9 +104,9 @@ viewBinding.registerRegionServerRl.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - ListDialog listDialog = new ListDialog(_mActivity); + ListStaticDialog listDialog = new ListStaticDialog(_mActivity); listDialog.show(); - listDialog.setOnHDLChinaOnListener(new ListDialog.onHDLChinaListener() { + listDialog.setOnHDLChinaOnListener(new ListStaticDialog.onHDLChinaListener() { @Override public void HDLChina() { mUrl = "https://china-gateway.hdlcontrol.com"; @@ -115,7 +115,7 @@ } }); - listDialog.setOnHDLBahrainListener(new ListDialog.onHDLBahrainListener() { + listDialog.setOnHDLBahrainListener(new ListStaticDialog.onHDLBahrainListener() { @Override public void HDLBahrain() { mUrl = "https://bahrain-gateway.hdlcontrol.com"; diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/adapter/LanguageAdapter.java b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/LanguageAdapter.java index bade54d..0e453cf 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/adapter/LanguageAdapter.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/LanguageAdapter.java @@ -11,6 +11,7 @@ import androidx.recyclerview.widget.RecyclerView; import com.hdl.photovoltaic.R; +import com.hdl.photovoltaic.config.UserConfigManage; import java.util.List; @@ -72,6 +73,7 @@ public void setNoOnclickListener(OnclickListener onclickListener) { this.noOnclickListener = onclickListener; } + /** * 涓�琛屽竷灞�瀹瑰櫒 */ @@ -99,6 +101,18 @@ private String title; private boolean state; + //娓╁害鍗曚綅("C"鎽勬皬搴︽垨鑰�"F"鍗庢憚搴�) + private String unit = UserConfigManage.getInstance().getTemperature_unit(); + //app褰撳墠璇█ + private String language = UserConfigManage.getInstance().getCurrentAppLanguage(); + + public String getLanguage() { + return language; + } + + public void setLanguage(String language) { + this.language = language; + } public String getTitle() { return title == null ? "" : title; @@ -116,6 +130,14 @@ this.state = state; } + public String getUnit() { + return unit; + } + + public void setUnit(String unit) { + this.unit = unit; + } + } diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/me/AccountAndSecurityActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/me/AccountAndSecurityActivity.java index 48056eb..a7cdeab 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/me/AccountAndSecurityActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/me/AccountAndSecurityActivity.java @@ -1,11 +1,16 @@ package com.hdl.photovoltaic.ui.me; +import android.content.Intent; import android.os.Bundle; +import android.text.TextUtils; import android.view.View; + +import androidx.annotation.Nullable; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.base.CustomBaseActivity; +import com.hdl.photovoltaic.config.UserConfigManage; import com.hdl.photovoltaic.databinding.ActivityAccountAndSecurityBinding; /** @@ -13,6 +18,7 @@ */ public class AccountAndSecurityActivity extends CustomBaseActivity { private ActivityAccountAndSecurityBinding viewBinding; + @Override public Object getContentView() { @@ -42,13 +48,17 @@ viewBinding.setAccountPhoneIl.getRoot().setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - startActivity(BindPhoneActivity.class); + Intent intent = new Intent(); + intent.setClass(_mActivity, BindPhoneActivity.class); + startActivityForResult(intent, 20); } }); viewBinding.setAccountMailIl.getRoot().setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - startActivity(BindMailActivity.class); + Intent intent = new Intent(); + intent.setClass(_mActivity, BindMailActivity.class); + startActivityForResult(intent, 20); } }); @@ -82,7 +92,29 @@ viewBinding.setAccountMailIl.sllLlRlNameTv.setText(R.string.set_email_address); viewBinding.setAccountMailIl.sllLlRlRightContentTv.setText(R.string.set_not_bind); viewBinding.setAccountMailIl.sllLlRlRightContentTv.setVisibility(View.VISIBLE); - viewBinding.setChangePswIl.sllLlRlNameTv.setText(R.string.home_login_change_password); + updateStyle(); + + + } + + /** + * 鍒锋柊缁戝畾鎵嬫満鍙峰拰閭 + */ + private void updateStyle() { + if (!TextUtils.isEmpty(UserConfigManage.getInstance().getBingPhone())) { + viewBinding.setAccountPhoneIl.sllLlRlRightContentTv.setText(UserConfigManage.getInstance().getBingPhone()); + } + if (!TextUtils.isEmpty(UserConfigManage.getInstance().getBingEmail())) { + viewBinding.setAccountMailIl.sllLlRlRightContentTv.setText(UserConfigManage.getInstance().getBingEmail()); + } + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { + super.onActivityResult(requestCode, resultCode, data); + if (requestCode == 20 && resultCode == 20) { + updateStyle(); + } } } \ No newline at end of file diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/me/AsRegardsActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/me/AsRegardsActivity.java index b65c318..7981c61 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/me/AsRegardsActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/me/AsRegardsActivity.java @@ -75,7 +75,7 @@ } }); //todo 绛夋帴鍙� - String content = "https://spark.appc02.com/ksgd1"; + String content = "https://developer.hdlcontrol.com/AppDownload/HDLDebugerDownload.html"; Bitmap bitmap = HdlCommonLogic.getInstance().createQRCodeBitmap(content, 168, 168, "UTF-8", "H", "1", Color.BLACK, Color.WHITE); viewBinding.asRegardsQrCodeIv.setImageBitmap(bitmap); diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/me/BindMailActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/me/BindMailActivity.java index 78f1362..cd9ef8a 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/me/BindMailActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/me/BindMailActivity.java @@ -9,6 +9,7 @@ import com.hdl.linkpm.sdk.core.exception.HDLException; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.base.CustomBaseActivity; +import com.hdl.photovoltaic.config.UserConfigManage; import com.hdl.photovoltaic.databinding.ActivityBindMailBinding; import com.hdl.photovoltaic.listener.CloudCallBeak; import com.hdl.photovoltaic.other.HdlAccountLogic; @@ -44,6 +45,7 @@ viewBinding.toolbarTopFragmentHouseListRl.topBackBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { + setResult(20); finish(); } }); @@ -70,6 +72,8 @@ HdlAccountLogic.getInstance().bindingAccount_C("", mailStr, verificationStr, new CloudCallBeak<Boolean>() { @Override public void onSuccess(Boolean obj) { + UserConfigManage.getInstance().setBingEmail(mailStr); + UserConfigManage.getInstance().Save(); HdlThreadLogic.tipFlashingBox(_mActivity, true, getString(R.string.set_bind_mail_succeed), 0); } diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/me/BindPhoneActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/me/BindPhoneActivity.java index 9a3e08c..2e3db38 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/me/BindPhoneActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/me/BindPhoneActivity.java @@ -1,6 +1,7 @@ package com.hdl.photovoltaic.ui.me; +import android.content.Intent; import android.os.Bundle; import android.os.CountDownTimer; import android.text.TextUtils; @@ -9,6 +10,7 @@ import com.hdl.linkpm.sdk.core.exception.HDLException; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.base.CustomBaseActivity; +import com.hdl.photovoltaic.config.UserConfigManage; import com.hdl.photovoltaic.databinding.ActivityBindPhoneBinding; import com.hdl.photovoltaic.listener.CloudCallBeak; import com.hdl.photovoltaic.other.HdlAccountLogic; @@ -44,6 +46,7 @@ viewBinding.toolbarTopFragmentHouseListRl.topBackBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { + setResult(20); finish(); } }); @@ -70,6 +73,8 @@ HdlAccountLogic.getInstance().bindingAccount_C(phoneStr, "", verificationStr, new CloudCallBeak<Boolean>() { @Override public void onSuccess(Boolean obj) { + UserConfigManage.getInstance().setBingPhone(phoneStr); + UserConfigManage.getInstance().Save(); HdlThreadLogic.tipFlashingBox(_mActivity, true, getString(R.string.set_bind_phone_succeed), 0); } 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 900eb6c..1574548 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 @@ -68,7 +68,13 @@ HdlAccountLogic.getInstance().getMemberInfo_C(new CloudCallBeak<CUserInfo>() { @Override public void onSuccess(CUserInfo cUserInfo) { + if (cUserInfo == null) { + return; + } mC_UserInfo = cUserInfo; + UserConfigManage.getInstance().setBingPhone(cUserInfo.getMemberPhone()); + UserConfigManage.getInstance().setBingEmail(cUserInfo.getMemberEmail()); + UserConfigManage.getInstance().Save(); // hideLoading(); //鑾峰彇鐢ㄦ埛澶村儚璺緞 if (cUserInfo.getMemberHeadIcon().contains("http")) { @@ -177,8 +183,8 @@ viewBinding.toolbarTopFragmentMeRl.topTitleTv.setText(R.string.me); - viewBinding.toolbarTopFragmentMeRl.topMoreIv.setVisibility(View.VISIBLE); - viewBinding.toolbarTopFragmentMeRl.topMoreIv.setImageResource(R.drawable.message); +// viewBinding.toolbarTopFragmentMeRl.topMoreIv.setVisibility(View.VISIBLE); +// viewBinding.toolbarTopFragmentMeRl.topMoreIv.setImageResource(R.drawable.message); viewBinding.fragmentMeLineMessageCenterIl.fragmentMeLineLeftIconIv.setImageResource(R.drawable.message_center); viewBinding.fragmentMeLineMessageCenterIl.fragmentMeLineTitleIv.setText(R.string.set_message_center); 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 4030284..0cb3ecc 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 @@ -9,9 +9,12 @@ import android.os.IBinder; import android.view.View; +import androidx.annotation.Nullable; + 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.HDLApp; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.base.CustomBaseActivity; import com.hdl.photovoltaic.config.UserConfigManage; @@ -21,7 +24,10 @@ import com.hdl.photovoltaic.listener.CloudCallBeak; import com.hdl.photovoltaic.other.HdlAccountLogic; import com.hdl.photovoltaic.other.HdlThreadLogic; +import com.hdl.photovoltaic.ui.StartActivity; +import com.hdl.photovoltaic.ui.adapter.LanguageAdapter; import com.hdl.photovoltaic.utils.AppManagerUtils; +import com.hdl.photovoltaic.widget.ConfirmationCancelDialog; import com.hdl.photovoltaic.widget.ConfirmationInputDialog; /** @@ -31,6 +37,7 @@ private ActivitySetBinding viewBinding; + @Override public Object getContentView() { @@ -67,7 +74,9 @@ viewBinding.setAccountSecurityIl.getRoot().setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { - startActivity(AccountAndSecurityActivity.class); + Intent intent = new Intent(); + intent.setClass(_mActivity, AccountAndSecurityActivity.class); + startActivity(intent); } }); //娓╁害鍗曚綅 @@ -144,6 +153,24 @@ * 閫�鍑虹櫥褰曡姹傜殑鏂规硶 */ private void logoutRequest() { - HDLLinkPMUser.getInstance().logout(0); + // 浜屾纭鎻愮ず妗� + ConfirmationCancelDialog dialog = new ConfirmationCancelDialog(this); + dialog.setTitle(getString(R.string.loading_title_tip)); + dialog.setContent(getString(R.string.loading_log_out)); + dialog.show(); + dialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() { + @Override + public void Confirm() { + HDLLinkPMUser.getInstance().logout(0); + } + }); + dialog.setNoOnclickListener(new ConfirmationCancelDialog.onNoOnclickListener() { + @Override + public void Cancel() { + dialog.dismiss(); + } + }); + } + } \ No newline at end of file diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/me/TemperatureUnitActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/me/TemperatureUnitActivity.java index 38f277b..bf45236 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/me/TemperatureUnitActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/me/TemperatureUnitActivity.java @@ -8,9 +8,12 @@ import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.base.CustomBaseActivity; +import com.hdl.photovoltaic.config.UserConfigManage; import com.hdl.photovoltaic.databinding.ActivityAccountAndSecurityBinding; import com.hdl.photovoltaic.databinding.ActivityTemperatureUnitBinding; import com.hdl.photovoltaic.ui.adapter.LanguageAdapter; +import com.hdl.photovoltaic.utils.AppManagerUtils; +import com.hdl.photovoltaic.widget.ConfirmationCancelDialog; import java.util.ArrayList; import java.util.List; @@ -49,11 +52,21 @@ LanguageAdapter.ItemData c = new LanguageAdapter.ItemData(); c.setState(false); c.setTitle(getString(R.string.set_c)); + c.setUnit("C"); list.add(c); LanguageAdapter.ItemData f = new LanguageAdapter.ItemData(); f.setState(false); f.setTitle(getString(R.string.set_f)); + f.setUnit("F"); list.add(f); + + for (int i = 0; i < list.size(); i++) { + LanguageAdapter.ItemData itemData = list.get(i); + if (itemData.getUnit().equals(UserConfigManage.getInstance().getTemperature_unit())) { + //鍒濆鍖栦箣鍓嶇姸鎬� + itemData.setState(true); + } + } } @@ -75,13 +88,14 @@ } list.get(position).setState(true); languageAdapter.notifyDataSetChanged(); - - + UserConfigManage.getInstance().setTemperature_unit(itemData.getUnit()); + UserConfigManage.getInstance().Save(); } }); } + private void initView() { viewBinding.toolbarTopFragmentHouseListRl.topTitleTv.setText(R.string.set_temperature_unit); viewBinding.toolbarTopFragmentHouseListRl.topTitleTv.setTextColor(getResources().getColor(R.color.text_030D1C, null)); diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/me/WebActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/me/WebActivity.java index b9b3843..d4f11f8 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/me/WebActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/me/WebActivity.java @@ -7,7 +7,9 @@ import com.hdl.photovoltaic.HDLApp; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.base.CustomBaseActivity; +import com.hdl.photovoltaic.config.UserConfigManage; import com.hdl.photovoltaic.databinding.ActivityWebBinding; +import com.hdl.photovoltaic.utils.LocalManageUtil; /** * 銆婃湇鍔″崗璁�嬪拰銆婇殣绉佸崗璁�嬬晫闈� @@ -62,7 +64,7 @@ viewBinding.toolbarTopFragmentHouseListRl.topBackBtn.setVisibility(View.VISIBLE); viewBinding.toolbarTopFragmentHouseListRl.topBarView.setBackgroundColor(getResources().getColor(R.color.text_FFFFFFFF, null)); - if (HDLApp.getInstance().currentAppLanguage.equals("zh")) { + if (UserConfigManage.getInstance().getCurrentAppLanguage().equals(LocalManageUtil.zh)) { //涓枃 if (this.typeIntValue == 0) { //鐢ㄦ埛鍗忚 diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/me/languageSelectionActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/me/languageSelectionActivity.java index e35dad7..825c4cb 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/me/languageSelectionActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/me/languageSelectionActivity.java @@ -2,22 +2,30 @@ import androidx.recyclerview.widget.LinearLayoutManager; +import android.content.Intent; import android.os.Bundle; import android.view.View; +import com.hdl.photovoltaic.HDLApp; import com.hdl.photovoltaic.R; import com.hdl.photovoltaic.base.CustomBaseActivity; +import com.hdl.photovoltaic.config.UserConfigManage; import com.hdl.photovoltaic.databinding.ActivityLanguageSelectionBinding; +import com.hdl.photovoltaic.ui.StartActivity; import com.hdl.photovoltaic.ui.adapter.LanguageAdapter; +import com.hdl.photovoltaic.utils.AppManagerUtils; +import com.hdl.photovoltaic.utils.LocalManageUtil; +import com.hdl.photovoltaic.widget.ConfirmationCancelDialog; import java.util.ArrayList; import java.util.List; + +/** + * 璇█閫夋嫨鐨勭晫闈� + */ public class languageSelectionActivity extends CustomBaseActivity { - /** - * 璇█閫夋嫨鐨勭晫闈� - */ private ActivityLanguageSelectionBinding viewBinding; private LanguageAdapter languageAdapter; @@ -48,11 +56,21 @@ LanguageAdapter.ItemData zh = new LanguageAdapter.ItemData(); zh.setState(false); zh.setTitle("绠�浣撲腑鏂�"); + zh.setLanguage(LocalManageUtil.zh); list.add(zh); LanguageAdapter.ItemData en = new LanguageAdapter.ItemData(); en.setState(false); en.setTitle("English"); + en.setLanguage(LocalManageUtil.en); list.add(en); + + for (int i = 0; i < list.size(); i++) { + LanguageAdapter.ItemData itemData = list.get(i); + if (itemData.getLanguage().equals(UserConfigManage.getInstance().getCurrentAppLanguage())) { + //鍒濆鍖栦箣鍓嶇姸鎬� + itemData.setState(true); + } + } } @@ -74,11 +92,41 @@ } list.get(position).setState(true); languageAdapter.notifyDataSetChanged(); - + languageSelectionDialog(itemData); } }); + + } + + /** + * 浜屾纭鎻愮ず妗� + * + * @param itemData 閫変腑鏁版嵁 + */ + private void languageSelectionDialog(LanguageAdapter.ItemData itemData) { + ConfirmationCancelDialog dialog = new ConfirmationCancelDialog(this); + dialog.setTitle(getString(R.string.loading_title_tip)); + dialog.setContent(getString(R.string.loading_app_restart)); + dialog.show(); + dialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() { + @Override + public void Confirm() { + UserConfigManage.getInstance().setCurrentAppLanguage(itemData.getLanguage()); + UserConfigManage.getInstance().Save(); + AppManagerUtils.getAppManager().finishAllActivity(); + Intent intent = new Intent(); + intent.setClass(HDLApp.getInstance(), StartActivity.class); + startActivity(intent); + } + }); + dialog.setNoOnclickListener(new ConfirmationCancelDialog.onNoOnclickListener() { + @Override + public void Cancel() { + dialog.dismiss(); + } + }); } private void initView() { diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/test/TestLogActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/test/TestLogActivity.java index 8656407..971bfb9 100644 --- a/app/src/main/java/com/hdl/photovoltaic/ui/test/TestLogActivity.java +++ b/app/src/main/java/com/hdl/photovoltaic/ui/test/TestLogActivity.java @@ -15,7 +15,7 @@ import com.hdl.photovoltaic.other.HdlLogLogic; import com.hdl.photovoltaic.other.HdlThreadLogic; import com.hdl.photovoltaic.widget.ConfirmationCancelDialog; -import com.hdl.photovoltaic.widget.ListDialog; +import com.hdl.photovoltaic.widget.ListStaticDialog; import java.util.IdentityHashMap; import java.util.Map; @@ -54,18 +54,18 @@ @Override public void onClick(View v) { - ListDialog listDialog = new ListDialog(_mActivity); + ListStaticDialog listDialog = new ListStaticDialog(_mActivity); listDialog.setLineContent1("娓呴櫎銆愬綋鍓嶄綇瀹呫�戠殑鏈湴鏃ュ織"); listDialog.setLineContent2("娓呴櫎銆愭墍鏈変綇瀹呫�戠殑鏈湴鏃ュ織"); listDialog.show(); - listDialog.setOnHDLChinaOnListener(new ListDialog.onHDLChinaListener() { + listDialog.setOnHDLChinaOnListener(new ListStaticDialog.onHDLChinaListener() { @Override public void HDLChina() { getDialog(1, listDialog); } }); - listDialog.setOnHDLBahrainListener(new ListDialog.onHDLBahrainListener() { + listDialog.setOnHDLBahrainListener(new ListStaticDialog.onHDLBahrainListener() { @Override public void HDLBahrain() { getDialog(2, listDialog); @@ -91,7 +91,7 @@ * * @param value 澶т簬1琛ㄧず娓呴櫎鎵�鏈変綇瀹呮棩蹇� */ - private void getDialog(int value, ListDialog listDialog) { + private void getDialog(int value, ListStaticDialog listDialog) { ConfirmationCancelDialog dialog = new ConfirmationCancelDialog(_mActivity); dialog.setTitle("鎻愮ず"); if (value > 1) { diff --git a/app/src/main/java/com/hdl/photovoltaic/utils/LocalManageUtil.java b/app/src/main/java/com/hdl/photovoltaic/utils/LocalManageUtil.java index a4ec45b..d0f2212 100644 --- a/app/src/main/java/com/hdl/photovoltaic/utils/LocalManageUtil.java +++ b/app/src/main/java/com/hdl/photovoltaic/utils/LocalManageUtil.java @@ -17,6 +17,9 @@ */ public class LocalManageUtil { + public static final String zh = "zh";//涓枃 + public static final String en = "en";//鑻辨枃 + // private static Locale mLocale; /** diff --git a/app/src/main/java/com/hdl/photovoltaic/widget/ListDialog.java b/app/src/main/java/com/hdl/photovoltaic/widget/ListDialog.java index 0c93e6f..cd25868 100644 --- a/app/src/main/java/com/hdl/photovoltaic/widget/ListDialog.java +++ b/app/src/main/java/com/hdl/photovoltaic/widget/ListDialog.java @@ -2,24 +2,46 @@ import android.app.Dialog; import android.content.Context; +import android.content.Intent; import android.os.Bundle; -import android.text.TextUtils; +import android.view.Gravity; +import android.view.MotionEvent; import android.view.View; +import android.view.ViewGroup; +import android.view.Window; +import android.view.WindowManager; import androidx.annotation.NonNull; +import androidx.recyclerview.widget.LinearLayoutManager; +import com.hdl.photovoltaic.HDLApp; import com.hdl.photovoltaic.R; +import com.hdl.photovoltaic.config.UserConfigManage; import com.hdl.photovoltaic.databinding.DialogListBinding; +import com.hdl.photovoltaic.ui.StartActivity; +import com.hdl.photovoltaic.ui.adapter.LanguageAdapter; +import com.hdl.photovoltaic.utils.AppManagerUtils; +import com.hdl.photovoltaic.utils.LocalManageUtil; +import com.hdl.photovoltaic.widget.adapter.ListDialogAdapter; +import java.util.ArrayList; +import java.util.List; + +/** + * 鍔ㄦ�佸垪琛ㄥ脊绐� + */ public class ListDialog extends Dialog { - private onNoListener onNoOnclickListener; - private onHDLChinaListener onHDLChinaListener; - private onHDLBahrainListener onHDLBahrainListener; private DialogListBinding viewBinding; - private String contentStr1, contentStr2; + + private ListDialogAdapter listDialogAdapter; + private final Context mContext; + private List<ListDialogAdapter.DialogItemData> list; + + private ListDialogAdapter.OnclickListener itemOnclickListener;//鐐瑰嚮浜嗙殑鐩戝惉鍣� public ListDialog(@NonNull Context context) { - super(context, R.style.Custom_Dialog); + super(context, R.style.Custom_List_Dialog); + this.mContext = context; } @Override @@ -27,121 +49,122 @@ super.onCreate(savedInstanceState); viewBinding = DialogListBinding.inflate(getLayoutInflater()); setContentView(viewBinding.getRoot()); + setDialogTouchOutsideCloseable(this); initData(); - initEvent(); - - } - - /** - * 鍒濆鍖栫晫闈㈡帶浠剁殑鏄剧ず鏁版嵁 - */ - private void initData() { - //濡傛灉鐢ㄦ埛鑷畾浜哻ontentStr1鍜宑ontentStr2 - if (!TextUtils.isEmpty(contentStr1)) { - viewBinding.hdlChinaTv.setText(contentStr1); - } - if (!TextUtils.isEmpty(contentStr2)) { - viewBinding.hdlBahrainTv.setText(contentStr2); - } - - } - - /** - * 鑷畾涔�"鍐呭"鏂囨湰 - * - * @param content 鍐呭 - */ - public void setLineContent1(String content) { - if (TextUtils.isEmpty(content)) { - return; - } - contentStr1 = content; - if (viewBinding != null) { - viewBinding.hdlChinaTv.setText(contentStr1); - } - } - - /** - * 鑷畾涔�"鍐呭"鏂囨湰 - * - * @param content 鍐呭 - */ - public void setLineContent2(String content) { - if (TextUtils.isEmpty(content)) { - return; - } - contentStr2 = content; - if (viewBinding != null) { - viewBinding.hdlBahrainTv.setText(contentStr2); - } - } - - 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() { + LinearLayoutManager linearLayout = new LinearLayoutManager(mContext); + listDialogAdapter = new ListDialogAdapter(this.list, mContext); + viewBinding.logicRcv.setLayoutManager(linearLayout); + viewBinding.logicRcv.setAdapter(listDialogAdapter); + listDialogAdapter.setItemOnclickListener(new ListDialogAdapter.OnclickListener() { @Override - public void onClick(View v) { - if (onNoOnclickListener != null) { - onNoOnclickListener.Cancel(); + public void onClick(int position, ListDialogAdapter.DialogItemData itemData) { + for (int i = 0; i < list.size(); i++) { + ListDialogAdapter.DialogItemData data = list.get(i); + data.setState(false); + } + list.get(position).setState(true); + listDialogAdapter.notifyDataSetChanged(); + languageSelectionDialog(position, itemData); + } + }); + + } + + public void setItemOnclickListener(ListDialogAdapter.OnclickListener onclickListener) { + this.itemOnclickListener = onclickListener; + } + + private void initData() { + list = new ArrayList<>(); + ListDialogAdapter.DialogItemData zh = new ListDialogAdapter.DialogItemData(); + zh.setState(false); + zh.setTitle("绠�浣撲腑鏂�"); + zh.setLanguage(LocalManageUtil.zh); + list.add(zh); + ListDialogAdapter.DialogItemData en = new ListDialogAdapter.DialogItemData(); + en.setState(false); + en.setTitle("English"); + en.setLanguage(LocalManageUtil.en); + list.add(en); + + for (int i = 0; i < list.size(); i++) { + ListDialogAdapter.DialogItemData itemData = list.get(i); + if (itemData.getLanguage().equals(UserConfigManage.getInstance().getCurrentAppLanguage())) { + //鍒濆鍖栦箣鍓嶇姸鎬� + itemData.setState(true); + } + } + } + + /** + * 浜屾纭鎻愮ず妗� + * + * @param position 绱㈠紩鍊� + * @param itemData 閫変腑鏁版嵁 + */ + private void languageSelectionDialog(int position, ListDialogAdapter.DialogItemData itemData) { + ConfirmationCancelDialog dialog = new ConfirmationCancelDialog(this.mContext); + dialog.setTitle(this.mContext.getString(R.string.loading_title_tip)); + dialog.setContent(this.mContext.getString(R.string.loading_app_restart)); + dialog.show(); + dialog.setYesOnclickListener(new ConfirmationCancelDialog.onYesOnclickListener() { + @Override + public void Confirm() { + if (itemOnclickListener != null) { + itemOnclickListener.onClick(position, itemData); } dismiss(); + UserConfigManage.getInstance().setCurrentAppLanguage(itemData.getLanguage()); + UserConfigManage.getInstance().Save(); + AppManagerUtils.getAppManager().finishAllActivity(); + Intent intent = new Intent(); + intent.setClass(HDLApp.getInstance(), StartActivity.class); + mContext.startActivity(intent); } }); - viewBinding.hdlChinaLl.setOnClickListener(new View.OnClickListener() { + dialog.setNoOnclickListener(new ConfirmationCancelDialog.onNoOnclickListener() { @Override - public void onClick(View v) { - if (onHDLChinaListener != null) { - onHDLChinaListener.HDLChina(); - } - + public void Cancel() { + dialog.dismiss(); } }); - viewBinding.hdlBahrainLl.setOnClickListener(new View.OnClickListener() { + } + + //瑙e喅dialog.setCanceledOnTouchOutside(true) 涓嶇敓鏁堥棶棰� + public void setDialogTouchOutsideCloseable(Dialog dialog) { + viewBinding.getRoot().setOnTouchListener(new View.OnTouchListener() { @Override - public void onClick(View v) { - if (onHDLBahrainListener != null) { - onHDLBahrainListener.HDLBahrain(); - } + public boolean onTouch(View v, MotionEvent event) { + int top = viewBinding.dialogParent.getTop(); + int left = viewBinding.dialogParent.getLeft(); + int bottom = viewBinding.dialogParent.getBottom(); + int right = viewBinding.dialogParent.getRight(); + int y = (int) event.getY(); + int x = (int) event.getX(); + if (event.getAction() == MotionEvent.ACTION_UP) { + if (top < y && y < bottom) { + } else { + dismiss(); + } + + if (left < x && x < right) { + + } else { + dismiss(); + } + + + } + return true; } }); - - +// Window window = dialog.getWindow(); +// WindowManager.LayoutParams params = window.getAttributes(); +// params.width = ViewGroup.LayoutParams.MATCH_PARENT; +// params.height = ViewGroup.LayoutParams.MATCH_PARENT; +// window.setAttributes(params); +// //绌虹櫧澶勪笉鑳藉彇娑堝姩鐢� +// setCanceledOnTouchOutside(true); } - - 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/java/com/hdl/photovoltaic/widget/ListStaticDialog.java b/app/src/main/java/com/hdl/photovoltaic/widget/ListStaticDialog.java new file mode 100644 index 0000000..1187a3d --- /dev/null +++ b/app/src/main/java/com/hdl/photovoltaic/widget/ListStaticDialog.java @@ -0,0 +1,150 @@ +package com.hdl.photovoltaic.widget; + +import android.app.Dialog; +import android.content.Context; +import android.os.Bundle; +import android.text.TextUtils; +import android.view.View; + +import androidx.annotation.NonNull; + +import com.hdl.photovoltaic.R; +import com.hdl.photovoltaic.databinding.DialogStaticListBinding; + +/** + * 闈欐�佸垪琛ㄥ脊绐� + */ +public class ListStaticDialog extends Dialog { + private onNoListener onNoOnclickListener; + private onHDLChinaListener onHDLChinaListener; + private onHDLBahrainListener onHDLBahrainListener; + private DialogStaticListBinding viewBinding; + private String contentStr1, contentStr2; + + public ListStaticDialog(@NonNull Context context) { + super(context, R.style.Custom_Dialog); + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + viewBinding = DialogStaticListBinding.inflate(getLayoutInflater()); + setContentView(viewBinding.getRoot()); + initData(); + initEvent(); + + } + + /** + * 鍒濆鍖栫晫闈㈡帶浠剁殑鏄剧ず鏁版嵁 + */ + private void initData() { + //濡傛灉鐢ㄦ埛鑷畾浜哻ontentStr1鍜宑ontentStr2 + if (!TextUtils.isEmpty(contentStr1)) { + viewBinding.hdlChinaTv.setText(contentStr1); + } + if (!TextUtils.isEmpty(contentStr2)) { + viewBinding.hdlBahrainTv.setText(contentStr2); + } + + } + + /** + * 鑷畾涔�"鍐呭"鏂囨湰 + * + * @param content 鍐呭 + */ + public void setLineContent1(String content) { + if (TextUtils.isEmpty(content)) { + return; + } + contentStr1 = content; + if (viewBinding != null) { + viewBinding.hdlChinaTv.setText(contentStr1); + } + } + + /** + * 鑷畾涔�"鍐呭"鏂囨湰 + * + * @param content 鍐呭 + */ + public void setLineContent2(String content) { + if (TextUtils.isEmpty(content)) { + return; + } + contentStr2 = content; + if (viewBinding != null) { + viewBinding.hdlBahrainTv.setText(contentStr2); + } + } + + 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(); + } + + } + }); + viewBinding.hdlBahrainLl.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (onHDLBahrainListener != null) { + onHDLBahrainListener.HDLBahrain(); + } + + } + }); + + + } + + 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/java/com/hdl/photovoltaic/widget/adapter/ListDialogAdapter.java b/app/src/main/java/com/hdl/photovoltaic/widget/adapter/ListDialogAdapter.java new file mode 100644 index 0000000..4085c56 --- /dev/null +++ b/app/src/main/java/com/hdl/photovoltaic/widget/adapter/ListDialogAdapter.java @@ -0,0 +1,129 @@ +package com.hdl.photovoltaic.widget.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import androidx.annotation.NonNull; +import androidx.recyclerview.widget.RecyclerView; + +import com.hdl.photovoltaic.R; +import com.hdl.photovoltaic.config.UserConfigManage; + +import java.util.List; + +public class ListDialogAdapter extends RecyclerView.Adapter<ListDialogAdapter.MyViewHolder> { + + + private List<ListDialogAdapter.DialogItemData> mList; + private final Context mContext; + private ListDialogAdapter.OnclickListener itemOnclickListener;//鐐瑰嚮浜嗙殑鐩戝惉鍣� + + public ListDialogAdapter(List<ListDialogAdapter.DialogItemData> list, Context context) { + + this.mList = list; + this.mContext = context; + } + + @NonNull + @Override + public ListDialogAdapter.MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { + + View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.diaog_list_line, parent, false); + return new ListDialogAdapter.MyViewHolder(view); + } + + @Override + public void onBindViewHolder(@NonNull ListDialogAdapter.MyViewHolder holder, int position) { + ListDialogAdapter.DialogItemData itemData = this.mList.get(position); + holder.list_item_title_tv.setText(itemData.getTitle()); + holder.list_item_title_tv.setTextColor(mContext.getColor(R.color.text_50FFFFFF)); + if (itemData.isState()) { + holder.list_item_title_tv.setTextColor(mContext.getColor(R.color.text_FFFFFFFF)); + } + if (position == this.mList.size() - 1) { + holder.list_item_line_v.setVisibility(View.GONE); + } + holder.itemView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (itemOnclickListener != null) { + itemOnclickListener.onClick(holder.getAdapterPosition(), itemData); + } + } + }); + + } + + @Override + public int getItemCount() { + return this.mList == null ? 0 : this.mList.size(); + } + + + public void setList(List<ListDialogAdapter.DialogItemData> list) { + this.mList = list; + } + + public void setItemOnclickListener(ListDialogAdapter.OnclickListener onclickListener) { + this.itemOnclickListener = onclickListener; + } + + /** + * 涓�琛屽竷灞�瀹瑰櫒 + */ + static class MyViewHolder extends RecyclerView.ViewHolder { + + + public TextView list_item_title_tv; + + public View list_item_line_v; + + public MyViewHolder(@NonNull View itemView) { + super(itemView); + list_item_title_tv = itemView.findViewById(R.id.list_item_title_tv); + list_item_line_v = itemView.findViewById(R.id.list_item_line_v); + } + } + + public interface OnclickListener { + void onClick(int position, ListDialogAdapter.DialogItemData itemData); + } + + public static class DialogItemData { + + private String title; + private boolean state; + //app褰撳墠璇█ + private String language = UserConfigManage.getInstance().getCurrentAppLanguage(); + + public String getLanguage() { + return language; + } + + public void setLanguage(String language) { + this.language = language; + } + + public String getTitle() { + return title == null ? "" : title; + } + + public void setTitle(String title) { + this.title = title; + } + + public boolean isState() { + return state; + } + + public void setState(boolean state) { + this.state = state; + } + + + } + +} diff --git a/app/src/main/res/drawable/list_464d5a.xml b/app/src/main/res/drawable/list_464d5a.xml new file mode 100644 index 0000000..371753b --- /dev/null +++ b/app/src/main/res/drawable/list_464d5a.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8"?> +<shape xmlns:android="http://schemas.android.com/apk/res/android"> + <solid android:color="#464D5A" /> + <corners android:radius="@dimen/dp_4" /> +</shape> \ 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 index 445be45..5979886 100644 --- a/app/src/main/res/layout/dialog_list.xml +++ b/app/src/main/res/layout/dialog_list.xml @@ -5,90 +5,24 @@ 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"> + android:id="@+id/dialog_parent" + android:layout_width="@dimen/dp_141" + android:layout_height="272dp" + android:layout_marginStart="61dp" + android:layout_marginTop="@dimen/dp_89" + android:layout_marginEnd="174dp" + android:background="@drawable/list_464d5a" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent"> - <LinearLayout - android:id="@+id/hdl_china_ll" + <androidx.recyclerview.widget.RecyclerView + android:id="@+id/logic_rcv" android:layout_width="match_parent" - android:layout_height="@dimen/dp_50" - android:background="@color/ffffff" - android:gravity="center" - android:orientation="horizontal" + android:layout_height="match_parent" + app:layout_constraintBottom_toBottomOf="parent" 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_cancel" - android:textColor="@color/text_90000000" - android:textSize="@dimen/text_18" - - /> - </LinearLayout> + app:layout_constraintTop_toTopOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout> </androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file diff --git a/app/src/main/res/layout/dialog_static_list.xml b/app/src/main/res/layout/dialog_static_list.xml new file mode 100644 index 0000000..445be45 --- /dev/null +++ b/app/src/main/res/layout/dialog_static_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_cancel" + 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/layout/diaog_list_line.xml b/app/src/main/res/layout/diaog_list_line.xml new file mode 100644 index 0000000..115046b --- /dev/null +++ b/app/src/main/res/layout/diaog_list_line.xml @@ -0,0 +1,29 @@ +<?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="@dimen/dp_141" + android:layout_height="@dimen/dp_54" + android:background="#464D5A"> + + <TextView + android:id="@+id/list_item_title_tv" + android:layout_width="match_parent" + android:layout_height="@dimen/dp_20" + android:layout_marginStart="@dimen/dp_28" + android:layout_marginTop="@dimen/dp_17" + android:textColor="@color/text_FFFFFFFF" + android:textSize="@dimen/text_14" + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + + <View + android:id="@+id/list_item_line_v" + android:layout_width="109dp" + android:layout_height="1dp" + android:layout_marginStart="@dimen/dp_16" + android:layout_marginBottom="@dimen/dp_1" + android:background="@color/text_10FFFFFF" + app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintStart_toStartOf="parent" /> + +</androidx.constraintlayout.widget.ConstraintLayout> \ No newline at end of file diff --git a/app/src/main/res/values-en/strings.xml b/app/src/main/res/values-en/strings.xml index 6a5625b..f60e60c 100644 --- a/app/src/main/res/values-en/strings.xml +++ b/app/src/main/res/values-en/strings.xml @@ -12,7 +12,7 @@ <string name="hello_second_fragment">Hello second fragment. Arg: %1$s</string> <!--鐧诲綍妯″潡--> - <string name="home_login_chinese">Chinese (Simplified)</string> + <string name="home_login_chinese">绠�浣撲腑鏂�</string> <string name="home_login_hdl_stored_energy">HDL鍏変紡鍌ㄨ兘</string> <string name="home_login_an_installer">鎴戞槸瀹夎鍟�</string> <string name="home_login__input_phone_email">璇疯緭鍏ユ墜鏈哄彿/閭鍙�</string> diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index f009d1c..5b61098 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -41,6 +41,8 @@ <color name="text_565758">#565758</color> <color name="text_222222">#222222</color> <color name="text_FF6B6B">#FF6B6B</color> + <color name="text_10FFFFFF">#10FFFFFF</color> + <color name="text_50FFFFFF">#50FFFFFF</color> # diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index b6d0c9f..b8587d6 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -12,7 +12,7 @@ <string name="hello_second_fragment">Hello second fragment. Arg: %1$s</string> <!--鐧诲綍妯″潡--> - <string name="home_login_chinese">涓枃锛堢畝浣擄級</string> + <string name="home_login_chinese">绠�浣撲腑鏂�</string> <string name="home_login_hdl_stored_energy">HDL鍏変紡鍌ㄨ兘</string> <string name="home_login_an_installer">鎴戞槸瀹夎鍟�</string> <string name="home_login__input_phone_email">璇疯緭鍏ユ墜鏈哄彿/閭鍙�</string> @@ -162,6 +162,9 @@ <string name="loading_privacy_server">涓轰簡鏇村ソ鐨勪繚闅滄偍鐨勫悎娉曟潈鐩婏紝璇锋偍闃呰骞跺悓鎰忎互涓嬪崗璁�婇殣绉佹潈鏀跨瓥銆嬪拰銆婃湇鍔℃潯娆俱��</string> <string name="kill_app">鍐嶆寜涓�娆¢��鍑哄簲鐢�</string> <string name="loading_not_supported">鎶辨瓑,鏆備笉鏀寔.</string> + <string name="loading_title_tip">鎻愮ず</string> + <string name="loading_app_restart">纭鍚嶢pp灏嗕細閲嶆柊鍚姩.</string> + <string name="loading_log_out">纭閫�鍑虹櫥褰�?</string> <!-- 鏉冮檺 --> diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index a9d29bd..f0138bd 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -51,6 +51,12 @@ <!-- <item name="android:windowBackground">@drawable/dia_bg</item>:璁剧疆dialog鐨勮儗鏅�--> </style> + <style name="Custom_List_Dialog" parent="Custom_Dialog"> + <!--鑳屾櫙閫忔槑搴� 鎸囩晫闈㈤�忔槑搴�--> + <item name="android:backgroundDimAmount">0</item> + + </style> + <style name="DCloudMPHostActivityTheme" parent="@style/Theme.AppCompat"> <item name="android:windowAnimationStyle">@style/uniMPHostWindowAnimation</item> </style> -- Gitblit v1.8.0