diff --git a/MediaServiceCore b/MediaServiceCore index 0f16df236..99527a795 160000 --- a/MediaServiceCore +++ b/MediaServiceCore @@ -1 +1 @@ -Subproject commit 0f16df23697403346186e881533f3025f33455be +Subproject commit 99527a7952a3c62b0ebdd32638c1b7062a2561ae diff --git a/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/models/data/SampleMediaItem.java b/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/models/data/SampleMediaItem.java index d5f9f6419..43d637393 100644 --- a/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/models/data/SampleMediaItem.java +++ b/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/models/data/SampleMediaItem.java @@ -12,7 +12,7 @@ public final class SampleMediaItem implements MediaItem { private String mChannelId; private String mCardImageUrl; private String mParams; - private String mSecondTitle; + private CharSequence mSecondTitle; private String mContentType; private int mType; private String mVideoUrl; @@ -164,7 +164,7 @@ public final class SampleMediaItem implements MediaItem { } @Override - public String getSecondTitle() { + public CharSequence getSecondTitle() { return mSecondTitle; } diff --git a/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/models/data/Video.java b/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/models/data/Video.java index d04201803..baa274c90 100644 --- a/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/models/data/Video.java +++ b/common/src/main/java/com/liskovsoft/smartyoutubetv2/common/app/models/data/Video.java @@ -41,9 +41,9 @@ public final class Video { public int id; public String title; public String deArrowTitle; - public String secondTitle; + public CharSequence secondTitle; private String metadataTitle; - private String metadataSecondTitle; + private CharSequence metadataSecondTitle; public String description; public String category; public int itemType = -1; @@ -291,7 +291,7 @@ public final class Video { return deArrowTitle != null ? deArrowTitle : title; } - public String getSecondTitle() { + public CharSequence getSecondTitle() { return secondTitle; } @@ -299,7 +299,7 @@ public final class Video { return deArrowTitle != null ? deArrowTitle : metadataTitle != null ? metadataTitle : title; } - public String getPlayerSubtitle() { + public CharSequence getPlayerSubtitle() { // Don't sync future translation because of not precise info return metadataSecondTitle != null && !isUpcoming ? metadataSecondTitle : secondTitle; } @@ -318,8 +318,8 @@ public final class Video { } String mainTitle = metadataTitle != null ? metadataTitle : title; - String subtitle = metadataSecondTitle != null ? metadataSecondTitle : secondTitle; - return hasVideo() ? extractAuthor(subtitle) : YouTubeHelper.createInfo(mainTitle, subtitle); // BAD idea + CharSequence subtitle = metadataSecondTitle != null ? metadataSecondTitle : secondTitle; + return hasVideo() ? extractAuthor(subtitle) : Helpers.toString(YouTubeHelper.createInfo(mainTitle, subtitle)); // BAD idea } public VideoGroup getGroup() { @@ -334,6 +334,10 @@ public final class Video { return getGroup() != null && !getGroup().isEmpty() ? getGroup().getVideos().indexOf(this) : -1; } + private static String extractAuthor(CharSequence secondTitle) { + return extractAuthor(Helpers.toString(secondTitle)); + } + private static String extractAuthor(String secondTitle) { String result = null; diff --git a/leanbackassistant/src/main/java/com/liskovsoft/leanbackassistant/media/Playlist.java b/leanbackassistant/src/main/java/com/liskovsoft/leanbackassistant/media/Playlist.java index 92a245782..10f16923c 100644 --- a/leanbackassistant/src/main/java/com/liskovsoft/leanbackassistant/media/Playlist.java +++ b/leanbackassistant/src/main/java/com/liskovsoft/leanbackassistant/media/Playlist.java @@ -216,7 +216,7 @@ public final class Playlist { for (MediaItem v : videos) { clips.add(new Clip( v.getTitle(), - v.getSecondTitle(), + Helpers.toString(v.getSecondTitle()), v.getDurationMs(), v.getBackgroundImageUrl(), v.getCardImageUrl(), diff --git a/leanbackassistant/src/main/java/com/liskovsoft/leanbackassistant/recommendations/RecommendationsProvider.java b/leanbackassistant/src/main/java/com/liskovsoft/leanbackassistant/recommendations/RecommendationsProvider.java index 5f01ebec3..cbb14ff2c 100644 --- a/leanbackassistant/src/main/java/com/liskovsoft/leanbackassistant/recommendations/RecommendationsProvider.java +++ b/leanbackassistant/src/main/java/com/liskovsoft/leanbackassistant/recommendations/RecommendationsProvider.java @@ -6,6 +6,9 @@ import android.app.NotificationManager; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; + +import androidx.annotation.RequiresApi; + import com.liskovsoft.leanbackassistant.R; import com.liskovsoft.leanbackassistant.media.Clip; import com.liskovsoft.leanbackassistant.media.Playlist; @@ -14,7 +17,7 @@ import com.liskovsoft.sharedutils.mylogger.Log; import com.liskovsoft.sharedutils.okhttp.OkHttpManager; import okhttp3.Response; -@TargetApi(21) +@RequiresApi(21) public class RecommendationsProvider { private static final String TAG = RecommendationsProvider.class.getSimpleName(); private static final int MAX_RECOMMENDATIONS = 30; diff --git a/smarttubetv/src/main/java/com/liskovsoft/smartyoutubetv2/tv/ui/channel/ChannelFragment.java b/smarttubetv/src/main/java/com/liskovsoft/smartyoutubetv2/tv/ui/channel/ChannelFragment.java index df4c3a4e7..f12cd5a65 100644 --- a/smarttubetv/src/main/java/com/liskovsoft/smartyoutubetv2/tv/ui/channel/ChannelFragment.java +++ b/smarttubetv/src/main/java/com/liskovsoft/smartyoutubetv2/tv/ui/channel/ChannelFragment.java @@ -55,7 +55,7 @@ public class ChannelFragment extends MultipleRowsFragment implements ChannelView String title = mChannelPresenter.getChannel().getTitle(); String subs = mChannelPresenter.getChannel().subscriberCount; - return YouTubeHelper.createInfo(Helpers.firstNonNull(author, title), subs); + return Helpers.toString(YouTubeHelper.createInfo(Helpers.firstNonNull(author, title), subs)); } }); } diff --git a/smarttubetv/src/main/java/com/liskovsoft/smartyoutubetv2/tv/ui/playback/PlaybackFragment.java b/smarttubetv/src/main/java/com/liskovsoft/smartyoutubetv2/tv/ui/playback/PlaybackFragment.java index f22f64f0d..081bad8ba 100644 --- a/smarttubetv/src/main/java/com/liskovsoft/smartyoutubetv2/tv/ui/playback/PlaybackFragment.java +++ b/smarttubetv/src/main/java/com/liskovsoft/smartyoutubetv2/tv/ui/playback/PlaybackFragment.java @@ -572,7 +572,7 @@ public class PlaybackFragment extends SeekModePlaybackFragment implements Playba metadataBuilder.putString(MediaMetadataCompat.METADATA_KEY_TITLE, getVideo().getPlayerTitle()); metadataBuilder.putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_TITLE, getVideo().getPlayerTitle()); metadataBuilder.putString(MediaMetadataCompat.METADATA_KEY_ARTIST, getVideo().getAuthor()); - metadataBuilder.putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_SUBTITLE, getVideo().getPlayerSubtitle()); + metadataBuilder.putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_SUBTITLE, Helpers.toString(getVideo().getPlayerSubtitle())); metadataBuilder.putString(MediaMetadataCompat.METADATA_KEY_ALBUM_ART_URI, getVideo().getCardImageUrl()); metadataBuilder.putLong(MediaMetadataCompat.METADATA_KEY_DURATION, getDurationMs()); diff --git a/smarttubetv/src/main/java/com/liskovsoft/smartyoutubetv2/tv/ui/widgets/chat/ChatItemMessage.java b/smarttubetv/src/main/java/com/liskovsoft/smartyoutubetv2/tv/ui/widgets/chat/ChatItemMessage.java index 777d84850..1da9a9b21 100644 --- a/smarttubetv/src/main/java/com/liskovsoft/smartyoutubetv2/tv/ui/widgets/chat/ChatItemMessage.java +++ b/smarttubetv/src/main/java/com/liskovsoft/smartyoutubetv2/tv/ui/widgets/chat/ChatItemMessage.java @@ -41,7 +41,7 @@ public class ChatItemMessage implements IMessage { ChatItemMessage message = new ChatItemMessage(); message.mId = commentItem.getId(); if (commentItem.getMessage() != null && !commentItem.getMessage().trim().isEmpty()) { - String header = ServiceHelper.combineItems( + CharSequence header = ServiceHelper.combineItems( " " + Video.TERTIARY_TEXT_DELIM + " ", commentItem.getAuthorName(), commentItem.getLikeCount() != null ? String.format("%s %s", commentItem.getLikeCount(), Helpers.THUMB_UP) : null,