mac
2023-11-30 8231d2af7893e221d90c71bd5dec4cf3f2f1f0ce
2023年11月30日19:07:47

备份代码
11个文件已添加
13个文件已修改
863 ■■■■ 已修改文件
app/src/main/AndroidManifest.xml 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/adapter/LanguageAdapter.java 122 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/me/AccountAndSecurityActivity.java 88 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/me/AsRegardsActivity.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/me/MeFragment.java 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/me/PersonalDataActivity.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/me/SetActivity.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/me/TemperatureUnitActivity.java 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/me/WebActivity.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/java/com/hdl/photovoltaic/ui/me/languageSelectionActivity.java 95 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/drawable/backgruond_ff6b6b.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/drawable/select_state.png 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/drawable/version_icon.png 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/activity_account_and_security.xml 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/activity_as_regards.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/activity_language_selection.xml 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/activity_set.xml 88 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/activity_temperature_unit.xml 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/item_language.xml 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/layout/set_line.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/values/colors.xml 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/res/values/strings.xml 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
app/src/main/AndroidManifest.xml
@@ -66,12 +66,21 @@
    <application
        android:name=".HDLApp"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:icon="@drawable/version_icon"
        android:label="@string/app_name"
        android:requestLegacyExternalStorage="true"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:roundIcon="@drawable/version_icon"
        android:supportsRtl="true"
        android:theme="@style/Theme.PhotovoltaicDebug">
        <activity
            android:name=".ui.me.TemperatureUnitActivity"
            android:exported="false" />
        <activity
            android:name=".ui.me.languageSelectionActivity"
            android:exported="false" />
        <activity
            android:name=".ui.me.AccountAndSecurityActivity"
            android:exported="false" />
        <activity
            android:name=".ui.me.PersonalDataActivity"
            android:exported="false" />
@@ -127,12 +136,10 @@
            android:value="812" />
        <meta-data
            android:name="design_width_in_dp"
            android:value="375" />
        <!--不加这个作用域上去打开相册的是闪退-->
            android:value="375" /> <!-- 不加这个作用域上去打开相册的是闪退 -->
        <meta-data
            android:name="ScopedStorage"
            android:value="true" />
    </application>
