From 7f55ff63401e5e5f2cb949dc290e20013b0235bc Mon Sep 17 00:00:00 2001 From: kehaoyuan Date: Sun, 20 Jan 2019 10:17:23 +0800 Subject: [PATCH] =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E5=8C=85=E5=90=8D=E8=BF=87?= =?UTF-8?q?=E6=BB=A4=E4=B8=8B=E8=BD=BD=E6=8C=89=E9=92=AE=E7=8A=B6=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/gh/common/constant/Config.java | 2 ++ app/src/main/java/com/gh/common/util/GameUtils.java | 13 ++++++++++++- .../java/com/gh/gamecenter/entity/SettingsEntity.kt | 2 ++ 3 files changed, 16 insertions(+), 1 deletion(-) 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()) {