package tv.emby.embyatv.browsing; import android.os.Bundle; import mediabrowser.apiinteraction.Response; import mediabrowser.model.dto.BaseItemDto; import mediabrowser.model.querying.ItemSortBy; import mediabrowser.model.querying.ItemsByNameQuery; import mediabrowser.model.querying.ItemsResult; import tv.emby.embyatv.util.DelayedMessage; import tv.emby.embyatv.TvApp; import tv.emby.embyatv.querying.StdItemQuery; /** * Created by Eric on 12/4/2014. */ public class ByGenreFragment extends CustomViewFragment { @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); } @Override protected void setupQueries(final IRowLoader rowLoader) { if (mFolder.getChildCount() > 0) { final DelayedMessage message = new DelayedMessage(getActivity()); //Get all genres for this folder ItemsByNameQuery genres = new ItemsByNameQuery(); genres.setParentId(mFolder.getId()); genres.setSortBy(new String[]{ItemSortBy.SortName}); if (includeType != null) genres.setIncludeItemTypes(new String[]{includeType}); genres.setRecursive(true); genres.setUserId(TvApp.getApplication().getCurrentUser().getId()); TvApp.getApplication().getApiClient().GetGenresAsync(genres, new Response<ItemsResult>() { @Override public void onResponse(ItemsResult response) { for (BaseItemDto genre : response.getItems()) { StdItemQuery genreQuery = new StdItemQuery(); genreQuery.setParentId(mFolder.getId()); genreQuery.setSortBy(new String[]{ItemSortBy.SortName}); if (includeType != null) genreQuery.setIncludeItemTypes(new String[]{includeType}); genreQuery.setGenres(new String[] {genre.getName()}); genreQuery.setRecursive(true); mRows.add(new BrowseRowDef(genre.getName(), genreQuery, 40)); } if (mRows.size() < 2) setHeadersState(HEADERS_DISABLED); rowLoader.loadRows(mRows); message.Cancel(); } }); } else { setHeadersState(HEADERS_DISABLED); } } }