2023年12月05日18:30:40
备份一下代码
New file |
| | |
| | | package com.hdl.photovoltaic.base; |
| | | |
| | | import android.app.Dialog; |
| | | import android.content.Context; |
| | | import android.graphics.Color; |
| | | import android.view.View; |
| | | |
| | | import androidx.annotation.NonNull; |
| | | |
| | | import com.hdl.photovoltaic.R; |
| | | |
| | | public class BaseDialog extends Dialog { |
| | | |
| | | private Context mContext; |
| | | |
| | | public BaseDialog(@NonNull Context context, int themeResId) { |
| | | super(context, themeResId); |
| | | this.mContext = context; |
| | | setStatusBarTextColor(); |
| | | setNotificationBarBackgroundColor(CustomColor.white); |
| | | } |
| | | |
| | | /** |
| | | * 修改状态栏字体颜色(黑色) |
| | | */ |
| | | public void setStatusBarTextColor() { |
| | | getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR); |
| | | } |
| | | |
| | | /** |
| | | * 设置通知栏背景颜色 |
| | | * |
| | | * @param color 颜色值(0=蓝色;1=白色;) |
| | | */ |
| | | public void setNotificationBarBackgroundColor(CustomColor color) { |
| | | switch (color) { |
| | | case blue: { |
| | | getWindow().setStatusBarColor(this.mContext.getColor(R.color.text_245EC3)); |
| | | break; |
| | | } |
| | | case white: { |
| | | getWindow().setStatusBarColor(this.mContext.getColor(R.color.text_FFFFFFFF)); |
| | | break; |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | public enum CustomColor { |
| | | blue,//蓝色 |
| | | white,//白色 |
| | | |
| | | |
| | | } |
| | | } |
| | |
| | | private String bingEmail; |
| | | |
| | | //温度单位(C摄氏度;F=华氏度) |
| | | private String temperature_unit = "C"; |
| | | private String temperature_unit = "℃"; |
| | | |
| | | //app当前的语言 |
| | | private String currentAppLanguage; |
| | |
| | | /** |
| | | * 获取固件升级文件全路径 |
| | | * |
| | | * @param oid 固件oid |
| | | * @param oid |
| | | * @param version 驱动版本 |
| | | * @return 全路径 |
| | | */ |
| | |
| | | */ |
| | | private void uniDeviceFirmwareDownload(Object data, DCUniMPJSCallback callback) { |
| | | String deviceOidId = getKeyValue("deviceOidId", getKeyValue("data", data));//云端上设备id |
| | | String oid = getKeyValue("oid", getKeyValue("data", data));//设备oid |
| | | String oid = getKeyValue("oid", getKeyValue("data", data));//固件的oid |
| | | String imageId = getKeyValue("imageId", getKeyValue("data", data));//固件镜像id |
| | | String version = getKeyValue("version", getKeyValue("data", data));//固件版本 |
| | | String localUrl = getKeyValue("localUrl", getKeyValue("data", data));//储存在本地固件文件路径 |
| | |
| | | * 向云端发起【设备固件】升级OTA指令 |
| | | */ |
| | | private void uniUpgradeDeviceFirmware(Object data, DCUniMPJSCallback callback) { |
| | | String deviceMac = getKeyValue("mac", getKeyValue("data", data));//网关设备mac(查找socket) |
| | | String deviceMac = getKeyValue("mac", getKeyValue("data", data));//逆变器设备mac(查找socket) |
| | | String deviceOidId = getKeyValue("deviceOidId", getKeyValue("data", data));//云端上设备id |
| | | String oid = getKeyValue("oid", getKeyValue("data", data));//设备id |
| | | String oid = getKeyValue("oid", getKeyValue("data", data));//升级固件的oid |
| | | String firmwareVersionId = getKeyValue("firmwareVersionId", getKeyValue("data", data));//固件版本id |
| | | String version = getKeyValue("version", getKeyValue("data", data));//固件版本 |
| | | String hardwareModel = getKeyValue("hardwareModel", getKeyValue("data", data));//云端上文件MD5 |
| | |
| | | * 向云端发起【设备驱动下载】指令 |
| | | */ |
| | | private void uniGatewayDriverDownload(Object data, DCUniMPJSCallback callback) { |
| | | String deviceOid = getKeyValue("oid", getKeyValue("data", data));//网关设备oid |
| | | String deviceOid = getKeyValue("oid", getKeyValue("data", data));//逆变器设备oid |
| | | String driverCode = getKeyValue("driverCode", getKeyValue("data", data));//驱动编码 |
| | | String imageId = getKeyValue("imageId", getKeyValue("data", data));//驱动镜像id |
| | | String version = getKeyValue("version", getKeyValue("data", data));//驱动版本 |
| | |
| | | */ |
| | | private void uniUpgradeGatewayDriver(Object data, DCUniMPJSCallback callback) { |
| | | |
| | | String deviceMac = getKeyValue("mac", getKeyValue("data", data));//网关设备mac(查找socket) |
| | | String deviceOid = getKeyValue("oid", getKeyValue("data", data));//网关设备oid |
| | | String deviceMac = getKeyValue("mac", getKeyValue("data", data));//逆变器设备mac(查找socket) |
| | | String deviceOid = getKeyValue("oid", getKeyValue("data", data));//逆变器设备oid |
| | | String driverVersionId = getKeyValue("driverVersionId", getKeyValue("data", data));//驱动版本id |
| | | String module = getKeyValue("module", getKeyValue("data", data));//模块信息 |
| | | String version = getKeyValue("version", getKeyValue("data", data));//驱动版本号 |
| | |
| | | viewBinding.toolbarTopFragmentHouseListRl.topBackBtn.setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View v) { |
| | | |
| | | finish(); |
| | | } |
| | | }); |
| | |
| | | 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 com.hdl.photovoltaic.widget.ConfirmationInputDialog; |
| | | |
| | |
| | | viewBinding.setLanguageIl.getRoot().setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View v) { |
| | | startActivity(languageSelectionActivity.class); |
| | | Intent intent = new Intent(); |
| | | intent.setClass(_mActivity, languageSelectionActivity.class); |
| | | startActivityForResult(intent, 30); |
| | | } |
| | | }); |
| | | //账号与安全 |
| | |
| | | viewBinding.setTemperatureUnitIl.getRoot().setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View v) { |
| | | startActivity(TemperatureUnitActivity.class); |
| | | Intent intent = new Intent(); |
| | | intent.setClass(_mActivity, TemperatureUnitActivity.class); |
| | | startActivityForResult(intent, 40); |
| | | } |
| | | }); |
| | | //退出登录 |
| | |
| | | viewBinding.setLanguageIl.sllLlRlNameTv.setText(R.string.set_multilingual); |
| | | viewBinding.setAccountSecurityIl.sllLlRlNameTv.setText(R.string.set_account_security); |
| | | viewBinding.setTemperatureUnitIl.sllLlRlNameTv.setText(R.string.set_temperature_unit); |
| | | viewBinding.setLanguageIl.sllLlRlRightContentTv.setVisibility(View.VISIBLE); |
| | | String str = LocalManageUtil.getLanguage(UserConfigManage.getInstance().getCurrentAppLanguage()).getTitle(); |
| | | viewBinding.setLanguageIl.sllLlRlRightContentTv.setText(str); |
| | | viewBinding.setTemperatureUnitIl.sllLlRlRightContentTv.setVisibility(View.VISIBLE); |
| | | viewBinding.setTemperatureUnitIl.sllLlRlRightContentTv.setText(UserConfigManage.getInstance().getTemperature_unit()); |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 修改用户昵称 |
| | | */ |
| | | private void changedNickname() { |
| | | if (UserConfigManage.getInstance().isBAccount()) { |
| | | //todo B端不支持更改昵称 |
| | | } else { |
| | | ConfirmationInputDialog confirmationInputDialog = new ConfirmationInputDialog(_mActivity); |
| | | confirmationInputDialog.setTitle(getString(R.string.set_nickname_modification)); |
| | | confirmationInputDialog.setEditContent(UserConfigManage.getInstance().getUserName()); |
| | | confirmationInputDialog.show(); |
| | | |
| | | confirmationInputDialog.setYesOnclickListener(new ConfirmationInputDialog.onYesOnclickListener() { |
| | | @Override |
| | | public void Confirm(String str) { |
| | | HdlAccountLogic.getInstance().updateMemberInfo_C("", 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()); |
| | | } |
| | | }); |
| | | |
| | | } |
| | | }); |
| | | confirmationInputDialog.setNoOnclickListener(new ConfirmationInputDialog.onNoOnclickListener() { |
| | | @Override |
| | | public void Cancel() { |
| | | confirmationInputDialog.dismiss(); |
| | | } |
| | | }); |
| | | @Override |
| | | protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { |
| | | super.onActivityResult(requestCode, resultCode, data); |
| | | if (requestCode == 30 && resultCode == 30) { |
| | | String str = LocalManageUtil.getLanguage(UserConfigManage.getInstance().getCurrentAppLanguage()).getTitle(); |
| | | viewBinding.setLanguageIl.sllLlRlRightContentTv.setText(str); |
| | | } else if (requestCode == 40 && resultCode == 40) { |
| | | viewBinding.setTemperatureUnitIl.sllLlRlRightContentTv.setText(UserConfigManage.getInstance().getTemperature_unit()); |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 退出登录请求的方法 |
| | |
| | | LanguageAdapter.ItemData c = new LanguageAdapter.ItemData(); |
| | | c.setState(false); |
| | | c.setTitle(getString(R.string.set_c)); |
| | | c.setUnit("C"); |
| | | c.setUnit("℃"); |
| | | list.add(c); |
| | | LanguageAdapter.ItemData f = new LanguageAdapter.ItemData(); |
| | | f.setState(false); |
| | | f.setTitle(getString(R.string.set_f)); |
| | | f.setUnit("F"); |
| | | f.setUnit("℉"); |
| | | list.add(f); |
| | | |
| | | for (int i = 0; i < list.size(); i++) { |
| | |
| | | languageAdapter.setNoOnclickListener(new LanguageAdapter.OnclickListener() { |
| | | @Override |
| | | public void onClick(int position, LanguageAdapter.ItemData itemData) { |
| | | |
| | | |
| | | for (int i = 0; i < list.size(); i++) { |
| | | LanguageAdapter.ItemData data = list.get(i); |
| | | data.setState(false); |
| | |
| | | viewBinding.toolbarTopFragmentHouseListRl.topBackBtn.setOnClickListener(new View.OnClickListener() { |
| | | @Override |
| | | public void onClick(View v) { |
| | | setResult(30); |
| | | finish(); |
| | | } |
| | | }); |
| | |
| | | languageAdapter.setNoOnclickListener(new LanguageAdapter.OnclickListener() { |
| | | @Override |
| | | public void onClick(int position, LanguageAdapter.ItemData itemData) { |
| | | |
| | | for (int i = 0; i < list.size(); i++) { |
| | | LanguageAdapter.ItemData data = list.get(i); |
| | | data.setState(false); |
| | | } |
| | | list.get(position).setState(true); |
| | | languageAdapter.notifyDataSetChanged(); |
| | | if (UserConfigManage.getInstance().getCurrentAppLanguage().equals(itemData.getLanguage())) { |
| | | //同一个不执行弹窗 |
| | | return; |
| | | } |
| | | languageSelectionDialog(itemData); |
| | | |
| | | } |
| | |
| | | } |
| | | |
| | | |
| | | public static LanguageAdapter.ItemData getLanguage(String languageStr) { |
| | | List<LanguageAdapter.ItemData> list = getLanguageList(); |
| | | for (int i = 0; i < list.size(); i++) { |
| | | if (list.get(i).getLanguage().equals(languageStr)) { |
| | | return list.get(i); |
| | | |
| | | } |
| | | } |
| | | return new LanguageAdapter.ItemData(); |
| | | } |
| | | |
| | | |
| | | } |
| | |
| | | import androidx.annotation.NonNull; |
| | | |
| | | import com.hdl.photovoltaic.R; |
| | | import com.hdl.photovoltaic.base.BaseDialog; |
| | | import com.hdl.photovoltaic.databinding.DialogConfirmCancelBinding; |
| | | |
| | | /** |
| | |
| | | android:layout_height="@dimen/dp_57" |
| | | app:layout_constraintEnd_toEndOf="parent" |
| | | app:layout_constraintStart_toStartOf="parent" |
| | | app:layout_constraintTop_toTopOf="parent"> |
| | | app:layout_constraintTop_toTopOf="parent" |
| | | android:background="@color/text_FFFFFFFF" |
| | | > |
| | | |
| | | <TextView |
| | | android:id="@+id/sll_ll_rl_name_tv" |
| | |
| | | android:layout_centerVertical="true" |
| | | android:layout_marginEnd="@dimen/dp_9" |
| | | android:layout_toStartOf="@+id/sll_ll_rl_right_icon_ll" |
| | | android:text="--" |
| | | android:textColor="@color/text_7C8590" |
| | | android:textSize="@dimen/text_15" |
| | | android:visibility="gone" /> |
| | |
| | | android:layout_gravity="center" |
| | | android:layout_marginStart="@dimen/dp_16" |
| | | android:scaleType="centerInside" |
| | | android:src="@drawable/back" |
| | | /> |
| | | android:src="@drawable/back" /> |
| | | </LinearLayout> |
| | | |
| | | <!--2.标题文本--> |
| | |
| | | android:fontFamily="sans-serif-medium" |
| | | android:gravity="center" |
| | | android:maxLines="1" |
| | | android:text="@string/my_power_station" |
| | | android:textColor="@color/text_FFFFFFFF" |
| | | android:textSize="@dimen/text_18" /> |
| | | |
| | |
| | | <string name="set_email_address">电子邮箱</string> |
| | | <string name="set_not_bind">未绑定</string> |
| | | <string name="set_language_choice">语言选择</string> |
| | | <string name="set_c">C(摄氏度)</string> |
| | | <string name="set_f">F(华氏度)</string> |
| | | <string name="set_c">℃(摄氏度)</string> |
| | | <string name="set_f">℉(华氏度)</string> |
| | | <string name="set_change_bind_phone_number">修改手机号码</string> |
| | | <string name="set_change_bind_mail">修改邮箱地址</string> |
| | | <string name="set_bind_phone_succeed">绑定手机号成功.</string> |
| | |
| | | <item name="android:windowIsFloating">false</item> |
| | | <!--显示通知栏--> |
| | | <item name="android:windowActionBar">false</item> |
| | | <!-- <item name="android:windowFullscreen">true</item>--> |
| | | |
| | | <!-- <item name="android:windowIsTranslucent">false</item>:是否半透明--> |
| | | <!-- <item name="android:windowNoTitle">true</item>:是否显示title--> |