From 52be8db71f66e99f097029c27c2610941fa3b02b Mon Sep 17 00:00:00 2001 From: kehaoyuan Date: Thu, 25 Jan 2018 17:41:54 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8E=E5=8F=B0=E6=8E=A7=E5=88=B6=E5=85=B3?= =?UTF-8?q?=E9=97=AD=E6=8F=92=E4=BB=B6=E7=9B=B8=E5=85=B3=E7=9A=84=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/gh/common/constant/Config.java | 114 +++++++++++++++++- .../gh/common/util/DetailDownloadUtils.java | 2 +- .../com/gh/common/util/DownloadItemUtils.java | 2 +- .../java/com/gh/gamecenter/MainActivity.java | 42 +++++++ .../gamecenter/adapter/GameNewsAdapter.java | 4 +- .../adapter/InstallFragmentAdapter.java | 1 + .../gamecenter/collection/ArticleAdapter.java | 2 + .../com/gh/gamecenter/entity/ControlEntity.kt | 21 ++++ .../gh/gamecenter/entity/GameDetailEntity.kt | 41 ++++++- .../com/gh/gamecenter/entity/GameEntity.kt | 38 +++++- .../gamecenter/entity/SubjectDigestEntity.kt | 3 + .../fragment/SearchToolbarFragment.java | 15 ++- .../gh/gamecenter/gamedetail/FuLiAdapter.java | 2 + .../gamedetail/GameDetailFragment.java | 1 + .../gamecenter/gamedetail/XinXiAdapter.java | 2 +- .../com/gh/gamecenter/info/InfoAdapter.java | 2 + .../gh/gamecenter/info/OriginalAdapter.java | 2 + .../gh/gamecenter/info/StrategyAdapter.java | 2 + .../newsdetail/NewsDetailAdapter.java | 2 + .../retrofit/service/ApiService.java | 4 + .../subject/SubjectWrapperFragment.java | 8 +- .../fragment/game/GameFragmentAdapter.java | 7 +- .../game/GameNewsSearchResultFragment.java | 2 + 23 files changed, 296 insertions(+), 23 deletions(-) create mode 100644 app/src/main/java/com/gh/gamecenter/entity/ControlEntity.kt 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 b003f6a9ce..5922f76b93 100644 --- a/app/src/main/java/com/gh/common/constant/Config.java +++ b/app/src/main/java/com/gh/common/constant/Config.java @@ -4,8 +4,15 @@ package com.gh.common.constant; import android.content.Context; import android.content.SharedPreferences; import android.preference.PreferenceManager; +import android.text.TextUtils; import com.gh.gamecenter.BuildConfig; +import com.gh.gamecenter.entity.ControlEntity; +import com.gh.gamecenter.entity.NewsEntity; +import com.halo.assistant.HaloApp; +import com.lightgame.utils.Utils; + +import java.util.List; public class Config { @@ -42,9 +49,23 @@ public class Config { public static final String URL_ARTICLE = "http://www.ghzs666.com/article/"; // TODO ghzs/ghzs666 统一 public static final String PATCHES = "patches"; - public static boolean isShow(Context context) { - SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context); - return sp.getBoolean("isShow", true); + public static List mControlData; + + public static boolean isShow() { +// SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context); +// return sp.getBoolean("isShow", true); + if (mControlData == null || mControlData.size() == 0) + return false; + + for (ControlEntity entity : mControlData) { + if ("all".equals(entity.getGame())) { + if (entity.getPluginfy() && "normal".equals(entity.getPolicy()) && filterTime(entity.getTime())) { + return true; + } + } + } + + return false; } public static String getExceptionMsg(Context context) { @@ -56,4 +77,91 @@ public class Config { PreferenceManager.getDefaultSharedPreferences(context).edit().putString("errMsg", errMsg).apply(); } + public static boolean isShowDownload(String gameId) { + if ((TextUtils.isEmpty(gameId) || mControlData == null || mControlData.size() == 0)) + return false; + + for (ControlEntity entity : mControlData) { + if (gameId.equals(entity.getGame())) { + if ("normal".equals(entity.getPolicy()) && filterTime(entity.getTime())) { + return true; + } else { + return false; + } + } else if ("all".equals(entity.getGame())) { + if ("normal".equals(entity.getPolicy()) && filterTime(entity.getTime())) { + return true; + } + } + } + + return false; + } + + + public static boolean isShowPlugin(String gameId) { + if (TextUtils.isEmpty(gameId) || mControlData == null || mControlData.size() == 0) + return false; + + for (ControlEntity entity : mControlData) { + if (gameId.equals(entity.getGame())) { + if (entity.getPluginfy() && filterTime(entity.getTime())) { + return true; + } else { + return false; + } + } else if ("all".equals(entity.getGame())) { + if (entity.getPluginfy() && filterTime(entity.getTime())) { + return true; + } + } + } + + return false; + } + + public static boolean isShowPlugin() { + if (mControlData == null || mControlData.size() == 0) + return false; + + for (ControlEntity entity : mControlData) { + if ("all".equals(entity.getGame())) { + if (entity.getPluginfy() && filterTime(entity.getTime())) { + return true; + } + } + } + + return false; + } + + private static boolean filterTime(ControlEntity.TimeEntity timeEntity) { + long end = timeEntity.getEnd(); + long start = timeEntity.getStart(); + long curTime = Utils.getTime(HaloApp.getInstance().getApplication()); + + if ((start == 0 || curTime >= start) && (end == 0 || curTime <= end)) { + return true; + } + + return false; + } + + public static void setControlData(List controlData) { + mControlData = controlData; + } + + public static void filterPluginArticle(List list) { + if (isShowPlugin() || list == null) return; + + for (int i = 0; i < list.size(); i++) { + NewsEntity newsEntity = list.get(i); + String title = newsEntity.getTitle(); + if (!TextUtils.isEmpty(title) && title.contains("插件")) { + list.remove(i); + i--; + } + } + } + } diff --git a/app/src/main/java/com/gh/common/util/DetailDownloadUtils.java b/app/src/main/java/com/gh/common/util/DetailDownloadUtils.java index ca9ff13546..b254c205f5 100644 --- a/app/src/main/java/com/gh/common/util/DetailDownloadUtils.java +++ b/app/src/main/java/com/gh/common/util/DetailDownloadUtils.java @@ -19,7 +19,7 @@ import com.lightgame.download.DownloadEntity; public class DetailDownloadUtils { public static void detailInitDownload(DetailViewHolder viewHolder, boolean isCheck) { - if (Config.isShow(viewHolder.context)) { + if (Config.isShowDownload(viewHolder.gameEntity.getId())) { viewHolder.downloadBottom.setVisibility(View.VISIBLE); } else { viewHolder.downloadBottom.setVisibility(View.GONE); diff --git a/app/src/main/java/com/gh/common/util/DownloadItemUtils.java b/app/src/main/java/com/gh/common/util/DownloadItemUtils.java index 02599c3a2c..71aabc9563 100644 --- a/app/src/main/java/com/gh/common/util/DownloadItemUtils.java +++ b/app/src/main/java/com/gh/common/util/DownloadItemUtils.java @@ -95,7 +95,7 @@ public class DownloadItemUtils { public static void updateItem(Context context, GameEntity gameEntity, GameViewHolder holder, boolean isShowPlatform) { // 控制是否显示下载按钮 - if (!Config.isShow(context) || context.getString(R.string.app_name).equals(gameEntity.getName())) { + if (!Config.isShowDownload(gameEntity.getId()) || context.getString(R.string.app_name).equals(gameEntity.getName())) { holder.gameDownloadBtn.setVisibility(View.GONE); } else { holder.gameDownloadBtn.setVisibility(View.VISIBLE); diff --git a/app/src/main/java/com/gh/gamecenter/MainActivity.java b/app/src/main/java/com/gh/gamecenter/MainActivity.java index 60bd8bf8ee..3af34d9661 100644 --- a/app/src/main/java/com/gh/gamecenter/MainActivity.java +++ b/app/src/main/java/com/gh/gamecenter/MainActivity.java @@ -44,12 +44,14 @@ import com.gh.download.DownloadManager; import com.gh.gamecenter.db.info.GameInfo; import com.gh.gamecenter.db.info.InstallInfo; import com.gh.gamecenter.entity.ApkEntity; +import com.gh.gamecenter.entity.ControlEntity; import com.gh.gamecenter.entity.GameDigestEntity; import com.gh.gamecenter.entity.GameEntity; import com.gh.gamecenter.entity.GameUpdateEntity; import com.gh.gamecenter.eventbus.EBDownloadStatus; import com.gh.gamecenter.eventbus.EBNetworkState; import com.gh.gamecenter.eventbus.EBPackage; +import com.gh.gamecenter.eventbus.EBReuse; import com.gh.gamecenter.eventbus.EBShowDialog; import com.gh.gamecenter.eventbus.EBSkip; import com.gh.gamecenter.fragment.MainWrapperFragment; @@ -664,6 +666,8 @@ public class MainActivity extends BaseActivity { checkDevice(); // 根据设备信息判断用户是否是新用户 } + getGhzsControlData(); + // 初始化PlatformUtils PlatformUtils.getInstance(getApplicationContext()); @@ -696,6 +700,41 @@ public class MainActivity extends BaseActivity { handler.postDelayed(skipRun, 500); } + private void getGhzsControlData() { + RetrofitManager.getInstance(this) + .getApi() + .getGhzsControlData(PackageUtils.getVersionName(this), HaloApp.getInstance().getChannel()) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe(new Response>() { + @Override + public void onResponse(List response) { +// ControlEntity entity1 = new ControlEntity(); +// entity1.setGame("583501de8ab49ebb2591b3e8"); +// entity1.setPolicy("normal"); +// entity1.setPluginfy(true); +// response.add(entity1); +// +// ControlEntity entity2 = new ControlEntity(); +// entity2.setGame("5757e6de8ab49e08138b458d"); +// entity2.setPolicy("normal"); +// entity2.setPluginfy(false); +// response.add(entity2); +// +// ControlEntity entity = new ControlEntity(); +// entity.setGame("all"); +// entity.setPolicy("normal"); +// entity.setPluginfy(true); +// +// response.add(entity); + + Config.setControlData(response); + + EventBus.getDefault().post(new EBReuse("Refresh")); + } + }); + } + private void checkRetryDownload() { if (!NetworkUtils.isWifiConnected(this)) return; @@ -922,6 +961,9 @@ public class MainActivity extends BaseActivity { public void onEventMainThread(EBNetworkState busNetworkState) { if (busNetworkState.isNetworkConnected()) { checkRetryDownload(); + if (Config.mControlData == null) { + getGhzsControlData(); + } } } diff --git a/app/src/main/java/com/gh/gamecenter/adapter/GameNewsAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/GameNewsAdapter.java index ad8470fe1b..e39d564ace 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/GameNewsAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/GameNewsAdapter.java @@ -11,11 +11,12 @@ import android.view.ViewGroup; import android.view.inputmethod.InputMethodManager; import android.widget.LinearLayout; +import com.gh.common.constant.Config; import com.gh.common.util.DataCollectionUtils; -import com.gh.gamecenter.DataUtils; import com.gh.common.util.DisplayUtils; import com.gh.common.util.NewsUtils; import com.gh.common.util.StringUtils; +import com.gh.gamecenter.DataUtils; import com.gh.gamecenter.NewsDetailActivity; import com.gh.gamecenter.NewsSearchActivity; import com.gh.gamecenter.R; @@ -100,6 +101,7 @@ public class GameNewsAdapter extends BaseRecyclerAdapter { @Override public List call(List list) { // 去除重复数据 + Config.filterPluginArticle(list); return NewsUtils.removeDuplicateData(mNewsList, list); } }) diff --git a/app/src/main/java/com/gh/gamecenter/adapter/InstallFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/adapter/InstallFragmentAdapter.java index 4fd5306edb..e67b843fb8 100644 --- a/app/src/main/java/com/gh/gamecenter/adapter/InstallFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/adapter/InstallFragmentAdapter.java @@ -44,6 +44,7 @@ import com.gh.gamecenter.retrofit.Response; import com.gh.gamecenter.retrofit.RetrofitManager; import com.halo.assistant.HaloApp; import com.lightgame.adapter.BaseRecyclerAdapter; +import com.lightgame.utils.Utils; import java.io.File; import java.util.ArrayList; diff --git a/app/src/main/java/com/gh/gamecenter/collection/ArticleAdapter.java b/app/src/main/java/com/gh/gamecenter/collection/ArticleAdapter.java index ea9b1ddc19..bfbc67d08c 100644 --- a/app/src/main/java/com/gh/gamecenter/collection/ArticleAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/collection/ArticleAdapter.java @@ -10,6 +10,7 @@ import android.widget.LinearLayout; import com.gh.base.OnListClickListener; import com.gh.base.OnRequestCallBackListener; +import com.gh.common.constant.Config; import com.gh.common.constant.ItemViewType; import com.gh.common.util.DisplayUtils; import com.gh.common.util.ImageUtils; @@ -82,6 +83,7 @@ public class ArticleAdapter extends BaseRecyclerAdapter { @Override public void onResponse(List response) { super.onResponse(response); + Config.filterPluginArticle(response); isLoading = false; if (response.size() != 0) { diff --git a/app/src/main/java/com/gh/gamecenter/entity/ControlEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/ControlEntity.kt new file mode 100644 index 0000000000..4bc5231ab9 --- /dev/null +++ b/app/src/main/java/com/gh/gamecenter/entity/ControlEntity.kt @@ -0,0 +1,21 @@ +package com.gh.gamecenter.entity + +/** + * Created by khy on 24/01/18. + */ +class ControlEntity { + + var game: String? = null + + var policy: String? = null + + var pluginfy: Boolean = false + + var time: TimeEntity = TimeEntity() + + class TimeEntity { + var start: Long = 0 + + var end: Long = 0 + } +} \ No newline at end of file diff --git a/app/src/main/java/com/gh/gamecenter/entity/GameDetailEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/GameDetailEntity.kt index 0f414544e5..df7bbe4070 100644 --- a/app/src/main/java/com/gh/gamecenter/entity/GameDetailEntity.kt +++ b/app/src/main/java/com/gh/gamecenter/entity/GameDetailEntity.kt @@ -2,16 +2,18 @@ package com.gh.gamecenter.entity import android.os.Parcel import android.os.Parcelable +import com.gh.common.constant.Config import com.google.gson.annotations.SerializedName -import java.util.* class GameDetailEntity : Parcelable { + var id: String? = null + var serverInfo: List? = null - var tag: ArrayList? = null + private var tag: ArrayList? = null - var tips: TipsEntity? = null + private var tips: TipsEntity? = null var news: List? = null @@ -20,7 +22,7 @@ class GameDetailEntity : Parcelable { var des: String? = null @SerializedName("d_button_add_word") - var downloadAddWord: String? = null + private var downloadAddWord: String? = null @SerializedName("article_types") var articleTypes: ArrayList? = null @@ -52,6 +54,34 @@ class GameDetailEntity : Parcelable { @SerializedName("me") var userData: UserDataEntity? = null + + fun getTag(): ArrayList { + if (!Config.isShowPlugin(id)) return ArrayList() + return tag!! + } + + fun setTag(tag: ArrayList) { + this.tag = tag + } + + fun getTips(): TipsEntity? { + if (!Config.isShowPlugin(id)) return null + return tips!! + } + + fun setTips(tips: TipsEntity) { + this.tips = tips + } + + fun getDownloadAddWord(): String? { + if (!Config.isShowPlugin(id)) return null + return downloadAddWord + } + + fun setDownloadAddWord(downloadAddWord: String) { + this.downloadAddWord = downloadAddWord + } + override fun describeContents(): Int { return 0 } @@ -104,7 +134,8 @@ class GameDetailEntity : Parcelable { const val TAG: String = "GameDetailEntity" - @JvmField val CREATOR: Parcelable.Creator = object : Parcelable.Creator { + @JvmField + val CREATOR: Parcelable.Creator = object : Parcelable.Creator { override fun createFromParcel(source: Parcel): GameDetailEntity { return GameDetailEntity(source) } diff --git a/app/src/main/java/com/gh/gamecenter/entity/GameEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/GameEntity.kt index 56d62e95ce..4f962ef189 100644 --- a/app/src/main/java/com/gh/gamecenter/entity/GameEntity.kt +++ b/app/src/main/java/com/gh/gamecenter/entity/GameEntity.kt @@ -3,9 +3,9 @@ package com.gh.gamecenter.entity import android.os.Parcel import android.os.Parcelable import android.support.v4.util.ArrayMap +import com.gh.common.constant.Config import com.google.gson.annotations.SerializedName import com.lightgame.download.DownloadEntity -import java.util.* class GameEntity : Parcelable { @@ -18,10 +18,13 @@ class GameEntity : Parcelable { var brief: String? = null - var tag: ArrayList? = null + private var tag: ArrayList? = null private var apk: ArrayList? = null + @SerializedName("apk_normal") + private var apkNormal: ArrayList? = null + var collection: ArrayList? = null var slide: String? = null @@ -58,11 +61,20 @@ class GameEntity : Parcelable { var kaifuTimeHint: Long? = null + fun getTag(): ArrayList { + if (tag == null) tag = ArrayList() + if (!Config.isShowPlugin(id)) return ArrayList() + return tag!! + } + + fun setTag(tag: ArrayList?) { + this.tag = tag + } + //TODO 处理getapk.get(0)的问题,蛋疼 fun getApk(): ArrayList { - if (apk == null) { - apk = ArrayList() - } + if (apk == null) apk = ArrayList() + if (!Config.isShowPlugin(id)) return getApkNormal() return apk!! } @@ -70,6 +82,17 @@ class GameEntity : Parcelable { this.apk = apk } + fun getApkNormal(): ArrayList { + if (apkNormal == null) { + apkNormal = ArrayList() + } + return apkNormal!! + } + + fun setApkNormal(apkNormal: ArrayList?) { + this.apkNormal = apkNormal + } + fun getEntryMap(): ArrayMap { return entryMap!! } @@ -95,6 +118,9 @@ class GameEntity : Parcelable { if (apk != null) { gameEntity.setApk(ArrayList(apk!!)) } + if (apkNormal != null) { + gameEntity.setApkNormal(ArrayList(apkNormal!!)) + } if (collection != null) { gameEntity.collection = ArrayList(collection!!) } @@ -124,6 +150,7 @@ class GameEntity : Parcelable { dest.writeString(this.brief) dest.writeStringList(this.tag) dest.writeTypedList(this.apk) + dest.writeTypedList(this.apkNormal) dest.writeTypedList(this.collection) dest.writeString(this.slide) dest.writeParcelable(this.test, flags) @@ -154,6 +181,7 @@ class GameEntity : Parcelable { this.brief = `in`.readString() this.tag = `in`.createStringArrayList() this.apk = `in`.createTypedArrayList(ApkEntity.CREATOR) + this.apkNormal = `in`.createTypedArrayList(ApkEntity.CREATOR) this.collection = `in`.createTypedArrayList(GameCollectionEntity.CREATOR) this.slide = `in`.readString() this.test = `in`.readParcelable(TestEntity::class.java.classLoader) diff --git a/app/src/main/java/com/gh/gamecenter/entity/SubjectDigestEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/SubjectDigestEntity.kt index aaafc98599..53cbe2c975 100644 --- a/app/src/main/java/com/gh/gamecenter/entity/SubjectDigestEntity.kt +++ b/app/src/main/java/com/gh/gamecenter/entity/SubjectDigestEntity.kt @@ -10,6 +10,9 @@ class SubjectDigestEntity { @SerializedName("column_id") var columnId: String? = null + @SerializedName("name_normal") + var nameNormal: String? = null + @SerializedName("column_name") var columnName: String? = null diff --git a/app/src/main/java/com/gh/gamecenter/fragment/SearchToolbarFragment.java b/app/src/main/java/com/gh/gamecenter/fragment/SearchToolbarFragment.java index 3e82c68fb3..98acacdb54 100644 --- a/app/src/main/java/com/gh/gamecenter/fragment/SearchToolbarFragment.java +++ b/app/src/main/java/com/gh/gamecenter/fragment/SearchToolbarFragment.java @@ -10,16 +10,17 @@ import android.view.View; import android.view.animation.AlphaAnimation; import android.view.animation.Animation; import android.view.animation.ScaleAnimation; +import android.widget.LinearLayout; import android.widget.TextView; import com.gh.base.SearchBarHint; import com.gh.base.fragment.BaseFragment; import com.gh.common.constant.Config; import com.gh.common.util.DataCollectionUtils; -import com.gh.gamecenter.DataUtils; import com.gh.common.util.EntranceUtils; import com.gh.download.DownloadManager; import com.gh.gamecenter.ConcernActivity; +import com.gh.gamecenter.DataUtils; import com.gh.gamecenter.DownloadManagerActivity; import com.gh.gamecenter.R; import com.gh.gamecenter.SearchActivity; @@ -178,10 +179,13 @@ public class SearchToolbarFragment extends BaseFragment implements View.OnClickL view.findViewById(R.id.actionbar_notification).setOnClickListener(this); view.findViewById(R.id.actionbar_search_rl).setOnClickListener(this); - if (Config.isShow(getActivity())) { + LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) mDownloadView.getLayoutParams(); + if (Config.isShow()) { mDownloadView.setVisibility(View.VISIBLE); + layoutParams.weight = 1.3f; } else { - mDownloadView.setVisibility(View.GONE); + mDownloadView.setVisibility(View.INVISIBLE); + layoutParams.weight = 0.4f; } int updateSize = PackageManager.getUpdateListSize(); @@ -240,10 +244,13 @@ public class SearchToolbarFragment extends BaseFragment implements View.OnClickL @Subscribe(threadMode = ThreadMode.MAIN) public void onEventMainThread(EBReuse reuse) { if ("Refresh".equals(reuse.getType())) { - if (Config.isShow(getActivity())) { + LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) mDownloadView.getLayoutParams(); + if (Config.isShow()) { mDownloadView.setVisibility(View.VISIBLE); + layoutParams.weight = 1.3f; } else { mDownloadView.setVisibility(View.GONE); + layoutParams.weight = 0.4f; } } } diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/FuLiAdapter.java b/app/src/main/java/com/gh/gamecenter/gamedetail/FuLiAdapter.java index d7931b23df..94c783b01f 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/FuLiAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/FuLiAdapter.java @@ -14,6 +14,7 @@ import android.widget.LinearLayout; import android.widget.RelativeLayout; import com.gh.base.OnListClickListener; +import com.gh.common.constant.Config; import com.gh.common.util.DisplayUtils; import com.gh.common.util.LibaoUtils; import com.gh.common.util.NewsUtils; @@ -232,6 +233,7 @@ public class FuLiAdapter extends BaseRecyclerAdapter { .subscribe(new Response>() { @Override public void onResponse(List response) { + Config.filterPluginArticle(response); GameDetailContact contact = mGameDetailEntity.getContact(); if (!mGameEntity.isLibaoExists() && response.size() == 0 && TextUtils.isEmpty(mGameDetailEntity.getFulishuoming()) diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailFragment.java b/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailFragment.java index c705a0ebc8..ce1478df54 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailFragment.java +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailFragment.java @@ -370,6 +370,7 @@ public class GameDetailFragment extends NormalFragment implements View.OnTouchLi @Override public void onResponse(GameDetailEntity response) { + response.setId(mGameId); mGameDetailEntity = response; // 过滤过期公告 diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/XinXiAdapter.java b/app/src/main/java/com/gh/gamecenter/gamedetail/XinXiAdapter.java index 06bddcba67..3b1e88c341 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/XinXiAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/XinXiAdapter.java @@ -11,7 +11,6 @@ import android.view.ViewGroup; import com.gh.common.util.ApkActiveUtils; import com.gh.common.util.DataCollectionUtils; -import com.gh.gamecenter.DataUtils; import com.gh.common.util.DownloadItemUtils; import com.gh.common.util.GameViewUtils; import com.gh.common.util.ImageUtils; @@ -20,6 +19,7 @@ import com.gh.common.util.StringUtils; import com.gh.common.view.HorizontalItemDecoration; import com.gh.common.view.MarqueeView; import com.gh.download.DownloadManager; +import com.gh.gamecenter.DataUtils; import com.gh.gamecenter.GameDetailActivity; import com.gh.gamecenter.NewsDetailActivity; import com.gh.gamecenter.R; diff --git a/app/src/main/java/com/gh/gamecenter/info/InfoAdapter.java b/app/src/main/java/com/gh/gamecenter/info/InfoAdapter.java index a35e190f0c..b729425388 100644 --- a/app/src/main/java/com/gh/gamecenter/info/InfoAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/info/InfoAdapter.java @@ -10,6 +10,7 @@ import android.widget.LinearLayout; import com.gh.base.OnListClickListener; import com.gh.base.OnRequestCallBackListener; +import com.gh.common.constant.Config; import com.gh.common.constant.ItemViewType; import com.gh.common.util.DisplayUtils; import com.gh.common.util.ImageUtils; @@ -244,6 +245,7 @@ class InfoAdapter extends BaseRecyclerAdapter { @Override public List call(List list) { // 去掉重复数据 + Config.filterPluginArticle(list); return NewsUtils.removeDuplicateData(newsList, list); } }) diff --git a/app/src/main/java/com/gh/gamecenter/info/OriginalAdapter.java b/app/src/main/java/com/gh/gamecenter/info/OriginalAdapter.java index be83162886..35fea9496f 100644 --- a/app/src/main/java/com/gh/gamecenter/info/OriginalAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/info/OriginalAdapter.java @@ -10,6 +10,7 @@ import android.widget.LinearLayout; import com.gh.base.OnListClickListener; import com.gh.base.OnRequestCallBackListener; +import com.gh.common.constant.Config; import com.gh.common.constant.ItemViewType; import com.gh.common.util.DisplayUtils; import com.gh.common.util.ImageUtils; @@ -234,6 +235,7 @@ class OriginalAdapter extends BaseRecyclerAdapter { .map(new Func1, List>() { @Override public List call(List list) { + Config.filterPluginArticle(list); // 去掉重复数据 return NewsUtils.removeDuplicateData(newsList, list); } diff --git a/app/src/main/java/com/gh/gamecenter/info/StrategyAdapter.java b/app/src/main/java/com/gh/gamecenter/info/StrategyAdapter.java index 58f7245450..9f55718310 100644 --- a/app/src/main/java/com/gh/gamecenter/info/StrategyAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/info/StrategyAdapter.java @@ -9,6 +9,7 @@ import android.view.ViewGroup; import com.gh.base.OnListClickListener; import com.gh.base.OnRequestCallBackListener; +import com.gh.common.constant.Config; import com.gh.common.util.NewsUtils; import com.gh.gamecenter.R; import com.gh.gamecenter.adapter.viewholder.NewsFooterViewHolder; @@ -126,6 +127,7 @@ class StrategyAdapter extends BaseRecyclerAdapter { .map(new Func1, List>() { @Override public List call(List newsEntities) { + Config.filterPluginArticle(newsEntities); return NewsUtils.removeDuplicateData(mNewsList, newsEntities); } diff --git a/app/src/main/java/com/gh/gamecenter/newsdetail/NewsDetailAdapter.java b/app/src/main/java/com/gh/gamecenter/newsdetail/NewsDetailAdapter.java index 4e825c779e..a1ca918466 100644 --- a/app/src/main/java/com/gh/gamecenter/newsdetail/NewsDetailAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/newsdetail/NewsDetailAdapter.java @@ -21,6 +21,7 @@ import android.widget.LinearLayout; import android.widget.TextView; import com.gh.base.OnRequestCallBackListener; +import com.gh.common.constant.Config; import com.gh.common.util.CheckLoginUtils; import com.gh.common.util.CommentUtils; import com.gh.common.util.ConcernUtils; @@ -575,6 +576,7 @@ public class NewsDetailAdapter extends BaseRecyclerAdapter { .subscribe(new Response>() { @Override public void onResponse(List response) { + Config.filterPluginArticle(response); // 去除与当前文章重复的文章 for (int i = 0, size = response.size(); i < size; i++) { if (mNewsDetailEntity.getId().equals(response.get(i).getId())) { diff --git a/app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java b/app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java index 69da9f9e20..b357903fdf 100644 --- a/app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java +++ b/app/src/main/java/com/gh/gamecenter/retrofit/service/ApiService.java @@ -12,6 +12,7 @@ import com.gh.gamecenter.entity.AppEntity; import com.gh.gamecenter.entity.CommentEntity; import com.gh.gamecenter.entity.CommentnumEntity; import com.gh.gamecenter.entity.ConcernEntity; +import com.gh.gamecenter.entity.ControlEntity; import com.gh.gamecenter.entity.GameDetailEntity; import com.gh.gamecenter.entity.GameDigestEntity; import com.gh.gamecenter.entity.GameEntity; @@ -882,4 +883,7 @@ public interface ApiService { */ @GET("communities/default") Observable getDefaultCommunity(); + + @GET("support/setting/download") + Observable> getGhzsControlData(@Query("version") String version, @Query("channel") String channel); } \ No newline at end of file diff --git a/app/src/main/java/com/gh/gamecenter/subject/SubjectWrapperFragment.java b/app/src/main/java/com/gh/gamecenter/subject/SubjectWrapperFragment.java index 9b4c2069d2..9e060f6b05 100644 --- a/app/src/main/java/com/gh/gamecenter/subject/SubjectWrapperFragment.java +++ b/app/src/main/java/com/gh/gamecenter/subject/SubjectWrapperFragment.java @@ -9,6 +9,7 @@ import android.text.TextUtils; import android.view.View; import android.widget.LinearLayout; +import com.gh.common.constant.Config; import com.gh.common.util.EntranceUtils; import com.gh.gamecenter.R; import com.gh.gamecenter.entity.SubjectHeadEntity; @@ -59,7 +60,9 @@ public class SubjectWrapperFragment extends NormalFragment { mId = args.getString(EntranceUtils.KEY_ID); mName = args.getString(EntranceUtils.KEY_NAME); - + if (!TextUtils.isEmpty(mName) && !Config.isShowPlugin()) { + mName = mName.replace("插件", "游戏"); + } setNavigationTitle(mName); if (TextUtils.isEmpty(mName) && !TextUtils.isEmpty(mId)) { @@ -90,6 +93,9 @@ public class SubjectWrapperFragment extends NormalFragment { public void onResponse(JSONObject response) { try { String name = response.getString("name"); + if (!TextUtils.isEmpty(name) && !Config.isShowPlugin()) { + name = name.replace("插件", "游戏"); + } setNavigationTitle(name); getArguments().putString(EntranceUtils.KEY_NAME, name); diff --git a/app/src/main/java/com/halo/assistant/fragment/game/GameFragmentAdapter.java b/app/src/main/java/com/halo/assistant/fragment/game/GameFragmentAdapter.java index 14fafc3845..39899c9430 100644 --- a/app/src/main/java/com/halo/assistant/fragment/game/GameFragmentAdapter.java +++ b/app/src/main/java/com/halo/assistant/fragment/game/GameFragmentAdapter.java @@ -22,6 +22,7 @@ import android.widget.TextView; import com.facebook.drawee.view.SimpleDraweeView; import com.gh.base.OnRequestCallBackListener; +import com.gh.common.constant.Config; import com.gh.common.constant.ItemViewType; import com.gh.common.util.ApkActiveUtils; import com.gh.common.util.DataCollectionUtils; @@ -711,7 +712,11 @@ public class GameFragmentAdapter extends BaseRecyclerAdapter { // if (mSubjectDigestList.size() >= 5 && i < 5) { ImageUtils.Companion.display(subjectIcon, mSubjectDigestList.get(i).getIcon()); - subjectName.setText(mSubjectDigestList.get(i).getName()); + if (Config.isShowPlugin()) { + subjectName.setText(mSubjectDigestList.get(i).getName()); + } else { + subjectName.setText(mSubjectDigestList.get(i).getNameNormal()); + } } if (i == 3) { diff --git a/app/src/main/java/com/halo/assistant/fragment/game/GameNewsSearchResultFragment.java b/app/src/main/java/com/halo/assistant/fragment/game/GameNewsSearchResultFragment.java index 36847cf829..4ca7d2f830 100644 --- a/app/src/main/java/com/halo/assistant/fragment/game/GameNewsSearchResultFragment.java +++ b/app/src/main/java/com/halo/assistant/fragment/game/GameNewsSearchResultFragment.java @@ -12,6 +12,7 @@ import android.widget.EditText; import android.widget.LinearLayout; import android.widget.TextView; +import com.gh.common.constant.Config; import com.gh.common.util.DataCollectionUtils; import com.gh.common.util.EntranceUtils; import com.gh.common.util.NewsUtils; @@ -173,6 +174,7 @@ public class GameNewsSearchResultFragment extends NormalFragment { .map(new Func1, List>() { @Override public List call(List list) { + Config.filterPluginArticle(list); // 去掉重复数据 return NewsUtils.removeDuplicateData(mNewsEntities, list); }