Search in sources :

Example 11 with Video

use of com.zype.android.Db.Entity.Video in project zype-android by zype.

the class DataRepository method updateVideoEntitlements.

private void updateVideoEntitlements(List<VideoEntitlementData> entitlements) {
    for (VideoEntitlementData item : entitlements) {
        Video video = getVideoSync(item.videoId);
        if (video == null) {
            loadVideo(item.videoId, response -> {
                if (response.isSuccessful) {
                    Video dbVideo = getVideoSync(item.videoId);
                    if (dbVideo != null) {
                        dbVideo.isEntitled = 1;
                        dbVideo.entitlementUpdatedAt = item.createdAt;
                        updateVideo(dbVideo);
                    }
                }
            });
        } else {
            video.isEntitled = 1;
            video.entitlementUpdatedAt = item.createdAt;
            updateVideo(video);
        }
    }
}
Also used : PlaylistVideo(com.zype.android.Db.Entity.PlaylistVideo) Video(com.zype.android.Db.Entity.Video) FavoriteVideo(com.zype.android.Db.Entity.FavoriteVideo) VideoEntitlementData(com.zype.android.zypeapi.model.VideoEntitlementData)

Example 12 with Video

use of com.zype.android.Db.Entity.Video in project zype-android by zype.

the class VideoDetailViewModel method loadVideo.

// Zype API
/**
 * Make API request for video
 *
 * @param videoId Video id
 */
private void loadVideo(String videoId) {
    Logger.d("loadVideo(): videoId=" + videoId);
    final IZypeApiListener listener = new IZypeApiListener() {

        @Override
        public void onCompleted(ZypeApiResponse response) {
            VideoResponse videoResponse = (VideoResponse) response.data;
            if (response.isSuccessful) {
                Video video = repo.getVideoSync(videoId);
                if (video != null) {
                    video = DbHelper.videoUpdateEntityByApi(video, videoResponse.videoData);
                } else {
                    video = DbHelper.videoApiToEntity(videoResponse.videoData);
                }
                repo.updateVideo(video);
            } else {
            // TODO: Add error handling
            }
        }
    };
    api.getVideo(videoId, false, listener);
// VideoParamsBuilder builder = new VideoParamsBuilder()
// .addVideoId(videoId);
// oldApi.executeRequest(WebApiManager.Request.VIDEO, builder.build());
}
Also used : ZypeApiResponse(com.zype.android.zypeapi.ZypeApiResponse) VideoResponse(com.zype.android.zypeapi.model.VideoResponse) IZypeApiListener(com.zype.android.zypeapi.IZypeApiListener) Video(com.zype.android.Db.Entity.Video)

Example 13 with Video

use of com.zype.android.Db.Entity.Video in project zype-android by zype.

the class VideoDetailViewModel method handleDownloadAudio.

/**
 * Handles API request for player audio download url
 *
 * @param event Response event
 */
@Subscribe
public void handleDownloadAudio(DownloadAudioEvent event) {
    File fileM4A = ListUtils.getFileByType(event.getEventData().getModelData().getResponse().getBody().getFiles(), "m4a");
    File fileMP3 = ListUtils.getFileByType(event.getEventData().getModelData().getResponse().getBody().getFiles(), "mp3");
    File file = null;
    if (fileM4A != null)
        file = fileM4A;
    else if (fileMP3 != null)
        file = fileMP3;
    String url;
    if (file != null) {
        url = file.getUrl();
        String videoId = event.mFileId;
        // Save download url in the local database if it was changed
        Video video = repo.getVideoSync(videoId);
        video.downloadAudioUrl = url;
        repo.updateVideo(video);
        if (!TextUtils.isEmpty(url)) {
            downloadsAvailableLiveData.setValue(true);
        }
    } else {
        Logger.e("handleDownloadVideo(): m4a or mp3 source not found");
    }
}
Also used : Video(com.zype.android.Db.Entity.Video) File(com.zype.android.webapi.model.player.File) Subscribe(com.squareup.otto.Subscribe)

Example 14 with Video

use of com.zype.android.Db.Entity.Video in project zype-android by zype.

the class VideoDetailViewModel method initVideo.

private void initVideo() {
    Video video = repo.getVideoSync(videoId);
    if (video != null) {
        videoLiveData.setValue(video);
    }
    loadVideo(videoId);
    downloadsAvailableLiveData.setValue(checkDownloadsAvailable(video));
}
Also used : Video(com.zype.android.Db.Entity.Video)

Example 15 with Video

use of com.zype.android.Db.Entity.Video in project zype-android by zype.

the class VideosAdapter method updateLockIcon.

private void updateLockIcon(ViewHolder holder) {
    Video video = holder.item;
    if (!TextUtils.isEmpty(playlistId) && AuthHelper.isPaywalledVideo(holder.view.getContext(), video.id, playlistId)) {
        holder.imageLocked.setVisibility(View.VISIBLE);
        if (AuthHelper.isVideoUnlocked(holder.view.getContext(), video.id, playlistId)) {
            holder.imageLocked.setImageResource(R.drawable.baseline_lock_open_white_18);
            UiUtils.setImageColor(holder.imageLocked, ContextCompat.getColor(holder.view.getContext(), R.color.icon_unlocked));
        } else {
            holder.imageLocked.setImageResource(R.drawable.baseline_lock_white_18);
            UiUtils.setImageColor(holder.imageLocked, ContextCompat.getColor(holder.view.getContext(), R.color.icon_locked));
        }
    } else {
        holder.imageLocked.setVisibility(GONE);
    }
}
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