Files
yusheng-android/moduleLogin/src/main/java/com/xscm/modulelogin/activity/ImproveInfoActivity.java

306 lines
11 KiB
Java
Raw Normal View History

2025-10-20 10:16:44 +08:00
package com.xscm.modulelogin.activity;
import android.content.Intent;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import androidx.annotation.Nullable;
import com.luck.picture.lib.basic.PictureSelector;
import com.luck.picture.lib.config.PictureConfig;
import com.luck.picture.lib.entity.LocalMedia;
import com.luck.picture.lib.style.PictureSelectorStyle;
import com.xscm.modulelogin.R;
import com.xscm.modulelogin.databinding.ActivityImproveInfoBinding;
import com.xscm.modulelogin.present.ImproveInfoContacts;
import com.xscm.modulelogin.present.ImproveInfoPresenter;
import com.xscm.modulemain.activity.MainActivity;
import com.xscm.moduleutil.activity.BaseMvpActivity;
import com.xscm.moduleutil.bean.UserBean;
import com.xscm.moduleutil.utils.DateSelectDialog;
import com.xscm.moduleutil.utils.GlideEngine;
import com.xscm.moduleutil.utils.ImageLoader;
import com.xscm.moduleutil.utils.ImageUtils;
import com.xscm.moduleutil.utils.SpUtil;
import com.xscm.moduleutil.widget.Constants;
import org.greenrobot.eventbus.EventBus;
import java.io.File;
import java.util.HashMap;
import java.util.List;
public class ImproveInfoActivity extends BaseMvpActivity<ImproveInfoPresenter, ActivityImproveInfoBinding> implements
ImproveInfoContacts.View, View.OnClickListener, DateSelectDialog.OnSelectDate {
private String sex;
public String nickname;
public String user_no_parent;
private long startTime = 0;//开始时间
private long stayTime = 0;//停留时间
private boolean isGirlSelected = false;
private boolean isBoySelected = false;
private DateSelectDialog mDateSelectDialog;
private boolean isFirst = false;
UserBean userBean;
HashMap<String, String> map = new HashMap<>();
private String avatar;
private String birthdy;
private String init_code;
@Override
protected void initData() {
}
@Override
protected void initView() {
super.initView();
Bundle extras = getIntent().getExtras();
userBean= extras != null ? (UserBean) extras.getSerializable("userBean") : null;
assert userBean != null;
if (userBean.getNickname()!=null&&!"".equals(userBean.getNickname())){
MvpPre.updateNickname();
}else {
mBinding.edNickName.setText(userBean.getNickname());
}
mBinding.edNickName.setClearIconVisible(true);
2025-10-24 17:52:11 +08:00
// ImageUtils.loadHeadCC(userBean.getAvatar(), mBinding.rvUserHead);
2025-10-20 10:16:44 +08:00
if (!TextUtils.isEmpty(user_no_parent) && !"0".equals(user_no_parent)) {
mBinding.etInviteCode.setText(user_no_parent);
mBinding.etInviteCode.setKeyListener(null);
mBinding.etInviteCode.setFocusable(false);
mBinding.etInviteCode.setFocusableInTouchMode(false);
}
startTime = System.currentTimeMillis();
mBinding.flCommit.setOnClickListener(this::onClick);
mBinding.rlNv.setOnClickListener(this::onClick);
mBinding.rlNan.setOnClickListener(this::onClick);
mBinding.rvUserHead.setOnClickListener(this::onClick);
mBinding.tvUserName.setOnClickListener(this::onClick);
mBinding.ivGirl.setOnClickListener(this::onClick);
mBinding.ivBoy.setOnClickListener(this::onClick);
mBinding.tvDay.setOnClickListener(this::onClick);
mBinding.tvMonth.setOnClickListener(this::onClick);
mBinding.tvYear.setOnClickListener(this::onClick);
}
@Override
protected int getLayoutId() {
return R.layout.activity_improve_info;
}
@Override
protected ImproveInfoPresenter bindPresenter() {
return new ImproveInfoPresenter(this, this);
}
@Override
protected void onStop() {
super.onStop();
stayTime = (System.currentTimeMillis() - startTime) / 1000;
// AppLogUtil.reportAppLog(AppLogEvent.A0301, "stend_time", String.valueOf(stayTime));
}
@Override
public void onClick(View v) {
int id = v.getId();
if (id == R.id.fl_commit) {
nickname = mBinding.edNickName.getText().toString().trim();
String inviteCode = mBinding.etInviteCode.getText().toString().trim();
if (TextUtils.isEmpty(nickname)) {
com.hjq.toast.ToastUtils.show("请输入昵称");
// ToastUtils.showShort("请输入昵称");
return;
}
if (sex==null||TextUtils.isEmpty(sex)) {
com.hjq.toast.ToastUtils.show("请选择性别");
// ToastUtils.showShort("请选择性别");
return;
}
if (!inviteCode.isEmpty() || inviteCode != null) {
// map.put("user_no", inviteCode);
init_code = inviteCode;
}
map.put("sex", sex);
String user_id="";
if (userBean!=null){
user_id = userBean.getUser_id() + "";
}
assert userBean != null;
userBean.setSex(Integer.parseInt(sex));
userBean.setNickname(nickname);
userBean.setAvatar(avatar);
SpUtil.saveUserBean(userBean);
MvpPre.upDateUserInfo(nickname, birthdy, sex, avatar, init_code, user_id);
// MvpPre.fill(inviteCode, nickname, sex);
// try {
// AppLogUtil.reportAppLog(AppLogEvent.A0302, new JSONObject()
// .put("sex", sex).put("nick_name", nickname)
// .put("invitation_code", mBinding.etInviteCode.getText().toString()));
// } catch (JSONException e) {
// e.printStackTrace();
// }
} else if (id == R.id.rl_nv) {
mBinding.flCommit.setEnabled(true);
mBinding.rlNan.setSelected(false);
mBinding.rlNv.setSelected(true);
sex = "2";
} else if (id == R.id.rl_nan) {
mBinding.flCommit.setEnabled(true);
mBinding.rlNan.setSelected(true);
mBinding.rlNv.setSelected(false);
sex = "1";
} else if (id == R.id.rv_user_head) {
startChoosePhoto(1, PictureConfig.CHOOSE_REQUEST);
} else if (id == R.id.tv_user_name) {
MvpPre.updateNickname();
} else if (id == R.id.iv_girl) {
if (!isGirlSelected) {
mBinding.ivGirl.setImageResource(com.xscm.moduleutil.R.mipmap.check_girl1);
mBinding.ivBoy.setImageResource(com.xscm.moduleutil.R.mipmap.check_boy);
isGirlSelected = true;
isBoySelected = false;
if (!isFirst) {
MvpPre.getSexTrue("2");
}
sex = "2";
}
} else if (id == R.id.iv_boy) {
if (!isBoySelected) {
mBinding.ivGirl.setImageResource(com.xscm.moduleutil.R.mipmap.check_girl);
mBinding.ivBoy.setImageResource(com.xscm.moduleutil.R.mipmap.check_boy1);
isBoySelected = true;
isGirlSelected = false;
if (!isFirst) {
MvpPre.getSexTrue("1");
}
sex = "1";
}
} else if (id == R.id.tv_day || id == R.id.tv_month || id == R.id.tv_year) {
if (mDateSelectDialog == null) {
mDateSelectDialog = new DateSelectDialog(this);
mDateSelectDialog.setmOnSelectDate(this);
}
mDateSelectDialog.show();
}
}
private void startChoosePhoto(int mimeType, int requestCode) {
PictureSelector.create(this)
.openGallery(mimeType)
.setSelectorUIStyle(new PictureSelectorStyle())
.isGif(false)
.setImageEngine(GlideEngine.createGlideEngine())
.setMaxSelectNum(1)
.isPreviewImage(true)
2025-10-24 17:52:11 +08:00
.isDisplayCamera(false)
2025-10-20 10:16:44 +08:00
.setOutputCameraDir(Constants.FILE_PATH)
.isOriginalSkipCompress(true)
.forResult(requestCode); //结果回调onActivityResult code
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK && data != null) {
switch (requestCode) {
case PictureConfig.CHOOSE_REQUEST:
List<LocalMedia> localMedia = PictureSelector.obtainSelectorList(data);
if (localMedia != null && localMedia.size() != 0) {
LocalMedia imgMedia = localMedia.get(0);
String url;
if (imgMedia.isCompressed()) {
url = imgMedia.getCompressPath();
} else {
url = imgMedia.getRealPath();
}
MvpPre.uploadFile(new File(url), 0);
}
break;
case PictureConfig.REQUEST_CAMERA:
List<LocalMedia> localMedia1 = PictureSelector.obtainSelectorList(data);
if (localMedia1 != null && localMedia1.size() != 0) {
LocalMedia imgMedia = localMedia1.get(0);
MvpPre.uploadFile(new File(imgMedia.getRealPath()), 3);
}
break;
}
}
}
@Override
public void upLoadSuccess(String url, int type) {
// MvpPre.updateAvatar(url);
ImageUtils.loadHeadCC(url, mBinding.rvUserHead);
map.put("avatar", url);
avatar=url;
isFirst = true;
}
@Override
public void updateAvatarSuccess(String headPicture) {
ImageLoader.loadHead(this, mBinding.rvUserHead, headPicture);
map.put("avatar", headPicture);
avatar=headPicture;
isFirst = true;
}
@Override
public void updateNicknameSuccess(String nickname) {
mBinding.edNickName.setText(nickname);
map.put("nickname", nickname);
this.nickname=nickname;
}
@Override
public void updateSexTrue(String sex1) {
ImageLoader.loadHead(this, mBinding.rvUserHead,sex1);
map.put("avatar", sex1);
// sex=sex1;
avatar=sex1;
}
@Override
public void updateSuccess(UserBean userBean) {
// SpUtil.saveUserBean(userBean);
EventBus.getDefault().post(SpUtil.getUserBean());
// TUILogin.login(ImproveInfoActivity.this, CommonAppContext.getInstance().getCurrentEnvironment().getSdkAppId(), String.valueOf(userBean.getUser_code()), userBean.getTencent_im(), new TUICallback() {
// @Override
// public void onError(final int code, final String desc) {
// LogUtils.e("@@@",code,"描述:",desc);
// }
// @Override
// public void onSuccess() {
// LogUtils.e("@@@","成功");
// }
// });
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
finish();
}
@Override
public void selectDate(String year, String month, String day) {
mBinding.tvDay.setText(day);
mBinding.tvMonth.setText(month);
mBinding.tvYear.setText(year);
map.put("birthday", year + "-" + month + "-" + day);
birthdy=year + "-" + month + "-" + day;
}
}