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 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 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 = 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 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; } }