</manifest>
app/src/main/java/com/hdl/photovoltaic/other/HdlAccountLogic.java
@@ -330,6 +330,27 @@
    }
    /**
     * 修改用户名称
     *
     * @param memberName    用户名称
     * @param cloudCallBeak -
     */
    public void updateMemberName_C(String memberName, CloudCallBeak<Boolean> cloudCallBeak) {
        updateMemberInfo_C("", memberName, "", "", "", "", cloudCallBeak);
    }
    /**
     * 修改用户头像
     *
     * @param memberHeadIcon 头像地址
     * @param cloudCallBeak  -
     */
    public void updateMemberHeadIcon_C(String memberHeadIcon, CloudCallBeak<Boolean> cloudCallBeak) {
        updateMemberInfo_C("", "", "", memberHeadIcon, "", "", cloudCallBeak);
    }
    /**
     * 更新个人信息(C端账号)
     *
app/src/main/java/com/hdl/photovoltaic/ui/HomeLoginActivity.java
@@ -354,9 +354,9 @@
            spannable.setSpan(new ClickableSpan() {
                @Override
                public void onClick(@NonNull View widget) {
                    //todo 需要跳转到隐私界面
                    //todo 需要跳转到服务协议界面
                    Intent intent = new Intent();
                    intent.putExtra("type", 0);
                    intent.putExtra("type", WebActivity.ServiceAgreement);
                    intent.setClass(_mActivity, WebActivity.class);
                    startActivity(intent);
                }
@@ -378,7 +378,7 @@
                public void onClick(@NonNull View widget) {
                    //todo 需要跳转到隐私界面
                    Intent intent = new Intent();
                    intent.putExtra("type", 1);
                    intent.putExtra("type", WebActivity.PrivacyAgreement);
                    intent.setClass(_mActivity, WebActivity.class);
                    startActivity(intent);
                }
app/src/main/java/com/hdl/photovoltaic/ui/adapter/LanguageAdapter.java
New file
@@ -0,0 +1,122 @@
package com.hdl.photovoltaic.ui.adapter;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.RecyclerView;
import com.hdl.photovoltaic.R;
import java.util.List;
public class LanguageAdapter extends RecyclerView.Adapter<LanguageAdapter.MyViewHolder> {
    private List<ItemData> mList;
    private final Context mContext;
    private OnclickListener noOnclickListener;//点击了的监听器
    public LanguageAdapter(List<ItemData> list, Context context) {
        this.mList = list;
        this.mContext = context;
    }
    @NonNull
    @Override
    public LanguageAdapter.MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_language, parent, false);
        return new LanguageAdapter.MyViewHolder(view);
    }
    @Override
    public void onBindViewHolder(@NonNull LanguageAdapter.MyViewHolder holder, int position) {
        ItemData itemData = this.mList.get(position);
        holder.item_lift_name_tv.setText(itemData.getTitle());
        holder.item_lift_name_tv.setTextColor(mContext.getColor(R.color.text_90000000));
        holder.item_right_icon_iv.setBackground(null);
        if (itemData.isState()) {
            holder.item_lift_name_tv.setTextColor(mContext.getColor(R.color.text_245EC3));
            holder.item_right_icon_iv.setBackground(mContext.getResources().getDrawable(R.drawable.select_state));
        }
        if (position == this.mList.size() - 1) {
            holder.item_bottom_line_v.setVisibility(View.GONE);
        }
        holder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (noOnclickListener != null) {
                    noOnclickListener.onClick(holder.getAdapterPosition(), itemData);
                }
            }
        });
    }
    @Override
    public int getItemCount() {
        return this.mList == null ? 0 : this.mList.size();
    }
    public void setList(List<ItemData> list) {
        this.mList = list;
    }
    public void setNoOnclickListener(OnclickListener onclickListener) {
        this.noOnclickListener = onclickListener;
    }
    /**
     * 一行布局容器
     */
    static class MyViewHolder extends RecyclerView.ViewHolder {
        public TextView item_lift_name_tv;
        public ImageView item_right_icon_iv;
        public View item_bottom_line_v;
        public MyViewHolder(@NonNull View itemView) {
            super(itemView);
            item_lift_name_tv = itemView.findViewById(R.id.item_lift_name_tv);
            item_right_icon_iv = itemView.findViewById(R.id.item_right_icon_iv);
            item_bottom_line_v = itemView.findViewById(R.id.item_bottom_line_v);
        }
    }
    public interface OnclickListener {
        void onClick(int position, ItemData itemData);
    }
    public static class ItemData {
        private String title;
        private boolean state;
        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;
        }
    }
}
app/src/main/java/com/hdl/photovoltaic/ui/me/AccountAndSecurityActivity.java
New file
@@ -0,0 +1,88 @@
package com.hdl.photovoltaic.ui.me;
import android.os.Bundle;
import android.view.View;
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.base.CustomBaseActivity;
import com.hdl.photovoltaic.databinding.ActivityAccountAndSecurityBinding;
/**
 * 账号和安全的界面
 */
public class AccountAndSecurityActivity extends CustomBaseActivity {
    private ActivityAccountAndSecurityBinding viewBinding;
    @Override
    public Object getContentView() {
        viewBinding = ActivityAccountAndSecurityBinding.inflate(getLayoutInflater());
        return viewBinding.getRoot();
    }
    @Override
    public void onBindView(Bundle savedInstanceState) {
        setNotificationBarBackgroundColor(CustomColor.white);
        setStatusBarTextColor();
        //初始化
        initView();
        //初始化界面监听器
        initEvent();
    }
    private void initEvent() {
        viewBinding.toolbarTopFragmentHouseListRl.topBackBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                finish();
            }
        });
        viewBinding.setAccountPhoneIl.getRoot().setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
            }
        });
        viewBinding.setAccountMailIl.getRoot().setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
            }
        });
        viewBinding.setChangePswIl.getRoot().setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(MeChangePasswordActivity.class);
            }
        });
        viewBinding.setAccountClose.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
            }
        });
    }
    private void initView() {
        viewBinding.toolbarTopFragmentHouseListRl.topTitleTv.setText(R.string.set_account_security);
        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, null));
        viewBinding.setAccountPhoneIl.sllLlRlNameTv.setText(R.string.home_login_phone);
        viewBinding.setAccountPhoneIl.sllLlRlRightContentTv.setText(R.string.set_not_bind);
        viewBinding.setAccountPhoneIl.sllLlRlRightContentTv.setVisibility(View.VISIBLE);
        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);
    }
}
app/src/main/java/com/hdl/photovoltaic/ui/me/AsRegardsActivity.java
@@ -64,6 +64,8 @@
                mNewVersionBean = newVersionBean;
                if (newVersionBean != null) {
                    //todo 发现新版本,改变UI样式
                    viewBinding.asRegardsRlRightContentTv.setText(R.string.app_discover_new_version);
                    viewBinding.asRegardsRlRightContentTv.setTextColor(getResources().getColor(R.color.text_245EC3, null));
                }
            }
