Search in sources :

Example 16 with Video

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));
        }
    }
}
Also used : Video(com.zype.android.Db.Entity.Video) Image(com.zype.android.webapi.model.video.Image) Thumbnail(com.zype.android.webapi.model.video.Thumbnail)

Example 17 with 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);
}
Also used : Video(com.zype.android.Db.Entity.Video) ArrayList(java.util.ArrayList)

Example 18 with Video

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);
            }
        }
    }
}
Also used : Video(com.zype.android.Db.Entity.Video)

Example 19 with Video

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);
        }
    }
}
Also used : Video(com.zype.android.Db.Entity.Video)

Example 20 with Video

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());
        }
    }
}
Also used : Video(com.zype.android.Db.Entity.Video)

Aggregations

Video (com.zype.android.Db.Entity.Video)49 ArrayList (java.util.ArrayList)14 PlaylistVideo (com.zype.android.Db.Entity.PlaylistVideo)9 Playlist (com.zype.android.Db.Entity.Playlist)8 Subscribe (com.squareup.otto.Subscribe)6 FavoriteVideo (com.zype.android.Db.Entity.FavoriteVideo)6 List (java.util.List)6 NavigationHelper (com.zype.android.ui.NavigationHelper)5 VideoData (com.zype.android.webapi.model.video.VideoData)5 IZypeApiListener (com.zype.android.zypeapi.IZypeApiListener)5 ZypeApiResponse (com.zype.android.zypeapi.ZypeApiResponse)5 Application (android.app.Application)3 View (android.view.View)3 DataRepository (com.zype.android.DataRepository)3 VideoResponse (com.zype.android.zypeapi.model.VideoResponse)3 VideosResponse (com.zype.android.zypeapi.model.VideosResponse)3 Intent (android.content.Intent)2 Bundle (android.os.Bundle)2 TextUtils (android.text.TextUtils)2 ImageView (android.widget.ImageView)2