diff --git a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailView.kt b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailView.kt index f8f1ad3a..fa56598c 100644 --- a/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailView.kt +++ b/app/src/main/java/com/futo/platformplayer/fragment/mainactivity/main/VideoDetailView.kt @@ -12,6 +12,7 @@ import android.graphics.drawable.BitmapDrawable import android.graphics.drawable.Drawable import android.graphics.drawable.Icon import android.net.Uri +import android.provider.Browser import android.support.v4.media.session.PlaybackStateCompat import android.text.Spanned import android.util.AttributeSet @@ -398,6 +399,10 @@ class VideoDetailView : ConstraintLayout { } } }; + _monetization.onUrlTap.subscribe { + fragment.navigate(it); + onMinimize.emit(); + } _player.attachPlayer(); diff --git a/app/src/main/java/com/futo/platformplayer/views/MonetizationView.kt b/app/src/main/java/com/futo/platformplayer/views/MonetizationView.kt index f5cc1389..7dc464a0 100644 --- a/app/src/main/java/com/futo/platformplayer/views/MonetizationView.kt +++ b/app/src/main/java/com/futo/platformplayer/views/MonetizationView.kt @@ -8,11 +8,13 @@ import android.view.View import android.widget.FrameLayout import android.widget.LinearLayout import android.widget.TextView +import androidx.core.view.isVisible import androidx.recyclerview.widget.RecyclerView import com.futo.platformplayer.HorizontalSpaceItemDecoration import com.futo.platformplayer.R import com.futo.platformplayer.api.http.ManagedHttpClient import com.futo.platformplayer.constructs.Event0 +import com.futo.platformplayer.constructs.Event1 import com.futo.platformplayer.constructs.TaskHandler import com.futo.platformplayer.logging.Logger import com.futo.platformplayer.polycentric.PolycentricCache @@ -61,6 +63,7 @@ class MonetizationView : LinearLayout { val onSupportTap = Event0(); val onStoreTap = Event0(); + val onUrlTap = Event1(); constructor(context: Context, attrs: AttributeSet? = null) : super(context, attrs) { inflate(context, R.layout.view_monetization, this); @@ -70,10 +73,12 @@ class MonetizationView : LinearLayout { _membershipPlatform = findViewById(R.id.membership_platform); _buttonMembership.setOnClickListener { _membershipUrl?.let { + /* val uri = Uri.parse(it); val intent = Intent(Intent.ACTION_VIEW); intent.data = uri; - context.startActivity(intent); + context.startActivity(intent);*/ + onUrlTap.emit(it); } } @@ -129,9 +134,18 @@ class MonetizationView : LinearLayout { _buttonStore.visibility = View.GONE; } + if(profile.systemState.donationDestinations.isNotEmpty() || + profile.systemState.membershipUrls.isNotEmpty() || + profile.systemState.store.isNotEmpty() || + profile.systemState.promotion.isNotEmpty()) + _buttonSupport.isVisible = true; + else + _buttonSupport.isVisible = false; + _root.visibility = View.VISIBLE; } else { _root.visibility = View.GONE; + _buttonSupport.isVisible = false; } setMerchandise(null); diff --git a/app/src/main/java/com/futo/platformplayer/views/SupportView.kt b/app/src/main/java/com/futo/platformplayer/views/SupportView.kt index 3d846fe2..ad3017e7 100644 --- a/app/src/main/java/com/futo/platformplayer/views/SupportView.kt +++ b/app/src/main/java/com/futo/platformplayer/views/SupportView.kt @@ -10,6 +10,8 @@ import android.view.View import android.widget.LinearLayout import android.widget.TextView import android.widget.Toast +import androidx.core.view.isVisible +import androidx.core.view.size import com.bumptech.glide.Glide import com.futo.platformplayer.R import com.futo.platformplayer.fragment.mainactivity.main.PolycentricProfile @@ -33,6 +35,13 @@ class SupportView : LinearLayout { private var _textNoSupportOptionsSet: TextView private var _polycentricProfile: PolycentricProfile? = null + val hasSupportItems: Boolean get() { + return (_layoutPromotions.isVisible && _buttonPromotion.isVisible) || + (_layoutMemberships.isVisible && _layoutMembershipEntries.isVisible && _layoutMembershipEntries.size > 0) || + (_layoutDonation.isVisible && _layoutDonationEntries.isVisible && _layoutDonationEntries.size > 0) || + _buttonStore.isVisible; + }; + constructor(context: Context, attrs: AttributeSet? = null) : super(context, attrs) { inflate(context, R.layout.view_support, this); diff --git a/app/src/main/java/com/futo/platformplayer/views/overlays/SupportOverlay.kt b/app/src/main/java/com/futo/platformplayer/views/overlays/SupportOverlay.kt index 36034d43..dfc59e05 100644 --- a/app/src/main/java/com/futo/platformplayer/views/overlays/SupportOverlay.kt +++ b/app/src/main/java/com/futo/platformplayer/views/overlays/SupportOverlay.kt @@ -14,6 +14,10 @@ class SupportOverlay : LinearLayout { private val _topbar: OverlayTopbar; private val _support: SupportView; + val hasSupportItems: Boolean get() { + return _support.hasSupportItems; + } + constructor(context: Context, attrs: AttributeSet? = null) : super(context, attrs) { inflate(context, R.layout.overlay_support, this) _topbar = findViewById(R.id.topbar);