京东到家.apk(点击下载) / LoginOneKeyFragment.java


package com.pdj.lib.login.view.fragment;

import android.graphics.drawable.GradientDrawable;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import base.utils.ShowTools;
import base.utils.SubmitTools;
import base.utils.UiTools;
import com.libra.Color;
import com.pdj.lib.login.LoginActivity;
import com.pdj.lib.login.R;
import com.pdj.lib.login.callback.IRequestBindAccountCallback;
import com.pdj.lib.login.customview.LoginUserAgreementView;
import com.pdj.lib.login.data.ChangeLoginTypeEvent;
import com.pdj.lib.login.data.LoginData;
import com.pdj.lib.login.data.OneKeyVerifyEvent;
import com.pdj.lib.login.util.LoginDpUtil;
import com.pdj.lib.login.util.LoginUtils;
import com.wjlogin.onekey.sdk.common.listener.OnResponseCallback;
import com.wjlogin.onekey.sdk.util.Constans;
import elder.ElderViewUtil;
import jd.app.BaseFragment;
import jd.loginsdk.LoginSdkHelper;
import jd.loginsdk.LoginSdkInvoker;
import jd.loginsdk.model.AppFailResult;
import jd.loginsdk.model.AppJumpResult;
import jd.ui.view.ProgressBarHelper;
import jd.uicomponents.buttoncomponet.DJButtonHelper;
import jd.uicomponents.buttoncomponet.DJButtonView;
import jd.wjlogin_sdk.common.listener.ChinaMobileLoginFailProcessor;
import jd.wjlogin_sdk.common.listener.OnCommonCallback;
import jd.wjlogin_sdk.model.ErrorResult;
import jd.wjlogin_sdk.model.FailResult;
import org.json.JSONObject;

