306 lines
11 KiB
Java
306 lines
11 KiB
Java
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);
|
|
// ImageUtils.loadHeadCC(userBean.getAvatar(), mBinding.rvUserHead);
|
|
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)
|
|
.isDisplayCamera(false)
|
|
.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;
|
|
}
|
|
|
|
} |