@@ -73,7 +75,7 @@
            }
        });
        //todo 等接口
        String content = "下载地址url";
        String content = "https://spark.appc02.com/ksgd1";
        Bitmap bitmap = HdlCommonLogic.getInstance().createQRCodeBitmap(content, 168, 168, "UTF-8", "H", "1", Color.BLACK, Color.WHITE);
        viewBinding.asRegardsQrCodeIv.setImageBitmap(bitmap);
@@ -99,7 +101,7 @@
            @Override
            public void onClick(View v) {
                Intent intent = new Intent();
                intent.putExtra("type", 0);
                intent.putExtra("type", WebActivity.ServiceAgreement);
                intent.setClass(_mActivity, WebActivity.class);
                startActivity(intent);
            }
@@ -109,7 +111,7 @@
            @Override
            public void onClick(View v) {
                Intent intent = new Intent();
                intent.putExtra("type", 1);
                intent.putExtra("type", WebActivity.PrivacyAgreement);
                intent.setClass(_mActivity, WebActivity.class);
                startActivity(intent);
@@ -119,13 +121,11 @@
    }
    private void initView() {
        setNotificationBarBackgroundColor(CustomColor.white);
        getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
        viewBinding.toolbarTopFragmentHouseListRl.topTitleTv.setText(R.string.me_regard);
        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, null));
        String versionsStr = "v" + AppConfigManage.getVersionName();
        String versionsStr = _mActivity.getResources().getString(R.string.app_version_number) + " " + AppConfigManage.getVersionName();
        viewBinding.asRegardsIconVersionsTv.setText(versionsStr);
    }
app/src/main/java/com/hdl/photovoltaic/ui/me/MeFragment.java
@@ -72,18 +72,27 @@
//                hideLoading();
                //获取用户头像路径
                if (cUserInfo.getMemberHeadIcon().contains("http")) {
                    updateView(null, cUserInfo);
                    //更新用户头像
                    setMemberHeadIcon(cUserInfo.getMemberHeadIcon());
                    //更新用户名称
                    setMemberName(cUserInfo.getMemberName());
                } else {
                    HdlAccountLogic.getInstance().getImageKey_C(cUserInfo.getMemberHeadIcon(), new CloudCallBeak<String>() {
                        @Override
                        public void onSuccess(String url) {
                            cUserInfo.setMemberHeadIcon(url);
                            updateView(null, cUserInfo);
                            //更新用户头像
                            setMemberHeadIcon(cUserInfo.getMemberHeadIcon());
                            //更新用户名称
                            setMemberName(cUserInfo.getMemberName());
                        }
                        @Override
                        public void onFailure(HDLException e) {
                            updateView(null, cUserInfo);
//                            //更新用户头像
//                            setMemberHeadIcon(cUserInfo.getMemberHeadIcon());
                            //更新用户名称
                            setMemberName(cUserInfo.getMemberName());
                            HdlThreadLogic.toast(_mActivity, e);
                        }
                    });
@@ -110,7 +119,8 @@
            public void onSuccess(BUserInfo bUserInfo) {
                mB_UserInfo = bUserInfo;
//                hideLoading();
                updateView(bUserInfo, null);
                setMemberName(bUserInfo.getUserName());
            }
            @Override
@@ -161,38 +171,6 @@
    }
    /**
     * 更新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();
            setMemberHeadIcon(cUserInfo.getMemberHeadIcon());
        }
        viewBinding.fragmentMeUserNameIv.setText(userName);
        UserConfigManage.getInstance().setUserName(userName);
        UserConfigManage.getInstance().Save();
    }
    @Override
    public void onResume() {
        super.onResume();
        //更新用户名称
        updateView(null, null);
    }
    /**
     * 初始化界面
     */
    private void initView() {
@@ -228,8 +206,12 @@
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == 10 && resultCode == 10) {
            if (data != null) {
                String url = data.getStringExtra("memberHeadIcon");
                setMemberHeadIcon(url);
                String iconUrl = data.getStringExtra("memberHeadIcon");
                String memberName = data.getStringExtra("memberName");
                //更新用户头像
                setMemberHeadIcon(iconUrl);
                //更新用户名称
                setMemberName(memberName);
            }
        }
