200 lines
6.2 KiB
Java
200 lines
6.2 KiB
Java
package com.ckkj.water.mine;
|
|
|
|
import static android.view.View.INVISIBLE;
|
|
|
|
import android.os.Bundle;
|
|
import android.text.TextUtils;
|
|
import android.view.View;
|
|
|
|
import com.ckkj.water.AppConfig;
|
|
import com.ckkj.water.ConstantUtil;
|
|
import com.ckkj.water.R;
|
|
import com.ckkj.water.base.BaseFragment;
|
|
import com.ckkj.water.base.entity.MineUserInfoBean;
|
|
import com.ckkj.water.databinding.MineFragmentBinding;
|
|
import com.ckkj.water.databinding.MineFragmentLayoutBinding;
|
|
import com.ckkj.water.login.LoginActivity;
|
|
import com.ckkj.water.main.entity.CheckVersionEntity;
|
|
import com.ckkj.water.mine.entity.MemberComboEntity;
|
|
import com.ckkj.water.mine.mvp.MineContract;
|
|
import com.ckkj.water.mine.mvp.MineImpl;
|
|
import com.ckkj.water.mine.mvp.MinePresenter;
|
|
import com.ckkj.water.network.BaseBean;
|
|
import com.ckkj.water.utils.dataUtil.SharePreUtil;
|
|
import com.ckkj.water.utils.manager.ActivityManager;
|
|
import com.ckkj.water.utils.manager.ThemeManager;
|
|
import com.ckkj.water.utils.manager.WaterUserInfoManager;
|
|
import com.ckkj.water.utils.show.ToastUtil;
|
|
import com.google.gson.Gson;
|
|
import com.gyf.immersionbar.ImmersionBar;
|
|
import com.lxj.xpopup.XPopup;
|
|
import com.lxj.xpopup.interfaces.OnSelectListener;
|
|
|
|
import java.util.List;
|
|
|
|
import de.greenrobot.event.EventBus;
|
|
|
|
/**
|
|
* @author fengxiaoyang
|
|
* @date 2026/5/16
|
|
* @description TODO: 个人中心页面dev
|
|
*/
|
|
public class MineCenterFragment extends BaseFragment<MineFragmentLayoutBinding, MinePresenter>
|
|
implements MineContract.MineView {
|
|
private MineUserInfoBean mUserBean;
|
|
@Override
|
|
public void initData(Bundle state) {
|
|
ImmersionBar.with(mContext)
|
|
.statusBarColor(R.color.mainBackgroundColor)
|
|
.statusBarDarkFont(ThemeManager.isAppThemeLight(mContext))
|
|
.titleBar(viewBinding.rlTitle)
|
|
.init();
|
|
viewBinding.includedTitle.imgBack.setVisibility(INVISIBLE);
|
|
viewBinding.includedTitle.tvTitle.setText(getString(R.string.mine_center_title));
|
|
initListener();
|
|
}
|
|
|
|
@Override
|
|
protected void onResumeInitData() {
|
|
super.onResumeInitData();
|
|
if(AppConfig.USER_LOGIN){
|
|
mPresenter.getUserinfo();
|
|
}
|
|
}
|
|
|
|
private void initListener() {
|
|
setClick(viewBinding.linearInfo);
|
|
setClick(viewBinding.linearLanguage);
|
|
setClick(viewBinding.linearPsdManage);
|
|
setClick(viewBinding.linearTheme);
|
|
setClick(viewBinding.btnDelete);
|
|
}
|
|
|
|
private void setClick(View view) {
|
|
view.setOnClickListener(this::onClick);
|
|
}
|
|
|
|
public void onClick(View v){
|
|
switch (v.getId()){
|
|
case R.id.linear_info:
|
|
Bundle bundle = new Bundle();
|
|
bundle.putSerializable(ConstantUtil.USER_INFO_JSON_CONTENT,mUserBean);
|
|
goTo(mContext, MineInfomationActivity.class,bundle);
|
|
break;
|
|
|
|
case R.id.linear_theme:
|
|
goTo(mContext, AppThemActivity.class,null);
|
|
break;
|
|
|
|
case R.id.linear_language:
|
|
new XPopup.Builder(mContext)
|
|
.isDestroyOnDismiss(true)
|
|
.dismissOnBackPressed(true)
|
|
.dismissOnTouchOutside(true)
|
|
.asBottomList(
|
|
"选择语言",
|
|
new String[]{"中文", "English"},
|
|
new int[]{R.mipmap.icon_langage_chinese, R.mipmap.icon_langage_eng},
|
|
0,
|
|
new OnSelectListener() {
|
|
@Override
|
|
public void onSelect(int position, String text) {
|
|
ToastUtil.showShort(mContext,text);
|
|
}
|
|
},
|
|
R.layout.select_language_layout,
|
|
R.layout.select_language_item
|
|
).show();
|
|
break;
|
|
|
|
case R.id.linear_psd_manage:
|
|
goTo(mContext, PsdManageActivity.class,null);
|
|
break;
|
|
|
|
case R.id.btn_delete:
|
|
showDialogtext(null,
|
|
false,
|
|
false,
|
|
getString(R.string.tip_text),
|
|
getString(R.string.logout_tips),
|
|
getString(R.string.cancel_text),
|
|
getString(R.string.confirm_text),
|
|
new OnDialogClick() {
|
|
@Override
|
|
public void onCancelClick() {
|
|
}
|
|
|
|
@Override
|
|
public void onConfirmClick() {
|
|
mPresenter.logout();
|
|
}
|
|
});
|
|
break;
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 获取个人信息
|
|
* @param bean
|
|
*/
|
|
@Override
|
|
public void getUserInfoSuccess(MineUserInfoBean bean) {
|
|
Gson gson = new Gson();
|
|
String userInfoJson = gson.toJson(bean);
|
|
SharePreUtil.putString(ConstantUtil.SHARE_PRE_NAME,mContext,ConstantUtil.USER_INFO_JSON_CONTENT,userInfoJson);
|
|
WaterUserInfoManager.getInstance().setUserInfo(bean);
|
|
mUserBean = bean;
|
|
viewBinding.tvUserName.setText(bean.getUser().getNickName());
|
|
if(TextUtils.isEmpty(bean.getUser().getPhonenumber())){
|
|
viewBinding.tvUserAccount.setText(bean.getUser().getEmail());
|
|
}else{
|
|
viewBinding.tvUserAccount.setText(bean.getUser().getPhonenumber());
|
|
}
|
|
}
|
|
|
|
/**
|
|
* 退出登录
|
|
* @param bean
|
|
*/
|
|
@Override
|
|
public void logOutSuccess(BaseBean bean) {
|
|
WaterUserInfoManager.getInstance().clearUser(mContext);
|
|
ActivityManager.removeAllActivity();
|
|
goTo(mContext, LoginActivity.class,null);
|
|
}
|
|
|
|
@Override
|
|
public void updateUserInfoSuccess(BaseBean bean) {
|
|
|
|
}
|
|
|
|
@Override
|
|
public void updateUserPasswordSuccess(BaseBean bean) {
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
public MinePresenter createPresenter() {
|
|
return new MinePresenter(new MineImpl());
|
|
}
|
|
|
|
|
|
@Override
|
|
public void onNetChange(int netModel) {
|
|
|
|
}
|
|
|
|
@Override
|
|
public void showError(String message) {
|
|
|
|
}
|
|
|
|
@Override
|
|
public void logOut(BaseBean bean) {
|
|
|
|
}
|
|
|
|
}
|