From 4cf3aabe89e285c4af0b6176be356329f32b12ec Mon Sep 17 00:00:00 2001 From: Kai DeLorenzo Date: Wed, 5 Jun 2024 18:57:43 -0500 Subject: [PATCH] removed additional hardcoding --- .../fragment/mainactivity/main/ChannelFragment.kt | 14 ++++++++++---- .../mainactivity/main/PostDetailFragment.kt | 3 ++- .../views/adapters/ChannelViewPagerAdapter.kt | 4 ++++ 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/ChannelFragment.kt b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/ChannelFragment.kt index 8015574e..97165845 100644 --- a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/ChannelFragment.kt +++ b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/ChannelFragment.kt @@ -95,8 +95,8 @@ class ChannelFragment : MainFragment() { _view = null } - fun selectTab(selectedTabIndex: Int) { - _view?.selectTab(selectedTabIndex) + fun selectTab(tab: ChannelTab) { + _view?.selectTab(tab) } @SuppressLint("ViewConstructor") @@ -268,6 +268,10 @@ class ChannelFragment : MainFragment() { setLoading(true) } + fun selectTab(tab: ChannelTab) { + (_viewPager.adapter as ChannelViewPagerAdapter).getTabPosition(tab) + } + fun cleanup() { _taskLoadPolycentricProfile.cancel() _taskGetChannel.cancel() @@ -560,18 +564,20 @@ class ChannelFragment : MainFragment() { (fragment as IChannelTabFragment).setPolycentricProfile(profile) } + val insertPosition = 2 + //TODO only add channels and support if its setup on the polycentric profile if (profile != null && !(_viewPager.adapter as ChannelViewPagerAdapter).containsItem( ChannelTab.SUPPORT.ordinal.toLong() ) ) { - (_viewPager.adapter as ChannelViewPagerAdapter).insert(2, ChannelTab.SUPPORT) + (_viewPager.adapter as ChannelViewPagerAdapter).insert(insertPosition, ChannelTab.SUPPORT) } if (profile != null && !(_viewPager.adapter as ChannelViewPagerAdapter).containsItem( ChannelTab.CHANNELS.ordinal.toLong() ) ) { - (_viewPager.adapter as ChannelViewPagerAdapter).insert(2, ChannelTab.CHANNELS) + (_viewPager.adapter as ChannelViewPagerAdapter).insert(insertPosition, ChannelTab.CHANNELS) } (_viewPager.adapter as ChannelViewPagerAdapter).profile = profile _viewPager.adapter!!.notifyDataSetChanged() diff --git a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/PostDetailFragment.kt b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/PostDetailFragment.kt index 22ad5e93..df09b741 100644 --- a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/PostDetailFragment.kt +++ b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/PostDetailFragment.kt @@ -41,6 +41,7 @@ import com.futo.platformplayer.states.StatePlatform import com.futo.platformplayer.states.StatePolycentric import com.futo.platformplayer.toHumanNowDiffString import com.futo.platformplayer.toHumanNumber +import com.futo.platformplayer.views.adapters.ChannelTab import com.futo.platformplayer.views.adapters.feedtypes.PreviewPostView import com.futo.platformplayer.views.comments.AddCommentView import com.futo.platformplayer.views.others.CreatorThumbnail @@ -264,7 +265,7 @@ class PostDetailFragment : MainFragment { _buttonSupport.setOnClickListener { val author = _post?.author ?: _postOverview?.author; - author?.let { _fragment.navigate(it).selectTab(2); }; + author?.let { _fragment.navigate(it).selectTab(ChannelTab.SUPPORT); }; }; _buttonStore.setOnClickListener { diff --git a/app/src/main/java/com/futo/platformplayer/views/adapters/ChannelViewPagerAdapter.kt b/app/src/main/java/com/futo/platformplayer/views/adapters/ChannelViewPagerAdapter.kt index e0618cdd..8bb2b946 100644 --- a/app/src/main/java/com/futo/platformplayer/views/adapters/ChannelViewPagerAdapter.kt +++ b/app/src/main/java/com/futo/platformplayer/views/adapters/ChannelViewPagerAdapter.kt @@ -55,6 +55,10 @@ class ChannelViewPagerAdapter(fragmentManager: FragmentManager, lifecycle: Lifec return _supportedFragments.size } + fun getTabPosition(tab: ChannelTab): Int { + return _tabs.indexOf(tab) + } + fun getTabNames(tab: TabLayout.Tab, position: Int) { tab.text = _tabs[position].name }