public class LoginOneKeyFragment extends BaseFragment {
    private static final String TAG = "LoginOneKeyFragment";
    private DJButtonView mBtnLogin;
    private OnCommonCallback mCommonCallback = new OnCommonCallback(new ChinaMobileLoginFailProcessor() {
        /* class com.pdj.lib.login.view.fragment.LoginOneKeyFragment.AnonymousClass4 */

        @Override // jd.wjlogin_sdk.common.listener.ChinaMobileLoginFailProcessor
        public void accountLocked(FailResult failResult) {
            LoginOneKeyFragment.this.removeLoading();
            LoginOneKeyFragment.this.handleFailedDp(failResult);
            if (failResult != null) {
                LoginUtils.showErrorMessage(failResult.getMessage());
            }
        }

        @Override // jd.wjlogin_sdk.common.listener.ChinaMobileLoginFailProcessor
        public void toRegister(FailResult failResult) {
            LoginOneKeyFragment.this.handleFailedDp(failResult);
            LoginOneKeyFragment.this.handleOneKeyRegister(failResult);
        }

        @Override // jd.wjlogin_sdk.common.listener.ChinaMobileLoginFailProcessor
        public void voiceVerification(FailResult failResult) {
            LoginOneKeyFragment.this.handleAccountVerify(failResult);
        }

        @Override // jd.wjlogin_sdk.common.listener.ChinaMobileLoginFailProcessor
        public void handle0x24(FailResult failResult) {
            LoginOneKeyFragment.this.handleCommonResult(failResult);
        }

        @Override // jd.wjlogin_sdk.common.listener.ChinaMobileLoginFailProcessor
        public void onCommonHandler(FailResult failResult) {
            LoginOneKeyFragment.this.handleCommonResult(failResult);
        }

        @Override // jd.wjlogin_sdk.common.listener.ChinaMobileLoginFailProcessor
        public void accountNotExist(FailResult failResult) {
            LoginOneKeyFragment.this.handleCommonResult(failResult);
        }

        @Override // jd.wjlogin_sdk.common.listener.ChinaMobileLoginFailProcessor
        public void handle0x6a(FailResult failResult) {
            LoginOneKeyFragment.this.handleCommonResult(failResult);
        }

        @Override // jd.wjlogin_sdk.common.listener.ChinaMobileLoginFailProcessor
        public void handle0x64(FailResult failResult) {
            LoginOneKeyFragment.this.handleCommonResult(failResult);
        }

        @Override // jd.wjlogin_sdk.common.listener.ChinaMobileLoginFailProcessor
        public void handle0x8(FailResult failResult) {
            LoginOneKeyFragment.this.handleCommonResult(failResult);
        }

        @Override // jd.wjlogin_sdk.common.listener.ChinaMobileLoginFailProcessor
        public void handleBetween0x7bAnd0x7e(FailResult failResult) {
            LoginOneKeyFragment.this.handleCommonResult(failResult);
        }

        @Override // jd.wjlogin_sdk.common.listener.ChinaMobileLoginFailProcessor
        public void handleBetween0x77And0x7a(FailResult failResult) {
            LoginOneKeyFragment.this.handleCommonResult(failResult);
        }

        @Override // jd.wjlogin_sdk.common.listener.ChinaMobileLoginFailProcessor
        public void onSendMsg(FailResult failResult) {
            LoginOneKeyFragment.this.handleAccountVerify(failResult);
        }

        @Override // jd.wjlogin_sdk.common.listener.ChinaMobileLoginFailProcessor
        public void onSendMsgWithoutDialog(FailResult failResult) {
            LoginOneKeyFragment.this.handleAccountVerify(failResult);
        }
    }) {
        /* class com.pdj.lib.login.view.fragment.LoginOneKeyFragment.AnonymousClass5 */

        @Override // jd.wjlogin_sdk.common.listener.OnCommonCallback
        public void onSuccess() {
            LoginOneKeyFragment.this.removeLoading();
            LoginOneKeyFragment.this.bindAccount();
            LoginDpUtil.handleInvokeLoginSdkSuccess(LoginOneKeyFragment.this.getActivity(), 3);
        }

        @Override // jd.wjlogin_sdk.common.listener.OnCommonCallback
        public void onError(ErrorResult errorResult) {
            FailResult failResult = new FailResult();
            if (errorResult != null) {
                failResult.setMessage(errorResult.getErrorMsg());
            }
            LoginOneKeyFragment.this.handleCommonResult(failResult);
        }

        @Override // jd.wjlogin_sdk.common.listener.OnCommonCallback
        public void onFail(FailResult failResult) {
            LoginOneKeyFragment.this.handleCommonResult(failResult);
        }
    };
    private String mOperateType;
    private View mRootView;
    private TextView mTvMobile;
    private TextView mTvOperatorName;
    private LoginUserAgreementView mViewUserAgment;

    public static LoginOneKeyFragment newInstance() {
        return new LoginOneKeyFragment();
    }

    @Override // androidx.fragment.app.Fragment
    public View onCreateView(LayoutInflater layoutInflater, ViewGroup viewGroup, Bundle bundle) {
        this.mRootView = layoutInflater.inflate(R.layout.pdj_login_one_key_fragment, (ViewGroup) null, false);
        findViews(this.mRootView);
        initViews();
        registEvents();
        LoginUtils.handleLoginMethodListVisible(this.mContext, true);
        handleElderStyle();
        return this.mRootView;
    }

    private void findViews(View view) {
        if (view != null) {
            this.mBtnLogin = (DJButtonView) view.findViewById(R.id.btn_third_login);
            this.mTvMobile = (TextView) view.findViewById(R.id.tv_third_mobile);
            this.mTvOperatorName = (TextView) view.findViewById(R.id.tv_operator_name);
            this.mViewUserAgment = (LoginUserAgreementView) view.findViewById(R.id.luav_third_agree);
        }
    }

