47 lines
1.6 KiB
Kotlin
47 lines
1.6 KiB
Kotlin
package com.gh.common.util
|
|
|
|
import com.gh.gamecenter.packagehelper.PackageRepository
|
|
import com.gh.gamecenter.qa.entity.AskGameSelectEntity
|
|
|
|
object CommunityHelper {
|
|
|
|
/**
|
|
* 为已开通的社区排序
|
|
* 排序规则为将本地存在已安装游戏或已关联游戏的社区置顶
|
|
*/
|
|
fun sortOpenedCommunity(rawList: List<AskGameSelectEntity>?): ArrayList<AskGameSelectEntity> {
|
|
val sortedList = ArrayList<AskGameSelectEntity>()
|
|
rawList?.let {
|
|
for (game in rawList) {
|
|
var thisGameIsInstalled = false
|
|
for (installGame in PackageRepository.gameInstalled) {
|
|
if (PackageHelper.downloadPackageNameBlackList.contains(installGame.packageName)) {
|
|
continue
|
|
}
|
|
|
|
// 判断是否已安装
|
|
if (installGame.id == game.game.id) {
|
|
thisGameIsInstalled = true
|
|
break
|
|
}
|
|
|
|
// 判断是否关联了别游戏
|
|
for (relatedGameId in game.game.relation) {
|
|
if (installGame.id == relatedGameId) {
|
|
thisGameIsInstalled = true
|
|
break
|
|
}
|
|
}
|
|
}
|
|
|
|
// 将已安装的置顶
|
|
if (thisGameIsInstalled) {
|
|
sortedList.add(0, game)
|
|
} else {
|
|
sortedList.add(game)
|
|
}
|
|
}
|
|
}
|
|
return sortedList
|
|
}
|
|
} |