fix: 【V5.17.0】游戏详情-详情tab页面优化-大家都在玩-1212测试-第2点 https://jira.shanqu.cc/browse/GHZS-656

This commit is contained in:
张玉久
2022-12-13 17:04:49 +08:00
parent 32b51e899e
commit 10e7047eec

View File

@ -71,51 +71,49 @@ class DescViewModel(
return
}
val labelGames = arrayListOf<String>()
for (relatedGame in relatedGames ?: listOf()) {
if (relatedGame.game == null) continue
val size = relatedGame.game!!.size
if (size > 4) {
val randomArray = RandomUtils.getRandomArray(4 - mIdMaps.size, size)
for (i in randomArray) {
mIdMaps[relatedGame.game!![i]] = "标签推荐"
}
break
} else {
relatedGame.game!!.take(4 - mIdMaps.size).forEach {
mIdMaps[it] = "标签推荐"
}
}
if (mIdMaps.size == 4) {
break
relatedGame.game?.let {
labelGames.addAll(it)
}
}
if (labelGames.isNotEmpty()) {
val gameIds = labelGames.take(4)
gameIds.forEach {
mIdMaps[it] = "标签推荐"
}
}
val labelGameCount = mIdMaps.size
if (installGames != null) {
if (installGames.size > 4) {
val randomArray = RandomUtils.getRandomArray(4, installGames.size)
for (i in randomArray) {
mIdMaps[installGames[i]] = "安装推荐"
}
} else {
installGames.forEach {
mIdMaps[it] = "安装推荐"
}
val gameIds = installGames.take(4)
gameIds.forEach {
mIdMaps[it] = "安装推荐"
}
}
if (downloadGames != null) {
if (downloadGames.size > 4) {
val randomArray = RandomUtils.getRandomArray(4, downloadGames.size)
for (i in randomArray) {
mIdMaps[downloadGames[i]] = "下载推荐"
}
} else {
downloadGames.forEach {
mIdMaps[it] = "下载推荐"
}
val gameIds = downloadGames.take(4)
gameIds.forEach {
mIdMaps[it] = "下载推荐"
}
}
if (mIdMaps.size < 6 && labelGames.size > labelGameCount) {
for (i in labelGameCount until labelGames.size) {
mIdMaps[labelGames[i]] = "标签推荐"
if (mIdMaps.size >= 6) break
}
}
if (mIdMaps.size < 6) {
val entity = mDataList.find { it.type == DetailEntity.Type.RECOMMENDED_GAMES.value }
mDataList.remove(entity)
assembleListWithRecommendedGames()
return
}
getGamesDigestByIds {
mRelatedGameList.clear()
mRelatedGameList.addAll(it)