    private void initLoginButtonView() {
        this.mBtnLogin.initWithStyle(DJButtonView.DJBtnStyle_fullround_solid_normal);
        this.mBtnLogin.build(new DJButtonHelper.Builder().setEnableColor(Color.LTGRAY).setStartColor(-15737018).setEndColor(-16724169).setOrientation(GradientDrawable.Orientation.LEFT_RIGHT).setCornerRadius(UiTools.dip2px(20.0f)).setTextSize(16).setPadding(0, UiTools.dip2px(10.0f), 0, UiTools.dip2px(10.0f)).builder());
        this.mBtnLogin.setText("本机号码一键登录");
    }

    private void registEvents() {
        this.mBtnLogin.setOnClickListener(new View.OnClickListener() {
            /* class com.pdj.lib.login.view.fragment.LoginOneKeyFragment.AnonymousClass1 */

            public void onClick(View view) {
                LoginOneKeyFragment.this.handleOnekeyLogin();
                LoginDpUtil.handleLoginButtonClick(LoginOneKeyFragment.this.getActivity(), 3);
            }
        });
        this.mViewUserAgment.setOnCheckStatusChanged(new View.OnClickListener() {
            /* class com.pdj.lib.login.view.fragment.LoginOneKeyFragment.AnonymousClass2 */

            public void onClick(View view) {
                LoginOneKeyFragment.this.setViewUserAgment();
            }
        });
    }

    private void syncViewUserAgment() {
        if (this.mContext instanceof LoginActivity) {
            this.mViewUserAgment.checkAgreement(((LoginActivity) this.mContext).isUserAgreed());
        }
    }

    private void showLoading() {
        ProgressBarHelper.addProgressBar(this.mRootView);
    }

    /* access modifiers changed from: private */
    /* access modifiers changed from: public */
    private void removeLoading() {
        ProgressBarHelper.removeProgressBar(this.mRootView);
    }

    /* access modifiers changed from: private */
    /* access modifiers changed from: public */
    private void handleOnekeyLogin() {
        if (!this.mViewUserAgment.getUserChecked()) {
            ShowTools.toast(LoginUserAgreementView.DEFAULT_ALERT);
        } else if (SubmitTools.canSubmit()) {
            showLoading();
            LoginSdkInvoker.getOneKeyLoginHelper().getAccessToken(new OnResponseCallback() {
                /* class com.pdj.lib.login.view.fragment.LoginOneKeyFragment.AnonymousClass3 */

                @Override // com.wjlogin.onekey.sdk.common.listener.OnResponseCallback
                public void onFail(JSONObject jSONObject) {
                    LoginOneKeyFragment.this.handleCommonResult(new FailResult());
                }

                @Override // com.wjlogin.onekey.sdk.common.listener.OnResponseCallback
                public void onSuccess(JSONObject jSONObject) {
                    if (jSONObject == null) {
                        LoginOneKeyFragment.this.removeLoading();
                        return;
                    }
                    String optString = jSONObject.optString("accessCode");
                    LoginOneKeyFragment.this.mOperateType = jSONObject.optString("operateType");
                    if (TextUtils.isEmpty(optString)) {
                        LoginOneKeyFragment.this.removeLoading();
                    } else if (Constans.CM_LOGIN_OPERATETYPE.equals(LoginOneKeyFragment.this.mOperateType)) {
                        LoginOneKeyFragment.this.chinaMobileLogin(optString);
                    } else if (Constans.CU_LOGIN_OPERATETYPE.equals(LoginOneKeyFragment.this.mOperateType)) {
                        LoginOneKeyFragment.this.chinaUnicomLogin(optString);
                    } else if ("CT".equals(LoginOneKeyFragment.this.mOperateType)) {
                        LoginOneKeyFragment.this.chinaTelecomLogin(optString);
                    } else {
                        LoginOneKeyFragment.this.removeLoading();
                    }
                }
            });
        }
    }

    private void initViews() {
        this.mViewUserAgment.checkAgreement(false);
        this.mViewUserAgment.setExtraHtmlData(getOperateAgreement());
        this.mViewUserAgment.setLoginType(3);
        this.mTvMobile.setText(TextUtils.isEmpty(LoginSdkHelper.securityPhoneOfLogin) ? "" : LoginSdkHelper.securityPhoneOfLogin);
        this.mTvOperatorName.setText(TextUtils.isEmpty(getOperateText()) ? "" : getOperateText());
        initLoginButtonView();
    }

