Search in sources :

Example 1 with VideoEvent

use of com.zype.android.webapi.events.video.VideoEvent in project zype-android by zype.

the class WebApiManager method executeJob.

private DataEvent executeJob(Job job) {
    Request request = job.getRequest();
    Bundle args = job.getOptions();
    RequestTicket ticket = job.getTicket();
    HashMap<String, String> pathParams = (HashMap<String, String>) args.getSerializable(ParamsBuilder.PATH_PARAMS);
    HashMap<String, String> postParams = (HashMap<String, String>) args.getSerializable(ParamsBuilder.POST_PARAMS);
    HashMap<String, String> getParams = (HashMap<String, String>) args.getSerializable(ParamsBuilder.GET_PARAMS);
    String videoId;
    String playlistId;
    assert getParams != null;
    assert pathParams != null;
    // Making sure we add the token to the request on the same thread that it is refreshed on.
    // This way we don't have to worry about any timing issues with accessing it and refreshing it at the same time
    String accessToken = "access_token";
    if (getParams.containsKey(accessToken))
        getParams.put(accessToken, SettingsProvider.getInstance().getAccessToken());
    if (pathParams.containsKey(accessToken))
        pathParams.put(accessToken, SettingsProvider.getInstance().getAccessToken());
    if (postParams != null && postParams.containsKey(accessToken))
        postParams.put(accessToken, SettingsProvider.getInstance().getAccessToken());
    switch(request) {
        case APP:
            return new AppEvent(ticket, request, new AppResponse(mApi.getApp(getParams)));
        case AUTH_REFRESH_ACCESS_TOKEN:
            return new RefreshAccessTokenEvent(ticket, new RefreshAccessToken(mApi.authRefreshAccessToken(postParams)));
        case AUTH_RETRIEVE_ACCESS_TOKEN:
            return new RetrieveAccessTokenEvent(ticket, new RetrieveAccessToken(mApi.authRetrieveAccessToken(postParams)));
        case MARKETPLACE_CONNECT:
            MarketplaceConnectBody body = new MarketplaceConnectBody();
            body.appId = ZypeApp.appData.id;
            body.consumerId = postParams.get(MarketplaceConnectParamsBuilder.CONSUMER_ID);
            body.planId = postParams.get(MarketplaceConnectParamsBuilder.PLAN_ID);
            body.playlistId = postParams.get(MarketplaceConnectParamsBuilder.PLAYLIST_ID);
            body.purchaseToken = postParams.get(MarketplaceConnectParamsBuilder.PURCHASE_TOKEN);
            body.siteId = ZypeApp.appData.siteId;
            MarketplaceConnectBodyData bodyData = new MarketplaceConnectBodyData();
            bodyData.receipt = postParams.get(MarketplaceConnectParamsBuilder.RECEIPT);
            bodyData.signature = postParams.get(MarketplaceConnectParamsBuilder.SIGNATURE);
            body.data = bodyData;
            return new MarketplaceConnectEvent(ticket, new MarketplaceConnectResponse(marketplaceConnectApi.verifySubscription(body)));
        case CONSUMER_FORGOT_PASSWORD:
            return new ConsumerEvent(ticket, request, new ConsumerResponse(mApi.consumerForgotPassword(getParams, postParams)));
        case PLAN:
            String planId = pathParams.get(PlanParamsBuilder.PLAN_ID);
            return new PlanEvent(ticket, new PlanResponse(mApi.getPlan(planId, getParams)));
        case TOKEN_INFO:
            String token = getParams.get(AuthParamsBuilder.ACCESS_TOKEN);
            return new AccessTokenInfoEvent(ticket, new AccessTokenInfoResponse(mApi.getTokenInfo(token)));
        case VIDEO_LIST:
            return new VideoListEvent(ticket, new VideoListResponse(mApi.getVideoList(getParams)), null);
        case VIDEO:
            videoId = getParams.get(VideoParamsBuilder.VIDEO_ID);
            getParams.remove(VideoParamsBuilder.VIDEO_ID);
            return new VideoEvent(ticket, new VideoResponse(mApi.getVideo(videoId, getParams)));
        case VIDEO_HIGHLIGHT_GET:
            return new RetrieveHighLightVideoEvent(ticket, new VideoListResponse(mApi.getVideoList(getParams)));
        case CONSUMER_FAVORITE_VIDEO_GET:
            return new ConsumerFavoriteVideoEvent(ticket, new ConsumerFavoriteVideoResponse(mApi.getFavoriteVideoList(SettingsProvider.getInstance().getConsumerId(), getParams)));
        case FAVORITE:
            return new FavoriteEvent(ticket, new FavoriteResponse(mApi.setFavoriteVideo(SettingsProvider.getInstance().getConsumerId(), postParams)));
        case UN_FAVORITE:
            String favoriteId = pathParams.get(FavoriteParamsBuilder.FAVORITE_ID);
            videoId = pathParams.get(FavoriteParamsBuilder.VIDEO_ID);
            return new UnfavoriteEvent(ticket, new UnfavoriteResponse(mApi.setUnFavoriteVideo(SettingsProvider.getInstance().getConsumerId(), favoriteId, postParams)), videoId);
        case CONSUMER_CREATE:
            return new ConsumerEvent(ticket, request, new ConsumerResponse(mApi.createConsumer(getParams, postParams)));
        case CONSUMER_GET:
            return new ConsumerEvent(ticket, request, new ConsumerResponse(mApi.getConsumer(SettingsProvider.getInstance().getAccessTokenResourceOwnerId(), getParams)));
        case DEVICE_PIN_CREATE:
            return new DevicePinEvent(ticket, args, new DevicePinResponse(mApi.createDevicePin(getParams, "")));
        case DEVICE_PIN_GET:
            return new DevicePinEvent(ticket, args, new DevicePinResponse(mApi.getDevicePin(getParams)));
        case CATEGORY:
            return new CategoryEvent(ticket, new CategoryResponse(mApi.getCategory(getParams)));
        case Z_OBJECT:
            return new ZObjectEvent(ticket, new ZObjectResponse(mApi.getZobject(getParams)));
        case GET_SETTINGS:
            return new SettingsEvent(ticket, new SettingsResponse(mApi.getSettings(getParams)));
        case CONTENT_SETTINGS:
            return new ContentSettingsEvent(ticket, new ContentSettingsResponse(mApi.getContentSettings(getParams)));
        case LIVE_STREAM_SETTINGS:
            return new LiveStreamSettingsEvent(ticket, new LiveStreamSettingsResponse(mApi.getLiveStreamSettings(getParams)));
        case SEARCH:
            return new SearchEvent(ticket, new SearchResponse(mApi.getSearchVideo(getParams)));
        case PLAYER_VIDEO:
            videoId = getParams.get(PlayerParamsBuilder.VIDEO_ID);
            return new PlayerVideoEvent(ticket, new PlayerVideoResponse(mDownloadApi.getVideoPlayer(videoId, getParams)));
        case PLAYER_AUDIO:
            videoId = getParams.get(PlayerParamsBuilder.VIDEO_ID);
            return new PlayerAudioEvent(ticket, args, new PlayerAudioResponse(mDownloadApi.getAudioPlayer(videoId, getParams)));
        case PLAYER_DOWNLOAD_VIDEO:
            videoId = pathParams.get(DownloadVideoParamsBuilder.VIDEO_ID);
            return new DownloadVideoEvent(ticket, new DownloadVideoResponse(mDownloadApi.getDownloadVideo(videoId, getParams)), videoId);
        case PLAYER_DOWNLOAD_AUDIO:
            videoId = pathParams.get(DownloadAudioParamsBuilder.VIDEO_ID);
            return new DownloadAudioEvent(ticket, new DownloadAudioResponse(mDownloadApi.getDownloadAudio(videoId, getParams)), videoId);
        case ON_AIR:
            return new OnAirEvent(ticket, new OnAirResponse(mApi.getOnAir(getParams)));
        case PLAYER_ON_AIR_VIDEO:
            videoId = getParams.get(PlayerParamsBuilder.VIDEO_ID);
            getParams.remove(PlayerParamsBuilder.VIDEO_ID);
            return new OnAirVideoEvent(ticket, new OnAirVideoResponse(mCookieApi.getOnAirVideo(videoId, getParams)));
        case PLAYER_ON_AIR_AUDIO:
            videoId = getParams.get(PlayerParamsBuilder.VIDEO_ID);
            getParams.remove(PlayerParamsBuilder.VIDEO_ID);
            return new OnAirAudioEvent(ticket, new OnAirAudioResponse(mCookieApi.getOnAirAudio(videoId, getParams)));
        case PLAYLIST_GET:
            String parentId = getParams.get(PlaylistParamsBuilder.PARENT_ID);
            return new PlaylistEvent(ticket, new PlaylistResponse(mApi.getPlaylists(getParams)), parentId);
        case VIDEO_FROM_PLAYLIST:
            if (pathParams.containsKey(VideoParamsBuilder.PLAYLIST_ID)) {
                playlistId = pathParams.get(VideoParamsBuilder.PLAYLIST_ID);
                return new VideoListEvent(ticket, new VideoListResponse(mApi.getVideosFromPlaylist(playlistId, getParams)), playlistId);
            } else {
                throw new IllegalStateException("VideoParamsBuilder.PLAYLIST_ID can not be null");
            }
        case CHECK_VIDEO_ENTITLEMENT:
            videoId = pathParams.get(EntitlementParamsBuilder.VIDEO_ID);
            return new VideoEntitlementEvent(ticket, args, new VideoEntitlementResponse(mApi.checkVideoEntitlement(videoId, getParams)));
        case VIDEO_ENTITLEMENTS:
            return new VideoEntitlementsEvent(ticket, new VideoEntitlementsResponse(mApi.getVideoEntitlements(getParams)));
        default:
            throw new RuntimeException("Unknown request:" + request);
    }
}
Also used : PlayerVideoResponse(com.zype.android.webapi.model.player.PlayerVideoResponse) HashMap(java.util.HashMap) VideoEntitlementResponse(com.zype.android.webapi.model.entitlements.VideoEntitlementResponse) PlanEvent(com.zype.android.webapi.events.plan.PlanEvent) MarketplaceConnectEvent(com.zype.android.webapi.events.marketplaceconnect.MarketplaceConnectEvent) RetrieveHighLightVideoEvent(com.zype.android.webapi.events.video.RetrieveHighLightVideoEvent) VideoEvent(com.zype.android.webapi.events.video.VideoEvent) OnAirVideoEvent(com.zype.android.webapi.events.onair.OnAirVideoEvent) DownloadVideoEvent(com.zype.android.webapi.events.download.DownloadVideoEvent) ConsumerFavoriteVideoEvent(com.zype.android.webapi.events.consumer.ConsumerFavoriteVideoEvent) PlayerVideoEvent(com.zype.android.webapi.events.player.PlayerVideoEvent) PlayerAudioEvent(com.zype.android.webapi.events.player.PlayerAudioEvent) AppEvent(com.zype.android.webapi.events.app.AppEvent) VideoEntitlementsResponse(com.zype.android.webapi.model.entitlements.VideoEntitlementsResponse) ContentSettingsResponse(com.zype.android.webapi.model.settings.ContentSettingsResponse) LiveStreamSettingsResponse(com.zype.android.webapi.model.settings.LiveStreamSettingsResponse) SettingsResponse(com.zype.android.webapi.model.settings.SettingsResponse) PlaylistEvent(com.zype.android.webapi.events.playlist.PlaylistEvent) ZObjectResponse(com.zype.android.webapi.model.zobjects.ZObjectResponse) PlayerAudioResponse(com.zype.android.webapi.model.player.PlayerAudioResponse) DevicePinEvent(com.zype.android.webapi.events.linking.DevicePinEvent) ZObjectEvent(com.zype.android.webapi.events.zobject.ZObjectEvent) SearchResponse(com.zype.android.webapi.model.search.SearchResponse) LiveStreamSettingsResponse(com.zype.android.webapi.model.settings.LiveStreamSettingsResponse) RetrieveAccessToken(com.zype.android.webapi.model.auth.RetrieveAccessToken) ConsumerFavoriteVideoResponse(com.zype.android.webapi.model.consumers.ConsumerFavoriteVideoResponse) OnAirAudioEvent(com.zype.android.webapi.events.onair.OnAirAudioEvent) UnfavoriteEvent(com.zype.android.webapi.events.favorite.UnfavoriteEvent) OnAirEvent(com.zype.android.webapi.events.onair.OnAirEvent) ConsumerEvent(com.zype.android.webapi.events.consumer.ConsumerEvent) RetrieveHighLightVideoEvent(com.zype.android.webapi.events.video.RetrieveHighLightVideoEvent) DevicePinResponse(com.zype.android.webapi.model.linking.DevicePinResponse) SettingsEvent(com.zype.android.webapi.events.settings.SettingsEvent) LiveStreamSettingsEvent(com.zype.android.webapi.events.settings.LiveStreamSettingsEvent) ContentSettingsEvent(com.zype.android.webapi.events.settings.ContentSettingsEvent) AccessTokenInfoEvent(com.zype.android.webapi.events.auth.AccessTokenInfoEvent) ContentSettingsEvent(com.zype.android.webapi.events.settings.ContentSettingsEvent) CategoryResponse(com.zype.android.webapi.model.category.CategoryResponse) PlaylistResponse(com.zype.android.webapi.model.playlist.PlaylistResponse) RefreshAccessTokenEvent(com.zype.android.webapi.events.auth.RefreshAccessTokenEvent) PlayerVideoEvent(com.zype.android.webapi.events.player.PlayerVideoEvent) MarketplaceConnectBodyData(com.zype.android.webapi.model.marketplaceconnect.MarketplaceConnectBodyData) VideoListEvent(com.zype.android.webapi.events.video.VideoListEvent) VideoEntitlementEvent(com.zype.android.webapi.events.entitlements.VideoEntitlementEvent) AccessTokenInfoResponse(com.zype.android.webapi.model.auth.AccessTokenInfoResponse) MarketplaceConnectBody(com.zype.android.webapi.model.marketplaceconnect.MarketplaceConnectBody) UnfavoriteResponse(com.zype.android.webapi.model.favorite.UnfavoriteResponse) FavoriteResponse(com.zype.android.webapi.model.favorite.FavoriteResponse) PlayerVideoResponse(com.zype.android.webapi.model.player.PlayerVideoResponse) ConsumerFavoriteVideoResponse(com.zype.android.webapi.model.consumers.ConsumerFavoriteVideoResponse) VideoResponse(com.zype.android.webapi.model.video.VideoResponse) DownloadVideoResponse(com.zype.android.webapi.model.download.DownloadVideoResponse) OnAirVideoResponse(com.zype.android.webapi.model.onair.OnAirVideoResponse) LiveStreamSettingsEvent(com.zype.android.webapi.events.settings.LiveStreamSettingsEvent) OnAirResponse(com.zype.android.webapi.model.onair.OnAirResponse) FavoriteEvent(com.zype.android.webapi.events.favorite.FavoriteEvent) AppResponse(com.zype.android.webapi.model.app.AppResponse) RetrieveAccessTokenEvent(com.zype.android.webapi.events.auth.RetrieveAccessTokenEvent) DownloadVideoResponse(com.zype.android.webapi.model.download.DownloadVideoResponse) OnAirAudioResponse(com.zype.android.webapi.model.onair.OnAirAudioResponse) DownloadVideoEvent(com.zype.android.webapi.events.download.DownloadVideoEvent) ConsumerFavoriteVideoEvent(com.zype.android.webapi.events.consumer.ConsumerFavoriteVideoEvent) ContentSettingsResponse(com.zype.android.webapi.model.settings.ContentSettingsResponse) VideoEntitlementsEvent(com.zype.android.webapi.events.entitlements.VideoEntitlementsEvent) Bundle(android.os.Bundle) PlanResponse(com.zype.android.webapi.model.plan.PlanResponse) RefreshAccessToken(com.zype.android.webapi.model.auth.RefreshAccessToken) DownloadAudioResponse(com.zype.android.webapi.model.download.DownloadAudioResponse) MarketplaceConnectResponse(com.zype.android.webapi.model.marketplaceconnect.MarketplaceConnectResponse) SearchEvent(com.zype.android.webapi.events.search.SearchEvent) OnAirVideoResponse(com.zype.android.webapi.model.onair.OnAirVideoResponse) DownloadAudioEvent(com.zype.android.webapi.events.download.DownloadAudioEvent) CategoryEvent(com.zype.android.webapi.events.category.CategoryEvent) ConsumerResponse(com.zype.android.webapi.model.consumers.ConsumerResponse) OnAirVideoEvent(com.zype.android.webapi.events.onair.OnAirVideoEvent) VideoListResponse(com.zype.android.webapi.model.video.VideoListResponse)

