diff --git a/app/src/main/java/com/gh/common/util/DirectUtils.kt b/app/src/main/java/com/gh/common/util/DirectUtils.kt index e41525dec9..4f382674bc 100644 --- a/app/src/main/java/com/gh/common/util/DirectUtils.kt +++ b/app/src/main/java/com/gh/common/util/DirectUtils.kt @@ -10,10 +10,12 @@ import com.gh.base.fragment.BaseFragment_TabLayout import com.gh.common.AppExecutor import com.gh.common.util.EntranceUtils.* import com.gh.gamecenter.* +import com.gh.gamecenter.category.CategoryDirectoryActivity import com.gh.gamecenter.download.DownloadFragment.Companion.INDEX_UPDATE import com.gh.gamecenter.entity.CommunityEntity import com.gh.gamecenter.entity.LinkEntity import com.gh.gamecenter.entity.SubjectData +import com.gh.gamecenter.entity.SubjectRecommendEntity import com.gh.gamecenter.eventbus.EBReuse import com.gh.gamecenter.eventbus.EBSkip import com.gh.gamecenter.manager.UserManager @@ -111,6 +113,18 @@ object DirectUtils { path)) } + "category" -> { + context.startActivity(CategoryDirectoryActivity.getIntent(context, linkEntity.link!!, linkEntity.text!!)) + } + + "block" -> { + context.startActivity(BlockActivity.getIntent(context, SubjectRecommendEntity( + link = linkEntity.link, + text = linkEntity.text, + name = linkEntity.name, + display = linkEntity.display!!))) + } + else -> DialogUtils.showLowVersionDialog(context) } } diff --git a/app/src/main/java/com/gh/gamecenter/WebActivity.java b/app/src/main/java/com/gh/gamecenter/WebActivity.java index d8d994ea26..6c6b6d5a15 100644 --- a/app/src/main/java/com/gh/gamecenter/WebActivity.java +++ b/app/src/main/java/com/gh/gamecenter/WebActivity.java @@ -24,7 +24,7 @@ public class WebActivity extends NormalActivity { } @NonNull - public static Intent getCommunityRule(Context context) { + public static Intent getCommunityRuleIntent(Context context) { Bundle bundle = new Bundle(); bundle.putString(EntranceUtils.KEY_GAMENAME, context.getString(R.string.community_rule_title)); bundle.putString(EntranceUtils.KEY_URL, context.getString(R.string.community_rule_url)); 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 3c6c733dd0..d15f3f2970 100644 --- a/app/src/main/java/com/gh/gamecenter/entity/GameDetailEntity.kt +++ b/app/src/main/java/com/gh/gamecenter/entity/GameDetailEntity.kt @@ -75,7 +75,10 @@ class GameDetailEntity( var customColumns: ArrayList = arrayListOf(), @SerializedName("detail_dialog") - var detailDialog: GameEntity.Dialog? = null) : Parcelable { + var detailDialog: GameEntity.Dialog? = null, + + @SerializedName("server_label") + val serverLabel: ColorEntity? = null) : Parcelable { fun getTag(): ArrayList { if (!Config.isShowPlugin(id)) return ArrayList() @@ -130,7 +133,14 @@ class GameDetailEntity( ) : Parcelable { @Parcelize - data class Link(var type: String, var url: String, var value: String) : Parcelable + data class Link( + var type: String, + var url: String, + var value: String, + @SerializedName("community_id") + var communityId: String?, // 社区文章,社区专题 + var display: Display? = null // 板块 + ) : Parcelable @Parcelize data class Title(var icon: String, var value: String, var color: String) : Parcelable { diff --git a/app/src/main/java/com/gh/gamecenter/entity/LinkEntity.kt b/app/src/main/java/com/gh/gamecenter/entity/LinkEntity.kt index ce034b0462..0f9d1cac5e 100644 --- a/app/src/main/java/com/gh/gamecenter/entity/LinkEntity.kt +++ b/app/src/main/java/com/gh/gamecenter/entity/LinkEntity.kt @@ -13,6 +13,8 @@ open class LinkEntity( var type: String? = "", var text: String? = "", @SerializedName("community_id") - var communityId: String?= "", + var communityId: String? = "", @SerializedName("link_community") - var community: CommunityEntity? = CommunityEntity()) : Parcelable \ No newline at end of file + var community: CommunityEntity? = CommunityEntity(), + var display: Display? = null // 板块 +) : Parcelable \ No newline at end of file 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 56c2fba544..af69419b05 100644 --- a/app/src/main/java/com/gh/gamecenter/fragment/SearchToolbarFragment.java +++ b/app/src/main/java/com/gh/gamecenter/fragment/SearchToolbarFragment.java @@ -183,8 +183,9 @@ public class SearchToolbarFragment extends BaseFragment implements View.OnClickL mUnreadViewModel = ViewModelProviders.of(this, new MessageUnreadViewModel.Factory(HaloApp.getInstance().getApplication())).get(MessageUnreadViewModel.class); mUnreadViewModel.getLiveData().observe(this, unreadEntity -> { - if (unreadEntity != null && unreadEntity.getTotal() > 0) { - mMessageUnread.setVisibility(View.VISIBLE); + if (unreadEntity != null) { + mMessageUnread.setVisibility(unreadEntity.getTotal() - unreadEntity.getFans() > 0 + ? View.VISIBLE : View.GONE); } else { mMessageUnread.setVisibility(View.GONE); } 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 d820dc80ea..fb2cce519e 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailFragment.java +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailFragment.java @@ -579,7 +579,7 @@ public class GameDetailFragment extends NormalFragment { mGameInfo.setText(String.format("V%s | %s", apkEntity.getVersion(), apkEntity.getSize())); } - ColorEntity serverLabel = mGameEntity.getServerLabel(); + ColorEntity serverLabel = mGameDetailEntity.getServerLabel(); if (serverLabel != null) { mServerType.setVisibility(View.INVISIBLE); mServerType.setText(serverLabel.getValue()); diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescAdapter.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescAdapter.kt index 6e26bf64cd..fe95cfa768 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/DescAdapter.kt @@ -197,7 +197,7 @@ class DescAdapter(context: Context, val layoutManager = GridLayoutManager(mContext, 3) layoutManager.spanSizeLookup = object : GridLayoutManager.SpanSizeLookup() { override fun getSpanSize(position: Int): Int { - return if (tips!!.title != null) { + return if (tips?.title != null) { if (position == 0) 3 else 1 } else { 1 @@ -229,7 +229,11 @@ class DescAdapter(context: Context, viewHolder.gamedetailPluginLinkTv.text = customColumn.link?.value viewHolder.gamedetailPluginLinkTv.setOnClickListener { DirectUtils.directToLinkPage(mContext, - LinkEntity(type = customColumn.link?.type, link = customColumn.link?.url), + LinkEntity( + type = customColumn.link?.type, + link = customColumn.link?.url, + communityId = customColumn.link?.communityId, + display = customColumn.link?.display), mEntrance, "游戏详情自定义栏目") } diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameDetailPluginAdapter.java b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameDetailPluginAdapter.java index cc74191f0f..0ebaf420cd 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameDetailPluginAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameDetailPluginAdapter.java @@ -20,6 +20,8 @@ import com.lightgame.adapter.BaseRecyclerAdapter; import java.util.ArrayList; +import javax.annotation.Nullable; + /** * Created by khy on 2017/3/27. */ @@ -30,10 +32,11 @@ public class GameDetailPluginAdapter extends BaseRecyclerAdapter tags; + @Nullable private TipsEntity tips; private boolean isOpen; - public GameDetailPluginAdapter(ArrayList tags, TipsEntity tips, boolean isOpen, Context context) { + public GameDetailPluginAdapter(ArrayList tags, @Nullable TipsEntity tips, boolean isOpen, Context context) { super(context); this.tags = tags; this.tips = tips; @@ -44,7 +47,7 @@ public class GameDetailPluginAdapter extends BaseRecyclerAdapter { view = mLayoutInflater.inflate(R.layout.rating_reply_head_item, parent, false) - return RatingReplyHeadItemViewHolder(RatingReplyHeadItemBinding.bind(view)) + RatingReplyHeadItemViewHolder(RatingReplyHeadItemBinding.bind(view)) } ITEM_COMMENT -> { view = mLayoutInflater.inflate(R.layout.rating_comment_item, parent, false) - return RatingCommentItemViewHolder(RatingCommentItemBinding.bind(view)) + RatingCommentItemViewHolder(RatingCommentItemBinding.bind(view)) } ITEM_SECTION_TITLE -> { view = mLayoutInflater.inflate(R.layout.list_section_item, parent, false) - return ListSectionItemViewHolder(view) + ListSectionItemViewHolder(view) } ItemViewType.ITEM_BODY -> { view = mLayoutInflater.inflate(R.layout.rating_reply_item, parent, false) - return RatingReplyItemViewHolder(RatingReplyItemBinding.bind(view)) + RatingReplyItemViewHolder(RatingReplyItemBinding.bind(view)) } ItemViewType.ITEM_FOOTER -> { view = mLayoutInflater.inflate(R.layout.refresh_footerview, parent, false) - return FooterViewHolder(view) + FooterViewHolder(view) } else -> { throw IllegalStateException("item view type not found") @@ -126,6 +127,20 @@ class RatingReplyAdapter(context: Context, game, 0, this@RatingReplyAdapter, entrance, BaseActivity.mergeEntranceAndPath(entrance, path)) + // 显示预约 + if (game.isReservable) { + if (!ReservationRepository.thisGameHasBeenReserved(game.id)) { + text = "预约" + setTextColor(Color.WHITE) + setBackgroundResource(R.drawable.button_reserve) + } else { + text = "已预约" + setTextColor(Color.WHITE) + setBackgroundResource(R.drawable.game_item_btn_pause_dn) + } + return + } + if (Config.isShowDownload(game.id) && "光环助手" != game.name) { visibility = View.VISIBLE } else { diff --git a/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.java b/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.java index 57b0d788fe..e85b8a7668 100644 --- a/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.java +++ b/app/src/main/java/com/gh/gamecenter/personal/PersonalFragment.java @@ -395,10 +395,6 @@ public class PersonalFragment extends BaseFragment implements Observer diff --git a/app/src/main/res/layout/fragment_about.xml b/app/src/main/res/layout/fragment_about.xml index fa70182cf4..d0786467ee 100644 --- a/app/src/main/res/layout/fragment_about.xml +++ b/app/src/main/res/layout/fragment_about.xml @@ -112,6 +112,13 @@ android:src="@drawable/about_more_iocn" /> + + 欢迎畅所欲言,光环助手会努力变得更好 普通反馈 功能收录 - 游戏加速、单机破解,统统可以有 + 游戏加速、单机功能订制收录 发生闪退 出现App自动退出或重启的情况请及时反馈 游戏问题 @@ -277,7 +277,7 @@ 加速跳过 - 单机破解 + 单机功能 替换素材 起一个难忘的名字吧