package edu.grinnell.kdic;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import java.util.ArrayList;
import java.util.Set;
import edu.grinnell.kdic.schedule.Schedule;
import edu.grinnell.kdic.schedule.ScheduleRecyclerItem;
import edu.grinnell.kdic.schedule.ScheduleRecyclerViewAdapter;
public class FavoritesFragment extends Fragment {
public static final String TAG = FavoritesFragment.class.getSimpleName();
private RecyclerView recyclerView;
private ScheduleRecyclerViewAdapter adapter;
private ArrayList<ScheduleRecyclerItem> mContent;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_schedule, null);
recyclerView = (RecyclerView) view.findViewById(R.id.rv_schedule);
recyclerView.setLayoutManager(new LinearLayoutManager(getActivity()));
adapter = new ScheduleRecyclerViewAdapter(getActivity());
recyclerView.setAdapter(adapter);
return view;
}
@Override
public void onResume() {
getFavoritesList();
super.onResume();
}
private void getFavoritesList() {
Schedule schedule = new Schedule(getContext());
Favorites favorites = new Favorites(getContext());
Set<String> showNames = favorites.getFavorites();
mContent = new ArrayList<>(showNames.size());
if (!showNames.isEmpty())
mContent.add(new ScheduleRecyclerItem(ScheduleRecyclerViewAdapter.SECTION_HEADER,
"Favorite Shows",
"All your jams in one place"));
else
mContent.add(new ScheduleRecyclerItem(ScheduleRecyclerViewAdapter.SECTION_HEADER,
"Nothing Here...",
"Your favorite shows will be right here."));
for (String s : showNames) {
Show show = schedule.getShow(s);
mContent.add(new ScheduleRecyclerItem(ScheduleRecyclerViewAdapter.CARD,
show.getTitle(),
show.getDay() + "s at " + show.getTime()));
}
adapter.addContent(mContent);
schedule.close();
}
}