Android support (still not useable, just a test)
[fanfix.git] / src / be / nikiroo / fanfix / reader / android / AndroidReaderGroup.java
CommitLineData
64968418
NR
1package be.nikiroo.fanfix.reader.android;
2
3import android.app.Fragment;
4import android.app.FragmentTransaction;
5import android.content.Context;
6import android.os.AsyncTask;
7import android.os.Bundle;
8import android.view.LayoutInflater;
9import android.view.View;
10import android.view.ViewGroup;
11
12import java.util.List;
13
14import be.nikiroo.fanfix.data.MetaData;
15import be.nikiroo.fanfix.reader.Reader;
16
17/**
18 * A simple {@link Fragment} subclass. Activities that contain this fragment
19 * must implement the {@link AndroidReaderGroup.OnFragmentInteractionListener}
20 * interface to handle interaction events.
21 */
22public class AndroidReaderGroup extends Fragment {
23 private OnFragmentInteractionListener listener;
24
25 public interface OnFragmentInteractionListener {
26 void onFragmentInteraction(MetaData meta);
27 }
28
29 public AndroidReaderGroup() {
30 // Required empty public constructor
31 }
32
33 @Override
34 public View onCreateView(LayoutInflater inflater, ViewGroup container,
35 Bundle savedInstanceState) {
36 // Inflate the layout for this fragment
37 return inflater.inflate(R.layout.fragment_android_reader_group,
38 container, false);
39 }
40
41 @Override
42 public void onAttach(Context context) {
43 super.onAttach(context);
44 if (context instanceof OnFragmentInteractionListener) {
45 listener = (OnFragmentInteractionListener) context;
46 }
47 }
48
49 @Override
50 public void onDetach() {
51 super.onDetach();
52 listener = null;
53 }
54
55 public void fill(final Reader reader, final String source) {
56 new AsyncTask<Void, Void, List<MetaData>>() {
57 @Override
58 protected List<MetaData> doInBackground(Void... voids) {
59 return reader.getLibrary().getListBySource(source);
60 }
61
62 @Override
63 protected void onPostExecute(List<MetaData> metas) {
64 for (MetaData meta : metas) {
65 String tag = "Book_" + meta.getLuid();
66 tag = null; // TODO: how does it work?
67 AndroidReaderBook book = null;// (AndroidReaderBook)
68 // getFragmentManager().findFragmentByTag(tag);
69 if (book == null) {
70 book = new AndroidReaderBook();
71 FragmentTransaction trans = getFragmentManager()
72 .beginTransaction();
73 trans.add(R.id.AndroidReaderGroup_root, book, tag);
74 trans.commit();
75 getFragmentManager().executePendingTransactions();
76 }
77 book.fill(reader, meta.getLuid());
78 }
79 }
80 }.execute();
81 }
82}