mirror of
https://github.com/yuliskov/SmartTube.git
synced 2025-05-17 03:15:56 +08:00
MediaItem: subtitle CharSequence optimization
This commit is contained in:
Submodule MediaServiceCore updated: 0f16df2369...99527a7952
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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(),
|
||||
|
@ -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;
|
||||
|
@ -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));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -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());
|
||||
|
||||
|
@ -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,
|
||||
|
Reference in New Issue
Block a user