Search in sources :

Example 1 with Image

use of com.zype.android.webapi.model.video.Image in project zype-android by zype.

the class VideoHelper method getPosterThumbnail.

public static Image getPosterThumbnail(Playlist playlist) {
    Type imageType = new TypeToken<List<Image>>() {
    }.getType();
    List<Image> images = new Gson().fromJson(playlist.images, imageType);
    return getPosterFromImages(images);
}
Also used : Type(java.lang.reflect.Type) Gson(com.google.gson.Gson) ArrayList(java.util.ArrayList) List(java.util.List) Image(com.zype.android.webapi.model.video.Image)

Example 2 with Image

use of com.zype.android.webapi.model.video.Image 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 3 with Image

use of com.zype.android.webapi.model.video.Image in project zype-android by zype.

the class VideoHelper method objectFromCursor.

@NonNull
public static VideoData objectFromCursor(@NonNull Cursor cursor) {
    Gson gson = new Gson();
    VideoData video = VideoData.newVideo(cursor.getString(cursor.getColumnIndex(Contract.Video.COLUMN_ID)), cursor.getInt(cursor.getColumnIndex(Contract.Video.COLUMN_ACTIVE)) == 1, cursor.getString(cursor.getColumnIndex(Contract.Video.COLUMN_COUNTRY)));
    if (cursor.getString(cursor.getColumnIndexOrThrow(Contract.Video.COLUMN_CATEGORY)) != null) {
        Type categoryType = new TypeToken<List<Category>>() {
        }.getType();
        video.setCategories(gson.<List<Category>>fromJson(cursor.getString(cursor.getColumnIndexOrThrow(Contract.Video.COLUMN_CATEGORY)), categoryType));
    }
    video.setCreatedAt(cursor.getString(cursor.getColumnIndex(Contract.Video.COLUMN_CREATED_AT)));
    video.setDescription(cursor.getString(cursor.getColumnIndex(Contract.Video.COLUMN_DESCRIPTION)));
    video.setDiscoveryUrl(cursor.getString(cursor.getColumnIndex(Contract.Video.COLUMN_DISCOVERY_URL)));
    video.setDuration(cursor.getInt(cursor.getColumnIndex(Contract.Video.COLUMN_DURATION)));
    if (cursor.getString(cursor.getColumnIndexOrThrow(Contract.Video.COLUMN_GUESTS)) != null) {
        Type guestsType = new TypeToken<List<ZObject>>() {
        }.getType();
        video.setGuests(gson.<List<ZObject>>fromJson(cursor.getString(cursor.getColumnIndexOrThrow(Contract.Video.COLUMN_GUESTS)), guestsType));
    }
    video.setEpisode(cursor.getInt(cursor.getColumnIndex(Contract.Video.COLUMN_EPISODE)));
    video.setExpireAt(cursor.getString(cursor.getColumnIndex(Contract.Video.COLUMN_EXPIRE_AT)));
    video.setFeatured(cursor.getInt(cursor.getColumnIndex(Contract.Video.COLUMN_FEATURED)) == 1);
    video.setForeignId(cursor.getString(cursor.getColumnIndex(Contract.Video.COLUMN_FOREIGN_ID)));
    video.setMatureContent(cursor.getInt(cursor.getColumnIndex(Contract.Video.COLUMN_MATURE_CONTENT)) == 1);
    video.setOnAir(cursor.getInt(cursor.getColumnIndex(Contract.Video.COLUMN_ON_AIR)) == 1);
    video.setPlayingPosition(cursor.getInt(cursor.getColumnIndex(Contract.Video.COLUMN_PLAY_TIME)));
    video.setPlayerAudioUrl(cursor.getString(cursor.getColumnIndex(Contract.Video.COLUMN_PLAYER_AUDIO_URL)));
    video.setPlayerVideoUrl(cursor.getString(cursor.getColumnIndex(Contract.Video.COLUMN_PLAYER_VIDEO_URL)));
    video.setPublishedAt(cursor.getString(cursor.getColumnIndex(Contract.Video.COLUMN_PUBLISHED_AT)));
    video.setRating(cursor.getInt(cursor.getColumnIndex(Contract.Video.COLUMN_RATING)));
    video.setRequestCount(cursor.getInt(cursor.getColumnIndex(Contract.Video.COLUMN_REQUEST_COUNT)));
    if (cursor.getString(cursor.getColumnIndexOrThrow(Contract.Video.COLUMN_RELATED_PLAYLIST_IDS)) != null) {
        Type relatedPlaylistIdsType = new TypeToken<List<String>>() {
        }.getType();
        video.setRelatedPlaylistIds(gson.<List<String>>fromJson(cursor.getString(cursor.getColumnIndexOrThrow(Contract.Video.COLUMN_RELATED_PLAYLIST_IDS)), relatedPlaylistIdsType));
    }
    video.setSeason(cursor.getString(cursor.getColumnIndex(Contract.Video.COLUMN_SEASON)));
    video.setShortDescription(cursor.getString(cursor.getColumnIndex(Contract.Video.COLUMN_SHORT_DESCRIPTION)));
    video.setSiteId(cursor.getString(cursor.getColumnIndex(Contract.Video.COLUMN_SITE_ID)));
    video.setStartAt(cursor.getString(cursor.getColumnIndex(Contract.Video.COLUMN_START_AT)));
    video.setStatus(cursor.getString(cursor.getColumnIndex(Contract.Video.COLUMN_STATUS)));
    video.setSubscriptionRequired(cursor.getInt(cursor.getColumnIndex(Contract.Video.COLUMN_SUBSCRIPTION_REQUIRED)) == 1);
    video.setTitle(cursor.getString(cursor.getColumnIndex(Contract.Video.COLUMN_TITLE)));
    try {
        if (cursor.getString(cursor.getColumnIndexOrThrow(Contract.Video.COLUMN_THUMBNAILS)) != null) {
            Type thumbnailType = new TypeToken<List<Thumbnail>>() {
            }.getType();
            video.setThumbnails(gson.<List<Thumbnail>>fromJson(cursor.getString(cursor.getColumnIndexOrThrow(Contract.Video.COLUMN_THUMBNAILS)), thumbnailType));
        }
    } catch (IllegalStateException e) {
        Logger.e("objectFromCursor", e);
    }
    try {
        if (cursor.getString(cursor.getColumnIndexOrThrow(Contract.Video.COLUMN_IMAGES)) != null) {
            Type imageType = new TypeToken<List<Image>>() {
            }.getType();
            video.setImages(gson.<List<Image>>fromJson(cursor.getString(cursor.getColumnIndexOrThrow(Contract.Video.COLUMN_IMAGES)), imageType));
        }
    } catch (IllegalStateException e) {
        Logger.e("objectFromCursor", e);
    }
    video.setUpdatedAt(cursor.getString(cursor.getColumnIndex(Contract.Video.COLUMN_UPDATED_AT)));
    video.setHuluId(cursor.getString(cursor.getColumnIndex(Contract.Video.COLUMN_HULU_ID)));
    video.setYoutubeId(cursor.getString(cursor.getColumnIndex(Contract.Video.COLUMN_YOUTUBE_ID)));
    video.setTranscoded(cursor.getInt(cursor.getColumnIndex(Contract.Video.COLUMN_TRANSCODED)) == 1);
    video.setCrunchyrollId(cursor.getString(cursor.getColumnIndex(Contract.Video.COLUMN_CRUNCHYROLL_ID)));
    if (cursor.getString(cursor.getColumnIndexOrThrow(Contract.Video.COLUMN_KEYWORDS)) != null) {
        Type keywordsType = new TypeToken<List<String>>() {
        }.getType();
        video.setKeywords(gson.<List<String>>fromJson(cursor.getString(cursor.getColumnIndexOrThrow(Contract.Video.COLUMN_KEYWORDS)), keywordsType));
    }
    if (cursor.getString(cursor.getColumnIndexOrThrow(Contract.Video.COLUMN_VIDEO_ZOBJECTS)) != null) {
        Type videoZObjectsType = new TypeToken<List<VideoZobject>>() {
        }.getType();
        video.setVideoZobjects(gson.<List<VideoZobject>>fromJson(cursor.getString(cursor.getColumnIndexOrThrow(Contract.Video.COLUMN_VIDEO_ZOBJECTS)), videoZObjectsType));
    }
    if (cursor.getString(cursor.getColumnIndexOrThrow(Contract.Video.COLUMN_ZOBJECT_IDS)) != null) {
        Type zObjectIdsType = new TypeToken<List<String>>() {
        }.getType();
        video.setZobjectIds(gson.<List<String>>fromJson(cursor.getString(cursor.getColumnIndexOrThrow(Contract.Video.COLUMN_ZOBJECT_IDS)), zObjectIdsType));
    }
    if (cursor.getString(cursor.getColumnIndexOrThrow(Contract.Video.COLUMN_SEGMENTS)) != null) {
        Type segmentType = new TypeToken<List<Segment>>() {
        }.getType();
        video.setSegments(gson.<List<Segment>>fromJson(cursor.getString(cursor.getColumnIndexOrThrow(Contract.Video.COLUMN_SEGMENTS)), segmentType));
    }
    video.setPurchaseRequired(cursor.getInt(cursor.getColumnIndex(Contract.Video.PURCHASE_REQUIRED)) == 1);
    video.setRegistrationRequired(cursor.getInt(cursor.getColumnIndex(Contract.Video.COLUMN_REGISTRATION_REQUIRED)) == 1);
    return video;
}
Also used : VideoZobject(com.zype.android.webapi.model.video.VideoZobject) Category(com.zype.android.webapi.model.video.Category) Gson(com.google.gson.Gson) Thumbnail(com.zype.android.webapi.model.video.Thumbnail) Image(com.zype.android.webapi.model.video.Image) Segment(com.zype.android.webapi.model.search.Segment) ZObject(com.zype.android.webapi.model.zobjects.ZObject) Type(java.lang.reflect.Type) VideoData(com.zype.android.webapi.model.video.VideoData) ArrayList(java.util.ArrayList) List(java.util.List) NonNull(androidx.annotation.NonNull)