    /* access modifiers changed from: private */
    /* access modifiers changed from: public */
    private void setViewUserAgment() {
        if (this.mContext instanceof LoginActivity) {
            ((LoginActivity) this.mContext).setUserAgreed(this.mViewUserAgment.getUserChecked());
        }
    }

    private String getOperateText() {
        String operateName = getOperateName(LoginSdkHelper.operatorType);
        if (TextUtils.isEmpty(operateName)) {
            return "";
        }
        return operateName + "为您提供本机号码认证服务";
    }

    private String getOperateAgreement() {
        String operateName = getOperateName(LoginSdkHelper.operatorType);
        if (TextUtils.isEmpty(operateName)) {
            return "";
        }
        return "和<u><font color='#333333'><a href='" + getOperateUrl(LoginSdkHelper.operatorType) + "'>" + operateName + "认证服务条款</a></font></u>,并使用本机号码登录";
    }

    private String getOperateUrl(String str) {
        if (!TextUtils.isEmpty(str)) {
            if (Constans.CM_LOGIN_OPERATETYPE.equals(str)) {
                return "http://wap.cmpassport.com/resources/html/contract.html";
            }
            if (Constans.CU_LOGIN_OPERATETYPE.equals(str)) {
                return "https://opencloud.wostore.cn/authz/resource/html/disclaimer.html?fromsdk=true";
            }
            if ("CT".equals(str)) {
                return "https://e.189.cn/sdk/agreement/detail.do?hidetop=true";
            }
        }
        return null;
    }

    private String getOperateName(String str) {
        if (!TextUtils.isEmpty(str)) {
            if (Constans.CM_LOGIN_OPERATETYPE.equals(str)) {
                return "中国移动";
            }
            if (Constans.CU_LOGIN_OPERATETYPE.equals(str)) {
                return "中国联通";
            }
            if ("CT".equals(str)) {
                return "天翼账号";
            }
        }
        return null;
    }

    @Override // jd.app.BaseFragment, androidx.fragment.app.Fragment
    public void onDestroy() {
        super.onDestroy();
    }

    /* access modifiers changed from: private */
    /* access modifiers changed from: public */
    private void chinaMobileLogin(String str) {
        LoginSdkInvoker.getWJLoginHelper().chinaMobileOneKeyLogin(str, this.mCommonCallback);
    }

    /* access modifiers changed from: private */
    /* access modifiers changed from: public */
    private void chinaUnicomLogin(String str) {
        LoginSdkInvoker.getWJLoginHelper().unicomOneKeyLogin(str, this.mCommonCallback);
    }

    /* access modifiers changed from: private */
    /* access modifiers changed from: public */
    private void chinaTelecomLogin(String str) {
        LoginSdkInvoker.getWJLoginHelper().telecomOneKeyLogin("", str, this.mCommonCallback);
    }

    /* access modifiers changed from: private */
    /* access modifiers changed from: public */
    private void handleOneKeyRegister(FailResult failResult) {
        String str;
        String str2 = "";
        if (failResult == null || failResult.getJumpResult() == null) {
            str = null;
        } else {
            String token = failResult.getJumpResult().getToken();
            str2 = failResult.getStrVal();
            str = token;
        }
        if (!TextUtils.isEmpty(str) && !TextUtils.isEmpty(this.mOperateType)) {
            if (Constans.CM_LOGIN_OPERATETYPE.equals(this.mOperateType)) {
                LoginSdkInvoker.getWJLoginHelper().chinaMobileOneKeyRegister(str2, str, this.mCommonCallback);
            } else if (Constans.CU_LOGIN_OPERATETYPE.equals(this.mOperateType)) {
                LoginSdkInvoker.getWJLoginHelper().unicomOneKeyRegister(str2, str, this.mCommonCallback);
            } else if ("CT".equals(this.mOperateType)) {
                LoginSdkInvoker.getWJLoginHelper().telecomOneKeyRegister(str2, str, this.mCommonCallback);
            }
        }
    }

