use of com.zype.android.Db.Entity.Video in project zype-android by zype.
the class VideosAdapter method loadThumbnail.
private void loadThumbnail(ViewHolder holder) {
Video video = holder.item;
boolean thumbnailAssigned = false;
if (usePoster && video.images != null) {
Image posterThumbnail = VideoHelper.getPosterThumbnail(video);
if (posterThumbnail != null) {
thumbnailAssigned = true;
UiUtils.loadImage(posterThumbnail.getUrl(), R.drawable.placeholder_video, holder.imageThumbnail);
}
}
if (video.thumbnails != null && !thumbnailAssigned) {
Thumbnail thumbnail = VideoHelper.getThumbnailByHeight(video, 240);
if (thumbnail != null) {
UiUtils.loadImage(thumbnail.getUrl(), R.drawable.placeholder_video, holder.imageThumbnail);
} else {
holder.imageThumbnail.setImageDrawable(ContextCompat.getDrawable(holder.view.getContext(), R.drawable.placeholder_video));
}
}
}
use of com.zype.android.Db.Entity.Video in project zype-android by zype.
the class PlayerViewModel method updateAvailablePlayerModes.
private void updateAvailablePlayerModes() {
List<PlayerMode> result = new ArrayList<>();
Video video = repo.getVideoSync(videoId);
if (video != null) {
if (ZypeApp.get(getApplication()).getAppConfiguration().audioOnlyPlaybackEnabled) {
if (!TextUtils.isEmpty(video.playerAudioUrl) || video.isDownloadedAudio == 1) {
result.add(PlayerMode.AUDIO);
}
}
if (!TextUtils.isEmpty(video.playerVideoUrl) || video.isDownloadedVideo == 1) {
result.add(PlayerMode.VIDEO);
}
}
availablePlayerModes.setValue(result);
}
use of com.zype.android.Db.Entity.Video in project zype-android by zype.
the class PlayerViewModel method onPlaybackResumed.
public void onPlaybackResumed() {
if (isTrailer.getValue()) {
return;
}
if (!TextUtils.isEmpty(videoId)) {
Video video = repo.getVideoSync(videoId);
if (video != null) {
video.isPlayStarted = 1;
repo.updateVideo(video);
if (!isPlaybackStarted) {
isPlaybackStarted = true;
AnalyticsManager.getInstance().onPlayerEvent(AnalyticsEvents.EVENT_PLAYBACK_STARTED, video, playbackPosition);
} else {
AnalyticsManager.getInstance().onPlayerEvent(AnalyticsEvents.EVENT_PLAYBACK_RESUMED, video, playbackPosition);
}
}
}
}
use of com.zype.android.Db.Entity.Video in project zype-android by zype.
the class PlayerViewModel method onPlaybackFinished.
public void onPlaybackFinished() {
if (isTrailer.getValue()) {
return;
}
if (!TextUtils.isEmpty(videoId)) {
Video video = repo.getVideoSync(videoId);
if (video != null) {
video.isPlayStarted = 1;
video.isPlayFinished = 1;
repo.updateVideo(video);
AnalyticsManager.getInstance().onPlayerEvent(AnalyticsEvents.EVENT_PLAYBACK_FINISHED, video, playbackPosition);
AnalyticsManager.getInstance().onPlayerEvent(AnalyticsEvents.EVENT_PLAYBACK_COMPLETED, video, playbackPosition);
}
}
}
use of com.zype.android.Db.Entity.Video in project zype-android by zype.
the class PlayerViewModel method setMediaTypeAvailable.
public void setMediaTypeAvailable(PlayerMode mediaType, boolean available) {
Logger.d("setMediaTypeAvailable(): mediaType=" + mediaType + ", available=" + available);
if (isMediaTypeAvailable(mediaType)) {
if (!available) {
List<PlayerMode> currentPlayerModes = availablePlayerModes.getValue();
currentPlayerModes.remove(mediaType);
// So we just use video player url as an audion one.
if (mediaType == PlayerMode.VIDEO && currentPlayerModes.isEmpty()) {
currentPlayerModes.add(PlayerMode.AUDIO);
Video video = repo.getVideoSync(videoId);
if (video != null) {
video.playerAudioUrl = video.playerVideoUrl;
repo.updateVideo(video);
}
}
availablePlayerModes.setValue(currentPlayerModes);
}
} else {
if (available) {
availablePlayerModes.getValue().add(mediaType);
availablePlayerModes.setValue(availablePlayerModes.getValue());
}
}
}
Aggregations