Example 4 with Image

use of com.zype.android.webapi.model.video.Image in project zype-android by zype.

the class VideoHelper method getPosterThumbnail.

public static Image getPosterThumbnail(Video video) {
    Type imageType = new TypeToken<List<Image>>() {
    }.getType();
    List<Image> images = new Gson().fromJson(video.images, imageType);
    return getPosterFromImages(images);
}
Also used : Type(java.lang.reflect.Type) Gson(com.google.gson.Gson) ArrayList(java.util.ArrayList) List(java.util.List) Image(com.zype.android.webapi.model.video.Image)

Example 5 with Image

use of com.zype.android.webapi.model.video.Image in project zype-android by zype.

the class GalleryRowItemsAdapter method loadThumbnail.

private void loadThumbnail(ViewHolder holder) {
    if (holder.item instanceof Video) {
        Video 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));
            }
        }
    } else if (holder.item instanceof Playlist) {
        Playlist playlist = (Playlist) holder.item;
        boolean thumbnailAssigned = false;
        if (usePoster && playlist.images != null) {
            Image posterThumbnail = VideoHelper.getPosterThumbnail(playlist);
            if (posterThumbnail != null) {
                thumbnailAssigned = true;
                UiUtils.loadImage(posterThumbnail.getUrl(), R.drawable.outline_video_library_white_48, holder.imageThumbnail);
            }
        }
        if (playlist.thumbnails != null && !thumbnailAssigned) {
            Type thumbnailType = new TypeToken<List<Thumbnail>>() {
            }.getType();
            List<Thumbnail> thumbnails = new Gson().fromJson(playlist.thumbnails, thumbnailType);
            Thumbnail thumbnail = VideoHelper.getThumbnailByHeight(thumbnails, 240);
            if (thumbnail != null) {
                UiUtils.loadImage(thumbnail.getUrl(), R.drawable.outline_video_library_white_48, holder.imageThumbnail);
            } else {
                holder.imageThumbnail.setImageDrawable(ContextCompat.getDrawable(holder.view.getContext(), R.drawable.outline_video_library_white_48));
            }
        }
    }
}
Also used : Playlist(com.zype.android.Db.Entity.Playlist) Type(java.lang.reflect.Type) Video(com.zype.android.Db.Entity.Video) TypeToken(com.google.gson.reflect.TypeToken) Gson(com.google.gson.Gson) ArrayList(java.util.ArrayList) List(java.util.List) Image(com.zype.android.webapi.model.video.Image) Thumbnail(com.zype.android.webapi.model.video.Thumbnail)

Aggregations

Image (com.zype.android.webapi.model.video.Image)5 Gson (com.google.gson.Gson)4 Type (java.lang.reflect.Type)4 ArrayList (java.util.ArrayList)4 List (java.util.List)4 Thumbnail (com.zype.android.webapi.model.video.Thumbnail)3 Video (com.zype.android.Db.Entity.Video)2 NonNull (androidx.annotation.NonNull)1 TypeToken (com.google.gson.reflect.TypeToken)1 Playlist (com.zype.android.Db.Entity.Playlist)1 Segment (com.zype.android.webapi.model.search.Segment)1 Category (com.zype.android.webapi.model.video.Category)1 VideoData (com.zype.android.webapi.model.video.VideoData)1 VideoZobject (com.zype.android.webapi.model.video.VideoZobject)1 ZObject (com.zype.android.webapi.model.zobjects.ZObject)1