/* © 2010 Stephan Reichholf <stephan at reichholf dot net> * * Licensed under the Create-Commons Attribution-Noncommercial-Share Alike 3.0 Unported * http://creativecommons.org/licenses/by-nc-sa/3.0/ */ package net.reichholf.dreamdroid.fragment; import android.os.Bundle; import android.support.v4.content.Loader; import net.reichholf.dreamdroid.R; import net.reichholf.dreamdroid.adapter.recyclerview.SimpleTextAdapter; import net.reichholf.dreamdroid.fragment.abs.BaseHttpRecyclerEventFragment; import net.reichholf.dreamdroid.helpers.ExtendedHashMap; import net.reichholf.dreamdroid.helpers.NameValuePair; import net.reichholf.dreamdroid.helpers.enigma2.Event; import net.reichholf.dreamdroid.helpers.enigma2.requesthandler.EventListRequestHandler; import net.reichholf.dreamdroid.loader.AsyncListLoader; import net.reichholf.dreamdroid.loader.LoaderResult; import java.util.ArrayList; /** * Shows the EPG of a service. Timers can be set via integrated detail dialog * * @author sreichholf * */ public class ServiceEpgListFragment extends BaseHttpRecyclerEventFragment { @Override public void onCreate(Bundle savedInstanceState) { mCardListStyle = true; mEnableReload = true; super.onCreate(savedInstanceState); initTitle(getString(R.string.epg)); mReference = getDataForKey(Event.KEY_SERVICE_REFERENCE); mName = getDataForKey(Event.KEY_SERVICE_NAME); } @Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); if (mReference != null) { setAdapter(); if (mMapList.size() <= 0) reload(); } else { finish(); } } /** * Initializes the <code>SimpleTextAdapter</code> */ private void setAdapter() { mAdapter = new SimpleTextAdapter(mMapList, R.layout.epg_list_item, new String[] { Event.KEY_EVENT_TITLE, Event.KEY_EVENT_DESCRIPTION_EXTENDED, Event.KEY_EVENT_START_READABLE, Event.KEY_EVENT_DURATION_READABLE }, new int[] { R.id.event_title, R.id.event_short, R.id.event_start, R.id.event_duration }); getRecyclerView().setAdapter(mAdapter); } @Override public ArrayList<NameValuePair> getHttpParams(int loader) { ArrayList<NameValuePair> params = new ArrayList<>(); params.add(new NameValuePair("sRef", mReference)); return params; } @Override public String getLoadFinishedTitle() { return getBaseTitle() + " - " + mName; } @Override public Loader<LoaderResult<ArrayList<ExtendedHashMap>>> onCreateLoader(int id, Bundle args) { return new AsyncListLoader(getAppCompatActivity(), new EventListRequestHandler(), false, args); } }