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