Search in sources :

Example 26 with Video

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

the class MainActivity method onDownloadedVideoClick.

@Override
public void onDownloadedVideoClick(String videoId, int mediaType) {
    // if (SettingsProvider.getInstance().getSubscriptionCount() == 0) {
    // onRequestSubscription();
    // } else {
    // VideoDetailActivity.startActivity(this, videoId, null, mediaType);
    // }
    NavigationHelper navigationHelper = NavigationHelper.getInstance(this);
    Video video = DataRepository.getInstance(this.getApplication()).getVideoSync(videoId);
    if (video != null) {
        navigationHelper.handleVideoClick(this, video, null, false);
    }
}
Also used : NavigationHelper(com.zype.android.ui.NavigationHelper) Video(com.zype.android.Db.Entity.Video)

Example 27 with Video

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

the class PaywallViewModel method isItemPurchased.

private boolean isItemPurchased(List<Purchase> purchases) {
    if (paywallType == null)
        return false;
    switch(paywallType) {
        case PLAYLIST_TVOD:
            Playlist playlist = repo.getPlaylistSync(playlistId);
            if (playlist != null) {
                String marketplaceId = getPlaylistMarketplaceId(playlist);
                Log.d(TAG, "isItemPurchased(): sku=" + marketplaceId);
                for (Purchase purchase : purchases) {
                    if (purchase.getSku().equals(marketplaceId)) {
                        return true;
                    }
                /*for (String itemSku : purchase.getSkus()){
                            if (itemSku.equals(marketplaceId)) {
                                return true;
                            }
                        }*/
                }
            }
            break;
        case VIDEO_TVOD:
            {
                Video video = getVideo();
                if (video != null) {
                    String marketplaceId = getVideoMarketplaceId(video);
                    Log.d(TAG, "isItemPurchased(): sku=" + marketplaceId);
                    for (Purchase purchase : purchases) {
                        if (!TextUtils.isEmpty(marketplaceId) && purchase.getSku().equals(marketplaceId)) {
                            return true;
                        }
                    /*for (String itemSku : purchase.getSkus()){
                            if (!TextUtils.isEmpty(marketplaceId) && itemSku.equals(marketplaceId)) {
                                return true;
                            }
                        }*/
                    }
                }
                break;
            }
    }
    return false;
}
Also used : Playlist(com.zype.android.Db.Entity.Playlist) Purchase(com.android.billingclient.api.Purchase) Video(com.zype.android.Db.Entity.Video)

Example 28 with Video

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

the class SearchViewModel method loadSearchResult.

private void loadSearchResult(String query, String playlistId) {
    final List<Video> result = new ArrayList<>();
    final IZypeApiListener listener = new IZypeApiListener() {

        @Override
        public void onCompleted(ZypeApiResponse response) {
            VideosResponse videosResponse = (VideosResponse) response.data;
            if (response.isSuccessful) {
                for (com.zype.android.zypeapi.model.VideoData item : videosResponse.videoData) {
                    Video video = repo.getVideoSync(item.id);
                    if (video != null) {
                        result.add(DbHelper.videoUpdateEntityByApi(video, item));
                    } else {
                        result.add(DbHelper.videoApiToEntity(item));
                    }
                }
                if (videosResponse.pagination.current == videosResponse.pagination.pages || videosResponse.pagination.pages == 0) {
                    repo.insertVideos(result);
                    updateVideos(new StatefulData<>(result, null, DataState.READY));
                } else {
                    api.searchVideos(query, playlistId, videosResponse.pagination.next, this);
                }
            } else {
                if (videosResponse != null) {
                    updateVideos(new StatefulData<>(null, videosResponse.message, DataState.ERROR));
                } else {
                    updateVideos(new StatefulData<>(null, getApplication().getString(R.string.videos_error), DataState.ERROR));
                }
            }
        }
    };
    api.searchVideos(query, playlistId, 1, listener);
}
Also used : ZypeApiResponse(com.zype.android.zypeapi.ZypeApiResponse) IZypeApiListener(com.zype.android.zypeapi.IZypeApiListener) Video(com.zype.android.Db.Entity.Video) ArrayList(java.util.ArrayList) VideosResponse(com.zype.android.zypeapi.model.VideosResponse)

Example 29 with Video

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

the class PlaylistVideosViewModel method loadVideos.

private void loadVideos(final String playlistId) {
    updateVideos(new StatefulData<>(null, null, DataState.LOADING));
    final List<Video> result = new ArrayList<>();
    final IZypeApiListener listener = new IZypeApiListener() {

        @Override
        public void onCompleted(ZypeApiResponse response) {
            VideosResponse videosResponse = (VideosResponse) response.data;
            if (response.isSuccessful) {
                for (com.zype.android.zypeapi.model.VideoData item : videosResponse.videoData) {
                    Video video = repo.getVideoSync(item.id);
                    if (video != null) {
                        result.add(DbHelper.videoUpdateEntityByApi(video, item));
                    } else {
                        result.add(DbHelper.videoApiToEntity(item));
                    }
                }
                if (videosResponse.pagination.current == videosResponse.pagination.pages) {
                    repo.insertVideos(result);
                    repo.deletePlaylistVideos(playlistId);
                    repo.insertPlaylistVideos(DbHelper.videosToPlaylistVideos(result, playlistId));
                    updateVideos(new StatefulData<>(repo.getPlaylistVideosSync(playlistId), null, DataState.READY));
                } else {
                    api.getPlaylistVideos(playlistId, videosResponse.pagination.next, this);
                }
            } else {
                if (videosResponse != null) {
                    updateVideos(new StatefulData<>(null, videosResponse.message, DataState.ERROR));
                // errorMessage.setValue(videosResponse.message);
                } else {
                    updateVideos(new StatefulData<>(null, getApplication().getString(R.string.videos_error), DataState.ERROR));
                // errorMessage.setValue(getApplication().getString(R.string.videos_error));
                }
            }
        }
    };
    api.getPlaylistVideos(playlistId, 1, listener);
}
Also used : ZypeApiResponse(com.zype.android.zypeapi.ZypeApiResponse) IZypeApiListener(com.zype.android.zypeapi.IZypeApiListener) Video(com.zype.android.Db.Entity.Video) ArrayList(java.util.ArrayList) VideosResponse(com.zype.android.zypeapi.model.VideosResponse)

Example 30 with Video

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

the class VideoDetailActivity method onDestroy.

@Override
protected void onDestroy() {
    Logger.d("onDestroy()");
    Video video = DataRepository.getInstance(getApplication()).getVideoSync(mVideoId);
    video.playerAudioUrl = null;
    video.playerVideoUrl = null;
    DataRepository.getInstance(getApplication()).updateVideo(video);
    super.onDestroy();
}
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