From 721d5acc1d6615f28d598d3598d531cc5fdb40ce Mon Sep 17 00:00:00 2001 From: juntao Date: Mon, 29 Mar 2021 18:33:15 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E5=AE=8C=E6=88=90=E5=BC=80=E6=B5=8B?= =?UTF-8?q?=E8=A1=A8=E5=8A=9F=E8=83=BD0329=E6=B5=8B=E8=AF=95=20https://git?= =?UTF-8?q?.ghzs.com/pm/halo-app-issues/-/issues/1134?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/java/com/gh/common/view/FilterView.kt | 13 ++++++++++--- .../gamecenter/servers/GameServersTestFragment.kt | 8 +++++--- app/src/main/res/layout/fragment_kaifu_content.xml | 3 ++- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/com/gh/common/view/FilterView.kt b/app/src/main/java/com/gh/common/view/FilterView.kt index ff48ade206..bd3e8fdf60 100644 --- a/app/src/main/java/com/gh/common/view/FilterView.kt +++ b/app/src/main/java/com/gh/common/view/FilterView.kt @@ -37,6 +37,7 @@ class FilterView @JvmOverloads constructor(context: Context, attrs: AttributeSet } fun setupFilter(mainFilterList: ArrayList, + defaultSelectedMainFilter: String? = null, subFilterList: ArrayList, subFilterText: String, mainFilterSelectedCallback: ((String) -> Unit), @@ -52,7 +53,10 @@ class FilterView @JvmOverloads constructor(context: Context, attrs: AttributeSet } mBinding?.filterRecyclerView?.layoutManager = LinearLayoutManager(context, RecyclerView.HORIZONTAL, false) - mBinding?.filterRecyclerView?.adapter = FilterAdapter(context, mMainFilterList) { + mBinding?.filterRecyclerView?.adapter = FilterAdapter( + context, + mMainFilterList, + defaultSelectedMainFilter ?: mainFilterList.first()) { mainFilterSelectedCallback.invoke(it) } } @@ -146,10 +150,13 @@ class FilterView @JvmOverloads constructor(context: Context, attrs: AttributeSet popupWindow.showAsDropDown(containerView, 0, 0) } - class FilterAdapter(val context: Context, private val mFilterList: ArrayList, private val mClickCallback: (String) -> Unit) + class FilterAdapter(val context: Context, + private val mFilterList: ArrayList, + private val mDefaultSelectedFilter: String, + private val mClickCallback: (String) -> Unit) : RecyclerView.Adapter() { - private var mSelectedFilter = "" + private var mSelectedFilter = mDefaultSelectedFilter override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): FilterViewHolder { return FilterViewHolder(ItemFilterBinding.inflate(LayoutInflater.from(context))) diff --git a/app/src/main/java/com/gh/gamecenter/servers/GameServersTestFragment.kt b/app/src/main/java/com/gh/gamecenter/servers/GameServersTestFragment.kt index 25ded1a3e8..92a982c0dd 100644 --- a/app/src/main/java/com/gh/gamecenter/servers/GameServersTestFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/servers/GameServersTestFragment.kt @@ -105,9 +105,10 @@ class GameServersTestFragment : NormalFragment() { mShouldScrollToToday = false scrollToDay("今天") } - mSubBinding?.recyclerView?.visibility = View.VISIBLE - - hideError() + mSubBinding?.root?.post { + mSubBinding?.recyclerView?.visibility = View.VISIBLE + hideError() + } } }) mViewModel?.loadStatusLiveData?.observe(this, Observer { isSuccess -> @@ -186,6 +187,7 @@ class GameServersTestFragment : NormalFragment() { mBinding?.filterView?.visibility = View.VISIBLE mBinding?.filterView?.setupFilter( mViewModel!!.dayList, + mViewModel!!.dayList[2], mViewModel!!.typeList, "测试状态", { day -> diff --git a/app/src/main/res/layout/fragment_kaifu_content.xml b/app/src/main/res/layout/fragment_kaifu_content.xml index 4ab36333fd..5f59b360de 100644 --- a/app/src/main/res/layout/fragment_kaifu_content.xml +++ b/app/src/main/res/layout/fragment_kaifu_content.xml @@ -6,7 +6,8 @@ + android:layout_height="match_parent" + android:visibility="gone" /> Date: Mon, 29 Mar 2021 20:54:34 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=AE=8C=E6=88=90=E5=BC=80=E6=B5=8B?= =?UTF-8?q?=E8=A1=A8=E5=8A=9F=E8=83=BD(0329=E6=B5=8B=E8=AF=952)=20https://?= =?UTF-8?q?git.ghzs.com/pm/halo-app-issues/-/issues/1134?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/gh/common/databind/BindingAdapters.java | 4 +++- app/src/main/java/com/gh/common/view/FilterView.kt | 7 ++++--- app/src/main/java/com/gh/gamecenter/entity/GameEntity.kt | 3 +++ .../com/gh/gamecenter/servers/GameServersTestAdapter.kt | 2 +- .../com/gh/gamecenter/servers/GameServersTestViewModel.kt | 4 +--- app/src/main/res/layout/fragment_kaifu_content.xml | 3 +-- app/src/main/res/layout/layout_filter_size.xml | 2 +- 7 files changed, 14 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/com/gh/common/databind/BindingAdapters.java b/app/src/main/java/com/gh/common/databind/BindingAdapters.java index 51ad3a1654..c7814e90a4 100644 --- a/app/src/main/java/com/gh/common/databind/BindingAdapters.java +++ b/app/src/main/java/com/gh/common/databind/BindingAdapters.java @@ -734,7 +734,9 @@ public class BindingAdapters { try { ArrayList tagStyle = new ArrayList<>(); TestEntity test = gameEntity.getTest(); - if (test != null) { + if (test != null + // 这个判断用于开测表列表 + && !"type_tag".equals(test.getGameTag())) { TagStyleEntity typeTag = new TagStyleEntity(); typeTag.setName(test.getType() != null ? test.getType() : ""); typeTag.setBackground("FFF3E0"); diff --git a/app/src/main/java/com/gh/common/view/FilterView.kt b/app/src/main/java/com/gh/common/view/FilterView.kt index bd3e8fdf60..2a37fd5e8f 100644 --- a/app/src/main/java/com/gh/common/view/FilterView.kt +++ b/app/src/main/java/com/gh/common/view/FilterView.kt @@ -47,8 +47,8 @@ class FilterView @JvmOverloads constructor(context: Context, attrs: AttributeSet mBinding?.subFilterTv?.text = subFilterText mBinding?.subFilterTv?.setOnClickListener { - showSelectionPopupWindow(this, it as TextView, mSelectedSubFilter) { - subFilterSelectedCallback.invoke(it) + showSelectionPopupWindow(this, it as TextView, mSelectedSubFilter) { selectedText -> + subFilterSelectedCallback.invoke(selectedText) } } @@ -147,7 +147,8 @@ class FilterView @JvmOverloads constructor(context: Context, attrs: AttributeSet popupWindow.isTouchable = true popupWindow.isFocusable = true popupWindow.animationStyle = 0 - popupWindow.showAsDropDown(containerView, 0, 0) + // 在模拟器上会有 1dp 的位移 + popupWindow.showAsDropDown(containerView, 0, -3) } class FilterAdapter(val context: Context, 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 6df133fef0..6934ce24fe 100644 --- a/app/src/main/java/com/gh/gamecenter/entity/GameEntity.kt +++ b/app/src/main/java/com/gh/gamecenter/entity/GameEntity.kt @@ -262,6 +262,9 @@ data class GameEntity( @IgnoredOnParcel var testTime: String? = "" // 开测时间 + @IgnoredOnParcel + var briefStyle: String? = "" // 本地处理得到的简介显示配置 + @IgnoredOnParcel var shouldShowNameSuffix = true // 专题级开关,只要这个开关为 false,实体有 suffix 也不显示 diff --git a/app/src/main/java/com/gh/gamecenter/servers/GameServersTestAdapter.kt b/app/src/main/java/com/gh/gamecenter/servers/GameServersTestAdapter.kt index ec0dc76cd5..d1c2e0fc0b 100644 --- a/app/src/main/java/com/gh/gamecenter/servers/GameServersTestAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/servers/GameServersTestAdapter.kt @@ -123,7 +123,7 @@ class GameServersTestAdapter(context: Context, StringUtils.buildString(mEntrance, "+(开服表[", viewHolder.adapterPosition.toString(), "])"), StringUtils.buildString("开服表:", gameEntity.name), mExposureEventArray[viewHolder.adapterPosition]) - DownloadItemUtils.updateItem(mContext, gameEntity, GameViewHolder(viewHolder.binding), true) + DownloadItemUtils.updateItem(mContext, gameEntity, GameViewHolder(viewHolder.binding), true, gameEntity.briefStyle) viewHolder.itemView.setOnClickListener { GameDetailActivity.startGameDetailActivity(mContext, gameEntity, StringUtils.buildString(mEntrance, "+(开服表[", viewHolder.adapterPosition.toString(), "])"), diff --git a/app/src/main/java/com/gh/gamecenter/servers/GameServersTestViewModel.kt b/app/src/main/java/com/gh/gamecenter/servers/GameServersTestViewModel.kt index 10f353c47a..129e2f061f 100644 --- a/app/src/main/java/com/gh/gamecenter/servers/GameServersTestViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/servers/GameServersTestViewModel.kt @@ -177,9 +177,7 @@ class GameServersTestViewModel(application: Application, private val mColumnId: if (filter == ALL || game.serverType == filter) { ApkActiveUtils.filterHideApk(game) // 过滤隐藏apk - if (game.test?.gameTag == "type_tag") { - game.test = null - } + game.briefStyle = game.test?.gameInfo game.sequence = index game.testTime = testTimeInHumanReadableFormat diff --git a/app/src/main/res/layout/fragment_kaifu_content.xml b/app/src/main/res/layout/fragment_kaifu_content.xml index 5f59b360de..4ab36333fd 100644 --- a/app/src/main/res/layout/fragment_kaifu_content.xml +++ b/app/src/main/res/layout/fragment_kaifu_content.xml @@ -6,8 +6,7 @@ + android:layout_height="match_parent" />