@@ -245,4 +227,14 @@
        GlideUtils.getRoundedCornersImage(_mActivity, memberHeadIconUrl, viewBinding.fragmentMeIconIv, new RoundedCorners(4));
    }
    /**
     * 显示用户名称
     */
    private void setMemberName(String userName) {
        viewBinding.fragmentMeUserNameIv.setText(userName);
        UserConfigManage.getInstance().setUserName(userName);
        UserConfigManage.getInstance().Save();
    }
}
app/src/main/java/com/hdl/photovoltaic/ui/me/PersonalDataActivity.java
@@ -9,7 +9,6 @@
import com.bumptech.glide.load.resource.bitmap.RoundedCorners;
import com.google.gson.JsonObject;
import com.hdl.linkpm.sdk.core.callback.IDefaultCallBack;
import com.hdl.linkpm.sdk.core.callback.IResponseCallBack;
import com.hdl.linkpm.sdk.core.exception.HDLException;
import com.hdl.linkpm.sdk.user.HDLLinkPMUser;
@@ -70,11 +69,9 @@
        viewBinding.toolbarTopFragmentMeRl.topBackBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //数据是使用Intent返回
                Intent intent = new Intent();
                //把返回数据存入Intent
                intent.putExtra("memberHeadIcon", mMemberHeadIconUrl);
                //设置返回数据
                intent.putExtra("memberName", UserConfigManage.getInstance().getUserName());
                setResult(10, intent);
                finish();
            }
