QuickLoginHelper.java 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. package com.datarecovery.master.sdk.quicklogin;
  2. import android.annotation.SuppressLint;
  3. import android.content.Context;
  4. import android.graphics.Color;
  5. import com.atmob.common.logging.AtmobLog;
  6. import com.atmob.common.runtime.ContextUtil;
  7. import com.datarecovery.master.BuildConfig;
  8. import com.datarecovery.master.R;
  9. import com.datarecovery.master.data.consts.Constants;
  10. import com.netease.nis.quicklogin.QuickLogin;
  11. import com.netease.nis.quicklogin.helper.UnifyUiConfig;
  12. import com.netease.nis.quicklogin.listener.QuickLoginPreMobileListener;
  13. import com.netease.nis.quicklogin.listener.QuickLoginTokenListener;
  14. public class QuickLoginHelper {
  15. private static final String TAG = "QuickLoginHelper";
  16. private static final String BUSINESS_ID = BuildConfig.QUICK_LOGIN_ID;
  17. private static final String USER_AGREEMENT = Constants.USER_AGREEMENT;
  18. private static final String PRIVACY_POLICY = Constants.PRIVACY_POLICY;
  19. private QuickLoginHelper() {
  20. }
  21. public static void init(Context context) {
  22. QuickLogin quickLogin = QuickLogin.getInstance();
  23. quickLogin.init(context, BUSINESS_ID);
  24. }
  25. @SuppressLint("UseCompatLoadingForDrawables")
  26. private static UnifyUiConfig getUnifyUiConfig() {
  27. return new UnifyUiConfig.Builder()
  28. .setStatusBarDarkColor(true)
  29. .setHideNavigation(false)
  30. .setHideNavigationBackIcon(false)
  31. .setNavigationIconDrawable(ContextUtil.getContext().getDrawable(R.drawable.icon_back))
  32. .setNavigationBackIconWidth(24)
  33. .setNavigationBackIconHeight(24)
  34. .setNavigationHeight(56)
  35. .setLogoIconDrawable(ContextUtil.getContext().getDrawable(R.mipmap.ic_launcher))
  36. .setLogoWidth(65)
  37. .setLogoHeight(65)
  38. .setLogoTopYOffset(50)
  39. .setNavigationTitle(" ")
  40. .setLoginBtnText("本机号码一键登录")
  41. .setLoginBtnTextColor(Color.parseColor("#FFFFFF"))
  42. .setLoginBtnTextSize(16)
  43. .setLoginBtnBackgroundDrawable(ContextUtil.getContext().getDrawable(R.drawable.bg_common_btn))
  44. .setCheckedImageDrawable(ContextUtil.getContext().getDrawable(R.drawable.icon_login_check_box_checked))
  45. .setUnCheckedImageDrawable(ContextUtil.getContext().getDrawable(R.drawable.icon_login_check_box_unchecked))
  46. .setPrivacyCheckBoxWidth(24)
  47. .setPrivacyCheckBoxHeight(24)
  48. .setPrivacyState(false)
  49. .setPrivacyTextStart("我已阅读并同意")
  50. .setProtocolText("《用户协议》")
  51. .setProtocolLink(USER_AGREEMENT)
  52. .setProtocol2Text("《隐私政策》")
  53. .setProtocol2Link(PRIVACY_POLICY)
  54. .setPrivacyTextColor(Color.parseColor("#121313"))
  55. .setPrivacyProtocolColor(ContextUtil.getContext().getResources().getColor(R.color.colorPrimary))
  56. .setPrivacyMarginLeft(12)
  57. .setPrivacyMarginRight(12)
  58. .setPrivacyBottomYOffset(20)
  59. .setPrivacyDialogAuto(true)
  60. .build(ContextUtil.getContext());
  61. }
  62. public static void openQuickLoginActivity(QuickLoginListener listener) {
  63. if (listener == null) {
  64. return;
  65. }
  66. QuickLogin quickLogin = QuickLogin.getInstance();
  67. quickLogin.prefetchMobileNumber(new QuickLoginPreMobileListener() {
  68. @Override
  69. public void onGetMobileNumberSuccess(String s, String s1) {
  70. AtmobLog.d(TAG, "onGetMobileNumberSuccess: " + s + ", " + s1);
  71. quickLogin.setUnifyUiConfig(getUnifyUiConfig());
  72. listener.onOpenQuickLoginActivity();
  73. quickLogin.onePass(new QuickLoginTokenListener() {
  74. @Override
  75. public void onGetTokenSuccess(String YDToken, String accessCode) {
  76. quickLogin.quitActivity();
  77. listener.onGetTokenSuccess(YDToken, accessCode);
  78. }
  79. @Override
  80. public void onGetTokenError(String YDToken, int code, String msg) {
  81. AtmobLog.e(TAG, "onGetTokenError: " + code + ", " + msg);
  82. quickLogin.quitActivity();
  83. listener.onGetTokenError(msg);
  84. }
  85. @Override
  86. public void onCancelGetToken() {
  87. quickLogin.quitActivity();
  88. }
  89. });
  90. }
  91. @Override
  92. public void onGetMobileNumberError(String YDToken, String msg) {
  93. AtmobLog.e(TAG, "onGetMobileNumberError: " + msg);
  94. }
  95. });
  96. }
  97. public interface QuickLoginListener {
  98. void onGetTokenSuccess(String YDToken, String accessToken);
  99. void onGetTokenError(String msg);
  100. void onOpenQuickLoginActivity();
  101. }
  102. }