package com.battlelancer.seriesguide.adapters; import android.app.Activity; import android.content.Context; import android.database.Cursor; import android.view.View; import com.battlelancer.seriesguide.provider.SeriesGuideContract; import com.battlelancer.seriesguide.thetvdbapi.TvdbImageTools; import com.battlelancer.seriesguide.util.DBUtils; /** * Adapter for show search result items. */ public class ShowResultsAdapter extends BaseShowsAdapter { public ShowResultsAdapter(Activity activity, OnContextMenuClickListener listener) { super(activity, listener); } @Override public void bindView(View view, Context context, Cursor cursor) { ShowViewHolder viewHolder = (ShowViewHolder) view.getTag(); viewHolder.showTvdbId = cursor.getInt(Query.ID); viewHolder.isFavorited = cursor.getInt(Query.FAVORITE) == 1; // show title viewHolder.name.setText(cursor.getString(Query.TITLE)); // favorited label setFavoriteState(viewHolder.favorited, viewHolder.isFavorited); // network, day and time viewHolder.timeAndNetwork.setText(buildNetworkAndTimeString(context, cursor.getInt(Query.RELEASE_TIME), cursor.getInt(Query.RELEASE_WEEKDAY), cursor.getString(Query.RELEASE_TIMEZONE), cursor.getString(Query.RELEASE_COUNTRY), cursor.getString(Query.NETWORK))); // poster TvdbImageTools.loadShowPosterResizeCrop(context, viewHolder.poster, cursor.getString(Query.POSTER)); // context menu viewHolder.isHidden = DBUtils.restoreBooleanFromInt(cursor.getInt(Query.HIDDEN)); } public interface Query { String[] PROJECTION = new String[] { SeriesGuideContract.Shows._ID, // 0 SeriesGuideContract.Shows.TITLE, SeriesGuideContract.Shows.POSTER, SeriesGuideContract.Shows.FAVORITE, SeriesGuideContract.Shows.HIDDEN, // 4 SeriesGuideContract.Shows.RELEASE_TIME, SeriesGuideContract.Shows.RELEASE_WEEKDAY, SeriesGuideContract.Shows.RELEASE_TIMEZONE, SeriesGuideContract.Shows.RELEASE_COUNTRY, SeriesGuideContract.Shows.NETWORK // 9 }; int ID = 0; int TITLE = 1; int POSTER = 2; int FAVORITE = 3; int HIDDEN = 4; int RELEASE_TIME = 5; int RELEASE_WEEKDAY = 6; int RELEASE_TIMEZONE = 7; int RELEASE_COUNTRY = 8; int NETWORK = 9; } }