diff --git a/MediaServiceCore b/MediaServiceCore index 49caabc23..0f4744621 160000 --- a/MediaServiceCore +++ b/MediaServiceCore @@ -1 +1 @@ -Subproject commit 49caabc23701bb154ec72a783107782d594b6fb9 +Subproject commit 0f4744621f245ff7f727b61af1cb38a5bc2e6de5 diff --git a/smartyoutubetv2/src/main/java/com/liskovsoft/smartyoutubetv2/tv/presenter/CardPresenter.java b/smartyoutubetv2/src/main/java/com/liskovsoft/smartyoutubetv2/tv/presenter/CardPresenter.java index 6692f073f..5b18428fa 100644 --- a/smartyoutubetv2/src/main/java/com/liskovsoft/smartyoutubetv2/tv/presenter/CardPresenter.java +++ b/smartyoutubetv2/src/main/java/com/liskovsoft/smartyoutubetv2/tv/presenter/CardPresenter.java @@ -88,7 +88,7 @@ public class CardPresenter extends Presenter { cardView.setTitleText(video.title); cardView.setContentText(video.description); cardView.setBadgeText(video.badge); - //cardView.setPreviewUrl(video.previewUrl); + cardView.setPreviewUrl(video.previewUrl); if (video.cardImageUrl != null) { // Set card size from dimension resources. diff --git a/smartyoutubetv2/src/main/java/com/liskovsoft/smartyoutubetv2/tv/ui/widgets/textbadgecard/TextBadgeImageCardView.java b/smartyoutubetv2/src/main/java/com/liskovsoft/smartyoutubetv2/tv/ui/widgets/textbadgecard/TextBadgeImageCardView.java index 8b2e81945..568c6640e 100644 --- a/smartyoutubetv2/src/main/java/com/liskovsoft/smartyoutubetv2/tv/ui/widgets/textbadgecard/TextBadgeImageCardView.java +++ b/smartyoutubetv2/src/main/java/com/liskovsoft/smartyoutubetv2/tv/ui/widgets/textbadgecard/TextBadgeImageCardView.java @@ -3,6 +3,8 @@ package com.liskovsoft.smartyoutubetv2.tv.ui.widgets.textbadgecard; import android.content.Context; import android.text.TextUtils.TruncateAt; import android.util.AttributeSet; +import android.view.ViewGroup; +import android.widget.ImageView.ScaleType; import android.widget.TextView; import androidx.leanback.widget.ImageCardView; import com.liskovsoft.smartyoutubetv2.tv.R; @@ -71,13 +73,40 @@ public class TextBadgeImageCardView extends ImageCardView { private void enableVideoPreview(boolean selected) { if (selected) { - mTextBadgeImageLayout.setLoading(); + mTextBadgeImageLayout.startPlayback(); } else { - mTextBadgeImageLayout.setFinished(); + mTextBadgeImageLayout.stopPlayback(); } } public void setPreviewUrl(String previewUrl) { mTextBadgeImageLayout.setPreviewUrl(previewUrl); } + + /** + * Enables or disables adjustment of view bounds on the main image. + */ + @Override + public void setMainImageAdjustViewBounds(boolean adjustViewBounds) { + super.setMainImageAdjustViewBounds(adjustViewBounds); + mTextBadgeImageLayout.setMainImageAdjustViewBounds(adjustViewBounds); + } + + /** + * Sets the ScaleType of the main image. + */ + @Override + public void setMainImageScaleType(ScaleType scaleType) { + super.setMainImageScaleType(scaleType); + mTextBadgeImageLayout.setMainImageScaleType(scaleType); + } + + /** + * Sets the layout dimensions of the ImageView. + */ + @Override + public void setMainImageDimensions(int width, int height) { + super.setMainImageDimensions(width, height); + mTextBadgeImageLayout.setMainImageDimensions(width, height); + } } diff --git a/smartyoutubetv2/src/main/java/com/liskovsoft/smartyoutubetv2/tv/ui/widgets/textbadgecard/TextBadgeImageView.java b/smartyoutubetv2/src/main/java/com/liskovsoft/smartyoutubetv2/tv/ui/widgets/textbadgecard/TextBadgeImageView.java index 34d88dfe1..82532b825 100644 --- a/smartyoutubetv2/src/main/java/com/liskovsoft/smartyoutubetv2/tv/ui/widgets/textbadgecard/TextBadgeImageView.java +++ b/smartyoutubetv2/src/main/java/com/liskovsoft/smartyoutubetv2/tv/ui/widgets/textbadgecard/TextBadgeImageView.java @@ -4,7 +4,9 @@ import android.content.Context; import android.graphics.drawable.Drawable; import android.util.AttributeSet; import android.view.View; +import android.view.ViewGroup; import android.widget.ImageView; +import android.widget.ImageView.ScaleType; import android.widget.RelativeLayout; import android.widget.TextView; import androidx.annotation.Nullable; @@ -74,17 +76,12 @@ public class TextBadgeImageView extends RelativeLayout { mPreviewUrl = videoUrl; } - //public ImageView getImageView() { - // return mImageView; - //} - - public void setLoading() { + public void startPlayback() { if (mPreviewUrl == null) { return; } mPreviewImage.setVisibility(View.VISIBLE); - mMainImage.setVisibility(View.INVISIBLE); Glide.with(getContext()) .load(mPreviewUrl) @@ -97,21 +94,39 @@ public class TextBadgeImageView extends RelativeLayout { @Override public boolean onResourceReady(Drawable resource, Object model, Target target, DataSource dataSource, boolean isFirstResource) { - //mMainImage.setVisibility(View.GONE); - //mPreviewImage.setVisibility(View.VISIBLE); + mMainImage.setVisibility(View.GONE); return false; } }) .into(mPreviewImage); } - public void setFinished() { + public void stopPlayback() { if (mPreviewUrl == null) { return; } - mPreviewImage.setVisibility(View.INVISIBLE); - mPreviewImage.setImageDrawable(null); mMainImage.setVisibility(View.VISIBLE); + mPreviewImage.setVisibility(View.GONE); + mPreviewImage.setImageDrawable(null); + } + + public void setMainImageAdjustViewBounds(boolean adjustViewBounds) { + if (mPreviewImage != null) { + mPreviewImage.setAdjustViewBounds(adjustViewBounds); + } + } + + public void setMainImageScaleType(ScaleType scaleType) { + if (mPreviewImage != null) { + mPreviewImage.setScaleType(scaleType); + } + } + + public void setMainImageDimensions(int width, int height) { + ViewGroup.LayoutParams lp = mPreviewImage.getLayoutParams(); + lp.width = width; + lp.height = height; + mPreviewImage.setLayoutParams(lp); } } diff --git a/smartyoutubetv2/src/main/res/layout/text_badge_image_view.xml b/smartyoutubetv2/src/main/res/layout/text_badge_image_view.xml index 587d4540c..50ca609d4 100644 --- a/smartyoutubetv2/src/main/res/layout/text_badge_image_view.xml +++ b/smartyoutubetv2/src/main/res/layout/text_badge_image_view.xml @@ -1,18 +1,19 @@ - + + tools:ignore="ContentDescription"/>