Merge remote-tracking branch 'origin/release' into dev
# Conflicts: # app/src/main/java/com/gh/gamecenter/minigame/wechat/WGameSubjectCPMRemoteDataSource.kt # dependencies.gradle
This commit is contained in:
@ -5,6 +5,7 @@ import android.app.Activity
|
||||
import android.content.Context
|
||||
import android.content.SharedPreferences
|
||||
import android.graphics.drawable.Animatable
|
||||
import android.os.Build
|
||||
import android.os.Message
|
||||
import android.text.TextUtils
|
||||
import android.view.View
|
||||
@ -43,6 +44,7 @@ import com.gh.gamecenter.feature.exposure.ExposureType
|
||||
import com.gh.gamecenter.retrofit.RetrofitManager
|
||||
import com.halo.assistant.HaloApp
|
||||
import io.reactivex.schedulers.Schedulers
|
||||
import java.util.Locale
|
||||
|
||||
/**
|
||||
* 广告实现代理类
|
||||
@ -120,7 +122,12 @@ object AdDelegateHelper {
|
||||
if (isFromRetry && mAdConfigList.isNotEmpty()) {
|
||||
return
|
||||
}
|
||||
val paramsMap = if (keyword.isNotEmpty()) mapOf("keyword" to keyword) else mapOf()
|
||||
|
||||
val paramsMap = if (keyword.isNotEmpty()) {
|
||||
mapOf("keyword" to keyword, "android_sdk_version" to Build.VERSION.SDK_INT)
|
||||
} else {
|
||||
mapOf("android_sdk_version" to Build.VERSION.SDK_INT)
|
||||
}
|
||||
RetrofitManager.getInstance()
|
||||
.newApi
|
||||
.getAdConfig(paramsMap)
|
||||
@ -182,11 +189,16 @@ object AdDelegateHelper {
|
||||
// HarmonyOS 2.2.0 版本不展示第三方开屏广告 (因为会引起奇怪的闪退)
|
||||
if (MetaUtil.getRom().name == "HarmonyOS"
|
||||
&& MetaUtil.getRom().versionName == "2.2.0"
|
||||
&& config.displayRule.adSource == "third_party_ads") {
|
||||
&& config.displayRule.adSource == AD_TYPE_SDK) {
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// 华为系 Android 10 不展示第三方开屏广告 (因为会引起奇怪的闪退)
|
||||
if (isBuggyHuaweiDevice() && config.displayRule.adSource == AD_TYPE_SDK) {
|
||||
return
|
||||
}
|
||||
|
||||
mSplashAd = config
|
||||
}
|
||||
|
||||
@ -215,6 +227,7 @@ object AdDelegateHelper {
|
||||
private fun shouldShowStartUpAdWhenHotLaunch() = (mCsjAdImpl != null)
|
||||
&& mSplashAd?.displayRule?.hotStartSplashAd?.type == AD_TYPE_SDK
|
||||
&& mSplashAd?.hotStartThirdPartyAd != null
|
||||
&& !isBuggyHuaweiDevice()
|
||||
|
||||
/**
|
||||
* 是否需要显示下载管理广告
|
||||
@ -783,4 +796,16 @@ object AdDelegateHelper {
|
||||
mCsjAdImpl?.cancelSplashAd(context)
|
||||
}
|
||||
|
||||
/**
|
||||
* 是否为有问题的华为系 Android 10 设备
|
||||
*/
|
||||
private fun isBuggyHuaweiDevice(): Boolean {
|
||||
if (Build.VERSION.SDK_INT == Build.VERSION_CODES.Q) {
|
||||
val manufacturer = Build.MANUFACTURER.lowercase(Locale.CHINA) ?: ""
|
||||
return manufacturer == "huawei" || manufacturer == "honor"
|
||||
} else {
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
@ -135,7 +135,7 @@ class DetailViewHolder(
|
||||
vUpdate = view.findViewById(R.id.v_update)
|
||||
tvUpdate = view.findViewById(R.id.tv_update)
|
||||
|
||||
context = view.context
|
||||
context = view.context.getActivity() ?: view.context
|
||||
com.gh.gamecenter.common.R.color.text_aw_primary.toColor()
|
||||
|
||||
var gameDownloadMode = gameEntity.getGameDownloadButtonMode()
|
||||
|
||||
@ -922,8 +922,10 @@ class GameDetailFragment : LazyFragment(), IScrollable {
|
||||
}
|
||||
|
||||
override fun scrollToTop() {
|
||||
binding.gamedetailAppbar.setExpanded(true)
|
||||
binding.detailRv.scrollToPosition(0)
|
||||
if (::binding.isInitialized) {
|
||||
binding.gamedetailAppbar.setExpanded(true)
|
||||
binding.detailRv.scrollToPosition(0)
|
||||
}
|
||||
}
|
||||
|
||||
// 登录事件/礼包状态变更事件
|
||||
|
||||
Reference in New Issue
Block a user