DialogLandConfig.java 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. package com.edufound.android.xyyf.config;
  2. import android.app.Activity;
  3. import android.content.pm.ActivityInfo;
  4. import android.os.Build;
  5. import android.util.Log;
  6. import android.view.Gravity;
  7. import android.view.View;
  8. import android.widget.FrameLayout;
  9. import android.widget.RelativeLayout;
  10. import com.edufound.android.xyyf.R;
  11. import com.edufound.android.xyyf.interfaces.JsInterfaces;
  12. import com.edufound.android.xyyf.main.MainView;
  13. import com.edufound.android.xyyf.util.Logger;
  14. import com.mobile.auth.gatewayauth.AuthRegisterXmlConfig;
  15. import com.mobile.auth.gatewayauth.AuthUIConfig;
  16. import com.mobile.auth.gatewayauth.PhoneNumberAuthHelper;
  17. import com.mobile.auth.gatewayauth.ui.AbstractPnsViewDelegate;
  18. public class DialogLandConfig extends BaseUIConfig {
  19. private int mOldScreenOrientation = ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT;
  20. MainView mView;
  21. public DialogLandConfig(Activity activity, PhoneNumberAuthHelper authHelper, MainView view) {
  22. super(activity, authHelper, view);
  23. mView = view;
  24. Logger.e("DialogLandConfig");
  25. }
  26. @Override
  27. public void configAuthPage() {
  28. Logger.e("configAuthPage");
  29. mAuthHelper.removeAuthRegisterXmlConfig();
  30. mAuthHelper.removeAuthRegisterViewConfig();
  31. int authPageOrientation = ActivityInfo.SCREEN_ORIENTATION_SENSOR_LANDSCAPE;
  32. if (Build.VERSION.SDK_INT == 26) {
  33. mOldScreenOrientation = mActivity.getRequestedOrientation();
  34. mActivity.setRequestedOrientation(authPageOrientation);
  35. authPageOrientation = ActivityInfo.SCREEN_ORIENTATION_BEHIND;
  36. }
  37. updateScreenSize(authPageOrientation);
  38. final int dialogWidth = (int) (mScreenWidthDp * 0.9);
  39. final int dialogHeight = (int) (mScreenHeightDp * 0.35);
  40. //sdk默认控件的区域是marginTop50dp
  41. int designHeight = dialogHeight - 60;
  42. int unit = designHeight / 10;
  43. int logBtnHeight = (int) (unit * 1.2);
  44. final int logBtnOffsetY = unit * 3;
  45. mAuthHelper.addAuthRegisterXmlConfig(new AuthRegisterXmlConfig.Builder()
  46. .setLayout(R.layout.custom_land_dialog, new AbstractPnsViewDelegate() {
  47. @Override
  48. public void onViewCreated(View view) {
  49. findViewById(R.id.tv_title).setVisibility(View.VISIBLE);
  50. View close = findViewById(R.id.btn_close);
  51. close.setOnClickListener(new View.OnClickListener() {
  52. @Override
  53. public void onClick(View v) {
  54. mView.loadJSMehtodPost("closeLogin()");
  55. mAuthHelper.quitLoginPage();
  56. }
  57. });
  58. int iconTopMargin = AppUtils.dp2px(getContext(), logBtnOffsetY + 130);
  59. View iconContainer = findViewById(R.id.container_icon);
  60. RelativeLayout.LayoutParams iconLayout = (RelativeLayout.LayoutParams) iconContainer.getLayoutParams();
  61. iconLayout.topMargin = iconTopMargin;
  62. View phoneNumLogin = findViewById(R.id.changePhoneNumLogin);
  63. phoneNumLogin.setOnClickListener(new View.OnClickListener() {
  64. @Override
  65. public void onClick(View v) {
  66. // mView.getPersenter().getJsInterfaces().NOUILOGIN();
  67. mView.loadJSMehtodPost("changePhoneLogin()");
  68. mAuthHelper.quitLoginPage();
  69. }
  70. });
  71. // iconLayout.width = AppUtils.dp2px(getContext(), dialogWidth / 2 - 60);
  72. }
  73. }).build());
  74. showAllUi(dialogWidth, dialogHeight, authPageOrientation);
  75. }
  76. void showAllUi(int dialogWidth, int dialogHeight, int authPageOrientation) {
  77. mAuthHelper.setAuthUIConfig(new AuthUIConfig.Builder()
  78. .setNavHidden(true)
  79. .setCheckboxHidden(false)
  80. .setLogoHidden(true)
  81. .setSloganHidden(true)
  82. .setSwitchAccHidden(true)
  83. // .setNumberFieldOffsetX(60)
  84. .setNumberLayoutGravity(Gravity.CENTER)
  85. .setNumberSize(24)
  86. .setNumFieldOffsetY(20)
  87. .setLogBtnOffsetY(80)
  88. .setPrivacyOffsetY_B(10)
  89. .setLogBtnMarginLeftAndRight(20)
  90. .setLogBtnWidth(300)
  91. .setLogBtnLayoutGravity(Gravity.CENTER)
  92. .setLogBtnHeight(51)
  93. // .setLogBtnBackgroundPath("login_btn_bg")
  94. .setDialogWidth(dialogWidth)
  95. .setDialogHeight(dialogHeight)
  96. .setDialogBottom(false)
  97. // .setAuthPageActIn("in_activity", "out_activity")
  98. // .setAuthPageActOut("in_activity", "out_activity")
  99. .setProtocolGravity(Gravity.CENTER_VERTICAL)
  100. .setScreenOrientation(authPageOrientation)
  101. .create());
  102. Logger.e("showAllUi");
  103. }
  104. @Override
  105. public void onResume() {
  106. super.onResume();
  107. Logger.e("configAuthPage onResume");
  108. if (mOldScreenOrientation != mActivity.getRequestedOrientation()) {
  109. mActivity.setRequestedOrientation(mOldScreenOrientation);
  110. }
  111. }
  112. }