Aggregations

Bundle (android.os.Bundle)1 AppEvent (com.zype.android.webapi.events.app.AppEvent)1 AccessTokenInfoEvent (com.zype.android.webapi.events.auth.AccessTokenInfoEvent)1 RefreshAccessTokenEvent (com.zype.android.webapi.events.auth.RefreshAccessTokenEvent)1 RetrieveAccessTokenEvent (com.zype.android.webapi.events.auth.RetrieveAccessTokenEvent)1 CategoryEvent (com.zype.android.webapi.events.category.CategoryEvent)1 ConsumerEvent (com.zype.android.webapi.events.consumer.ConsumerEvent)1 ConsumerFavoriteVideoEvent (com.zype.android.webapi.events.consumer.ConsumerFavoriteVideoEvent)1 DownloadAudioEvent (com.zype.android.webapi.events.download.DownloadAudioEvent)1 DownloadVideoEvent (com.zype.android.webapi.events.download.DownloadVideoEvent)1 VideoEntitlementEvent (com.zype.android.webapi.events.entitlements.VideoEntitlementEvent)1 VideoEntitlementsEvent (com.zype.android.webapi.events.entitlements.VideoEntitlementsEvent)1 FavoriteEvent (com.zype.android.webapi.events.favorite.FavoriteEvent)1 UnfavoriteEvent (com.zype.android.webapi.events.favorite.UnfavoriteEvent)1 DevicePinEvent (com.zype.android.webapi.events.linking.DevicePinEvent)1 MarketplaceConnectEvent (com.zype.android.webapi.events.marketplaceconnect.MarketplaceConnectEvent)1 OnAirAudioEvent (com.zype.android.webapi.events.onair.OnAirAudioEvent)1 OnAirEvent (com.zype.android.webapi.events.onair.OnAirEvent)1 OnAirVideoEvent (com.zype.android.webapi.events.onair.OnAirVideoEvent)1 PlanEvent (com.zype.android.webapi.events.plan.PlanEvent)1