mirror of
https://github.com/tachiyomiorg/tachiyomi.git
synced 2024-12-22 13:31:51 +01:00
Keep covers aspect ratio. Unsubscribe from the library when it's not needed.
This commit is contained in:
parent
690684bacf
commit
39c9fd5945
@ -66,6 +66,10 @@ public class LibraryCategoryAdapter extends FlexibleAdapter<LibraryHolder, Manga
|
|||||||
holder.itemView.setActivated(isSelected(position));
|
holder.itemView.setActivated(isSelected(position));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getCoverHeight() {
|
||||||
|
return fragment.recycler.getItemWidth() / 9 * 12;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Filter getFilter() {
|
public Filter getFilter() {
|
||||||
return filter;
|
return filter;
|
||||||
|
@ -116,6 +116,7 @@ public class LibraryCategoryFragment extends BaseFragment
|
|||||||
}
|
}
|
||||||
|
|
||||||
protected void openManga(Manga manga) {
|
protected void openManga(Manga manga) {
|
||||||
|
getLibraryPresenter().onOpenManga(manga);
|
||||||
Intent intent = MangaActivity.newIntent(getActivity(), manga);
|
Intent intent = MangaActivity.newIntent(getActivity(), manga);
|
||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
}
|
}
|
||||||
|
@ -6,22 +6,25 @@ import android.widget.TextView;
|
|||||||
|
|
||||||
import butterknife.Bind;
|
import butterknife.Bind;
|
||||||
import butterknife.ButterKnife;
|
import butterknife.ButterKnife;
|
||||||
import eu.davidea.flexibleadapter.FlexibleAdapter;
|
|
||||||
import eu.kanade.mangafeed.R;
|
import eu.kanade.mangafeed.R;
|
||||||
import eu.kanade.mangafeed.data.cache.CoverCache;
|
import eu.kanade.mangafeed.data.cache.CoverCache;
|
||||||
import eu.kanade.mangafeed.data.database.models.Manga;
|
import eu.kanade.mangafeed.data.database.models.Manga;
|
||||||
import eu.kanade.mangafeed.data.source.base.Source;
|
import eu.kanade.mangafeed.data.source.base.Source;
|
||||||
import eu.kanade.mangafeed.ui.base.adapter.FlexibleViewHolder;
|
import eu.kanade.mangafeed.ui.base.adapter.FlexibleViewHolder;
|
||||||
|
|
||||||
|
import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
|
||||||
|
import static android.widget.RelativeLayout.LayoutParams;
|
||||||
|
|
||||||
public class LibraryHolder extends FlexibleViewHolder {
|
public class LibraryHolder extends FlexibleViewHolder {
|
||||||
|
|
||||||
@Bind(R.id.thumbnail) ImageView thumbnail;
|
@Bind(R.id.thumbnail) ImageView thumbnail;
|
||||||
@Bind(R.id.title) TextView title;
|
@Bind(R.id.title) TextView title;
|
||||||
@Bind(R.id.unreadText) TextView unreadText;
|
@Bind(R.id.unreadText) TextView unreadText;
|
||||||
|
|
||||||
public LibraryHolder(View view, FlexibleAdapter adapter, OnListItemClickListener listener) {
|
public LibraryHolder(View view, LibraryCategoryAdapter adapter, OnListItemClickListener listener) {
|
||||||
super(view, adapter, listener);
|
super(view, adapter, listener);
|
||||||
ButterKnife.bind(this, view);
|
ButterKnife.bind(this, view);
|
||||||
|
thumbnail.setLayoutParams(new LayoutParams(MATCH_PARENT, adapter.getCoverHeight()));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onSetValues(Manga manga, LibraryPresenter presenter) {
|
public void onSetValues(Manga manga, LibraryPresenter presenter) {
|
||||||
|
@ -53,6 +53,14 @@ public class LibraryPresenter extends BasePresenter<LibraryFragment> {
|
|||||||
super.onDestroy();
|
super.onDestroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected void onTakeView(LibraryFragment libraryFragment) {
|
||||||
|
super.onTakeView(libraryFragment);
|
||||||
|
if (!isSubscribed(GET_LIBRARY)) {
|
||||||
|
start(GET_LIBRARY);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private Observable<Pair<List<Category>, Map<Integer, List<Manga>>>> getLibraryObservable() {
|
private Observable<Pair<List<Category>, Map<Integer, List<Manga>>>> getLibraryObservable() {
|
||||||
return Observable.combineLatest(getCategoriesObservable(), getLibraryMangasObservable(),
|
return Observable.combineLatest(getCategoriesObservable(), getLibraryMangasObservable(),
|
||||||
Pair::create)
|
Pair::create)
|
||||||
@ -73,6 +81,13 @@ public class LibraryPresenter extends BasePresenter<LibraryFragment> {
|
|||||||
.toMap(pair -> pair.first, pair -> pair.second));
|
.toMap(pair -> pair.first, pair -> pair.second));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public void onOpenManga(Manga manga) {
|
||||||
|
// Avoid further db updates for the library when it's not needed
|
||||||
|
stop(GET_LIBRARY);
|
||||||
|
}
|
||||||
|
|
||||||
public void setSelection(Manga manga, boolean selected) {
|
public void setSelection(Manga manga, boolean selected) {
|
||||||
if (selected) {
|
if (selected) {
|
||||||
selectedMangas.add(manga);
|
selectedMangas.add(manga);
|
||||||
|
@ -57,4 +57,12 @@ public class AutofitRecyclerView extends RecyclerView {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int getSpanCount() {
|
||||||
|
return manager.getSpanCount();
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getItemWidth() {
|
||||||
|
return getMeasuredWidth() / getSpanCount();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user