mirror of
https://github.com/yuliskov/SmartTube.git
synced 2025-05-17 19:35:54 +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 mChannelId;
|
||||||
private String mCardImageUrl;
|
private String mCardImageUrl;
|
||||||
private String mParams;
|
private String mParams;
|
||||||
private String mSecondTitle;
|
private CharSequence mSecondTitle;
|
||||||
private String mContentType;
|
private String mContentType;
|
||||||
private int mType;
|
private int mType;
|
||||||
private String mVideoUrl;
|
private String mVideoUrl;
|
||||||
@ -164,7 +164,7 @@ public final class SampleMediaItem implements MediaItem {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getSecondTitle() {
|
public CharSequence getSecondTitle() {
|
||||||
return mSecondTitle;
|
return mSecondTitle;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,9 +41,9 @@ public final class Video {
|
|||||||
public int id;
|
public int id;
|
||||||
public String title;
|
public String title;
|
||||||
public String deArrowTitle;
|
public String deArrowTitle;
|
||||||
public String secondTitle;
|
public CharSequence secondTitle;
|
||||||
private String metadataTitle;
|
private String metadataTitle;
|
||||||
private String metadataSecondTitle;
|
private CharSequence metadataSecondTitle;
|
||||||
public String description;
|
public String description;
|
||||||
public String category;
|
public String category;
|
||||||
public int itemType = -1;
|
public int itemType = -1;
|
||||||
@ -291,7 +291,7 @@ public final class Video {
|
|||||||
return deArrowTitle != null ? deArrowTitle : title;
|
return deArrowTitle != null ? deArrowTitle : title;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getSecondTitle() {
|
public CharSequence getSecondTitle() {
|
||||||
return secondTitle;
|
return secondTitle;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -299,7 +299,7 @@ public final class Video {
|
|||||||
return deArrowTitle != null ? deArrowTitle : metadataTitle != null ? metadataTitle : title;
|
return deArrowTitle != null ? deArrowTitle : metadataTitle != null ? metadataTitle : title;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getPlayerSubtitle() {
|
public CharSequence getPlayerSubtitle() {
|
||||||
// Don't sync future translation because of not precise info
|
// Don't sync future translation because of not precise info
|
||||||
return metadataSecondTitle != null && !isUpcoming ? metadataSecondTitle : secondTitle;
|
return metadataSecondTitle != null && !isUpcoming ? metadataSecondTitle : secondTitle;
|
||||||
}
|
}
|
||||||
@ -318,8 +318,8 @@ public final class Video {
|
|||||||
}
|
}
|
||||||
|
|
||||||
String mainTitle = metadataTitle != null ? metadataTitle : title;
|
String mainTitle = metadataTitle != null ? metadataTitle : title;
|
||||||
String subtitle = metadataSecondTitle != null ? metadataSecondTitle : secondTitle;
|
CharSequence subtitle = metadataSecondTitle != null ? metadataSecondTitle : secondTitle;
|
||||||
return hasVideo() ? extractAuthor(subtitle) : YouTubeHelper.createInfo(mainTitle, subtitle); // BAD idea
|
return hasVideo() ? extractAuthor(subtitle) : Helpers.toString(YouTubeHelper.createInfo(mainTitle, subtitle)); // BAD idea
|
||||||
}
|
}
|
||||||
|
|
||||||
public VideoGroup getGroup() {
|
public VideoGroup getGroup() {
|
||||||
@ -334,6 +334,10 @@ public final class Video {
|
|||||||
return getGroup() != null && !getGroup().isEmpty() ? getGroup().getVideos().indexOf(this) : -1;
|
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) {
|
private static String extractAuthor(String secondTitle) {
|
||||||
String result = null;
|
String result = null;
|
||||||
|
|
||||||
|
@ -216,7 +216,7 @@ public final class Playlist {
|
|||||||
for (MediaItem v : videos) {
|
for (MediaItem v : videos) {
|
||||||
clips.add(new Clip(
|
clips.add(new Clip(
|
||||||
v.getTitle(),
|
v.getTitle(),
|
||||||
v.getSecondTitle(),
|
Helpers.toString(v.getSecondTitle()),
|
||||||
v.getDurationMs(),
|
v.getDurationMs(),
|
||||||
v.getBackgroundImageUrl(),
|
v.getBackgroundImageUrl(),
|
||||||
v.getCardImageUrl(),
|
v.getCardImageUrl(),
|
||||||
|
@ -6,6 +6,9 @@ import android.app.NotificationManager;
|
|||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.graphics.Bitmap;
|
import android.graphics.Bitmap;
|
||||||
import android.graphics.BitmapFactory;
|
import android.graphics.BitmapFactory;
|
||||||
|
|
||||||
|
import androidx.annotation.RequiresApi;
|
||||||
|
|
||||||
import com.liskovsoft.leanbackassistant.R;
|
import com.liskovsoft.leanbackassistant.R;
|
||||||
import com.liskovsoft.leanbackassistant.media.Clip;
|
import com.liskovsoft.leanbackassistant.media.Clip;
|
||||||
import com.liskovsoft.leanbackassistant.media.Playlist;
|
import com.liskovsoft.leanbackassistant.media.Playlist;
|
||||||
@ -14,7 +17,7 @@ import com.liskovsoft.sharedutils.mylogger.Log;
|
|||||||
import com.liskovsoft.sharedutils.okhttp.OkHttpManager;
|
import com.liskovsoft.sharedutils.okhttp.OkHttpManager;
|
||||||
import okhttp3.Response;
|
import okhttp3.Response;
|
||||||
|
|
||||||
@TargetApi(21)
|
@RequiresApi(21)
|
||||||
public class RecommendationsProvider {
|
public class RecommendationsProvider {
|
||||||
private static final String TAG = RecommendationsProvider.class.getSimpleName();
|
private static final String TAG = RecommendationsProvider.class.getSimpleName();
|
||||||
private static final int MAX_RECOMMENDATIONS = 30;
|
private static final int MAX_RECOMMENDATIONS = 30;
|
||||||
|
@ -55,7 +55,7 @@ public class ChannelFragment extends MultipleRowsFragment implements ChannelView
|
|||||||
String title = mChannelPresenter.getChannel().getTitle();
|
String title = mChannelPresenter.getChannel().getTitle();
|
||||||
String subs = mChannelPresenter.getChannel().subscriberCount;
|
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_TITLE, getVideo().getPlayerTitle());
|
||||||
metadataBuilder.putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_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_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.putString(MediaMetadataCompat.METADATA_KEY_ALBUM_ART_URI, getVideo().getCardImageUrl());
|
||||||
metadataBuilder.putLong(MediaMetadataCompat.METADATA_KEY_DURATION, getDurationMs());
|
metadataBuilder.putLong(MediaMetadataCompat.METADATA_KEY_DURATION, getDurationMs());
|
||||||
|
|
||||||
|
@ -41,7 +41,7 @@ public class ChatItemMessage implements IMessage {
|
|||||||
ChatItemMessage message = new ChatItemMessage();
|
ChatItemMessage message = new ChatItemMessage();
|
||||||
message.mId = commentItem.getId();
|
message.mId = commentItem.getId();
|
||||||
if (commentItem.getMessage() != null && !commentItem.getMessage().trim().isEmpty()) {
|
if (commentItem.getMessage() != null && !commentItem.getMessage().trim().isEmpty()) {
|
||||||
String header = ServiceHelper.combineItems(
|
CharSequence header = ServiceHelper.combineItems(
|
||||||
" " + Video.TERTIARY_TEXT_DELIM + " ",
|
" " + Video.TERTIARY_TEXT_DELIM + " ",
|
||||||
commentItem.getAuthorName(),
|
commentItem.getAuthorName(),
|
||||||
commentItem.getLikeCount() != null ? String.format("%s %s", commentItem.getLikeCount(), Helpers.THUMB_UP) : null,
|
commentItem.getLikeCount() != null ? String.format("%s %s", commentItem.getLikeCount(), Helpers.THUMB_UP) : null,
|
||||||
|
Reference in New Issue
Block a user