    /* access modifiers changed from: private */
    /* access modifiers changed from: public */
    private void handleFailedDp(FailResult failResult) {
        LoginDpUtil.handleInvokeLoginSdkFailed(getActivity(), 3, LoginDpUtil.transFailedInfo(failResult));
    }

    /* access modifiers changed from: private */
    /* access modifiers changed from: public */
    private void handleCommonResult(FailResult failResult) {
        removeLoading();
        handleFailedDp(failResult);
        if (LoginUtils.hasLastSuccessLoginType()) {
            LoginUtils.showErrorMessage("一键登录失败,跳转您上次使用的登录方式");
        } else {
            LoginUtils.showErrorMessage("一键登录失败,跳转至其他登录方式");
        }
        changeLoginType(LoginUtils.getLastSuccessLoginType());
    }

    /* access modifiers changed from: private */
    /* access modifiers changed from: public */
    private void handleAccountVerify(FailResult failResult) {
        removeLoading();
        handleFailedDp(failResult);
        if (failResult != null) {
            AppFailResult appFailResult = new AppFailResult();
            AppJumpResult appJumpResult = new AppJumpResult();
            if (failResult.getJumpResult() != null) {
                appJumpResult.setToken(failResult.getJumpResult().getToken());
                appJumpResult.setUrl(failResult.getJumpResult().getUrl());
            }
            appFailResult.setJumpResult(appJumpResult);
            LoginUtils.handleVerifyAccount(this.mContext, appFailResult, 6);
        }
    }

    /* access modifiers changed from: private */
    /* access modifiers changed from: public */
    private void bindAccount() {
        LoginUtils.bindAccount(getActivity(), new IRequestBindAccountCallback() {
            /* class com.pdj.lib.login.view.fragment.LoginOneKeyFragment.AnonymousClass6 */

            @Override // com.pdj.lib.login.callback.IRequestBindAccountCallback
            public void onBindFailed(String str) {
                LoginUtils.showErrorMessage(str);
            }

            @Override // com.pdj.lib.login.callback.IRequestBindAccountCallback
            public void onBindSuccessful(LoginData loginData) {
                LoginUtils.whereToGo(LoginOneKeyFragment.this.eventBus, LoginOneKeyFragment.this.mContext, loginData, 3);
            }
        });
    }

    private void changeLoginType(int i) {
        this.eventBus.post(new ChangeLoginTypeEvent(i));
    }

    public void onEventMainThread(OneKeyVerifyEvent oneKeyVerifyEvent) {
        if (oneKeyVerifyEvent != null) {
            oneKeyVerifyEvent.getRequestSrc();
            oneKeyVerifyEvent.getToken();
        }
        handleOnekeyLogin();
    }

    private void handleElderStyle() {
        if (ElderViewUtil.isElderModeEnable()) {
            this.mViewUserAgment.setTextSize(ElderViewUtil.getTextSize(1006, false));
            this.mTvMobile.setTextSize(ElderViewUtil.getTextSize(1004, true));
            this.mTvOperatorName.setTextSize(ElderViewUtil.getTextSize(1006, true));
            this.mBtnLogin.build(new DJButtonHelper.Builder().setEnableColor(Color.LTGRAY).setStartColor(ElderViewUtil.isElderModeEnable() ? -16675033 : -15737018).setEndColor(ElderViewUtil.isElderModeEnable() ? -16734419 : -16724169).setOrientation(GradientDrawable.Orientation.LEFT_RIGHT).setCornerRadius(UiTools.dip2px(ElderViewUtil.isElderBigFont() ? 26.0f : 20.0f)).setTextSize((int) ElderViewUtil.getTextSize(1005, true)).setPadding(0, UiTools.dip2px(10.0f), 0, UiTools.dip2px(10.0f)).builder());
        }
    }
}