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);
}
}
}
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());
}
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");
}
}
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));
}
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);
}
}
Aggregations