Search in sources :

Example 1 with Episode

use of com.battlelancer.seriesguide.api.Episode in project SeriesGuide by UweTrottmann.

the class EpisodeActionsLoader method loadInBackground.

@Override
public List<Action> loadInBackground() {
    List<Action> actions = ExtensionManager.getInstance(getContext()).getLatestEpisodeActions(episodeTvdbId);
    // no actions available yet, request extensions to publish them
    if (actions == null || actions.size() == 0) {
        actions = new ArrayList<>();
        query = getContext().getContentResolver().query(Episodes.buildEpisodeWithShowUri(episodeTvdbId), Query.PROJECTION, null, null, null);
        if (query == null) {
            return actions;
        }
        Episode episode = null;
        if (query.moveToFirst()) {
            episode = new Episode.Builder().tvdbId(episodeTvdbId).title(query.getString(Query.TITLE)).number(query.getInt(Query.NUMBER)).numberAbsolute(query.getInt(Query.NUMBER_ABSOLUTE)).season(query.getInt(Query.SEASON)).imdbId(query.getString(Query.IMDB_ID)).showTvdbId(query.getInt(Query.SHOW_TVDB_ID)).showTitle(query.getString(Query.SHOW_TITLE)).showImdbId(query.getString(Query.SHOW_IMDB_ID)).showFirstReleaseDate(query.getString(Query.SHOW_FIRST_RELEASE)).build();
        }
        // clean up query first
        query.close();
        query = null;
        if (episode != null) {
            ExtensionManager.getInstance(getContext()).requestEpisodeActions(episode);
        }
    }
    return actions;
}
Also used : Episode(com.battlelancer.seriesguide.api.Episode) Action(com.battlelancer.seriesguide.api.Action)

Aggregations

Action (com.battlelancer.seriesguide.api.Action)1 Episode (com.battlelancer.seriesguide.api.Episode)1