@@ -132,21 +129,23 @@
            cameraAlbumPopWindow = new CameraAlbumPopWindow(_mActivity, new CameraAlbumPopWindow.CameraAlbumListener() {
                @Override
                public void successCallBack(final File a) {
                    //上传头像文件
                    HDLLinkPMUser.getInstance().uploadUserHeadImage(a, new IResponseCallBack<ImageSubmitInfo>() {
                        @Override
                        public void onSuccess(ImageSubmitInfo imageKey) {
                            JsonObject imageInfo = new JsonObject();
                            imageInfo.addProperty("memberHeadIcon", imageKey.getUrl());
                            HDLLinkPMUser.getInstance().updateMemberInfo(imageInfo, new IDefaultCallBack() {
                            //上传头像地址
                            HdlAccountLogic.getInstance().updateMemberHeadIcon_C(imageKey.getUrl(), new CloudCallBeak<Boolean>() {
                                @Override
                                public void onSuccess() {
                                public void onSuccess(Boolean obj) {
                                    mMemberHeadIconUrl = imageKey.getUrl();
                                    setMemberHeadIcon();
                                }
                                @Override
                                public void onFailure(HDLException error) {
                                    HdlLogLogic.print("uploadUserHeadImage error:" + error.getMsg());
                                public void onFailure(HDLException e) {
                                    HdlLogLogic.print("uploadUserHeadImage error:" + e.getMsg());
//                                    hideLoading();
                                }
                            });
@@ -180,7 +179,7 @@
            confirmationInputDialog.setYesOnclickListener(new ConfirmationInputDialog.onYesOnclickListener() {
                @Override
                public void Confirm(String str) {
                    HdlAccountLogic.getInstance().updateMemberInfo_C("", str, "", "", "", "", new CloudCallBeak<Boolean>() {
                    HdlAccountLogic.getInstance().updateMemberName_C(str, new CloudCallBeak<Boolean>() {
                        @Override
                        public void onSuccess(Boolean obj) {
                            UserConfigManage.getInstance().setUserName(str);
app/src/main/java/com/hdl/photovoltaic/ui/me/SetActivity.java
@@ -29,6 +29,7 @@
 */
public class SetActivity extends CustomBaseActivity {
    private ActivitySetBinding viewBinding;
    @Override
@@ -55,24 +56,28 @@
                finish();
            }
        });
        viewBinding.setNicknameIl.sllLlNameRl.setOnClickListener(new View.OnClickListener() {
        //多语言
        viewBinding.setLanguageIl.getRoot().setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                changedNickname();
                startActivity(languageSelectionActivity.class);
            }
        });
        viewBinding.setChangePasswordIl.sllLlNameRl.setOnClickListener(new View.OnClickListener() {
        //账号与安全
        viewBinding.setAccountSecurityIl.getRoot().setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                startActivity(MeChangePasswordActivity.class);
                startActivity(AccountAndSecurityActivity.class);
            }
        });
        viewBinding.setPushMsgIl.sllLlRlRightSwitchIv.setOnClickListener(new View.OnClickListener() {
        //温度单位
        viewBinding.setTemperatureUnitIl.getRoot().setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                v.setSelected(!v.isSelected());
                startActivity(TemperatureUnitActivity.class);
            }
        });
        //退出登录
        viewBinding.outTv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
@@ -88,30 +93,9 @@
        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, 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);
        viewBinding.setMesIl.sllLlRlTitleTv.setText(R.string.set_message_setting);
        viewBinding.setPushMsgIl.sllLlRlNameTv.setText(R.string.set_push_notification);
        viewBinding.setPushMsgIl.sllLlRlRightNextIv.setVisibility(View.GONE);
        viewBinding.setPushMsgIl.sllLlRlRightSwitchIv.setVisibility(View.VISIBLE);
        viewBinding.setCallMsgIl.sllLlRlNameTv.setText(R.string.set_alarm_message);
        viewBinding.setGeneralMsgIl.sllLlRlTitleTv.setText(R.string.set_general_setting);
        viewBinding.setMultiLanguageIl.sllLlRlNameTv.setText(R.string.set_multilingual);
        viewBinding.setDataCenterIl.sllLlRlNameTv.setText(R.string.set_data_centre);
        viewBinding.setPrivacyIl.sllLlRlTitleTv.setText(R.string.set_privacy);
        viewBinding.setSystemAuthorizationIl.sllLlRlNameTv.setText(R.string.set_system_rights_managemen);
        viewBinding.setShareIl.sllLlRlNameTv.setText(R.string.set_3_msg_sharing);
        if (UserConfigManage.getInstance().isBAccount()) {
            //B端
            viewBinding.setNicknameIl.sllLlNameRl.setVisibility(View.GONE);
        } else {
            //C端
            viewBinding.setNicknameIl.sllLlNameRl.setVisibility(View.VISIBLE);
        }
        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);
    }
    /**
app/src/main/java/com/hdl/photovoltaic/ui/me/TemperatureUnitActivity.java
New file
@@ -0,0 +1,95 @@
package com.hdl.photovoltaic.ui.me;
import androidx.appcompat.app.AppCompatActivity;
import androidx.recyclerview.widget.LinearLayoutManager;
import android.os.Bundle;
import android.view.View;
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.base.CustomBaseActivity;
import com.hdl.photovoltaic.databinding.ActivityAccountAndSecurityBinding;
import com.hdl.photovoltaic.databinding.ActivityTemperatureUnitBinding;
import com.hdl.photovoltaic.ui.adapter.LanguageAdapter;
import java.util.ArrayList;
import java.util.List;
/**
 * 温度单位的界面
 */
public class TemperatureUnitActivity extends CustomBaseActivity {
    private ActivityTemperatureUnitBinding viewBinding;
    private LanguageAdapter languageAdapter;
    private List<LanguageAdapter.ItemData> list;
    @Override
    public Object getContentView() {
        viewBinding = ActivityTemperatureUnitBinding.inflate(getLayoutInflater());
        return viewBinding.getRoot();
    }
    @Override
    public void onBindView(Bundle savedInstanceState) {
        setNotificationBarBackgroundColor(CustomColor.white);
        setStatusBarTextColor();
        readData();
        //初始化
        initView();
        //初始化界面监听器
        initEvent();
    }
    private void readData() {
        list = new ArrayList<>();
        LanguageAdapter.ItemData c = new LanguageAdapter.ItemData();
        c.setState(false);
        c.setTitle(getString(R.string.set_c));
        list.add(c);
        LanguageAdapter.ItemData f = new LanguageAdapter.ItemData();
        f.setState(false);
        f.setTitle(getString(R.string.set_f));
        list.add(f);
    }
    private void initEvent() {
        viewBinding.toolbarTopFragmentHouseListRl.topBackBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                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();
            }
        });
    }
    private void initView() {
        viewBinding.toolbarTopFragmentHouseListRl.topTitleTv.setText(R.string.set_temperature_unit);
        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, null));
        LinearLayoutManager linearLayout = new LinearLayoutManager(_mActivity);
        languageAdapter = new LanguageAdapter(this.list, _mActivity);
        viewBinding.languageRc.setLayoutManager(linearLayout);
        viewBinding.languageRc.setAdapter(languageAdapter);
    }
}
app/src/main/java/com/hdl/photovoltaic/ui/me/WebActivity.java
@@ -17,6 +17,9 @@
    private ActivityWebBinding viewBinding;
    public static final int ServiceAgreement = 0;
    public static final int PrivacyAgreement = 1;
    /**
     * 0,表示服务协议
     * 1,表示隐私协议
app/src/main/java/com/hdl/photovoltaic/ui/me/languageSelectionActivity.java
New file
@@ -0,0 +1,95 @@
package com.hdl.photovoltaic.ui.me;
import androidx.recyclerview.widget.LinearLayoutManager;
import android.os.Bundle;
import android.view.View;
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.base.CustomBaseActivity;
import com.hdl.photovoltaic.databinding.ActivityLanguageSelectionBinding;
import com.hdl.photovoltaic.ui.adapter.LanguageAdapter;
import java.util.ArrayList;
import java.util.List;
public class languageSelectionActivity extends CustomBaseActivity {
    /**
     * 语言选择的界面
     */
    private ActivityLanguageSelectionBinding viewBinding;
    private LanguageAdapter languageAdapter;
    private List<LanguageAdapter.ItemData> list;
    @Override
    public Object getContentView() {
        viewBinding = ActivityLanguageSelectionBinding.inflate(getLayoutInflater());
        return viewBinding.getRoot();
    }
    @Override
    public void onBindView(Bundle savedInstanceState) {
        setNotificationBarBackgroundColor(CustomColor.white);
        setStatusBarTextColor();
        readData();
        //初始化
        initView();
        //初始化界面监听器
        initEvent();
    }
    private void readData() {
        list = new ArrayList<>();
        LanguageAdapter.ItemData zh = new LanguageAdapter.ItemData();
        zh.setState(false);
        zh.setTitle("简体中文");
        list.add(zh);
        LanguageAdapter.ItemData en = new LanguageAdapter.ItemData();
        en.setState(false);
        en.setTitle("English");
        list.add(en);
    }
    private void initEvent() {
        viewBinding.toolbarTopFragmentHouseListRl.topBackBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                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();
            }
        });
    }
    private void initView() {
        viewBinding.toolbarTopFragmentHouseListRl.topTitleTv.setText(R.string.set_language_choice);
        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, null));
        LinearLayoutManager linearLayout = new LinearLayoutManager(_mActivity);
        languageAdapter = new LanguageAdapter(this.list, _mActivity);
        viewBinding.languageRc.setLayoutManager(linearLayout);
        viewBinding.languageRc.setAdapter(languageAdapter);
    }
}
app/src/main/res/drawable/backgruond_ff6b6b.xml
New file
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="@color/text_FF6B6B" />
    <corners android:radius="@dimen/dp_4" />
