From b822078d4b55ee861d5950468f09cd10b1a1d04e Mon Sep 17 00:00:00 2001 From: Koen <koen@pop-os.localdomain> Date: Thu, 9 Nov 2023 19:12:54 +0100 Subject: [PATCH] Fixed support tab falsely showing when a creator does not have a polycentric profile. --- .../tab/ChannelMonetizationFragment.kt | 25 ++++++++++++------- .../layout/fragment_channel_monetization.xml | 15 ++++++++++- app/src/main/res/values/strings.xml | 1 + 3 files changed, 31 insertions(+), 10 deletions(-) diff --git a/app/src/main/java/com/futo/platformplayer/fragment/channel/tab/ChannelMonetizationFragment.kt b/app/src/main/java/com/futo/platformplayer/fragment/channel/tab/ChannelMonetizationFragment.kt index 4fbdf607..20b6f5b4 100644 --- a/app/src/main/java/com/futo/platformplayer/fragment/channel/tab/ChannelMonetizationFragment.kt +++ b/app/src/main/java/com/futo/platformplayer/fragment/channel/tab/ChannelMonetizationFragment.kt @@ -1,22 +1,20 @@ package com.futo.platformplayer.fragment.channel.tab -import android.content.Intent -import android.net.Uri import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import android.widget.TextView import androidx.fragment.app.Fragment import com.futo.platformplayer.R import com.futo.platformplayer.api.media.models.channels.IPlatformChannel import com.futo.platformplayer.fragment.mainactivity.main.PolycentricProfile -import com.futo.platformplayer.logging.Logger import com.futo.platformplayer.views.SupportView -import com.futo.platformplayer.views.buttons.BigButton class ChannelMonetizationFragment : Fragment, IChannelTabFragment { private var _supportView: SupportView? = null + private var _textMonetization: TextView? = null private var _lastChannel: IPlatformChannel? = null; private var _lastPolycentricProfile: PolycentricProfile? = null; @@ -26,21 +24,22 @@ class ChannelMonetizationFragment : Fragment, IChannelTabFragment { override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { val view = inflater.inflate(R.layout.fragment_channel_monetization, container, false); _supportView = view.findViewById(R.id.support); + _textMonetization = view.findViewById(R.id.text_monetization); _lastChannel?.also { setChannel(it); }; - _lastPolycentricProfile?.also { - setPolycentricProfile(it, animate = false); - } - + _supportView?.visibility = View.GONE; + _textMonetization?.visibility = View.GONE; + setPolycentricProfile(_lastPolycentricProfile, animate = false); return view; } override fun onDestroyView() { super.onDestroyView(); _supportView = null; + _textMonetization = null; } override fun setChannel(channel: IPlatformChannel) { @@ -49,7 +48,15 @@ class ChannelMonetizationFragment : Fragment, IChannelTabFragment { fun setPolycentricProfile(polycentricProfile: PolycentricProfile?, animate: Boolean) { _lastPolycentricProfile = polycentricProfile - _supportView?.setPolycentricProfile(polycentricProfile, animate) + if (polycentricProfile != null) { + _supportView?.setPolycentricProfile(polycentricProfile, animate) + _supportView?.visibility = View.VISIBLE + _textMonetization?.visibility = View.GONE + } else { + _supportView?.setPolycentricProfile(null, animate) + _supportView?.visibility = View.GONE + _textMonetization?.visibility = View.VISIBLE + } } companion object { diff --git a/app/src/main/res/layout/fragment_channel_monetization.xml b/app/src/main/res/layout/fragment_channel_monetization.xml index 0394cc7d..e41a8ee6 100644 --- a/app/src/main/res/layout/fragment_channel_monetization.xml +++ b/app/src/main/res/layout/fragment_channel_monetization.xml @@ -6,5 +6,18 @@ <com.futo.platformplayer.views.SupportView android:id="@+id/support" android:layout_width="match_parent" - android:layout_height="match_parent" /> + android:layout_height="match_parent" + android:visibility="gone"/> + + <TextView + android:id="@+id/text_monetization" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:gravity="center_horizontal" + android:layout_gravity="center" + android:text="@string/this_creator_has_not_setup_any_monetization_features" + android:fontFamily="@font/inter_light" + android:textColor="#ACACAC" + android:textSize="12dp" + android:visibility="gone" /> </FrameLayout> \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 477f317c..f9143523 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -639,6 +639,7 @@ <string name="this_creator_has_not_set_any_support_options_on_harbor_polycentric">This creator has not set any support options on Harbor (Polycentric)</string> <string name="load_more">Load More</string> <string name="stopped_after_requestcount_to_avoid_rate_limit_click_load_more_to_load_more">Stopped after {requestCount} to avoid rate limit, click load more to load more.</string> + <string name="this_creator_has_not_setup_any_monetization_features">This creator has not setup any monetization features</string> <string-array name="home_screen_array"> <item>Recommendations</item> <item>Subscriptions</item> -- GitLab