From 486e9ae0c52b387ac2eab68809c19ef1b2a43afb Mon Sep 17 00:00:00 2001 From: jack <1484288157@qq.com> Date: Sun, 26 Sep 2021 10:37:32 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E5=85=89=E7=8E=AF=E5=8A=A9=E6=89=8BV5?= =?UTF-8?q?.3.0=E3=80=91=E9=80=9A=E7=94=A8=E9=93=BE=E6=8E=A5=E5=86=85?= =?UTF-8?q?=E5=AE=B9=E5=90=88=E9=9B=86-=E6=95=B0=E6=8D=AE=E5=9F=8B?= =?UTF-8?q?=E7=82=B9(=E6=B5=8B=E8=AF=95=E8=A1=A5=E5=85=85=EF=BC=9A3(1)(3),?= =?UTF-8?q?4)=20https://git.ghzs.com/pm/halo-app-issues/-/issues/1474?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/gh/common/util/DirectUtils.kt | 6 ++++- .../com/gh/common/util/EntranceUtils.java | 2 ++ .../com/gh/gamecenter/entity/LinkEntity.kt | 6 ++++- .../gh/gamecenter/game/GameFragmentAdapter.kt | 22 ++++++++++++++----- .../detail/CommonCollectionDetailActivity.kt | 4 ++++ .../detail/CommonCollectionDetailAdapter.kt | 6 +++-- .../detail/CommonCollectionDetailFragment.kt | 15 ++++++++++--- .../LegacyHomeFragmentAdapterAssistant.kt | 2 ++ 8 files changed, 51 insertions(+), 12 deletions(-) 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 6c73bf3a17..aaa60d7237 100644 --- a/app/src/main/java/com/gh/common/util/DirectUtils.kt +++ b/app/src/main/java/com/gh/common/util/DirectUtils.kt @@ -352,7 +352,7 @@ object DirectUtils { "halo_tab" -> directToPersonalTab(context) - "common_collection" -> directToCommonCollectionDetail(context, linkEntity.link ?: "", entrance) + "common_collection" -> directToCommonCollectionDetail(context, linkEntity.link ?: "", linkEntity.blockId, linkEntity.blockName, entrance) //"h5_game_center" -> directLetoGameCenter(context) @@ -1632,11 +1632,15 @@ object DirectUtils { fun directToCommonCollectionDetail( context: Context, collectionId: String, + blockId: String = "", + blockName: String = "", entrance: String = "" ) { if (collectionId.isEmpty()) return val bundle = Bundle() bundle.putString(KEY_TO, CommonCollectionDetailActivity::class.java.name) + bundle.putString(KEY_BLOCK_ID, blockId) + bundle.putString(KEY_BLOCK_NAME, blockName) bundle.putString(KEY_ENTRANCE, entrance) bundle.putString(KEY_COLLECTION_ID, collectionId) jumpActivity(context, bundle) diff --git a/app/src/main/java/com/gh/common/util/EntranceUtils.java b/app/src/main/java/com/gh/common/util/EntranceUtils.java index 383c2da30c..b3acef7d19 100644 --- a/app/src/main/java/com/gh/common/util/EntranceUtils.java +++ b/app/src/main/java/com/gh/common/util/EntranceUtils.java @@ -247,6 +247,8 @@ public class EntranceUtils { public static final String KEY_COMMENT_COUNT = "comment_count"; public static final String KEY_IS_COMMENT_CONVERSATION = "is_comment_conversation"; public static final String KEY_PARENT_TAG = "parent_tag"; + public static final String KEY_BLOCK_ID = "block_id"; + public static final String KEY_BLOCK_NAME = "block_name"; public static void jumpActivity(Context context, Bundle bundle) { bundle.putBoolean(KEY_REQUIRE_REDIRECT, true); 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 397cfadfa1..4650a94c52 100644 --- a/app/src/main/java/com/gh/gamecenter/entity/LinkEntity.kt +++ b/app/src/main/java/com/gh/gamecenter/entity/LinkEntity.kt @@ -33,5 +33,9 @@ open class LinkEntity( @SerializedName("added_content_1") var addedContent1: String = "", @SerializedName("added_content_2") - var addedContent2: String = "" + var addedContent2: String = "", + + //本地字段 + var blockId: String = "", + var blockName: String = "" ) : Parcelable \ No newline at end of file diff --git a/app/src/main/java/com/gh/gamecenter/game/GameFragmentAdapter.kt b/app/src/main/java/com/gh/gamecenter/game/GameFragmentAdapter.kt index f20f3f195a..250aff4cbf 100644 --- a/app/src/main/java/com/gh/gamecenter/game/GameFragmentAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/game/GameFragmentAdapter.kt @@ -302,7 +302,8 @@ class GameFragmentAdapter( "板块内容列表", blockData?.link ?: "", blockData?.name ?: "", - clickClosure) { subPosition, linkEntity -> + clickClosure + ) { subPosition, linkEntity -> mItemDataList[position].exposureEventList?.add( ExposureEvent.createEventWithSourceConcat( GameEntity( @@ -613,8 +614,16 @@ class GameFragmentAdapter( // else -> DialogUtils.showLowVersionDialog(mContext) entity.type == "common_collection" -> { val linkEntity = - LinkEntity(name = entity.name, link = entity.link, text = entity.text, type = entity.type, display = entity.display) - DirectUtils.directToLinkPage(mContext, linkEntity, "(推荐入口)", "") + LinkEntity( + name = entity.name, + link = entity.link, + text = entity.text, + type = entity.type, + display = entity.display, + blockId = blockData?.link ?: "", + blockName = blockData?.name ?: "" + ) + DirectUtils.directToLinkPage(mContext, linkEntity, "板块推荐入口", "") NewLogUtils.logAccessToCommonCollectionDetail( entity.link ?: "", entity.text ?: "", @@ -790,14 +799,16 @@ class GameFragmentAdapter( DirectUtils.directToColumnCollection(mContext, column.id!!, -1, "(推荐入口)") } "common_collection" -> { + val blockData = mViewModel.blockData mContext.startActivity( CommonCollectionDetailActivity.getIntent( mContext, column.id ?: "", + blockData?.link ?: "", + blockData?.name ?: "", "板块内容列表" ) ) - val blockData = mViewModel.blockData NewLogUtils.logAccessToCommonCollectionDetail( column.id ?: "", column.name ?: "", @@ -872,7 +883,8 @@ class GameFragmentAdapter( fun notifyChildItem(position: Int) { if (getItemViewType(position) == ItemViewType.VERTICAL_SLIDE_ITEM || - getItemViewType(position) == ItemViewType.RANK_COLLECTION) { + getItemViewType(position) == ItemViewType.RANK_COLLECTION + ) { val view = layoutManager?.findViewByPosition(position) val recyclerView = view?.findViewById(R.id.recycler_view) if (recyclerView?.adapter is RankCollectionAdapter) { diff --git a/app/src/main/java/com/gh/gamecenter/game/commoncollection/detail/CommonCollectionDetailActivity.kt b/app/src/main/java/com/gh/gamecenter/game/commoncollection/detail/CommonCollectionDetailActivity.kt index 8e8bf823da..8c0d645605 100644 --- a/app/src/main/java/com/gh/gamecenter/game/commoncollection/detail/CommonCollectionDetailActivity.kt +++ b/app/src/main/java/com/gh/gamecenter/game/commoncollection/detail/CommonCollectionDetailActivity.kt @@ -17,10 +17,14 @@ class CommonCollectionDetailActivity : NormalActivity() { fun getIntent( context: Context, collectionId: String, + blockId: String = "", + blockName: String = "", entrance: String = "" ): Intent { val bundle = Bundle() bundle.putString(EntranceUtils.KEY_ENTRANCE, entrance) + bundle.putString(EntranceUtils.KEY_BLOCK_ID, blockId) + bundle.putString(EntranceUtils.KEY_BLOCK_NAME, blockName) bundle.putString(EntranceUtils.KEY_COLLECTION_ID, collectionId) return getTargetIntent(context, CommonCollectionDetailActivity::class.java, CommonCollectionDetailFragment::class.java, bundle) } diff --git a/app/src/main/java/com/gh/gamecenter/game/commoncollection/detail/CommonCollectionDetailAdapter.kt b/app/src/main/java/com/gh/gamecenter/game/commoncollection/detail/CommonCollectionDetailAdapter.kt index 1cb366bf01..92b115d133 100644 --- a/app/src/main/java/com/gh/gamecenter/game/commoncollection/detail/CommonCollectionDetailAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/game/commoncollection/detail/CommonCollectionDetailAdapter.kt @@ -22,6 +22,8 @@ class CommonCollectionDetailAdapter( context: Context, var collectionStyle: String, val mViewModel: CommonCollectionDetailViewModel, + val mBlockId: String, + val mBlockName: String, val mEntrance: String ) : ListAdapter(context), IExposable { @@ -48,8 +50,8 @@ class CommonCollectionDetailAdapter( NewLogUtils.logCommonCollectionClick( commonLinkCollection?.id ?: "", commonLinkCollection?.name ?: "", - "", - "", + mBlockId, + mBlockName, mEntrance, "合集详情", linkEntity.title ?: "", diff --git a/app/src/main/java/com/gh/gamecenter/game/commoncollection/detail/CommonCollectionDetailFragment.kt b/app/src/main/java/com/gh/gamecenter/game/commoncollection/detail/CommonCollectionDetailFragment.kt index b663a72b39..52e38fba45 100644 --- a/app/src/main/java/com/gh/gamecenter/game/commoncollection/detail/CommonCollectionDetailFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/game/commoncollection/detail/CommonCollectionDetailFragment.kt @@ -1,5 +1,6 @@ package com.gh.gamecenter.game.commoncollection.detail +import android.os.Bundle import androidx.recyclerview.widget.RecyclerView import com.gh.common.exposure.ExposureListener import com.gh.common.exposure.IExposable @@ -18,12 +19,20 @@ class CommonCollectionDetailFragment : LazyListFragment { if (mAdapter == null) { - mAdapter = CommonCollectionDetailAdapter(requireContext(), mCollectionStyle, mViewModel, mEntrance) + mAdapter = CommonCollectionDetailAdapter(requireContext(), mCollectionStyle, mViewModel, mBlockId, mBlockName, mEntrance) } return mAdapter!! } @@ -72,8 +81,8 @@ class CommonCollectionDetailFragment : LazyListFragment