</shape>
app/src/main/res/drawable/select_state.png
app/src/main/res/drawable/version_icon.png
app/src/main/res/layout/activity_account_and_security.xml
New file
@@ -0,0 +1,64 @@
<?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"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/text_F5F7FA"
    tools:context=".ui.me.AccountAndSecurityActivity">
    <include
        android:id="@+id/toolbar_top_fragment_house_list_rl"
        layout="@layout/toolbar_top_view_52" />
    <include
        android:id="@+id/set_account_phone_il"
        layout="@layout/set_line"
        android:layout_width="match_parent"
        android:layout_height="@dimen/dp_57"
        android:layout_marginTop="@dimen/dp_12"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/toolbar_top_fragment_house_list_rl" />
    <include
        android:id="@+id/set_account_mail_il"
        layout="@layout/set_line"
        android:layout_width="match_parent"
        android:layout_height="@dimen/dp_57"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/set_account_phone_il" />
    <include
        android:id="@+id/set_change_psw_il"
        layout="@layout/set_line"
        android:layout_width="match_parent"
        android:layout_height="@dimen/dp_57"
        android:layout_marginTop="@dimen/dp_12"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/set_account_mail_il" />
    <TextView
        android:id="@+id/set_account_close"
        android:layout_width="match_parent"
        android:layout_height="@dimen/dp_52"
        android:layout_marginStart="@dimen/dp_20"
        android:layout_marginEnd="@dimen/dp_20"
        android:layout_marginBottom="@dimen/dp_55"
        android:background="@drawable/backgruond_ff6b6b"
        android:gravity="center"
        android:text="@string/set_close_account"
        android:textColor="@color/text_FFFFFFFF"
        android:textSize="@dimen/text_18"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        />
