diff --git a/app/src/main/java/com/gh/common/DefaultJsApi.kt b/app/src/main/java/com/gh/common/DefaultJsApi.kt
index 64f0941b93..2968755cac 100644
--- a/app/src/main/java/com/gh/common/DefaultJsApi.kt
+++ b/app/src/main/java/com/gh/common/DefaultJsApi.kt
@@ -45,7 +45,6 @@ import com.gh.gamecenter.login.user.LoginTag
import com.gh.gamecenter.login.user.UserManager
import com.gh.gamecenter.login.user.UserRepository
import com.gh.gamecenter.login.utils.LoginHelper
-import com.gh.gamecenter.login.utils.QuickLoginHelper
import com.gh.gamecenter.login.view.LoginActivity
import com.gh.gamecenter.personalhome.border.AvatarBorderActivity
import com.gh.gamecenter.setting.SettingBridge
@@ -130,12 +129,12 @@ class DefaultJsApi(
@JavascriptInterface
fun login(msg: Any) {
- if (SPUtils.getBoolean(Constants.SP_HAS_GET_PHONE_INFO) || NetworkUtils.isOpenMobileData(context)) {
- QuickLoginHelper.startLogin(context, "浏览器")
- } else {
+// if (SPUtils.getBoolean(Constants.SP_HAS_GET_PHONE_INFO) || NetworkUtils.isOpenMobileData(context)) {
+// QuickLoginHelper.startLogin(context, "浏览器")
+// } else {
val intent = LoginActivity.getIntent(context, "浏览器")
context.startActivity(intent)
- }
+// }
}
@JavascriptInterface
diff --git a/app/src/main/java/com/gh/common/util/CheckLoginUtils.java b/app/src/main/java/com/gh/common/util/CheckLoginUtils.java
index cff1fd0924..0e9510cc84 100644
--- a/app/src/main/java/com/gh/common/util/CheckLoginUtils.java
+++ b/app/src/main/java/com/gh/common/util/CheckLoginUtils.java
@@ -1,17 +1,11 @@
package com.gh.common.util;
-import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.text.TextUtils;
import com.gh.gamecenter.common.constant.EntranceConsts;
-import com.gh.gamecenter.core.utils.CurrentActivityHolder;
-import com.gh.gamecenter.common.constant.Constants;
-import com.gh.gamecenter.login.utils.QuickLoginHelper;
import com.gh.gamecenter.login.view.LoginActivity;
-import com.gh.gamecenter.common.utils.NetworkUtils;
-import com.gh.gamecenter.core.utils.SPUtils;
import com.gh.gamecenter.login.user.UserManager;
import com.lightgame.utils.Utils;
@@ -28,15 +22,15 @@ public class CheckLoginUtils {
LogUtils.login("dialog", null, entrance);
LogUtils.login("activity", null, entrance);
- if (SPUtils.getBoolean(Constants.SP_HAS_GET_PHONE_INFO) || NetworkUtils.isOpenMobileData(context)) {
- startQuickLogin(context, entrance);
- } else {
- // 有可能App未启动
- Bundle bundle = new Bundle();
- bundle.putString(EntranceConsts.KEY_ENTRANCE, entrance);
- bundle.putString(EntranceConsts.KEY_TO, LoginActivity.class.getName());
- EntranceUtils.jumpActivity(context, bundle);
- }
+// if (SPUtils.getBoolean(Constants.SP_HAS_GET_PHONE_INFO) || NetworkUtils.isOpenMobileData(context)) {
+// startQuickLogin(context, entrance);
+// } else {
+ // 有可能App未启动
+ Bundle bundle = new Bundle();
+ bundle.putString(EntranceConsts.KEY_ENTRANCE, entrance);
+ bundle.putString(EntranceConsts.KEY_TO, LoginActivity.class.getName());
+ EntranceUtils.jumpActivity(context, bundle);
+// }
} else {
if (listener != null) {
listener.onLogin();
@@ -44,16 +38,16 @@ public class CheckLoginUtils {
}
}
- private static void startQuickLogin(Context context, String entrance) {
- // 需要确保传入的 context 不为 application
- if (!(context instanceof Activity)) {
- context = CurrentActivityHolder.getCurrentActivity();
- }
-
- if (context != null) {
- QuickLoginHelper.startLogin(context, entrance);
- }
- }
+// private static void startQuickLogin(Context context, String entrance) {
+// // 需要确保传入的 context 不为 application
+// if (!(context instanceof Activity)) {
+// context = CurrentActivityHolder.getCurrentActivity();
+// }
+//
+// if (context != null) {
+// QuickLoginHelper.startLogin(context, entrance);
+// }
+// }
public static void checkLogin(final Context context, Bundle nextToBundle, boolean isTriggerNextStep, String entrance, OnLoginListener listener) {
if (!isLogin()) {
diff --git a/app/src/main/java/com/gh/gamecenter/MainActivity.java b/app/src/main/java/com/gh/gamecenter/MainActivity.java
index c90f04f7b1..66ed092dda 100644
--- a/app/src/main/java/com/gh/gamecenter/MainActivity.java
+++ b/app/src/main/java/com/gh/gamecenter/MainActivity.java
@@ -98,7 +98,6 @@ import com.gh.gamecenter.feature.utils.PlatformUtils;
import com.gh.gamecenter.home.custom.model.CustomPageShareRepository;
import com.gh.gamecenter.home.skip.PackageSkipActivity;
import com.gh.gamecenter.login.user.UserManager;
-import com.gh.gamecenter.login.utils.QuickLoginHelper;
import com.gh.gamecenter.manager.DataCollectionManager;
import com.gh.gamecenter.packagehelper.PackageViewModel;
import com.gh.gamecenter.retrofit.RetrofitManager;
@@ -319,8 +318,7 @@ public class MainActivity extends BaseActivity {
mMainWrapperViewModel.requestAllDialogData();
- // TODO 去掉一键登录?
- QuickLoginHelper.getPhoneInfo();
+// QuickLoginHelper.getPhoneInfo();
// TODO 搞清楚为什么这里要获取微信相关配置
WechatBindHelper.getWechatConfig(null);
diff --git a/module_common/src/main/java/com/gh/gamecenter/common/base/activity/BaseActivity.java b/module_common/src/main/java/com/gh/gamecenter/common/base/activity/BaseActivity.java
index c8fbb08660..f1fd4a9d4c 100644
--- a/module_common/src/main/java/com/gh/gamecenter/common/base/activity/BaseActivity.java
+++ b/module_common/src/main/java/com/gh/gamecenter/common/base/activity/BaseActivity.java
@@ -421,14 +421,14 @@ public abstract class BaseActivity extends BaseAppCompatActivity implements IBus
, () -> {
}
, () -> {
- if (SPUtils.getBoolean(Constants.SP_HAS_GET_PHONE_INFO) || NetworkUtils.isOpenMobileData(BaseActivity.this)) {
- IQuickLoginProvider quickLoginConfig = (IQuickLoginProvider) ARouter.getInstance().build(RouteConsts.provider.quickLogin).navigation();
- quickLoginConfig.startLogin(BaseActivity.this, "你的账号已在另外一台设备登录多设备-重新登录");
- } else {
- ARouter.getInstance().build(RouteConsts.activity.loginActivity)
- .withString(EntranceConsts.KEY_ENTRANCE, "你的账号已在另外一台设备登录多设备-重新登录")
- .navigation();
- }
+// if (SPUtils.getBoolean(Constants.SP_HAS_GET_PHONE_INFO) || NetworkUtils.isOpenMobileData(BaseActivity.this)) {
+// IQuickLoginProvider quickLoginConfig = (IQuickLoginProvider) ARouter.getInstance().build(RouteConsts.provider.quickLogin).navigation();
+// quickLoginConfig.startLogin(BaseActivity.this, "你的账号已在另外一台设备登录多设备-重新登录");
+// } else {
+ ARouter.getInstance().build(RouteConsts.activity.loginActivity)
+ .withString(EntranceConsts.KEY_ENTRANCE, "你的账号已在另外一台设备登录多设备-重新登录")
+ .navigation();
+// }
}
);
IQGameProvider> qProvider = (IQGameProvider>) ARouter
diff --git a/module_login/build.gradle b/module_login/build.gradle
index 0e06f28f5f..3b24419121 100644
--- a/module_login/build.gradle
+++ b/module_login/build.gradle
@@ -54,5 +54,5 @@ dependencies {
implementation(project(path: ":module_common"))
implementation(project(path: ":module_core_feature"))
- api project(":module_lib")
+// api project(":module_lib")
}
\ No newline at end of file
diff --git a/module_login/src/main/AndroidManifest.xml b/module_login/src/main/AndroidManifest.xml
index 652b72a149..6dade13227 100644
--- a/module_login/src/main/AndroidManifest.xml
+++ b/module_login/src/main/AndroidManifest.xml
@@ -20,16 +20,16 @@
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden" />
-
+
+
+
+
-
+
+
+
+
+
> getLoginUserInfo() {
diff --git a/module_login/src/main/java/com/gh/gamecenter/login/utils/QuickLoginHelper.kt b/module_login/src/main/java/com/gh/gamecenter/login/utils/QuickLoginHelper.kt
index 0dc7e57b02..3350f4cc71 100644
--- a/module_login/src/main/java/com/gh/gamecenter/login/utils/QuickLoginHelper.kt
+++ b/module_login/src/main/java/com/gh/gamecenter/login/utils/QuickLoginHelper.kt
@@ -1,518 +1,518 @@
-package com.gh.gamecenter.login.utils
-
-import android.annotation.SuppressLint
-import android.app.Activity
-import android.app.Dialog
-import android.content.Context
-import android.content.Intent
-import android.graphics.Color
-import android.text.*
-import android.text.style.ClickableSpan
-import android.view.LayoutInflater
-import android.view.View
-import android.view.ViewGroup
-import android.view.Window
-import android.widget.CheckBox
-import android.widget.TextView
-import androidx.appcompat.content.res.AppCompatResources
-import androidx.core.text.getSpans
-import androidx.core.view.doOnAttach
-import com.alibaba.android.arouter.launcher.ARouter
-import com.cmic.gen.sdk.auth.GenAuthnHelper
-import com.cmic.gen.sdk.auth.GenTokenListener
-import com.cmic.gen.sdk.view.GenAuthThemeConfig
-import com.cmic.gen.sdk.view.GenLoginClickListener
-import com.gh.gamecenter.common.constant.Constants
-import com.gh.gamecenter.common.constant.EntranceConsts
-import com.gh.gamecenter.common.constant.RouteConsts
-import com.gh.gamecenter.common.databinding.SetWaitDialogBinding
-import com.gh.gamecenter.common.utils.*
-import com.gh.gamecenter.core.provider.IConfigProvider
-import com.gh.gamecenter.core.runOnUiThread
-import com.gh.gamecenter.core.utils.*
-import com.gh.gamecenter.login.HaloApp
-import com.gh.gamecenter.login.R
-import com.gh.gamecenter.login.databinding.LayoutQuickLoginBinding
-import com.gh.gamecenter.login.user.LoginTag
-import com.gh.gamecenter.login.view.LoginActivity
-import com.gh.gamecenter.login.view.QuickLoginHelperActivity
-import com.lightgame.utils.AppManager
-import com.lightgame.utils.Utils
-import org.json.JSONObject
-
-/**
- * 一键登录辅助类
- * 1.取号请求
- * 2.授权请求
- * 3.获取token
- * 4.请求登录接口
- *
- * 一键登录SDK对接文档:http://dev.10086.cn/docInside?contentId=10000067541479
- */
-@SuppressLint("StaticFieldLeak")
-object QuickLoginHelper {
-
- private var mAuthnHelper: GenAuthnHelper? = null
- private var mTokenListener: GenTokenListener? = null
- private var mPreDialog: Dialog? = null
- private var mLoggingDialog: Dialog? = null
- private var mToken: String = ""
- private var mEntrance: String = ""
- private var mOpenAuthPageSuccess = false
- private var mPrivacyCheckBox: CheckBox? = null
- private var mOperatorText: CharSequence = ""
- private var mLoginBtn: View? = null
- private const val REQUEST_GET_PHONE_INFO_CODE = 100
- private const val REQUEST_LOGIN_AUTH_CODE = 101
- private const val ENTRANCE_DEFAULT = "一键登录"
- private const val AUTH_ACTIVITY_NAME = "com.cmic.gen.sdk.view.GenLoginAuthActivity"
-
- // 1.取号请求(可提前进行)
- @JvmStatic
- fun getPhoneInfo() {
- if (isPublishEnv()) {
- GenAuthnHelper.setDebugMode(false)
- } else {
- GenAuthnHelper.setDebugMode(true)
- }
-
- val config = ARouter.getInstance().build(RouteConsts.provider.config).navigation() as? IConfigProvider
- GenAuthnHelper.getInstance(HaloApp.getInstance().applicationContext).getPhoneInfo(
- config?.getQuickLoginAppId(),
- config?.getQuickLoginAppKey(),
- { requestCode: Int, jsonObject: JSONObject ->
- val code = jsonObject.optString("resultCode")
- // “103000”为成功
- if (code == "103000") {
- if (requestCode == REQUEST_GET_PHONE_INFO_CODE) {
- SPUtils.setBoolean(Constants.SP_HAS_GET_PHONE_INFO, true)
- }
- }
- },
- REQUEST_GET_PHONE_INFO_CODE
- )
- }
-
- @JvmStatic
- fun startLogin(context: Context, entrance: String) {
- // 防止短时间多次调用
- if (ClickUtils.isFastDoubleClick(991)) return
-
- mEntrance = entrance
- mOpenAuthPageSuccess = false
-
- if (isPublishEnv()) {
- GenAuthnHelper.setDebugMode(false)
- } else {
- GenAuthnHelper.setDebugMode(true)
- }
-
- if (mAuthnHelper == null) {
- initSDK(context)
- }
-
- if (mTokenListener == null) {
- initTokenListener()
- }
-
- loginAuth(context)
- }
-
- private fun initSDK(context: Context) {
- mAuthnHelper = GenAuthnHelper.getInstance(HaloApp.getInstance().applicationContext)
- mAuthnHelper?.run {
- // 设置超时时间
- overTime = 3000
-
- authThemeConfig = getConfig(context)
- // 授权页面的回调方法
- setPageInListener { code, _ ->
- // 返回码200087代表授权页成功拉起
- if (code == "200087") {
- if (mPreDialog != null && mPreDialog!!.isShowing) {
- mPreDialog?.dismiss()
- }
- mOpenAuthPageSuccess = true
- AppManager.getInstance().recentActiveActivity?.run {
- DisplayUtils.setStatusBarColor(this, R.color.transparent, !DarkModeUtils.isDarkModeOn(context))
- }
- } else { // 不成功就调起验证码登录页
- toastCode(code)
- startCodeLoginPage(true)
- }
- }
- }
- }
-
- private fun initTokenListener() {
- // token回调
- mTokenListener = GenTokenListener { requestCode: Int, jsonObject: JSONObject ->
- val code = jsonObject.optString("resultCode")
- // “103000”为成功
- if (code == "103000") {
- if (requestCode == REQUEST_LOGIN_AUTH_CODE) {
- // 3.获取token
- mToken = jsonObject.optString("token")
- }
- } else if (code != "200020") { // 不成功就调起验证码登录页(200020代表授权页关闭)
- toastCode(code)
- startCodeLoginPage(true)
- }
- }
- }
-
- private fun loginAuth(context: Context) {
- runOnUiThread {
- val dialogContext = com.gh.gamecenter.common.utils.DialogHelper.checkDialogContext(context)
- if (dialogContext is Activity && dialogContext.isFinishing) return@runOnUiThread
- mPreDialog = dialogContext?.let {
- Dialog(it, R.style.DialogWindowTransparent).apply {
- val binding = SetWaitDialogBinding.inflate(LayoutInflater.from(dialogContext)).apply {
- setWaitMessage.text = "请求登录中"
- }
- requestWindowFeature(Window.FEATURE_NO_TITLE)
- setContentView(binding.root)
- setCanceledOnTouchOutside(false)
- show()
- }
- }
- }
- // 2.授权请求
- val config = ARouter.getInstance().build(RouteConsts.provider.config).navigation() as? IConfigProvider
- mAuthnHelper?.loginAuth(
- config?.getQuickLoginAppId(),
- config?.getQuickLoginAppKey(),
- mTokenListener,
- REQUEST_LOGIN_AUTH_CODE
- )
- }
-
- private fun getConfig(context: Context): GenAuthThemeConfig {
- return GenAuthThemeConfig.Builder()
- .setStatusBar(Color.TRANSPARENT, !DarkModeUtils.isDarkModeOn(context)) //状态栏颜色、是否高亮
- .setAuthContentView(getCustomView(context)) //自定义布局
- // 服务条款标题栏
- .setClauseLayoutResID(R.layout.layout_quick_login_navigation, "backIv") //服务条款标题栏
- .setNavTextColor(Color.BLACK) //服务条款标题颜色
- .setNavTextSize(18) //服务条款标题字体大小
- // 手机号码
- .setNumberSize(28, true) //手机号码字体大小
- .setNumberColor(R.color.text_primary.toColor(context)) //手机号码字体颜色
- .setNumFieldOffsetY(440) //号码栏Y偏移量
- // 登录按钮
- .setLogBtnImgPath("download_button_normal_style") //登录按钮背景
- .setLogBtnText("一键登录", Color.WHITE, 16, false) //登录按钮相关
- .setLogBtnOffsetY(522) //登录按钮Y偏移量
- .setLogBtn(1000, 44) //登录按钮相关宽高
- .setLogBtnMargin(40, 40) //登录按钮相对于屏幕左右边缘边距
- // 回调
- .setGenBackPressedListener {
- dismissDialog()
- release()
- } //返回键回调
- .setLogBtnClickListener(object : GenLoginClickListener {
- override fun onLoginClickStart(oauthContext: Context, jsonObj: JSONObject?) {
- runOnUiThread {
- val dialogContext = com.gh.gamecenter.common.utils.DialogHelper.checkDialogContext(oauthContext)
- if (dialogContext is Activity && dialogContext.isFinishing) return@runOnUiThread
- mLoggingDialog = Dialog(oauthContext, R.style.DialogWindowTransparent).apply {
- val binding = SetWaitDialogBinding.inflate(LayoutInflater.from(oauthContext)).apply {
- root.background = R.drawable.background_shape_white_radius_8.toDrawable(context)
- setWaitMessage.setTextColor(R.color.text_primary.toColor(context))
- setWaitMessage.text = R.string.logging.toResString()
- }
- requestWindowFeature(Window.FEATURE_NO_TITLE)
- setContentView(binding.root)
- setCanceledOnTouchOutside(false)
- show()
- }
- NewFlatLogUtils.logFastLoginChoice("一键登录")
- }
- }
-
- override fun onLoginClickComplete(oauthContext: Context, jsonObj: JSONObject?) {
- if (mToken.isNotBlank()) {
- // 4.请求登录接口
- startQuickLoginHelperPage(LoginTag.oauth)
- }
- }
- }) //登录按钮回调
- .setGenCheckBoxListener { oauthContext: Context, _: JSONObject? ->
- showLoginPolicyDialog(oauthContext, context) {
- mLoginBtn?.performClick()
- }
- } //勾选回调
- // 勾选框
- .setCheckTipText("") //设置未勾选时弹出提示
- .setCheckBoxImgPath("ic_selector_selected", "ic_selector_default", 16, 16) //勾选图片
- // 服务条款、用户协议、隐私政策
- .setPrivacyState(false) //默认不勾选
- .setPrivacyAlignment(
- "阅读并同意 " + "用户协议、隐私政策、" + GenAuthThemeConfig.PLACEHOLDER,
- "用户协议", R.string.disclaimer_url.toResString(),
- "隐私政策", R.string.privacy_policy_url.toResString(),
- "", "", "", ""
- ) //隐私条款的协议文本,自定义条款,自定义条款链接(支持四份条款)
- .setPrivacyText(
- 12,
- R.color.text_tertiary.toColor(context),
- R.color.text_secondary.toColor(context),
- true,
- false
- ) //条款文本设置
- .setPrivacyMargin(40, 40) //隐私条款距离手机左右边缘的边距
- .setPrivacyOffsetY(596) //隐私条款Y偏移量
- .setCheckBoxLocation(0)
- // 语言
- .setAppLanguageType(0) //0.中文简体1.中文繁体2.英文
- // 转场动画
-// .setAuthPageActIn("anim_auth_in", "anim_auth_out")
-// .setAuthPageActOut("anim_auth_in","anim_auth_out")
- // 整体布局
- .setAuthPageWindowMode(0, 0) //授权页窗口宽高比例
- .setWindowBottom(0) //授权页是否居于底部,0=居中;1=底部,设置为1Y轴的偏移 失效
- .setFitsSystemWindows(false)
-// .setThemeId(-1) //授权页弹窗主题
- .build()
- }
-
- // 获取自定义布局View
- @SuppressLint("SetTextI18n")
- private fun getCustomView(context: Context): View {
- return LayoutQuickLoginBinding.inflate(LayoutInflater.from(context)).apply {
- descTv.text = "${getOperatorType()}提供认证服务"
- closeBtn.setOnClickListener {
- finishAuthActivity()
- }
- changeLoginBtn.setOnClickListener {
- checkPolicyAndContinue(context) {
- startCodeLoginPage(false)
- NewFlatLogUtils.logFastLoginRelatedShow("mobile_number_verification_show")
- }
- }
- qqBtn.setOnClickListener {
- checkPolicyAndContinue(context) {
- startQuickLoginHelperPage(LoginTag.qq)
- NewFlatLogUtils.logFastLoginChoice("QQ")
- }
- }
- wechatBtn.setOnClickListener {
- checkPolicyAndContinue(context) {
- startQuickLoginHelperPage(LoginTag.wechat)
- NewFlatLogUtils.logFastLoginChoice("微信")
- }
- }
- weiboBtn.setOnClickListener {
- checkPolicyAndContinue(context) {
- startQuickLoginHelperPage(LoginTag.weibo)
- NewFlatLogUtils.logFastLoginChoice("微博")
- }
- }
- root.doOnAttach {
- initView(context, root)
- }
- privacyCheckboxClickView.setOnClickListener {
- mPrivacyCheckBox?.performClick()
- }
- }.root
- }
-
- private fun checkPolicyAndContinue(context: Context, callback: (() -> Unit)) {
- if (mPrivacyCheckBox?.isChecked == false) {
- AppManager.getInstance().recentActiveActivity?.run {
- showLoginPolicyDialog(this, context, callback)
- }
- } else {
- callback.invoke()
- }
- }
-
- private fun showLoginPolicyDialog(oauthContext: Context, context: Context, callback: (() -> Unit)) {
- DialogHelper.showLoginPolicyDialog(
- oauthContext,
- context,
- true,
- mOperatorText
- ) {
- mPrivacyCheckBox?.isChecked = true
- callback.invoke()
- }
- NewFlatLogUtils.logFastLoginRelatedShow("login_privacy_policy_pop_show")
- }
-
- private fun initView(context: Context, root: View) {
- NewFlatLogUtils.logFastLoginRelatedShow("fast_login_show")
-
- (root.parent as? ViewGroup)?.run {
- setBackgroundColor(R.color.ui_surface.toColor(context))
-
- val phoneNumTv = (getChildAt(1) as? ViewGroup)?.getChildAt(0) as? TextView
- phoneNumTv?.run {
- includeFontPadding = false
- text = text.toString().replace("*", "・")
- }
-
- mLoginBtn = getChildAt(2)
- mLoginBtn?.background = R.drawable.download_button_normal_style.toDrawable(context)
-
- val privacyContainer = getChildAt(3) as? ViewGroup
- privacyContainer?.run {
- mPrivacyCheckBox = (getChildAt(0) as? ViewGroup)?.getChildAt(0) as? CheckBox
- mPrivacyCheckBox?.run {
- setOnCheckedChangeListener { buttonView, isChecked ->
- if (isChecked) {
- buttonView.background =
- AppCompatResources.getDrawable(context, R.drawable.ic_selector_selected)
- } else {
- buttonView.background =
- AppCompatResources.getDrawable(context, R.drawable.ic_selector_default)
- }
- }
- background = AppCompatResources.getDrawable(context, R.drawable.ic_selector_default)
- }
-
- val privacyTv = getChildAt(1) as? TextView
- privacyTv?.run {
- layoutParams = (layoutParams as ViewGroup.MarginLayoutParams).apply {
- leftMargin = 4F.dip2px()
- }
- includeFontPadding = false
- val index = text.indexOfLast { it == '、' } + 1
- mOperatorText = text.substring(index, text.length)
- val spans = (text as SpannableString).getSpans(0, text.length)
- text = getPrivacyContent(text.replace(" ".toRegex(), ""), spans)
- }
- }
- }
-
- root.bringToFront()
- }
-
- private fun getPrivacyContent(content: CharSequence, spans: Array): SpannableStringBuilder? {
- return SpannableStringBuilder(content).apply {
- val hypertextList = arrayListOf(
- mOperatorText.toString(),
- "《用户协议》",
- "《隐私政策》",
- )
- val positionListPairList = arrayListOf>()
-
- for (hypertext in hypertextList) {
- val index = indexOf(hypertext, 0)
- if (index != -1) {
- positionListPairList.add(Pair(index, index + hypertext.length))
- }
- }
-
- for ((index, hypertextPositionPair) in positionListPairList.withIndex()) {
- setSpan(object : ClickableSpan() {
- override fun updateDrawState(ds: TextPaint) {
- super.updateDrawState(ds)
- spans[index].updateDrawState(ds)
- ds.isUnderlineText = true
- }
-
- override fun onClick(widget: View) {
- spans[index].onClick(widget)
- }
- }, hypertextPositionPair.first, hypertextPositionPair.second, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
- }
- }
- }
-
- // 获取运营商名称
- private fun getOperatorType(): String {
- mAuthnHelper?.run {
- val jsonObject = getNetworkType(HaloApp.getInstance().applicationContext)
- tryWithDefaultCatch {
- return when (jsonObject.optString("operatortype").toInt()) {
- 1 -> "中国移动"
- 2 -> "中国联通"
- 3 -> "中国电信"
- else -> ""
- }
- }
- }
- return ""
- }
-
- // 打开验证码登录页
- private fun startCodeLoginPage(isFinishAuth: Boolean) {
- if (mPreDialog != null && mPreDialog!!.isShowing) {
- tryWithDefaultCatch {
- mPreDialog?.dismiss()
- }
- }
-
- if (isFinishAuth) {
- finishAuthActivity()
- }
-
- AppManager.getInstance().recentActiveActivity?.run {
- startActivity(
- LoginActivity.getIntent(
- this,
- if (mOpenAuthPageSuccess) ENTRANCE_DEFAULT else mEntrance,
- mOpenAuthPageSuccess
- )
- )
- }
- }
-
- // 打开快速登录辅助页
- private fun startQuickLoginHelperPage(loginTag: LoginTag) {
- AppManager.getInstance().recentActiveActivity?.run {
- val intent = Intent(this, QuickLoginHelperActivity::class.java).apply {
- putExtra(EntranceConsts.KEY_ENTRANCE, mEntrance)
- putExtra(EntranceConsts.KET_TYPE, loginTag)
- if (loginTag == LoginTag.oauth) {
- putExtra(EntranceConsts.KEY_DATA, mToken)
- }
- }
- startActivity(intent)
- }
- }
-
- @JvmStatic
- fun finishAuthActivity() {
- dismissDialog()
- mAuthnHelper?.quitAuthActivity()
- // 调用quitAuthActivity()方法有概率会关不掉授权页,所以使用在调用quitAuthActivity()方法后,判断当前Activity是否还是AuthActivity,如果是则finish
- AppManager.getInstance().recentActiveActivity?.run {
- if (localClassName == AUTH_ACTIVITY_NAME) {
- finish()
- }
- }
- release()
- }
-
- private fun toastCode(code: String) {
- debugOnly {
- Utils.log("QuickLoginHelper -> code = $code")
- }
-
-// if (code == "200023" || code == "200028") {
-// toast("验证码登录")
+//package com.gh.gamecenter.login.utils
+//
+//import android.annotation.SuppressLint
+//import android.app.Activity
+//import android.app.Dialog
+//import android.content.Context
+//import android.content.Intent
+//import android.graphics.Color
+//import android.text.*
+//import android.text.style.ClickableSpan
+//import android.view.LayoutInflater
+//import android.view.View
+//import android.view.ViewGroup
+//import android.view.Window
+//import android.widget.CheckBox
+//import android.widget.TextView
+//import androidx.appcompat.content.res.AppCompatResources
+//import androidx.core.text.getSpans
+//import androidx.core.view.doOnAttach
+//import com.alibaba.android.arouter.launcher.ARouter
+//import com.cmic.gen.sdk.auth.GenAuthnHelper
+//import com.cmic.gen.sdk.auth.GenTokenListener
+//import com.cmic.gen.sdk.view.GenAuthThemeConfig
+//import com.cmic.gen.sdk.view.GenLoginClickListener
+//import com.gh.gamecenter.common.constant.Constants
+//import com.gh.gamecenter.common.constant.EntranceConsts
+//import com.gh.gamecenter.common.constant.RouteConsts
+//import com.gh.gamecenter.common.databinding.SetWaitDialogBinding
+//import com.gh.gamecenter.common.utils.*
+//import com.gh.gamecenter.core.provider.IConfigProvider
+//import com.gh.gamecenter.core.runOnUiThread
+//import com.gh.gamecenter.core.utils.*
+//import com.gh.gamecenter.login.HaloApp
+//import com.gh.gamecenter.login.R
+//import com.gh.gamecenter.login.databinding.LayoutQuickLoginBinding
+//import com.gh.gamecenter.login.user.LoginTag
+//import com.gh.gamecenter.login.view.LoginActivity
+//import com.gh.gamecenter.login.view.QuickLoginHelperActivity
+//import com.lightgame.utils.AppManager
+//import com.lightgame.utils.Utils
+//import org.json.JSONObject
+//
+///**
+// * 一键登录辅助类
+// * 1.取号请求
+// * 2.授权请求
+// * 3.获取token
+// * 4.请求登录接口
+// *
+// * 一键登录SDK对接文档:http://dev.10086.cn/docInside?contentId=10000067541479
+// */
+//@SuppressLint("StaticFieldLeak")
+//object QuickLoginHelper {
+//
+// private var mAuthnHelper: GenAuthnHelper? = null
+// private var mTokenListener: GenTokenListener? = null
+// private var mPreDialog: Dialog? = null
+// private var mLoggingDialog: Dialog? = null
+// private var mToken: String = ""
+// private var mEntrance: String = ""
+// private var mOpenAuthPageSuccess = false
+// private var mPrivacyCheckBox: CheckBox? = null
+// private var mOperatorText: CharSequence = ""
+// private var mLoginBtn: View? = null
+// private const val REQUEST_GET_PHONE_INFO_CODE = 100
+// private const val REQUEST_LOGIN_AUTH_CODE = 101
+// private const val ENTRANCE_DEFAULT = "一键登录"
+// private const val AUTH_ACTIVITY_NAME = "com.cmic.gen.sdk.view.GenLoginAuthActivity"
+//
+// // 1.取号请求(可提前进行)
+// @JvmStatic
+// fun getPhoneInfo() {
+// if (isPublishEnv()) {
+// GenAuthnHelper.setDebugMode(false)
// } else {
-// toast(code)
+// GenAuthnHelper.setDebugMode(true)
// }
- }
-
- private fun dismissDialog() {
- if (mPreDialog != null && mPreDialog!!.isShowing) {
- mPreDialog?.dismiss()
- }
- if (mLoggingDialog != null && mLoggingDialog!!.isShowing) {
- mLoggingDialog?.dismiss()
- }
- }
-
- private fun release() {
- mAuthnHelper = null
- mTokenListener = null
- mPreDialog = null
- mLoggingDialog = null
- mPrivacyCheckBox = null
- mLoginBtn = null
- }
-}
\ No newline at end of file
+//
+// val config = ARouter.getInstance().build(RouteConsts.provider.config).navigation() as? IConfigProvider
+// GenAuthnHelper.getInstance(HaloApp.getInstance().applicationContext).getPhoneInfo(
+// config?.getQuickLoginAppId(),
+// config?.getQuickLoginAppKey(),
+// { requestCode: Int, jsonObject: JSONObject ->
+// val code = jsonObject.optString("resultCode")
+// // “103000”为成功
+// if (code == "103000") {
+// if (requestCode == REQUEST_GET_PHONE_INFO_CODE) {
+// SPUtils.setBoolean(Constants.SP_HAS_GET_PHONE_INFO, true)
+// }
+// }
+// },
+// REQUEST_GET_PHONE_INFO_CODE
+// )
+// }
+//
+// @JvmStatic
+// fun startLogin(context: Context, entrance: String) {
+// // 防止短时间多次调用
+// if (ClickUtils.isFastDoubleClick(991)) return
+//
+// mEntrance = entrance
+// mOpenAuthPageSuccess = false
+//
+// if (isPublishEnv()) {
+// GenAuthnHelper.setDebugMode(false)
+// } else {
+// GenAuthnHelper.setDebugMode(true)
+// }
+//
+// if (mAuthnHelper == null) {
+// initSDK(context)
+// }
+//
+// if (mTokenListener == null) {
+// initTokenListener()
+// }
+//
+// loginAuth(context)
+// }
+//
+// private fun initSDK(context: Context) {
+// mAuthnHelper = GenAuthnHelper.getInstance(HaloApp.getInstance().applicationContext)
+// mAuthnHelper?.run {
+// // 设置超时时间
+// overTime = 3000
+//
+// authThemeConfig = getConfig(context)
+// // 授权页面的回调方法
+// setPageInListener { code, _ ->
+// // 返回码200087代表授权页成功拉起
+// if (code == "200087") {
+// if (mPreDialog != null && mPreDialog!!.isShowing) {
+// mPreDialog?.dismiss()
+// }
+// mOpenAuthPageSuccess = true
+// AppManager.getInstance().recentActiveActivity?.run {
+// DisplayUtils.setStatusBarColor(this, R.color.transparent, !DarkModeUtils.isDarkModeOn(context))
+// }
+// } else { // 不成功就调起验证码登录页
+// toastCode(code)
+// startCodeLoginPage(true)
+// }
+// }
+// }
+// }
+//
+// private fun initTokenListener() {
+// // token回调
+// mTokenListener = GenTokenListener { requestCode: Int, jsonObject: JSONObject ->
+// val code = jsonObject.optString("resultCode")
+// // “103000”为成功
+// if (code == "103000") {
+// if (requestCode == REQUEST_LOGIN_AUTH_CODE) {
+// // 3.获取token
+// mToken = jsonObject.optString("token")
+// }
+// } else if (code != "200020") { // 不成功就调起验证码登录页(200020代表授权页关闭)
+// toastCode(code)
+// startCodeLoginPage(true)
+// }
+// }
+// }
+//
+// private fun loginAuth(context: Context) {
+// runOnUiThread {
+// val dialogContext = com.gh.gamecenter.common.utils.DialogHelper.checkDialogContext(context)
+// if (dialogContext is Activity && dialogContext.isFinishing) return@runOnUiThread
+// mPreDialog = dialogContext?.let {
+// Dialog(it, R.style.DialogWindowTransparent).apply {
+// val binding = SetWaitDialogBinding.inflate(LayoutInflater.from(dialogContext)).apply {
+// setWaitMessage.text = "请求登录中"
+// }
+// requestWindowFeature(Window.FEATURE_NO_TITLE)
+// setContentView(binding.root)
+// setCanceledOnTouchOutside(false)
+// show()
+// }
+// }
+// }
+// // 2.授权请求
+// val config = ARouter.getInstance().build(RouteConsts.provider.config).navigation() as? IConfigProvider
+// mAuthnHelper?.loginAuth(
+// config?.getQuickLoginAppId(),
+// config?.getQuickLoginAppKey(),
+// mTokenListener,
+// REQUEST_LOGIN_AUTH_CODE
+// )
+// }
+//
+// private fun getConfig(context: Context): GenAuthThemeConfig {
+// return GenAuthThemeConfig.Builder()
+// .setStatusBar(Color.TRANSPARENT, !DarkModeUtils.isDarkModeOn(context)) //状态栏颜色、是否高亮
+// .setAuthContentView(getCustomView(context)) //自定义布局
+// // 服务条款标题栏
+// .setClauseLayoutResID(R.layout.layout_quick_login_navigation, "backIv") //服务条款标题栏
+// .setNavTextColor(Color.BLACK) //服务条款标题颜色
+// .setNavTextSize(18) //服务条款标题字体大小
+// // 手机号码
+// .setNumberSize(28, true) //手机号码字体大小
+// .setNumberColor(R.color.text_primary.toColor(context)) //手机号码字体颜色
+// .setNumFieldOffsetY(440) //号码栏Y偏移量
+// // 登录按钮
+// .setLogBtnImgPath("download_button_normal_style") //登录按钮背景
+// .setLogBtnText("一键登录", Color.WHITE, 16, false) //登录按钮相关
+// .setLogBtnOffsetY(522) //登录按钮Y偏移量
+// .setLogBtn(1000, 44) //登录按钮相关宽高
+// .setLogBtnMargin(40, 40) //登录按钮相对于屏幕左右边缘边距
+// // 回调
+// .setGenBackPressedListener {
+// dismissDialog()
+// release()
+// } //返回键回调
+// .setLogBtnClickListener(object : GenLoginClickListener {
+// override fun onLoginClickStart(oauthContext: Context, jsonObj: JSONObject?) {
+// runOnUiThread {
+// val dialogContext = com.gh.gamecenter.common.utils.DialogHelper.checkDialogContext(oauthContext)
+// if (dialogContext is Activity && dialogContext.isFinishing) return@runOnUiThread
+// mLoggingDialog = Dialog(oauthContext, R.style.DialogWindowTransparent).apply {
+// val binding = SetWaitDialogBinding.inflate(LayoutInflater.from(oauthContext)).apply {
+// root.background = R.drawable.background_shape_white_radius_8.toDrawable(context)
+// setWaitMessage.setTextColor(R.color.text_primary.toColor(context))
+// setWaitMessage.text = R.string.logging.toResString()
+// }
+// requestWindowFeature(Window.FEATURE_NO_TITLE)
+// setContentView(binding.root)
+// setCanceledOnTouchOutside(false)
+// show()
+// }
+// NewFlatLogUtils.logFastLoginChoice("一键登录")
+// }
+// }
+//
+// override fun onLoginClickComplete(oauthContext: Context, jsonObj: JSONObject?) {
+// if (mToken.isNotBlank()) {
+// // 4.请求登录接口
+// startQuickLoginHelperPage(LoginTag.oauth)
+// }
+// }
+// }) //登录按钮回调
+// .setGenCheckBoxListener { oauthContext: Context, _: JSONObject? ->
+// showLoginPolicyDialog(oauthContext, context) {
+// mLoginBtn?.performClick()
+// }
+// } //勾选回调
+// // 勾选框
+// .setCheckTipText("") //设置未勾选时弹出提示
+// .setCheckBoxImgPath("ic_selector_selected", "ic_selector_default", 16, 16) //勾选图片
+// // 服务条款、用户协议、隐私政策
+// .setPrivacyState(false) //默认不勾选
+// .setPrivacyAlignment(
+// "阅读并同意 " + "用户协议、隐私政策、" + GenAuthThemeConfig.PLACEHOLDER,
+// "用户协议", R.string.disclaimer_url.toResString(),
+// "隐私政策", R.string.privacy_policy_url.toResString(),
+// "", "", "", ""
+// ) //隐私条款的协议文本,自定义条款,自定义条款链接(支持四份条款)
+// .setPrivacyText(
+// 12,
+// R.color.text_tertiary.toColor(context),
+// R.color.text_secondary.toColor(context),
+// true,
+// false
+// ) //条款文本设置
+// .setPrivacyMargin(40, 40) //隐私条款距离手机左右边缘的边距
+// .setPrivacyOffsetY(596) //隐私条款Y偏移量
+// .setCheckBoxLocation(0)
+// // 语言
+// .setAppLanguageType(0) //0.中文简体1.中文繁体2.英文
+// // 转场动画
+//// .setAuthPageActIn("anim_auth_in", "anim_auth_out")
+//// .setAuthPageActOut("anim_auth_in","anim_auth_out")
+// // 整体布局
+// .setAuthPageWindowMode(0, 0) //授权页窗口宽高比例
+// .setWindowBottom(0) //授权页是否居于底部,0=居中;1=底部,设置为1Y轴的偏移 失效
+// .setFitsSystemWindows(false)
+//// .setThemeId(-1) //授权页弹窗主题
+// .build()
+// }
+//
+// // 获取自定义布局View
+// @SuppressLint("SetTextI18n")
+// private fun getCustomView(context: Context): View {
+// return LayoutQuickLoginBinding.inflate(LayoutInflater.from(context)).apply {
+// descTv.text = "${getOperatorType()}提供认证服务"
+// closeBtn.setOnClickListener {
+// finishAuthActivity()
+// }
+// changeLoginBtn.setOnClickListener {
+// checkPolicyAndContinue(context) {
+// startCodeLoginPage(false)
+// NewFlatLogUtils.logFastLoginRelatedShow("mobile_number_verification_show")
+// }
+// }
+// qqBtn.setOnClickListener {
+// checkPolicyAndContinue(context) {
+// startQuickLoginHelperPage(LoginTag.qq)
+// NewFlatLogUtils.logFastLoginChoice("QQ")
+// }
+// }
+// wechatBtn.setOnClickListener {
+// checkPolicyAndContinue(context) {
+// startQuickLoginHelperPage(LoginTag.wechat)
+// NewFlatLogUtils.logFastLoginChoice("微信")
+// }
+// }
+// weiboBtn.setOnClickListener {
+// checkPolicyAndContinue(context) {
+// startQuickLoginHelperPage(LoginTag.weibo)
+// NewFlatLogUtils.logFastLoginChoice("微博")
+// }
+// }
+// root.doOnAttach {
+// initView(context, root)
+// }
+// privacyCheckboxClickView.setOnClickListener {
+// mPrivacyCheckBox?.performClick()
+// }
+// }.root
+// }
+//
+// private fun checkPolicyAndContinue(context: Context, callback: (() -> Unit)) {
+// if (mPrivacyCheckBox?.isChecked == false) {
+// AppManager.getInstance().recentActiveActivity?.run {
+// showLoginPolicyDialog(this, context, callback)
+// }
+// } else {
+// callback.invoke()
+// }
+// }
+//
+// private fun showLoginPolicyDialog(oauthContext: Context, context: Context, callback: (() -> Unit)) {
+// DialogHelper.showLoginPolicyDialog(
+// oauthContext,
+// context,
+// true,
+// mOperatorText
+// ) {
+// mPrivacyCheckBox?.isChecked = true
+// callback.invoke()
+// }
+// NewFlatLogUtils.logFastLoginRelatedShow("login_privacy_policy_pop_show")
+// }
+//
+// private fun initView(context: Context, root: View) {
+// NewFlatLogUtils.logFastLoginRelatedShow("fast_login_show")
+//
+// (root.parent as? ViewGroup)?.run {
+// setBackgroundColor(R.color.ui_surface.toColor(context))
+//
+// val phoneNumTv = (getChildAt(1) as? ViewGroup)?.getChildAt(0) as? TextView
+// phoneNumTv?.run {
+// includeFontPadding = false
+// text = text.toString().replace("*", "・")
+// }
+//
+// mLoginBtn = getChildAt(2)
+// mLoginBtn?.background = R.drawable.download_button_normal_style.toDrawable(context)
+//
+// val privacyContainer = getChildAt(3) as? ViewGroup
+// privacyContainer?.run {
+// mPrivacyCheckBox = (getChildAt(0) as? ViewGroup)?.getChildAt(0) as? CheckBox
+// mPrivacyCheckBox?.run {
+// setOnCheckedChangeListener { buttonView, isChecked ->
+// if (isChecked) {
+// buttonView.background =
+// AppCompatResources.getDrawable(context, R.drawable.ic_selector_selected)
+// } else {
+// buttonView.background =
+// AppCompatResources.getDrawable(context, R.drawable.ic_selector_default)
+// }
+// }
+// background = AppCompatResources.getDrawable(context, R.drawable.ic_selector_default)
+// }
+//
+// val privacyTv = getChildAt(1) as? TextView
+// privacyTv?.run {
+// layoutParams = (layoutParams as ViewGroup.MarginLayoutParams).apply {
+// leftMargin = 4F.dip2px()
+// }
+// includeFontPadding = false
+// val index = text.indexOfLast { it == '、' } + 1
+// mOperatorText = text.substring(index, text.length)
+// val spans = (text as SpannableString).getSpans(0, text.length)
+// text = getPrivacyContent(text.replace(" ".toRegex(), ""), spans)
+// }
+// }
+// }
+//
+// root.bringToFront()
+// }
+//
+// private fun getPrivacyContent(content: CharSequence, spans: Array): SpannableStringBuilder? {
+// return SpannableStringBuilder(content).apply {
+// val hypertextList = arrayListOf(
+// mOperatorText.toString(),
+// "《用户协议》",
+// "《隐私政策》",
+// )
+// val positionListPairList = arrayListOf>()
+//
+// for (hypertext in hypertextList) {
+// val index = indexOf(hypertext, 0)
+// if (index != -1) {
+// positionListPairList.add(Pair(index, index + hypertext.length))
+// }
+// }
+//
+// for ((index, hypertextPositionPair) in positionListPairList.withIndex()) {
+// setSpan(object : ClickableSpan() {
+// override fun updateDrawState(ds: TextPaint) {
+// super.updateDrawState(ds)
+// spans[index].updateDrawState(ds)
+// ds.isUnderlineText = true
+// }
+//
+// override fun onClick(widget: View) {
+// spans[index].onClick(widget)
+// }
+// }, hypertextPositionPair.first, hypertextPositionPair.second, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE)
+// }
+// }
+// }
+//
+// // 获取运营商名称
+// private fun getOperatorType(): String {
+// mAuthnHelper?.run {
+// val jsonObject = getNetworkType(HaloApp.getInstance().applicationContext)
+// tryWithDefaultCatch {
+// return when (jsonObject.optString("operatortype").toInt()) {
+// 1 -> "中国移动"
+// 2 -> "中国联通"
+// 3 -> "中国电信"
+// else -> ""
+// }
+// }
+// }
+// return ""
+// }
+//
+// // 打开验证码登录页
+// private fun startCodeLoginPage(isFinishAuth: Boolean) {
+// if (mPreDialog != null && mPreDialog!!.isShowing) {
+// tryWithDefaultCatch {
+// mPreDialog?.dismiss()
+// }
+// }
+//
+// if (isFinishAuth) {
+// finishAuthActivity()
+// }
+//
+// AppManager.getInstance().recentActiveActivity?.run {
+// startActivity(
+// LoginActivity.getIntent(
+// this,
+// if (mOpenAuthPageSuccess) ENTRANCE_DEFAULT else mEntrance,
+// mOpenAuthPageSuccess
+// )
+// )
+// }
+// }
+//
+// // 打开快速登录辅助页
+// private fun startQuickLoginHelperPage(loginTag: LoginTag) {
+// AppManager.getInstance().recentActiveActivity?.run {
+// val intent = Intent(this, QuickLoginHelperActivity::class.java).apply {
+// putExtra(EntranceConsts.KEY_ENTRANCE, mEntrance)
+// putExtra(EntranceConsts.KET_TYPE, loginTag)
+// if (loginTag == LoginTag.oauth) {
+// putExtra(EntranceConsts.KEY_DATA, mToken)
+// }
+// }
+// startActivity(intent)
+// }
+// }
+//
+// @JvmStatic
+// fun finishAuthActivity() {
+// dismissDialog()
+// mAuthnHelper?.quitAuthActivity()
+// // 调用quitAuthActivity()方法有概率会关不掉授权页,所以使用在调用quitAuthActivity()方法后,判断当前Activity是否还是AuthActivity,如果是则finish
+// AppManager.getInstance().recentActiveActivity?.run {
+// if (localClassName == AUTH_ACTIVITY_NAME) {
+// finish()
+// }
+// }
+// release()
+// }
+//
+// private fun toastCode(code: String) {
+// debugOnly {
+// Utils.log("QuickLoginHelper -> code = $code")
+// }
+//
+//// if (code == "200023" || code == "200028") {
+//// toast("验证码登录")
+//// } else {
+//// toast(code)
+//// }
+// }
+//
+// private fun dismissDialog() {
+// if (mPreDialog != null && mPreDialog!!.isShowing) {
+// mPreDialog?.dismiss()
+// }
+// if (mLoggingDialog != null && mLoggingDialog!!.isShowing) {
+// mLoggingDialog?.dismiss()
+// }
+// }
+//
+// private fun release() {
+// mAuthnHelper = null
+// mTokenListener = null
+// mPreDialog = null
+// mLoggingDialog = null
+// mPrivacyCheckBox = null
+// mLoginBtn = null
+// }
+//}
\ No newline at end of file
diff --git a/module_login/src/main/java/com/gh/gamecenter/login/view/LoginFragment.java b/module_login/src/main/java/com/gh/gamecenter/login/view/LoginFragment.java
index d8019718d5..4f8e992c04 100644
--- a/module_login/src/main/java/com/gh/gamecenter/login/view/LoginFragment.java
+++ b/module_login/src/main/java/com/gh/gamecenter/login/view/LoginFragment.java
@@ -56,7 +56,6 @@ import com.gh.gamecenter.login.utils.DialogHelper;
import com.gh.gamecenter.login.utils.LoginHelper;
import com.gh.gamecenter.login.utils.LoginUtils;
import com.gh.gamecenter.login.utils.NewFlatLogUtils;
-import com.gh.gamecenter.login.utils.QuickLoginHelper;
import org.greenrobot.eventbus.EventBus;
import org.jetbrains.annotations.NotNull;
@@ -466,10 +465,10 @@ public class LoginFragment
if (getActivity() != null && UserManager.getInstance().isLoggedIn()) {
getActivity().finish();
- // 如果是从一键登录页跳转过来的,登录成功后也要finish一键登录页
- if (mIsFromQuickLogin) {
- QuickLoginHelper.finishAuthActivity();
- }
+// // 如果是从一键登录页跳转过来的,登录成功后也要finish一键登录页
+// if (mIsFromQuickLogin) {
+// QuickLoginHelper.finishAuthActivity();
+// }
}
}
}
diff --git a/module_login/src/main/java/com/gh/gamecenter/login/view/QuickLoginHelperActivity.kt b/module_login/src/main/java/com/gh/gamecenter/login/view/QuickLoginHelperActivity.kt
index 8080695673..56be98e576 100644
--- a/module_login/src/main/java/com/gh/gamecenter/login/view/QuickLoginHelperActivity.kt
+++ b/module_login/src/main/java/com/gh/gamecenter/login/view/QuickLoginHelperActivity.kt
@@ -1,142 +1,142 @@
-package com.gh.gamecenter.login.view
-
-import android.content.Intent
-import android.os.Build
-import android.os.Bundle
-import android.text.TextUtils
-import androidx.activity.viewModels
-import androidx.lifecycle.Observer
-import com.alibaba.android.arouter.launcher.ARouter
-import com.gh.gamecenter.common.base.activity.BaseActivity
-import com.gh.gamecenter.common.base.fragment.WaitingDialogFragment
-import com.gh.gamecenter.common.constant.Constants
-import com.gh.gamecenter.common.constant.EntranceConsts
-import com.gh.gamecenter.common.constant.RouteConsts
-import com.gh.gamecenter.common.retrofit.ApiResponse
-import com.gh.gamecenter.core.provider.ILogUtilsProvider
-import com.gh.gamecenter.core.utils.SPUtils
-import com.gh.gamecenter.login.HaloApp
-import com.gh.gamecenter.login.R
-import com.gh.gamecenter.login.entity.UserInfoEntity
-import com.gh.gamecenter.login.user.LoginTag
-import com.gh.gamecenter.login.user.UserManager
-import com.gh.gamecenter.login.user.UserViewModel
-import com.gh.gamecenter.login.utils.LoginHelper
-import com.gh.gamecenter.login.utils.NewFlatLogUtils
-import com.gh.gamecenter.login.utils.QuickLoginHelper
-import org.json.JSONObject
-
-/**
- * 快速登录辅助页,此页面为透明页面,用于执行各快速登录流程
- */
-class QuickLoginHelperActivity : BaseActivity(), LoginHelper.LoginCallback, Observer> {
-
- private var mLoginTag: LoginTag? = null
- private var mLoginDialog: WaitingDialogFragment? = null
- private val mUserViewModel: UserViewModel by viewModels { UserViewModel.Factory(HaloApp.getInstance()) }
-
- override fun getLayoutId() = 0
-
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- mUserViewModel.loginObsUserinfo.observe(this, this)
- handleLoginType()
- }
-
- private fun handleLoginType() {
- mLoginTag = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) {
- intent?.getSerializableExtra(EntranceConsts.KET_TYPE) as? LoginTag
- } else {
- intent?.getSerializableExtra(EntranceConsts.KET_TYPE, LoginTag::class.java)
- }
- when (mLoginTag ?: finish()) {
- LoginTag.qq -> LoginHelper.loginWithQQ(this, this)
- LoginTag.wechat -> LoginHelper.loginWithWechat(this)
- LoginTag.weibo -> LoginHelper.loginWithWeibo(this, this)
- LoginTag.oauth -> {
- val token = intent.getStringExtra(EntranceConsts.KEY_DATA) ?: finish()
- login(JSONObject(mapOf("token" to token)), LoginTag.oauth)
- }
- }
- }
-
- private fun login(content: JSONObject, loginTag: LoginTag) {
- val logUtils = ARouter.getInstance().build(RouteConsts.provider.logUtils).navigation() as? ILogUtilsProvider
- logUtils?.login("logging", loginTag.name, mEntrance)
- if (loginTag != LoginTag.oauth) {
- mLoginDialog = WaitingDialogFragment.newInstance(getString(R.string.logging))
- mLoginDialog?.show(supportFragmentManager, null)
- }
- mUserViewModel.login(content, loginTag)
- }
-
- override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
- super.onActivityResult(requestCode, resultCode, data)
- when (requestCode) {
- // QQ Login callback
- com.tencent.connect.common.Constants.REQUEST_LOGIN -> LoginHelper.onQQLoginCallback(
- requestCode,
- resultCode,
- data
- )
- // WeiBo Login callback
- 32973 -> LoginHelper.onWeiboLoginCallback(this, requestCode, resultCode, data)
- }
- }
-
- override fun onLoginSuccess(loginType: LoginTag, jsonContent: JSONObject) {
- login(jsonContent, loginType)
- }
-
- override fun onLoginFailure(loginType: LoginTag, error: String) {
- toast(error)
- finish()
- }
-
- override fun onChanged(response: ApiResponse?) {
- if (response != null && mLoginDialog != null) {
- mLoginDialog?.dismissAllowingStateLoss()
- mLoginDialog = null
- }
-
- if (response?.data != null) {
- val loginTokenEntity = UserManager.getInstance().loginTokenEntity
- if (loginTokenEntity != null) {
-
- val loginType = loginTokenEntity.loginType
- val logUtils =
- ARouter.getInstance().build(RouteConsts.provider.logUtils).navigation() as? ILogUtilsProvider
- logUtils?.login("success", loginType, mEntrance)
-
- if (loginType == LoginTag.oauth.name) {
- SPUtils.setBoolean(Constants.SP_HAS_GET_PHONE_INFO, false)
- NewFlatLogUtils.logFastLoginResult("成功")
- }
-
- // 第三方登录方式登录后跳转绑定手机页面(https://gitlab.ghzs.com/pm/halo-app-issues/-/issues/1206)
- val isThirdPartyLogin =
- LoginTag.qq.name == loginType || LoginTag.wechat.name == loginType || LoginTag.weibo.name == loginType || LoginTag.douyin.name == loginType
- if (isThirdPartyLogin
- && TextUtils.isEmpty(response.data.loginMobile)
- ) {
- ARouter.getInstance().build(RouteConsts.activity.bindPhoneActivity)
- .withBoolean(EntranceConsts.KEY_FROM_LOGIN, true)
- .withBoolean(EntranceConsts.KEY_CHANGE_PHONE, false)
- .navigation()
- }
- }
-
- // 防止UserManager数据丢失后重复登录
- if (TextUtils.isEmpty(UserManager.getInstance().token)) {
- mUserViewModel.retryCheckLogin()
- }
-
- finish()
- if (UserManager.getInstance().isLoggedIn) {
- QuickLoginHelper.finishAuthActivity()
- }
- } else if ((response?.httpException != null || response?.throwable != null) && mLoginTag == LoginTag.oauth) {
- NewFlatLogUtils.logFastLoginResult("失败")
- }
- }
-}
\ No newline at end of file
+//package com.gh.gamecenter.login.view
+//
+//import android.content.Intent
+//import android.os.Build
+//import android.os.Bundle
+//import android.text.TextUtils
+//import androidx.activity.viewModels
+//import androidx.lifecycle.Observer
+//import com.alibaba.android.arouter.launcher.ARouter
+//import com.gh.gamecenter.common.base.activity.BaseActivity
+//import com.gh.gamecenter.common.base.fragment.WaitingDialogFragment
+//import com.gh.gamecenter.common.constant.Constants
+//import com.gh.gamecenter.common.constant.EntranceConsts
+//import com.gh.gamecenter.common.constant.RouteConsts
+//import com.gh.gamecenter.common.retrofit.ApiResponse
+//import com.gh.gamecenter.core.provider.ILogUtilsProvider
+//import com.gh.gamecenter.core.utils.SPUtils
+//import com.gh.gamecenter.login.HaloApp
+//import com.gh.gamecenter.login.R
+//import com.gh.gamecenter.login.entity.UserInfoEntity
+//import com.gh.gamecenter.login.user.LoginTag
+//import com.gh.gamecenter.login.user.UserManager
+//import com.gh.gamecenter.login.user.UserViewModel
+//import com.gh.gamecenter.login.utils.LoginHelper
+//import com.gh.gamecenter.login.utils.NewFlatLogUtils
+//import com.gh.gamecenter.login.utils.QuickLoginHelper
+//import org.json.JSONObject
+//
+///**
+// * 快速登录辅助页,此页面为透明页面,用于执行各快速登录流程
+// */
+//class QuickLoginHelperActivity : BaseActivity(), LoginHelper.LoginCallback, Observer> {
+//
+// private var mLoginTag: LoginTag? = null
+// private var mLoginDialog: WaitingDialogFragment? = null
+// private val mUserViewModel: UserViewModel by viewModels { UserViewModel.Factory(HaloApp.getInstance()) }
+//
+// override fun getLayoutId() = 0
+//
+// override fun onCreate(savedInstanceState: Bundle?) {
+// super.onCreate(savedInstanceState)
+// mUserViewModel.loginObsUserinfo.observe(this, this)
+// handleLoginType()
+// }
+//
+// private fun handleLoginType() {
+// mLoginTag = if (Build.VERSION.SDK_INT < Build.VERSION_CODES.TIRAMISU) {
+// intent?.getSerializableExtra(EntranceConsts.KET_TYPE) as? LoginTag
+// } else {
+// intent?.getSerializableExtra(EntranceConsts.KET_TYPE, LoginTag::class.java)
+// }
+// when (mLoginTag ?: finish()) {
+// LoginTag.qq -> LoginHelper.loginWithQQ(this, this)
+// LoginTag.wechat -> LoginHelper.loginWithWechat(this)
+// LoginTag.weibo -> LoginHelper.loginWithWeibo(this, this)
+// LoginTag.oauth -> {
+// val token = intent.getStringExtra(EntranceConsts.KEY_DATA) ?: finish()
+// login(JSONObject(mapOf("token" to token)), LoginTag.oauth)
+// }
+// }
+// }
+//
+// private fun login(content: JSONObject, loginTag: LoginTag) {
+// val logUtils = ARouter.getInstance().build(RouteConsts.provider.logUtils).navigation() as? ILogUtilsProvider
+// logUtils?.login("logging", loginTag.name, mEntrance)
+// if (loginTag != LoginTag.oauth) {
+// mLoginDialog = WaitingDialogFragment.newInstance(getString(R.string.logging))
+// mLoginDialog?.show(supportFragmentManager, null)
+// }
+// mUserViewModel.login(content, loginTag)
+// }
+//
+// override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
+// super.onActivityResult(requestCode, resultCode, data)
+// when (requestCode) {
+// // QQ Login callback
+// com.tencent.connect.common.Constants.REQUEST_LOGIN -> LoginHelper.onQQLoginCallback(
+// requestCode,
+// resultCode,
+// data
+// )
+// // WeiBo Login callback
+// 32973 -> LoginHelper.onWeiboLoginCallback(this, requestCode, resultCode, data)
+// }
+// }
+//
+// override fun onLoginSuccess(loginType: LoginTag, jsonContent: JSONObject) {
+// login(jsonContent, loginType)
+// }
+//
+// override fun onLoginFailure(loginType: LoginTag, error: String) {
+// toast(error)
+// finish()
+// }
+//
+// override fun onChanged(response: ApiResponse?) {
+// if (response != null && mLoginDialog != null) {
+// mLoginDialog?.dismissAllowingStateLoss()
+// mLoginDialog = null
+// }
+//
+// if (response?.data != null) {
+// val loginTokenEntity = UserManager.getInstance().loginTokenEntity
+// if (loginTokenEntity != null) {
+//
+// val loginType = loginTokenEntity.loginType
+// val logUtils =
+// ARouter.getInstance().build(RouteConsts.provider.logUtils).navigation() as? ILogUtilsProvider
+// logUtils?.login("success", loginType, mEntrance)
+//
+// if (loginType == LoginTag.oauth.name) {
+// SPUtils.setBoolean(Constants.SP_HAS_GET_PHONE_INFO, false)
+// NewFlatLogUtils.logFastLoginResult("成功")
+// }
+//
+// // 第三方登录方式登录后跳转绑定手机页面(https://gitlab.ghzs.com/pm/halo-app-issues/-/issues/1206)
+// val isThirdPartyLogin =
+// LoginTag.qq.name == loginType || LoginTag.wechat.name == loginType || LoginTag.weibo.name == loginType || LoginTag.douyin.name == loginType
+// if (isThirdPartyLogin
+// && TextUtils.isEmpty(response.data.loginMobile)
+// ) {
+// ARouter.getInstance().build(RouteConsts.activity.bindPhoneActivity)
+// .withBoolean(EntranceConsts.KEY_FROM_LOGIN, true)
+// .withBoolean(EntranceConsts.KEY_CHANGE_PHONE, false)
+// .navigation()
+// }
+// }
+//
+// // 防止UserManager数据丢失后重复登录
+// if (TextUtils.isEmpty(UserManager.getInstance().token)) {
+// mUserViewModel.retryCheckLogin()
+// }
+//
+// finish()
+// if (UserManager.getInstance().isLoggedIn) {
+// QuickLoginHelper.finishAuthActivity()
+// }
+// } else if ((response?.httpException != null || response?.throwable != null) && mLoginTag == LoginTag.oauth) {
+// NewFlatLogUtils.logFastLoginResult("失败")
+// }
+// }
+//}
\ No newline at end of file
diff --git a/settings.gradle b/settings.gradle
index 7113d63aea..117d8d4a10 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -10,12 +10,12 @@ include ':module_setting'
include ':module_setting_compose'
include ':ndownload'
include ':module_core_feature'
-include ':module_lib'
+//include ':module_lib'
include ':module_sensors_data'
-include ':feature:vpn'
+//include ':feature:vpn'
include ':feature:pkg'
include ':feature:floating-window'
-include ':feature:beizi_startup_ad'
+//include ':feature:beizi_startup_ad'
include ':feature:csj_ad'
include ':feature:oaid_lib'
include ':feature:oaid'