Show chapter list
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package eu.kanade.mangafeed.ui.activity;
|
||||
|
||||
import android.app.FragmentManager;
|
||||
import android.content.Context;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
import android.support.v7.widget.Toolbar;
|
||||
import android.view.MenuItem;
|
||||
@@ -39,4 +40,7 @@ public class BaseActivity extends AppCompatActivity {
|
||||
return App.get(this).getComponent();
|
||||
}
|
||||
|
||||
public Context getActivity() {
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,29 +6,40 @@ import android.os.Bundle;
|
||||
import android.support.v7.widget.Toolbar;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.widget.ListView;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import butterknife.Bind;
|
||||
import butterknife.ButterKnife;
|
||||
import de.greenrobot.event.EventBus;
|
||||
import eu.kanade.mangafeed.R;
|
||||
import eu.kanade.mangafeed.data.models.Chapter;
|
||||
import eu.kanade.mangafeed.data.models.Manga;
|
||||
import eu.kanade.mangafeed.presenter.MangaDetailPresenter;
|
||||
import eu.kanade.mangafeed.ui.adapter.ChapterListHolder;
|
||||
import eu.kanade.mangafeed.view.MangaDetailView;
|
||||
import uk.co.ribot.easyadapter.EasyAdapter;
|
||||
|
||||
public class MangaDetailActivity extends BaseActivity {
|
||||
public class MangaDetailActivity extends BaseActivity implements MangaDetailView {
|
||||
|
||||
Manga manga;
|
||||
MangaDetailPresenter presenter;
|
||||
EasyAdapter<Chapter> adapter;
|
||||
|
||||
@Bind(R.id.toolbar)
|
||||
Toolbar toolbar;
|
||||
|
||||
@Bind(R.id.manga_chapters_list)
|
||||
ListView list_chapters;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_manga_detail);
|
||||
ButterKnife.bind(this);
|
||||
presenter = new MangaDetailPresenter(this);
|
||||
|
||||
setupToolbar(toolbar);
|
||||
|
||||
EventBus.getDefault().registerSticky(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -53,26 +64,39 @@ public class MangaDetailActivity extends BaseActivity {
|
||||
return super.onOptionsItemSelected(item);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroy() {
|
||||
EventBus.getDefault().unregister(this);
|
||||
|
||||
super.onDestroy();
|
||||
}
|
||||
|
||||
public static Intent newIntent(Context context, Manga manga) {
|
||||
Intent intent = new Intent(context, MangaDetailActivity.class);
|
||||
EventBus.getDefault().postSticky(manga);
|
||||
MangaDetailPresenter.newIntent(manga);
|
||||
return intent;
|
||||
}
|
||||
|
||||
public void onEventMainThread(Manga manga) {
|
||||
this.manga = manga;
|
||||
loadManga();
|
||||
//loadChapters();
|
||||
@Override
|
||||
public void onStart() {
|
||||
super.onStart();
|
||||
presenter.onStart();
|
||||
}
|
||||
|
||||
private void loadManga() {
|
||||
@Override
|
||||
public void onStop() {
|
||||
super.onStop();
|
||||
presenter.onStop();
|
||||
}
|
||||
|
||||
public void loadManga(Manga manga) {
|
||||
setToolbarTitle(manga.title);
|
||||
}
|
||||
|
||||
public void setChapters(List<Chapter> chapters) {
|
||||
if (adapter == null) {
|
||||
adapter = new EasyAdapter<Chapter>(
|
||||
getActivity(),
|
||||
ChapterListHolder.class,
|
||||
chapters
|
||||
);
|
||||
list_chapters.setAdapter(adapter);
|
||||
} else {
|
||||
adapter.setItems(chapters);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
package eu.kanade.mangafeed.ui.adapter;
|
||||
|
||||
import android.view.View;
|
||||
import android.widget.TextView;
|
||||
|
||||
import eu.kanade.mangafeed.R;
|
||||
import eu.kanade.mangafeed.data.models.Chapter;
|
||||
import uk.co.ribot.easyadapter.ItemViewHolder;
|
||||
import uk.co.ribot.easyadapter.PositionInfo;
|
||||
import uk.co.ribot.easyadapter.annotations.LayoutId;
|
||||
import uk.co.ribot.easyadapter.annotations.ViewId;
|
||||
|
||||
@LayoutId(R.layout.item_chapter)
|
||||
public class ChapterListHolder extends ItemViewHolder<Chapter> {
|
||||
|
||||
@ViewId(R.id.chapter_title)
|
||||
TextView title;
|
||||
|
||||
public ChapterListHolder(View view) {
|
||||
super(view);
|
||||
}
|
||||
|
||||
public void onSetValues(Chapter chapter, PositionInfo positionInfo) {
|
||||
title.setText(chapter.name);
|
||||
}
|
||||
}
|
||||
@@ -7,7 +7,6 @@ import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.GridView;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import butterknife.Bind;
|
||||
@@ -15,7 +14,6 @@ import butterknife.ButterKnife;
|
||||
import eu.kanade.mangafeed.R;
|
||||
import eu.kanade.mangafeed.data.models.Manga;
|
||||
import eu.kanade.mangafeed.presenter.LibraryPresenter;
|
||||
import eu.kanade.mangafeed.ui.activity.BaseActivity;
|
||||
import eu.kanade.mangafeed.ui.activity.MainActivity;
|
||||
import eu.kanade.mangafeed.ui.adapter.MangaLibraryHolder;
|
||||
import eu.kanade.mangafeed.view.LibraryView;
|
||||
@@ -25,8 +23,8 @@ import uk.co.ribot.easyadapter.EasyAdapter;
|
||||
public class LibraryFragment extends Fragment implements LibraryView {
|
||||
|
||||
@Bind(R.id.gridView) GridView grid;
|
||||
LibraryPresenter mLibraryPresenter;
|
||||
EasyAdapter<Manga> mEasyAdapter;
|
||||
LibraryPresenter presenter;
|
||||
EasyAdapter<Manga> adapter;
|
||||
|
||||
public static LibraryFragment newInstance() {
|
||||
LibraryFragment fragment = new LibraryFragment();
|
||||
@@ -39,7 +37,7 @@ public class LibraryFragment extends Fragment implements LibraryView {
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
|
||||
mLibraryPresenter = new LibraryPresenter(this);
|
||||
presenter = new LibraryPresenter(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -50,22 +48,22 @@ public class LibraryFragment extends Fragment implements LibraryView {
|
||||
((MainActivity)getActivity()).setToolbarTitle(getString(R.string.library_title));
|
||||
ButterKnife.bind(this, view);
|
||||
|
||||
mLibraryPresenter.initializeMangas();
|
||||
presenter.initializeMangas();
|
||||
setMangaClickListener();
|
||||
|
||||
return view;
|
||||
}
|
||||
|
||||
public void setMangas(List<Manga> mangas) {
|
||||
if (mEasyAdapter == null) {
|
||||
mEasyAdapter = new EasyAdapter<Manga>(
|
||||
if (adapter == null) {
|
||||
adapter = new EasyAdapter<Manga>(
|
||||
getActivity(),
|
||||
MangaLibraryHolder.class,
|
||||
mangas
|
||||
);
|
||||
grid.setAdapter(mEasyAdapter);
|
||||
grid.setAdapter(adapter);
|
||||
} else {
|
||||
mEasyAdapter.setItems(mangas);
|
||||
adapter.setItems(mangas);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -73,7 +71,7 @@ public class LibraryFragment extends Fragment implements LibraryView {
|
||||
private void setMangaClickListener() {
|
||||
grid.setOnItemClickListener(
|
||||
(parent, view, position, id) ->
|
||||
mLibraryPresenter.onMangaClick(mEasyAdapter, position)
|
||||
presenter.onMangaClick(adapter, position)
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user