Use same activity for manga details on catalague and library. Move some methos to view.
This commit is contained in:
@@ -11,10 +11,13 @@ import android.widget.GridView;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.ProgressBar;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import butterknife.Bind;
|
||||
import butterknife.ButterKnife;
|
||||
import butterknife.OnItemClick;
|
||||
import eu.kanade.mangafeed.R;
|
||||
import eu.kanade.mangafeed.data.models.Manga;
|
||||
import eu.kanade.mangafeed.presenter.CataloguePresenter;
|
||||
@@ -58,7 +61,6 @@ public class CatalogueActivity extends BaseActivity<CataloguePresenter> {
|
||||
setupToolbar(toolbar);
|
||||
|
||||
initializeAdapter();
|
||||
initializeClickListener();
|
||||
initializeScrollListener();
|
||||
}
|
||||
|
||||
@@ -95,11 +97,12 @@ public class CatalogueActivity extends BaseActivity<CataloguePresenter> {
|
||||
manga_list.setAdapter(adapter);
|
||||
}
|
||||
|
||||
public void initializeClickListener() {
|
||||
manga_list.setOnItemClickListener(
|
||||
(parent, view, position, id) ->
|
||||
getPresenter().onMangaClick(position)
|
||||
);
|
||||
@OnItemClick(R.id.gridView)
|
||||
public void onMangaClick(int position) {
|
||||
Manga selectedManga = adapter.getItem(position);
|
||||
|
||||
Intent intent = MangaDetailActivity.newIntent(this, selectedManga);
|
||||
startActivity(intent);
|
||||
}
|
||||
|
||||
public void initializeScrollListener() {
|
||||
@@ -139,7 +142,20 @@ public class CatalogueActivity extends BaseActivity<CataloguePresenter> {
|
||||
progress_grid.setVisibility(ProgressBar.GONE);
|
||||
}
|
||||
|
||||
public ImageView getImageView(int position) {
|
||||
public void onMangasNext(List<Manga> newMangas) {
|
||||
adapter.addItems(newMangas);
|
||||
}
|
||||
|
||||
private int getMangaIndex(Manga manga) {
|
||||
for (int i = 0; i < adapter.getCount(); i++) {
|
||||
if (manga.id == adapter.getItem(i).id) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
private ImageView getImageView(int position) {
|
||||
View v = manga_list.getChildAt(position -
|
||||
manga_list.getFirstVisiblePosition());
|
||||
|
||||
@@ -149,7 +165,13 @@ public class CatalogueActivity extends BaseActivity<CataloguePresenter> {
|
||||
return (ImageView) v.findViewById(R.id.catalogue_thumbnail);
|
||||
}
|
||||
|
||||
public void onMangasNext(List<Manga> newMangas) {
|
||||
adapter.addItems(newMangas);
|
||||
public void updateImage(Manga manga) {
|
||||
ImageView imageView = getImageView(getMangaIndex(manga));
|
||||
if (imageView != null) {
|
||||
Glide.with(this)
|
||||
.load(manga.thumbnail_url)
|
||||
.centerCrop()
|
||||
.into(imageView);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,56 +0,0 @@
|
||||
package eu.kanade.mangafeed.ui.activity;
|
||||
|
||||
import android.os.Bundle;
|
||||
import android.support.v7.widget.Toolbar;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.bumptech.glide.Glide;
|
||||
import com.bumptech.glide.load.engine.DiskCacheStrategy;
|
||||
|
||||
import butterknife.Bind;
|
||||
import butterknife.ButterKnife;
|
||||
import eu.kanade.mangafeed.R;
|
||||
import eu.kanade.mangafeed.data.models.Manga;
|
||||
import eu.kanade.mangafeed.presenter.MangaCataloguePresenter;
|
||||
import nucleus.factory.RequiresPresenter;
|
||||
|
||||
@RequiresPresenter(MangaCataloguePresenter.class)
|
||||
public class MangaCatalogueActivity extends BaseActivity<MangaCataloguePresenter> {
|
||||
|
||||
@Bind(R.id.toolbar) Toolbar toolbar;
|
||||
|
||||
@Bind(R.id.manga_artist) TextView mArtist;
|
||||
@Bind(R.id.manga_author) TextView mAuthor;
|
||||
@Bind(R.id.manga_chapters) TextView mChapters;
|
||||
@Bind(R.id.manga_genres) TextView mGenres;
|
||||
@Bind(R.id.manga_status) TextView mStatus;
|
||||
@Bind(R.id.manga_summary) TextView mDescription;
|
||||
@Bind(R.id.manga_cover) ImageView mCover;
|
||||
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
setContentView(R.layout.activity_manga_catalogue);
|
||||
ButterKnife.bind(this);
|
||||
|
||||
setupToolbar(toolbar);
|
||||
}
|
||||
|
||||
public void setMangaInfo(Manga manga) {
|
||||
mArtist.setText(manga.artist);
|
||||
mAuthor.setText(manga.author);
|
||||
mChapters.setText("0"); // TODO
|
||||
mGenres.setText(manga.genre);
|
||||
mStatus.setText("Ongoing"); //TODO
|
||||
mDescription.setText(manga.description);
|
||||
|
||||
Glide.with(getActivity())
|
||||
.load(manga.thumbnail_url)
|
||||
.diskCacheStrategy(DiskCacheStrategy.RESULT)
|
||||
.centerCrop()
|
||||
.into(mCover);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user