From 40cdda7bae9c47891b2b6070ac2d3822a55903b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E6=99=A8?= Date: Tue, 4 Mar 2025 11:07:51 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E3=80=90=E5=85=89=E7=8E=AF=E5=8A=A9?= =?UTF-8?q?=E6=89=8B=E3=80=91=E4=B8=80=E9=94=AE=E7=99=BB=E5=BD=95=E7=9B=B8?= =?UTF-8?q?=E5=85=B3UI=E4=BC=98=E5=8C=96-UI=20https://jira.shanqu.cc/brows?= =?UTF-8?q?e/GHZSCY-7445?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../base/GlobalActivityLifecycleObserver.kt | 28 +++- .../java/com/gh/gamecenter/LoginHelper.kt | 48 ++++-- .../main/res/layout/layout_quick_login.xml | 158 ++++++++++-------- .../layout/layout_quick_login_background.xml | 18 +- 4 files changed, 153 insertions(+), 99 deletions(-) diff --git a/app/src/main/java/com/gh/base/GlobalActivityLifecycleObserver.kt b/app/src/main/java/com/gh/base/GlobalActivityLifecycleObserver.kt index e6b9131f7f..0ccca9529b 100644 --- a/app/src/main/java/com/gh/base/GlobalActivityLifecycleObserver.kt +++ b/app/src/main/java/com/gh/base/GlobalActivityLifecycleObserver.kt @@ -2,9 +2,9 @@ package com.gh.base import android.app.Activity import android.app.Application +import android.content.res.Configuration import android.os.Bundle import androidx.appcompat.app.AppCompatActivity -import com.therouter.TheRouter import com.gh.ad.AdDelegateHelper import com.gh.common.util.FloatingBackViewManager import com.gh.common.xapk.XapkInstaller @@ -15,27 +15,45 @@ import com.gh.gamecenter.SplashAdActivity import com.gh.gamecenter.SplashScreenActivity import com.gh.gamecenter.authorization.AuthorizationActivity import com.gh.gamecenter.common.base.GlobalActivityManager -import com.gh.gamecenter.common.constant.RouteConsts import com.gh.gamecenter.common.provider.IHelpAndFeedbackProvider import com.gh.gamecenter.common.utils.PackageFlavorHelper import com.gh.gamecenter.core.provider.IPushProvider +import com.gh.gamecenter.login.utils.QuickLoginHelper import com.gh.gamecenter.login.view.LoginActivity import com.gh.gamecenter.va.VCore -import com.gh.gamecenter.login.utils.QuickLoginHelper import com.gh.vspace.VHelper import com.halo.assistant.HaloApp +import com.therouter.TheRouter // TODO:移动到对应的模块 class GlobalActivityLifecycleObserver : Application.ActivityLifecycleCallbacks { private var isFromBackgroundToForeground = false // 是否后台回到前台 + override fun onActivityPreCreated(activity: Activity, savedInstanceState: Bundle?) { + if (QuickLoginHelper.isLoginAuthPage(activity)) { + try { + val resources = activity.resources + val config = Configuration(resources.configuration) + config.fontScale = 1.0f + + // 更新Resources配置 + val metrics = resources.displayMetrics + metrics.scaledDensity = metrics.density + resources.updateConfiguration(config, metrics) + + } catch (e: Exception) { + // 设置字体失败 + } + } + } + override fun onActivityCreated(activity: Activity, savedInstanceState: Bundle?) { // do nothing } override fun onActivityStarted(activity: Activity) { GlobalActivityManager.currentActivity = activity - GlobalActivityManager.activityCount ++ + GlobalActivityManager.activityCount++ if (GlobalActivityManager.activityCount == 1 && isFromBackgroundToForeground) { if (AdDelegateHelper.shouldShowStartUpAd(true) && !HaloApp.getInstance().isDisableSplashAdTemporarily @@ -111,7 +129,7 @@ class GlobalActivityLifecycleObserver : Application.ActivityLifecycleCallbacks { } override fun onActivityStopped(activity: Activity) { - GlobalActivityManager.activityCount -- + GlobalActivityManager.activityCount-- isFromBackgroundToForeground = GlobalActivityManager.activityCount <= 0 } diff --git a/feature/quick_login/src/main/java/com/gh/gamecenter/LoginHelper.kt b/feature/quick_login/src/main/java/com/gh/gamecenter/LoginHelper.kt index 05b0191bf3..ea78e92ebf 100644 --- a/feature/quick_login/src/main/java/com/gh/gamecenter/LoginHelper.kt +++ b/feature/quick_login/src/main/java/com/gh/gamecenter/LoginHelper.kt @@ -16,9 +16,7 @@ import androidx.core.view.WindowCompat import androidx.core.view.doOnAttach import cn.com.chinatelecom.account.api.CtAuth import cn.jiguang.verifysdk.api.* -import com.therouter.TheRouter import com.gh.gamecenter.common.base.GlobalActivityManager.getCurrentPageEntity -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.ILoginProvider @@ -26,6 +24,7 @@ import com.gh.gamecenter.core.runOnUiThread import com.gh.gamecenter.quicklogin.R import com.lightgame.utils.AppManager import com.lightgame.utils.Utils +import com.therouter.TheRouter @SuppressLint("StaticFieldLeak") object LoginHelper { @@ -152,11 +151,21 @@ object LoginHelper { when (code) { LOGIN_AUTH_CODE_SUCCESS -> { loginToken = content - getLoginProvider()?.startQuickLoginHelperPageFromQuickLogin(content, context, continuablePath, callback) + getLoginProvider()?.startQuickLoginHelperPageFromQuickLogin( + content, + context, + continuablePath, + callback + ) } LOGIN_AUTH_CODE_FAILURE -> { - getLoginProvider()?.startCodeLoginPageFromQuickLogin(openAuthPageSuccess, context, continuablePath, callback) + getLoginProvider()?.startCodeLoginPageFromQuickLogin( + openAuthPageSuccess, + context, + continuablePath, + callback + ) } } } @@ -172,7 +181,14 @@ object LoginHelper { backgroundView = getLoginProvider()?.createQuickLoginBackgroundView(context) val beanArrayList: MutableList = ArrayList() beanArrayList.add(PrivacyBean("用户协议", com.gh.gamecenter.common.R.string.disclaimer_url.toResString(), ", ")) - beanArrayList.add(PrivacyBean("隐私政策", com.gh.gamecenter.common.R.string.privacy_policy_url.toResString(), ", ")) + beanArrayList.add( + PrivacyBean( + "隐私政策", + com.gh.gamecenter.common.R.string.privacy_policy_url.toResString(), + ", " + ) + ) + val btnLoginWidth = (context.resources.displayMetrics.widthPixels / context.resources.displayMetrics.density - 80).toInt() @@ -188,20 +204,22 @@ object LoginHelper { .setNumberSize(28) //手机号码字体大小 .setNumberTextBold(true) .setNumberColor(com.gh.gamecenter.common.R.color.text_primary.toColor(context)) //手机号码字体颜色 - .setNumFieldOffsetY(407) //号码栏Y偏移量 + .setNumberFieldOffsetBottomY(298) //号码栏Y偏移量 // slogan .setSloganTextColor(com.gh.gamecenter.common.R.color.text_tertiary.toColor(context)) .setSloganTextSize(12) - .setSloganOffsetY(445) + .setSloganOffsetY(-1) + .setSloganBottomOffsetY(278) // 登录按钮 .setLogBtnImgPath("download_button_normal_style") //登录按钮背景 .setLogBtnText("一键登录") //登录按钮相关 .setLogBtnTextColor(Color.WHITE) .setLogBtnTextSize(16) .setLogBtnTextBold(false) - .setLogBtnOffsetY(487) //登录按钮Y偏移量 .setLogBtnWidth(btnLoginWidth) - .setLogBtnHeight(40) + .setLogBtnHeight(44) + .setLogBtnOffsetY(-1) + .setLogBtnBottomOffsetY(202) .setPrivacyCheckDialogLogBtnImgPath("download_button_normal_style") .setCheckedImgPath("ic_selector_selected") .setUncheckedImgPath("ic_selector_default") @@ -210,8 +228,11 @@ object LoginHelper { // 服务条款、用户协议、隐私政策 .setPrivacyState(false) //默认不勾选 .setPrivacyUnderlineText(true) - .setPrivacyTopOffsetY(563) - .setAppPrivacyColor(com.gh.gamecenter.common.R.color.text_tertiary.toColor(context), com.gh.gamecenter.common.R.color.text_tertiary.toColor(context)) + .setPrivacyOffsetY(140) + .setAppPrivacyColor( + com.gh.gamecenter.common.R.color.text_tertiary.toColor(context), + com.gh.gamecenter.common.R.color.text_tertiary.toColor(context) + ) .setPrivacyNameAndUrlBeanList( beanArrayList ) @@ -223,7 +244,10 @@ object LoginHelper { } .setPrivacyUnderlineText(true) .setPrivacyWithBookTitleMark(true) - .setAppPrivacyColor(com.gh.gamecenter.common.R.color.text_tertiary.toColor(context), com.gh.gamecenter.common.R.color.text_secondary.toColor(context)) + .setAppPrivacyColor( + com.gh.gamecenter.common.R.color.text_tertiary.toColor(context), + com.gh.gamecenter.common.R.color.text_secondary.toColor(context) + ) .setPrivacyMarginL(40) //隐私条款距离手机左右边缘的边距 .setPrivacyMarginR(40) // 添加自定义布局 diff --git a/module_login/src/main/res/layout/layout_quick_login.xml b/module_login/src/main/res/layout/layout_quick_login.xml index a194787e01..549a150293 100644 --- a/module_login/src/main/res/layout/layout_quick_login.xml +++ b/module_login/src/main/res/layout/layout_quick_login.xml @@ -1,94 +1,104 @@ + android:layout_height="match_parent"> - - - - - + android:layout_height="match_parent"> + + + + android:text="本机号码" + android:textColor="@color/text_tertiary" + android:textSize="12sp" /> - + + + + + + + - + android:layout_marginLeft="36dp" + android:layout_marginTop="563dp" /> - - - - - + android:layout_gravity="bottom" + android:layout_marginBottom="48dp" + android:gravity="center" + android:orientation="horizontal"> - + - - + + + + + \ No newline at end of file diff --git a/module_login/src/main/res/layout/layout_quick_login_background.xml b/module_login/src/main/res/layout/layout_quick_login_background.xml index 9e2928526f..0295b6a02f 100644 --- a/module_login/src/main/res/layout/layout_quick_login_background.xml +++ b/module_login/src/main/res/layout/layout_quick_login_background.xml @@ -1,15 +1,17 @@ - - - - \ No newline at end of file + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toTopOf="parent" /> + \ No newline at end of file