|
|
@@ -0,0 +1,116 @@
|
|
|
+package com.datarecovery.master.sdk.quicklogin;
|
|
|
+
|
|
|
+import android.annotation.SuppressLint;
|
|
|
+import android.content.Context;
|
|
|
+import android.graphics.Color;
|
|
|
+
|
|
|
+import com.atmob.common.logging.AtmobLog;
|
|
|
+import com.atmob.common.runtime.ContextUtil;
|
|
|
+import com.datarecovery.master.BuildConfig;
|
|
|
+import com.datarecovery.master.R;
|
|
|
+import com.datarecovery.master.data.consts.Constants;
|
|
|
+import com.netease.nis.quicklogin.QuickLogin;
|
|
|
+import com.netease.nis.quicklogin.helper.UnifyUiConfig;
|
|
|
+import com.netease.nis.quicklogin.listener.QuickLoginPreMobileListener;
|
|
|
+import com.netease.nis.quicklogin.listener.QuickLoginTokenListener;
|
|
|
+
|
|
|
+public class QuickLoginHelper {
|
|
|
+
|
|
|
+ private static final String TAG = "QuickLoginHelper";
|
|
|
+
|
|
|
+ private static final String BUSINESS_ID = BuildConfig.QUICK_LOGIN_ID;
|
|
|
+ private static final String USER_AGREEMENT = Constants.USER_AGREEMENT;
|
|
|
+ private static final String PRIVACY_POLICY = Constants.PRIVACY_POLICY;
|
|
|
+
|
|
|
+ private QuickLoginHelper() {
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public static void init(Context context) {
|
|
|
+ QuickLogin quickLogin = QuickLogin.getInstance();
|
|
|
+ quickLogin.init(context, BUSINESS_ID);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @SuppressLint("UseCompatLoadingForDrawables")
|
|
|
+ private static UnifyUiConfig getUnifyUiConfig() {
|
|
|
+ return new UnifyUiConfig.Builder()
|
|
|
+ .setStatusBarDarkColor(true)
|
|
|
+ .setHideNavigation(false)
|
|
|
+ .setHideNavigationBackIcon(false)
|
|
|
+ .setNavigationIconDrawable(ContextUtil.getContext().getDrawable(R.drawable.icon_back))
|
|
|
+ .setNavigationBackIconWidth(24)
|
|
|
+ .setNavigationBackIconHeight(24)
|
|
|
+ .setNavigationHeight(56)
|
|
|
+ .setLogoIconDrawable(ContextUtil.getContext().getDrawable(R.mipmap.ic_launcher))
|
|
|
+ .setLogoWidth(65)
|
|
|
+ .setLogoHeight(65)
|
|
|
+ .setLogoTopYOffset(50)
|
|
|
+ .setNavigationTitle(" ")
|
|
|
+ .setLoginBtnText("本机号码一键登录")
|
|
|
+ .setLoginBtnTextColor(Color.parseColor("#FFFFFF"))
|
|
|
+ .setLoginBtnTextSize(16)
|
|
|
+ .setLoginBtnBackgroundDrawable(ContextUtil.getContext().getDrawable(R.drawable.bg_common_btn))
|
|
|
+ .setCheckedImageDrawable(ContextUtil.getContext().getDrawable(R.drawable.icon_login_check_box_checked))
|
|
|
+ .setUnCheckedImageDrawable(ContextUtil.getContext().getDrawable(R.drawable.icon_login_check_box_unchecked))
|
|
|
+ .setPrivacyState(false)
|
|
|
+ .setPrivacyTextStart("我已阅读并同意")
|
|
|
+ .setProtocolText("《用户协议》")
|
|
|
+ .setProtocolLink(USER_AGREEMENT)
|
|
|
+ .setProtocol2Text("《隐私政策》")
|
|
|
+ .setProtocol2Link(PRIVACY_POLICY)
|
|
|
+ .setPrivacyTextColor(Color.parseColor("#121313"))
|
|
|
+ .setPrivacyProtocolColor(Color.parseColor("#2B66FE"))
|
|
|
+ .setPrivacyMarginLeft(12)
|
|
|
+ .setPrivacyMarginRight(12)
|
|
|
+ .setPrivacyBottomYOffset(20)
|
|
|
+ .setPrivacyDialogAuto(true)
|
|
|
+ .build(ContextUtil.getContext());
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public static void openQuickLoginActivity(QuickLoginListener listener) {
|
|
|
+ if (listener == null) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ QuickLogin quickLogin = QuickLogin.getInstance();
|
|
|
+ quickLogin.prefetchMobileNumber(new QuickLoginPreMobileListener() {
|
|
|
+ @Override
|
|
|
+ public void onGetMobileNumberSuccess(String s, String s1) {
|
|
|
+ AtmobLog.d(TAG, "onGetMobileNumberSuccess: " + s + ", " + s1);
|
|
|
+ quickLogin.setUnifyUiConfig(getUnifyUiConfig());
|
|
|
+ listener.onOpenQuickLoginActivity();
|
|
|
+ quickLogin.onePass(new QuickLoginTokenListener() {
|
|
|
+ @Override
|
|
|
+ public void onGetTokenSuccess(String YDToken, String accessCode) {
|
|
|
+ quickLogin.quitActivity();
|
|
|
+ listener.onGetTokenSuccess(YDToken, accessCode);
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onGetTokenError(String YDToken, int code, String msg) {
|
|
|
+ AtmobLog.e(TAG, "onGetTokenError: " + code + ", " + msg);
|
|
|
+ quickLogin.quitActivity();
|
|
|
+ listener.onGetTokenError(msg);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void onGetMobileNumberError(String YDToken, String msg) {
|
|
|
+ AtmobLog.e(TAG, "onGetMobileNumberError: " + msg);
|
|
|
+ listener.onGetTokenError(msg);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ }
|
|
|
+
|
|
|
+ public interface QuickLoginListener {
|
|
|
+
|
|
|
+ void onGetTokenSuccess(String YDToken, String accessToken);
|
|
|
+
|
|
|
+ void onGetTokenError(String msg);
|
|
|
+
|
|
|
+ void onOpenQuickLoginActivity();
|
|
|
+ }
|
|
|
+
|
|
|
+}
|