diff --git a/app/src/main/java/com/gh/common/constant/Config.java b/app/src/main/java/com/gh/common/constant/Config.java index 8aff149803..aa4fabea73 100644 --- a/app/src/main/java/com/gh/common/constant/Config.java +++ b/app/src/main/java/com/gh/common/constant/Config.java @@ -4,6 +4,7 @@ package com.gh.common.constant; import android.content.Context; import android.content.SharedPreferences; import android.preference.PreferenceManager; +import android.support.annotation.Nullable; import android.text.TextUtils; import com.gh.common.util.GsonUtils; @@ -157,6 +158,7 @@ public class Config { mSettingsEntity = settingsEntity; } + @Nullable public static SettingsEntity getSettings() { if (mSettingsEntity == null) { try { diff --git a/app/src/main/java/com/gh/common/util/GameUtils.java b/app/src/main/java/com/gh/common/util/GameUtils.java index 32f518acfd..c093f8278e 100644 --- a/app/src/main/java/com/gh/common/util/GameUtils.java +++ b/app/src/main/java/com/gh/common/util/GameUtils.java @@ -6,12 +6,14 @@ import android.support.v4.content.ContextCompat; import android.text.TextUtils; import android.widget.TextView; +import com.gh.common.constant.Config; import com.gh.download.DownloadManager; import com.gh.gamecenter.R; import com.gh.gamecenter.entity.ApkEntity; import com.gh.gamecenter.entity.GameEntity; import com.gh.gamecenter.entity.GameUpdateEntity; import com.gh.gamecenter.entity.PluginLocation; +import com.gh.gamecenter.entity.SettingsEntity; import com.gh.gamecenter.manager.PackagesManager; import com.lightgame.download.DownloadEntity; import com.lightgame.download.DownloadStatus; @@ -70,9 +72,18 @@ public class GameUtils { int installCount = 0; // 已安装数量 DownloadEntity downloadEntity; Object gh_id; + apkFor: for (ApkEntity apkEntity : gameEntity.getApk()) { - // todo filter by packageName + // filter by packageName + SettingsEntity settings = Config.getSettings(); + if (settings != null) { + for (String pkgName : settings.getGameDownloadBlackList()) { + if (pkgName.equals(apkEntity.getPackageName())) { + continue apkFor; + } + } + } downloadEntity = DownloadManager.getInstance(context).getDownloadEntityByUrl(apkEntity.getUrl()); if (downloadEntity != null) { diff --git a/app/src/main/java/com/gh/gamecenter/entity/SettingsEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/SettingsEntity.kt index bc94a1ec69..bfd0ddb1f3 100644 --- a/app/src/main/java/com/gh/gamecenter/entity/SettingsEntity.kt +++ b/app/src/main/java/com/gh/gamecenter/entity/SettingsEntity.kt @@ -13,6 +13,8 @@ data class SettingsEntity( var communityEntrance: String? = "", @SerializedName("game_comment_blacklist") var gameCommentBlackList: List? = listOf(), + @SerializedName("game_download_blacklist") + var gameDownloadBlackList: List = listOf(), @SerializedName("ad") var adList: List? = listOf()) {