123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428 |
- package com.edufound.reader.activity;
- import android.annotation.SuppressLint;
- import android.app.Activity;
- import android.content.Context;
- import android.content.Intent;
- import android.graphics.Color;
- import android.text.InputFilter;
- import android.text.TextUtils;
- import android.view.KeyEvent;
- import android.view.View;
- import android.view.inputmethod.EditorInfo;
- import android.view.inputmethod.InputMethodManager;
- import android.widget.EditText;
- import android.widget.FrameLayout;
- import android.widget.ImageView;
- import android.widget.LinearLayout;
- import android.widget.TextView;
- import android.widget.Toast;
- import com.baidu.duer.bot.directive.payload.AmountInfo;
- import com.baidu.duer.botsdk.BotIntent;
- import com.edufound.reader.R;
- import com.edufound.reader.annotation.BindView;
- import com.edufound.reader.application.EApplication;
- import com.edufound.reader.base.BaseMvpActivity;
- import com.edufound.reader.bean.ChannelCodeEnum;
- import com.edufound.reader.bean.UserBean;
- import com.edufound.reader.botsdk.BotRegisterListener;
- import com.edufound.reader.contract.UserInfoSettingContract;
- import com.edufound.reader.cusview.CusToast;
- import com.edufound.reader.listener.PopUtilClickListener;
- import com.edufound.reader.miutil.MiSoundSDKUtil;
- import com.edufound.reader.popwindow.PopWindowUtil;
- import com.edufound.reader.presenter.PopWindowPresneter;
- import com.edufound.reader.presenter.UserInfoSettingPresenter;
- import com.edufound.reader.util.Consts;
- import com.edufound.reader.util.EfunboxUtil;
- import com.edufound.reader.util.GlideUtils;
- import com.edufound.reader.util.SizeUtils;
- import com.jakewharton.rxbinding4.view.RxView;
- import com.orhanobut.logger.Logger;
- import java.util.HashMap;
- import androidx.annotation.NonNull;
- import io.reactivex.rxjava3.annotations.Nullable;
- public class UserInfoSettingActivity extends BaseMvpActivity<UserInfoSettingPresenter> implements UserInfoSettingContract.View {
- Activity mActivity;
- @BindView(id = R.id.activity_userinfo_setting_back)
- ImageView mBack;
- @BindView(id = R.id.activity_userinfo_setting_loginout_layout)
- LinearLayout mLoginOut;
- @BindView(id = R.id.activity_userinfo_setting_privservices_layout)
- LinearLayout mPrivServices;
- @BindView(id = R.id.activity_userinfo_setting_services_layout)
- LinearLayout mAgreementServices;
- @BindView(id = R.id.activity_userinfo_setting_cancellation_layout)
- LinearLayout mCancellationLayout;
- @BindView(id = R.id.activity_userinfo_setting_bindwechat_layout)
- LinearLayout mBindWeChat;
- @BindView(id = R.id.activity_userinfo_setting_switchuser_layout)
- LinearLayout mSwitchLayout;
- @BindView(id = R.id.activity_userinfo_setting_bindphonenum_layout)
- LinearLayout mBindPhoneNumLayout;
- @BindView(id = R.id.activity_userinfo_setting_nickname)
- EditText mNickName;
- @BindView(id = R.id.activity_userinfo_setting_gender_male)
- FrameLayout mGenderMale;
- @BindView(id = R.id.activity_userinfo_setting_gender_female)
- FrameLayout mGenderFeMale;
- @BindView(id = R.id.activity_userinfo_setting_grade)
- TextView mGrade;
- @BindView(id = R.id.activity_userinfo_setting_userhead)
- ImageView mUserHead;
- @BindView(id = R.id.activity_userinfo_setting_userhead_num)
- TextView mUserNum;
- boolean hasBindPhone = false;
- @Override
- public int getLayoutId() {
- return R.layout.activity_userinfo_setting;
- }
- @SuppressLint("AutoDispose")
- @Override
- public void initView() {
- mActivity = this;
- mPresenter = new UserInfoSettingPresenter();
- mPresenter.attachView(this);
- addUiClickListener(mBack, o -> {
- mNickName.clearFocus();
- hideSoftInput();
- mActivity.finish();
- });
- addUiClickListener(mPrivServices, o -> {
- if (mNickName.hasFocus()) {
- mNickName.clearFocus();
- return;
- }
- Intent intent = new Intent(getActivity(), WebActivity.class);
- intent.putExtra("loadUrl", Consts.getPrivServiceUrl());
- getActivity().startActivity(intent);
- });
- addUiClickListener(mAgreementServices, o -> {
- if (mNickName.hasFocus()) {
- mNickName.clearFocus();
- return;
- }
- Intent intent = new Intent(getActivity(), WebActivity.class);
- intent.putExtra("loadUrl", Consts.getAgreementServicesUrl());
- getActivity().startActivity(intent);
- });
- if (Consts.getUmengChannel().equals(ChannelCodeEnum.BAIDU.getChannelCode())) {
- //百度渠道,隐藏注销和退出登录按钮
- mCancellationLayout.setVisibility(View.GONE);
- mLoginOut.setVisibility(View.GONE);
- mBindPhoneNumLayout.setVisibility(View.GONE);
- } else if (Consts.getUmengChannel().equals(ChannelCodeEnum.YIFANG.getChannelCode())) {
- //义方渠道
- mCancellationLayout.setVisibility(View.VISIBLE);
- mLoginOut.setVisibility(View.VISIBLE);
- mBindPhoneNumLayout.setVisibility(View.GONE);
- } else if (Consts.getUmengChannel().equals(ChannelCodeEnum.TMAIL.getChannelCode())) {
- mSwitchLayout.setVisibility(View.GONE);
- mBindWeChat.setVisibility(View.GONE);
- mBindPhoneNumLayout.setVisibility(View.GONE);
- } else if (Consts.getUmengChannel().equals(ChannelCodeEnum.MISOUND.getChannelCode())) {
- mBindWeChat.setVisibility(View.GONE);
- mBindPhoneNumLayout.setVisibility(View.VISIBLE);
- addUiClickListener(mBindPhoneNumLayout, o -> {
- if (hasBindPhone) {
- PopWindowUtil.miSoundLoginWindow(mActivity, getRootView(), MiSoundSDKUtil.MI_SOUND_SHOW_BINDPHONENUM, null);
- } else {
- PopWindowUtil.miSoundLoginWindow(mActivity, getRootView(), MiSoundSDKUtil.MI_SOUND_BIND_PHONENUM, new PopWindowPresneter.MISoundLoginCallBack() {
- @Override
- public void success() {
- Logger.e("绑定成功返回了!!!!!!!!!!!!!!!!!!!");
- hasBindPhone = true;
- }
- });
- }
- });
- }
- addUiClickListener(mLoginOut, o -> {
- Logger.e("mLoginOut");
- if (mNickName.hasFocus()) {
- mNickName.clearFocus();
- return;
- }
- PopWindowUtil.showExitLoginWindow(mActivity, getRootView(), new PopUtilClickListener() {
- @Override
- public void clickCancel() {
- }
- @Override
- public void clickSubmit(Object obj) {
- Toast.makeText(mActivity, "退出账号", Toast.LENGTH_SHORT).show();
- mPresenter.loginOut();
- }
- });
- });
- addUiClickListener(mCancellationLayout, o -> {
- Logger.e("註銷按鈕");
- if (mNickName.hasFocus()) {
- mNickName.clearFocus();
- return;
- }
- PopWindowUtil.showCancellationAccountWindow(mActivity, getRootView(), new PopUtilClickListener() {
- @Override
- public void clickCancel() {
- }
- @Override
- public void clickSubmit(Object obj) {
- Toast.makeText(mActivity, "注销账号", Toast.LENGTH_SHORT).show();
- mPresenter.userCancellation();
- }
- });
- });
- addUiClickListener(mBindWeChat, o -> {
- if (mNickName.hasFocus()) {
- mNickName.clearFocus();
- return;
- }
- PopWindowUtil.showBindWeChatWindow(mActivity, getRootView(), null);
- });
- addUiClickListener(mSwitchLayout, o -> {
- if (mNickName.hasFocus()) {
- mNickName.clearFocus();
- return;
- }
- EfunboxUtil.userLogin(getActivity(), getRootView());
- });
- addUiClickListener(mGenderMale, o -> {
- if (mNickName.hasFocus()) {
- mNickName.clearFocus();
- return;
- }
- mGenderMale.setBackgroundResource(R.drawable.activity_userinfo_setting_item_sex_true_bg);
- mGenderFeMale.setBackgroundResource(R.drawable.activity_userinfo_setting_item_sex_bg);
- Consts.getmConstsUserBean().setGender("1");
- mPresenter.upadteMyInfo(Consts.getmConstsUserBean());
- });
- addUiClickListener(mGenderFeMale, o -> {
- if (mNickName.hasFocus()) {
- mNickName.clearFocus();
- return;
- }
- mGenderMale.setBackgroundResource(R.drawable.activity_userinfo_setting_item_sex_bg);
- mGenderFeMale.setBackgroundResource(R.drawable.activity_userinfo_setting_item_sex_true_bg);
- Consts.getmConstsUserBean().setGender("0");
- mPresenter.upadteMyInfo(Consts.getmConstsUserBean());
- });
- addUiClickListener(mGrade, o -> {
- if (mNickName.hasFocus()) {
- mNickName.clearFocus();
- return;
- }
- PopWindowUtil.showSelectGradeWindow(getActivity(), getRootView(), EfunboxUtil.getIndexGradeByEnum(mPresenter.getGradeEnum()), new PopUtilClickListener() {
- @Override
- public void clickCancel() {
- }
- @Override
- public void clickSubmit(Object object) {
- // Toast.makeText(getActivity(), "选择了:" + EfunboxUtil.getEnumByCNGrade(object.toString()), Toast.LENGTH_SHORT).show();
- Consts.getmConstsUserBean().setGrade(EfunboxUtil.getEnumByCNGrade(object.toString()));
- mPresenter.upadteMyInfo(Consts.getmConstsUserBean());
- }
- });
- });
- RxView.focusChanges(mNickName).subscribe(hasFocus -> {
- if (!hasFocus) {
- if (TextUtils.isEmpty(mNickName.getText().toString())) {
- // Toast.makeText(getActivity(), "请输入昵称", Toast.LENGTH_SHORT).show();
- return;
- }
- hideSoftInput();
- Consts.getmConstsUserBean().setNickName(mNickName.getText().toString().trim());
- mPresenter.upadteMyInfo(Consts.getmConstsUserBean());
- } else {
- mNickName.setFilters(new InputFilter[]{new InputFilter.LengthFilter(6)});
- }
- });
- mNickName.setOnEditorActionListener(new TextView.OnEditorActionListener() {
- @Override
- public boolean onEditorAction(TextView textView, int actionId, KeyEvent keyEvent) {
- if (actionId == KeyEvent.ACTION_DOWN || actionId == EditorInfo.IME_ACTION_DONE) {
- if (TextUtils.isEmpty(mNickName.getText().toString())) {
- // CusToast.getInstance(mActivity).show("请输入昵称", 2000);
- Toast.makeText(mActivity, "请输入昵称", Toast.LENGTH_SHORT).show();
- return true;
- }
- hideSoftInput();
- Consts.getmConstsUserBean().setNickName(mNickName.getText().toString().trim());
- mPresenter.upadteMyInfo(Consts.getmConstsUserBean());
- mNickName.clearFocus();
- return true;
- }
- return false;
- }
- });
- if (Consts.getUmengChannel().equals(ChannelCodeEnum.BAIDU)) {
- if (Consts.getmConstsBaiDuUserBean() != null) {
- mUserNum.setText("账号:" + Consts.getmConstsBaiDuUserBean().getUserInfo().getUserId());
- }
- } else {
- mUserNum.setVisibility(View.INVISIBLE);
- }
- mPresenter.getMyInfo();
- }
- private void hideSoftInput() {
- InputMethodManager manager = ((InputMethodManager) Consts.getmApplicAtion().getSystemService(Context.INPUT_METHOD_SERVICE));
- if (manager != null) {
- manager.hideSoftInputFromWindow(mNickName.getWindowToken(), 0);
- }
- }
- @Override
- public void onGetDisconnect() {
- }
- @Override
- public void onGetMobileConnect() {
- }
- @Override
- public void onGetWifiConnect() {
- }
- @Override
- public void showLoading() {
- }
- @Override
- public void hideLoading() {
- }
- @Override
- public void onError(String errMessage) {
- }
- @Override
- public Activity getActivity() {
- return mActivity;
- }
- @Override
- public void getUserInfoSuccess(UserBean bean) {
- if (bean.getNickName().length() <= 6) {
- mNickName.setFilters(new InputFilter[]{new InputFilter.LengthFilter(6)});
- } else {
- mNickName.setFilters(new InputFilter[]{new InputFilter.LengthFilter(11)});
- }
- mNickName.setText(bean.getNickName());
- mGrade.setText(EfunboxUtil.getCNGradeByEnum(bean.getGrade()));
- if (!TextUtils.isEmpty(bean.getMobile())) {
- hasBindPhone = true;
- }
- if (bean.getGender().equals("1")) {
- //男孩
- mGenderMale.setBackgroundResource(R.drawable.activity_userinfo_setting_item_sex_true_bg);
- mGenderFeMale.setBackgroundResource(R.drawable.activity_userinfo_setting_item_sex_bg);
- GlideUtils.loadImage(getActivity(), R.drawable.activity_userinfo_setting_boy, mUserHead);
- } else if (bean.getGender().equals("0")) {
- //女孩
- mGenderMale.setBackgroundResource(R.drawable.activity_userinfo_setting_item_sex_bg);
- mGenderFeMale.setBackgroundResource(R.drawable.activity_userinfo_setting_item_sex_true_bg);
- GlideUtils.loadImage(getActivity(), R.drawable.activity_userinfo_setting_girl, mUserHead);
- }
- Logger.e("bean.getAvatar():" + bean.getAvatar());
- if (bean.getAvatar() == null || bean.getAvatar().equals("")) {
- } else {
- GlideUtils.loadCircleImage(mActivity, bean.getAvatar(), mUserHead);
- }
- }
- @Override
- public void loginOutSuccess() {
- for (int i = 0; i < EApplication.mActivityList.size(); i++) {
- EApplication.mActivityList.get(i).finish();
- }
- Intent intent = new Intent(getActivity(), MainActivity.class);
- startActivity(intent);
- }
- @Override
- protected void onDestroy() {
- mPresenter.activityDestory();
- super.onDestroy();
- }
- @Override
- protected void botHandleIntent(BotIntent intent, String customData) {
- super.botHandleIntent(intent, customData);
- Logger.e(getLocalClassName() + "botHandleIntent");
- }
- @Override
- protected void botOnClickLink(String url, HashMap<String, String> paramMap) {
- super.botOnClickLink(url, paramMap);
- Logger.e(getLocalClassName() + "botOnClickLink");
- }
- @Override
- protected void botOnHandleScreenNavigatorEvent(int event) {
- super.botOnHandleScreenNavigatorEvent(event);
- Logger.e(getLocalClassName() + "botOnHandleScreenNavigatorEvent");
- }
- @Override
- protected void botOnLinkAccountSucceed(String s, String s1) {
- super.botOnLinkAccountSucceed(s, s1);
- Logger.e(getLocalClassName() + "botOnLinkAccountSucceed");
- // RequestBotSdkUtil.requestBuyProduct();
- }
- @Override
- protected void botOnChargeStatusUpdated(String purchaseResult, AmountInfo authorizationAmount, AmountInfo capturedAmount, long creationTimestamp, String baiduOrderReferenceId, String sellerOrderId, String msg) {
- super.botOnChargeStatusUpdated(purchaseResult, authorizationAmount, capturedAmount, creationTimestamp, baiduOrderReferenceId, sellerOrderId, msg);
- Logger.e(getLocalClassName() + "botOnChargeStatusUpdated");
- }
- @Override
- protected void botOnBuyStatusUpdated(@NonNull String purchaseResult, @NonNull String productId, @NonNull String baiduOrderId, @NonNull String sellerOrderId, @Nullable String msg, String token) {
- super.botOnBuyStatusUpdated(purchaseResult, productId, baiduOrderId, sellerOrderId, msg, token);
- Logger.e(getLocalClassName() + "botOnBuyStatusUpdated");
- }
- @Override
- protected void refUserInfo(UserBean bean) {
- super.refUserInfo(bean);
- getUserInfoSuccess(bean);
- }
- }
|