package pro.dbro.glance.fragments;
import android.app.AlertDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import com.squareup.otto.Bus;
import pro.dbro.glance.GlanceApplication;
import pro.dbro.glance.R;
import pro.dbro.glance.TocReferenceAdapter;
import pro.dbro.glance.events.ChapterSelectedEvent;
import pro.dbro.glance.formats.SpritzerMedia;
/**
* Fragment showing a list of available chapters for a
* {@link pro.dbro.glance.formats.SpritzerMedia}
* Created by davidbrodsky on 3/1/14.
*/
public class TocDialogFragment extends DialogFragment implements ListView.OnItemClickListener {
private SpritzerMedia mBook;
private pro.dbro.glance.TocReferenceAdapter mAdapter;
private ListView mList;
private Bus mBus;
public static TocDialogFragment newInstance(SpritzerMedia book) {
TocDialogFragment f = new TocDialogFragment();
Bundle args = new Bundle();
args.putSerializable("book", book);
f.setArguments(args);
return f;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mBook = (SpritzerMedia) getArguments().getSerializable("book");
mAdapter = new TocReferenceAdapter(getActivity(), R.layout.chapter_list_item, mBook);
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
View v = getActivity().getLayoutInflater().inflate(R.layout.fragment_dialog_chapters, null);
mList = (ListView) v.findViewById(R.id.list);
mList.setAdapter(mAdapter);
mList.setOnItemClickListener(this);
this.mBus = ((GlanceApplication)getActivity().getApplication()).getBus();
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle(getActivity().getString(R.string.select_chapter))
.setView(v);
return builder.create();
}
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
mBus.post(new ChapterSelectedEvent(position));
getDialog().dismiss();
}
}