</androidx.constraintlayout.widget.ConstraintLayout>
app/src/main/res/layout/activity_as_regards.xml
@@ -15,6 +15,7 @@
        android:id="@+id/as_regards_icon_iv"
        android:layout_width="53.5dp"
        android:layout_height="53.5dp"
        android:src="@drawable/version_icon"
        android:layout_marginTop="@dimen/dp_29"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
app/src/main/res/layout/activity_language_selection.xml
New file
@@ -0,0 +1,27 @@
<?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"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/text_F5F7FA"
    tools:context=".ui.me.languageSelectionActivity">
    <include
        android:id="@+id/toolbar_top_fragment_house_list_rl"
        layout="@layout/toolbar_top_view_52" />
    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/language_rc"
        android:layout_width="match_parent"
        android:layout_height="@dimen/dp_0"
        android:layout_marginTop="@dimen/dp_12"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/toolbar_top_fragment_house_list_rl">
    </androidx.recyclerview.widget.RecyclerView>
</androidx.constraintlayout.widget.ConstraintLayout>
app/src/main/res/layout/activity_set.xml
@@ -4,6 +4,7 @@
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/text_F5F7FA"
    tools:context=".ui.me.SetActivity">
    <include
@@ -14,7 +15,9 @@
        android:id="@+id/set_sll"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        app:layout_constraintBottom_toBottomOf="parent"
        android:layout_marginTop="@dimen/dp_12"
        android:layout_marginBottom="@dimen/dp_20"
        app:layout_constraintBottom_toTopOf="@+id/out_tv"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/toolbar_top_fragment_house_list_rl">
@@ -27,78 +30,37 @@
            android:orientation="vertical">
            <include
                android:id="@+id/set_account_il"
                layout="@layout/set_title_line" />
            <include
                android:id="@+id/set_nickname_il"
                android:id="@+id/set_language_il"
                layout="@layout/set_line" />
            <include
                android:id="@+id/set_change_password_il"
                android:id="@+id/set_account_security_il"
                layout="@layout/set_line" />
            <include
                android:id="@+id/set_close_account_il"
                android:id="@+id/set_temperature_unit_il"
                layout="@layout/set_line" />
            <include
                android:id="@+id/set_mes_il"
                layout="@layout/set_title_line" />
            <include
                android:id="@+id/set_push_msg_il"
                layout="@layout/set_line" />
            <include
                android:id="@+id/set_call_msg_il"
                layout="@layout/set_line" />
            <include
                android:id="@+id/set_general_msg_il"
                layout="@layout/set_title_line" />
            <include
                android:id="@+id/set_multi_language_il"
                layout="@layout/set_line" />
            <include
                android:id="@+id/set_data_center_il"
                layout="@layout/set_line" />
            <include
                android:id="@+id/set_privacy_il"
                layout="@layout/set_title_line" />
            <include
                android:id="@+id/set_system_authorization_il"
                layout="@layout/set_line" />
            <include
                android:id="@+id/set_share_il"
                layout="@layout/set_line" />
            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="@dimen/dp_141">
                <TextView
                    android:id="@+id/out_tv"
                    android:layout_width="match_parent"
                    android:layout_height="@dimen/dp_41"
                    android:layout_marginStart="@dimen/dp_86"
                    android:layout_marginTop="@dimen/dp_50"
                    android:layout_marginEnd="@dimen/dp_86"
                    android:background="@drawable/out_login"
                    android:gravity="center"
                    android:text="@string/set_logout"
                    android:textColor="@color/text_FF5757"
                    android:textSize="@dimen/text_16" />
            </RelativeLayout>
        </LinearLayout>
    </ScrollView>
    <TextView
        android:id="@+id/out_tv"
        android:layout_width="match_parent"
        android:layout_height="@dimen/dp_52"
        android:layout_marginStart="@dimen/dp_20"
        android:layout_marginEnd="@dimen/dp_20"
        android:layout_marginBottom="@dimen/dp_55"
        android:background="@drawable/backgruond_ff6b6b"
        android:gravity="center"
        android:text="@string/set_logout"
        android:textColor="@color/text_FFFFFFFF"
        android:textSize="@dimen/text_18"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        />
