50 lines
1.7 KiB
Kotlin
50 lines
1.7 KiB
Kotlin
package com.gh.common.util
|
|
|
|
import com.gh.gamecenter.entity.GameEntity
|
|
import com.gh.gamecenter.entity.HomePluggableFilterEntity
|
|
import com.gh.gamecenter.room.AppDatabase
|
|
import com.halo.assistant.HaloApp
|
|
|
|
object HomePluggableHelper {
|
|
|
|
private val mHomePluggableFilterDao = AppDatabase.getInstance(HaloApp.getInstance().application).homePluggableFilterDao()
|
|
|
|
@JvmStatic
|
|
fun setHomePluggableFilterData(gameEntity: GameEntity, isNever: Boolean) {
|
|
val apkList = gameEntity.getApk()
|
|
if (apkList.isNotEmpty()) {
|
|
val apk = apkList.first()
|
|
val tag = if (isNever) "never" else apk.version ?: ""
|
|
mHomePluggableFilterDao.addData(HomePluggableFilterEntity(pkgName = apk.packageName, tag = tag, active = isNever))
|
|
}
|
|
}
|
|
|
|
@JvmStatic
|
|
fun showHomePluggable(gameEntity: GameEntity): Boolean {
|
|
val apkList = gameEntity.getApk()
|
|
if (apkList.isNotEmpty()) {
|
|
val apk = apkList.first()
|
|
val filterData = mHomePluggableFilterDao.getDataByPkgName(apk.packageName)
|
|
if (filterData?.active == true) {
|
|
val filterTag = filterData.tag
|
|
return filterTag != "never" && apk.version != filterTag
|
|
}
|
|
}
|
|
return true
|
|
}
|
|
|
|
@JvmStatic
|
|
fun getPermanentInactivePluggablePackage() = mHomePluggableFilterDao.getDataByTag("never")
|
|
|
|
@JvmStatic
|
|
fun activationFilterData() {
|
|
val filterList = mHomePluggableFilterDao.getDataByActive(false)
|
|
|
|
if (filterList != null) {
|
|
for (entity in filterList) {
|
|
entity.active = true
|
|
}
|
|
mHomePluggableFilterDao.addData(filterList)
|
|
}
|
|
}
|
|
} |