package tv.emby.embyatv.browsing;
import android.os.Bundle;
import java.util.Arrays;
import mediabrowser.model.entities.SortOrder;
import mediabrowser.model.livetv.RecordingQuery;
import mediabrowser.model.querying.ItemFields;
import mediabrowser.model.querying.ItemFilter;
import mediabrowser.model.querying.ItemSortBy;
import tv.emby.embyatv.R;
import tv.emby.embyatv.TvApp;
import tv.emby.embyatv.querying.StdItemQuery;
/**
* Created by Eric on 12/4/2014.
*/
public class GenericFolderFragment extends EnhancedBrowseFragment {
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
}
private static String[] showSpecialViewTypes = new String[] {"CollectionFolder", "Folder", "UserView", "ChannelFolderItem"};
@Override
protected void setupQueries(IRowLoader rowLoader) {
if (mFolder.getType().equals("RecordingGroup")){
RecordingQuery query = new RecordingQuery();
query.setUserId(TvApp.getApplication().getCurrentUser().getId());
query.setGroupId(mFolder.getId());
query.setFields(new ItemFields[] {ItemFields.PrimaryImageAspectRatio});
mRows.add(new BrowseRowDef(mApplication.getResources().getString(R.string.lbl_all_items), query));
rowLoader.loadRows(mRows);
} else {
if (mFolder.getChildCount() > 0 || mFolder.getType().equals("Channel") || mFolder.getType().equals("ChannelFolderItem") || mFolder.getType().equals("UserView") || mFolder.getType().equals("CollectionFolder")) {
boolean showSpecialViews = Arrays.asList(showSpecialViewTypes).contains(mFolder.getType()) && !"channels".equals(mFolder.getCollectionType());
if (showSpecialViews) {
if (!mFolder.getType().equals("ChannelFolderItem")) {
StdItemQuery resume = new StdItemQuery();
resume.setParentId(mFolder.getId());
resume.setLimit(50);
resume.setFilters(new ItemFilter[]{ItemFilter.IsResumable});
resume.setSortBy(new String[]{ItemSortBy.DatePlayed});
resume.setSortOrder(SortOrder.Descending);
mRows.add(new BrowseRowDef(mApplication.getString(R.string.lbl_continue_watching), resume, 0));
}
StdItemQuery latest = new StdItemQuery();
latest.setParentId(mFolder.getId());
latest.setLimit(50);
latest.setFilters(new ItemFilter[]{ItemFilter.IsUnplayed});
latest.setSortBy(new String[]{ItemSortBy.DateCreated});
latest.setSortOrder(SortOrder.Descending);
mRows.add(new BrowseRowDef(mApplication.getString(R.string.lbl_latest_additions), latest, 0));
}
StdItemQuery byName = new StdItemQuery();
byName.setParentId(mFolder.getId());
mRows.add(new BrowseRowDef(mApplication.getString(R.string.lbl_by_name), byName, 100));
rowLoader.loadRows(mRows);
}
}
}
}