</androidx.constraintlayout.widget.ConstraintLayout>
app/src/main/res/layout/activity_temperature_unit.xml
New file
@@ -0,0 +1,25 @@
<?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"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".ui.me.TemperatureUnitActivity">
    <include
        android:id="@+id/toolbar_top_fragment_house_list_rl"
        layout="@layout/toolbar_top_view_52" />
    <androidx.recyclerview.widget.RecyclerView
        android:id="@+id/language_rc"
        android:layout_width="match_parent"
        android:layout_height="@dimen/dp_0"
        android:layout_marginTop="@dimen/dp_12"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/toolbar_top_fragment_house_list_rl">
    </androidx.recyclerview.widget.RecyclerView>
</androidx.constraintlayout.widget.ConstraintLayout>
app/src/main/res/layout/item_language.xml
New file
@@ -0,0 +1,53 @@
<?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="71dp"
    android:background="@color/text_FFFFFFFF">
    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="71dp"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent">
        <TextView
            android:id="@+id/item_lift_name_tv"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginStart="@dimen/dp_16"
            android:textSize="@dimen/text_16"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent" />
        <ImageView
            android:id="@+id/item_right_icon_iv"
            android:layout_width="@dimen/dp_44"
            android:layout_height="@dimen/dp_44"
            android:layout_marginEnd="@dimen/dp_21"
            android:textSize="@dimen/text_16"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintTop_toTopOf="parent" />
        <View
            android:id="@+id/item_bottom_line_v"
            android:layout_width="match_parent"
            android:layout_height="0.5dp"
            android:layout_marginStart="@dimen/dp_16"
            android:layout_marginEnd="@dimen/dp_16"
            android:layout_marginBottom="0.5dp"
            android:background="@color/text_E1E1E1"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            />
    </androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
app/src/main/res/layout/set_line.xml
@@ -18,7 +18,7 @@
            android:layout_height="@dimen/dp_21"
            android:layout_centerVertical="true"
            android:layout_marginStart="@dimen/dp_16"
            android:text="@string/set_nickname"
            android:text="--"
            android:textColor="@color/text_030D1C"
            android:textSize="@dimen/text_15"
app/src/main/res/values/colors.xml
@@ -40,6 +40,8 @@
    <color name="text_FF5757">#FF5757</color>
    <color name="text_565758">#565758</color>
    <color name="text_222222">#222222</color>
    <color name="text_FF6B6B">#FF6B6B</color>
    #
</resources>
app/src/main/res/values/strings.xml
@@ -102,6 +102,8 @@
    <string name="set_data_centre">数据中心</string>
    <string name="set_system_rights_managemen">系统权限管理</string>
    <string name="set_3_msg_sharing">第三方信息共享清单</string>
    <string name="set_account_security">账号与安全</string>
    <string name="set_temperature_unit">温度单位</string>
    <string name="set_logout">退出登录</string>
    <string name="set_privacy">隐私设置</string>
    <string name="set_nickname_modification">昵称修改</string>
@@ -114,6 +116,12 @@
    <string name="me_personal_data_super_admin">超级管理员</string>
    <string name="me_personal_data_photograph">拍照</string>
    <string name="me_personal_data_select_album">从相册中选择</string>
    <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>
    <!--app更新-->
    <string name="app_version_number">版本号</string>