|
@@ -2,7 +2,6 @@ package eu.kanade.mangafeed.ui.library;
|
|
|
|
|
|
import android.content.Intent;
|
|
import android.content.Intent;
|
|
import android.os.Bundle;
|
|
import android.os.Bundle;
|
|
-import android.support.annotation.Nullable;
|
|
|
|
import android.view.LayoutInflater;
|
|
import android.view.LayoutInflater;
|
|
import android.view.View;
|
|
import android.view.View;
|
|
import android.view.ViewGroup;
|
|
import android.view.ViewGroup;
|
|
@@ -16,60 +15,78 @@ import butterknife.OnItemClick;
|
|
import eu.kanade.mangafeed.R;
|
|
import eu.kanade.mangafeed.R;
|
|
import eu.kanade.mangafeed.data.database.models.Category;
|
|
import eu.kanade.mangafeed.data.database.models.Category;
|
|
import eu.kanade.mangafeed.data.database.models.Manga;
|
|
import eu.kanade.mangafeed.data.database.models.Manga;
|
|
|
|
+import eu.kanade.mangafeed.event.LibraryMangasEvent;
|
|
import eu.kanade.mangafeed.ui.base.fragment.BaseFragment;
|
|
import eu.kanade.mangafeed.ui.base.fragment.BaseFragment;
|
|
|
|
+import eu.kanade.mangafeed.ui.main.MainActivity;
|
|
import eu.kanade.mangafeed.ui.manga.MangaActivity;
|
|
import eu.kanade.mangafeed.ui.manga.MangaActivity;
|
|
|
|
+import eu.kanade.mangafeed.util.EventBusHook;
|
|
|
|
+import icepick.Icepick;
|
|
|
|
+import icepick.State;
|
|
|
|
|
|
public class LibraryCategoryFragment extends BaseFragment {
|
|
public class LibraryCategoryFragment extends BaseFragment {
|
|
|
|
|
|
@Bind(R.id.gridView) GridView grid;
|
|
@Bind(R.id.gridView) GridView grid;
|
|
|
|
|
|
- private LibraryFragment parent;
|
|
|
|
- private LibraryAdapter adapter;
|
|
|
|
- private Category category;
|
|
|
|
- private List<Manga> mangas;
|
|
|
|
|
|
+ protected LibraryCategoryAdapter adapter;
|
|
|
|
+ @State Category category;
|
|
|
|
|
|
- public static LibraryCategoryFragment newInstance(LibraryFragment parent, Category category,
|
|
|
|
- List<Manga> mangas) {
|
|
|
|
|
|
+ public static LibraryCategoryFragment newInstance(Category category) {
|
|
LibraryCategoryFragment fragment = new LibraryCategoryFragment();
|
|
LibraryCategoryFragment fragment = new LibraryCategoryFragment();
|
|
- fragment.initialize(parent, category, mangas);
|
|
|
|
|
|
+ fragment.category = category;
|
|
return fragment;
|
|
return fragment;
|
|
}
|
|
}
|
|
|
|
|
|
- private void initialize(LibraryFragment parent, Category category, List<Manga> mangas) {
|
|
|
|
- this.parent = parent;
|
|
|
|
- this.category = category;
|
|
|
|
- this.mangas = mangas;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
@Override
|
|
@Override
|
|
- public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
|
|
|
- Bundle savedInstanceState) {
|
|
|
|
|
|
+ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedState) {
|
|
// Inflate the layout for this fragment
|
|
// Inflate the layout for this fragment
|
|
View view = inflater.inflate(R.layout.fragment_library_category, container, false);
|
|
View view = inflater.inflate(R.layout.fragment_library_category, container, false);
|
|
ButterKnife.bind(this, view);
|
|
ButterKnife.bind(this, view);
|
|
|
|
+ Icepick.restoreInstanceState(this, savedState);
|
|
|
|
|
|
- adapter = new LibraryAdapter(parent);
|
|
|
|
|
|
+ adapter = new LibraryCategoryAdapter((MainActivity) getActivity());
|
|
grid.setAdapter(adapter);
|
|
grid.setAdapter(adapter);
|
|
|
|
|
|
- if (mangas != null) {
|
|
|
|
- setMangas(mangas);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
return view;
|
|
return view;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ @Override
|
|
|
|
+ public void onResume() {
|
|
|
|
+ super.onResume();
|
|
|
|
+ registerForStickyEvents();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public void onPause() {
|
|
|
|
+ unregisterForEvents();
|
|
|
|
+ super.onPause();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public void onSaveInstanceState(Bundle outState) {
|
|
|
|
+ Icepick.saveInstanceState(this, outState);
|
|
|
|
+ super.onSaveInstanceState(outState);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @EventBusHook
|
|
|
|
+ public void onEventMainThread(LibraryMangasEvent event) {
|
|
|
|
+ setMangas(event.getMangas().get(category.id));
|
|
|
|
+ }
|
|
|
|
+
|
|
@OnItemClick(R.id.gridView)
|
|
@OnItemClick(R.id.gridView)
|
|
protected void onMangaClick(int position) {
|
|
protected void onMangaClick(int position) {
|
|
Intent intent = MangaActivity.newIntent(
|
|
Intent intent = MangaActivity.newIntent(
|
|
getActivity(),
|
|
getActivity(),
|
|
adapter.getItem(position)
|
|
adapter.getItem(position)
|
|
);
|
|
);
|
|
- parent.getPresenter().onOpenManga();
|
|
|
|
getActivity().startActivity(intent);
|
|
getActivity().startActivity(intent);
|
|
}
|
|
}
|
|
|
|
|
|
public void setMangas(List<Manga> mangas) {
|
|
public void setMangas(List<Manga> mangas) {
|
|
- adapter.setNewItems(mangas);
|
|
|
|
|
|
+ if (mangas != null) {
|
|
|
|
+ adapter.setNewItems(mangas);
|
|
|
|
+ } else {
|
|
|
|
+ adapter.getItems().clear();
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
}
|