From 3da613dedbb15b237632b4de03ea1e96373cf416 Mon Sep 17 00:00:00 2001 From: NoodleMage Date: Sun, 14 Feb 2016 14:00:44 +0100 Subject: [PATCH] Moved edit cover to library | Updated manga info view | Updated catalogue grid --- .../ui/catalogue/CatalogueGridHolder.java | 7 +- .../ui/download/DownloadFragment.java | 12 +- .../ui/download/DownloadPresenter.java | 14 +- .../ui/library/LibraryCategoryAdapter.java | 1 - .../ui/library/LibraryCategoryFragment.java | 10 +- .../tachiyomi/ui/library/LibraryFragment.java | 88 +++- .../tachiyomi/ui/library/LibraryHolder.java | 2 + .../ui/library/LibraryPresenter.java | 27 +- .../ui/manga/chapter/ChaptersFragment.java | 17 +- .../ui/manga/chapter/ChaptersHolder.java | 25 +- .../ui/manga/info/MangaInfoFragment.java | 74 +-- .../ui/manga/info/MangaInfoPresenter.java | 19 +- .../ui/recent/RecentChaptersFragment.java | 1 - .../tachiyomi/widget/AutofitRecyclerView.java | 3 + .../res/drawable-hdpi/ic_action_favorite.png | Bin 387 -> 0 bytes .../drawable-hdpi/ic_action_favorite_blue.png | Bin 651 -> 0 bytes .../ic_action_favorite_border.png | Bin 584 -> 0 bytes .../ic_bookmark_border_white_24dp.png | Bin 0 -> 239 bytes .../drawable-hdpi/ic_bookmark_white_24dp.png | Bin 0 -> 185 bytes .../ic_favorite_border_white_24dp.png | Bin 0 -> 532 bytes .../drawable-hdpi/ic_favorite_white_24dp.png | Bin 0 -> 358 bytes .../res/drawable-mdpi/ic_action_favorite.png | Bin 262 -> 0 bytes .../drawable-mdpi/ic_action_favorite_blue.png | Bin 449 -> 0 bytes .../ic_action_favorite_border.png | Bin 378 -> 0 bytes .../ic_bookmark_border_white_24dp.png | Bin 0 -> 176 bytes .../drawable-mdpi/ic_bookmark_white_24dp.png | Bin 0 -> 139 bytes .../ic_favorite_border_white_24dp.png | Bin 0 -> 349 bytes .../drawable-mdpi/ic_favorite_white_24dp.png | Bin 0 -> 246 bytes .../res/drawable-xhdpi/ic_action_favorite.png | Bin 479 -> 0 bytes .../ic_action_favorite_blue.png | Bin 807 -> 0 bytes .../ic_action_favorite_border.png | Bin 732 -> 0 bytes .../ic_bookmark_border_white_24dp.png | Bin 0 -> 273 bytes .../drawable-xhdpi/ic_bookmark_white_24dp.png | Bin 0 -> 213 bytes .../ic_favorite_border_white_24dp.png | Bin 0 -> 664 bytes .../drawable-xhdpi/ic_favorite_white_24dp.png | Bin 0 -> 435 bytes .../drawable-xxhdpi/ic_action_favorite.png | Bin 707 -> 0 bytes .../ic_action_favorite_blue.png | Bin 1186 -> 0 bytes .../ic_action_favorite_border.png | Bin 1070 -> 0 bytes .../ic_bookmark_border_white_24dp.png | Bin 0 -> 370 bytes .../ic_bookmark_white_24dp.png | Bin 0 -> 273 bytes .../ic_favorite_border_white_24dp.png | Bin 0 -> 975 bytes .../ic_favorite_white_24dp.png | Bin 0 -> 627 bytes .../drawable-xxxhdpi/ic_action_favorite.png | Bin 901 -> 0 bytes .../ic_action_favorite_blue.png | Bin 1542 -> 0 bytes .../ic_action_favorite_border.png | Bin 1426 -> 0 bytes .../ic_bookmark_border_white_24dp.png | Bin 0 -> 466 bytes .../ic_bookmark_white_24dp.png | Bin 0 -> 351 bytes .../ic_favorite_border_white_24dp.png | Bin 0 -> 1279 bytes .../ic_favorite_white_24dp.png | Bin 0 -> 799 bytes .../res/layout/card_myanimelist_personal.xml | 34 +- .../main/res/layout/fragment_manga_info.xml | 434 ++++++++---------- .../main/res/layout/item_catalogue_grid.xml | 35 +- app/src/main/res/menu/library_selection.xml | 5 + app/src/main/res/values/strings.xml | 20 +- 54 files changed, 436 insertions(+), 392 deletions(-) delete mode 100644 app/src/main/res/drawable-hdpi/ic_action_favorite.png delete mode 100644 app/src/main/res/drawable-hdpi/ic_action_favorite_blue.png delete mode 100644 app/src/main/res/drawable-hdpi/ic_action_favorite_border.png create mode 100644 app/src/main/res/drawable-hdpi/ic_bookmark_border_white_24dp.png create mode 100644 app/src/main/res/drawable-hdpi/ic_bookmark_white_24dp.png create mode 100644 app/src/main/res/drawable-hdpi/ic_favorite_border_white_24dp.png create mode 100644 app/src/main/res/drawable-hdpi/ic_favorite_white_24dp.png delete mode 100644 app/src/main/res/drawable-mdpi/ic_action_favorite.png delete mode 100644 app/src/main/res/drawable-mdpi/ic_action_favorite_blue.png delete mode 100644 app/src/main/res/drawable-mdpi/ic_action_favorite_border.png create mode 100644 app/src/main/res/drawable-mdpi/ic_bookmark_border_white_24dp.png create mode 100644 app/src/main/res/drawable-mdpi/ic_bookmark_white_24dp.png create mode 100644 app/src/main/res/drawable-mdpi/ic_favorite_border_white_24dp.png create mode 100644 app/src/main/res/drawable-mdpi/ic_favorite_white_24dp.png delete mode 100644 app/src/main/res/drawable-xhdpi/ic_action_favorite.png delete mode 100644 app/src/main/res/drawable-xhdpi/ic_action_favorite_blue.png delete mode 100644 app/src/main/res/drawable-xhdpi/ic_action_favorite_border.png create mode 100644 app/src/main/res/drawable-xhdpi/ic_bookmark_border_white_24dp.png create mode 100644 app/src/main/res/drawable-xhdpi/ic_bookmark_white_24dp.png create mode 100644 app/src/main/res/drawable-xhdpi/ic_favorite_border_white_24dp.png create mode 100644 app/src/main/res/drawable-xhdpi/ic_favorite_white_24dp.png delete mode 100644 app/src/main/res/drawable-xxhdpi/ic_action_favorite.png delete mode 100644 app/src/main/res/drawable-xxhdpi/ic_action_favorite_blue.png delete mode 100644 app/src/main/res/drawable-xxhdpi/ic_action_favorite_border.png create mode 100644 app/src/main/res/drawable-xxhdpi/ic_bookmark_border_white_24dp.png create mode 100644 app/src/main/res/drawable-xxhdpi/ic_bookmark_white_24dp.png create mode 100644 app/src/main/res/drawable-xxhdpi/ic_favorite_border_white_24dp.png create mode 100644 app/src/main/res/drawable-xxhdpi/ic_favorite_white_24dp.png delete mode 100644 app/src/main/res/drawable-xxxhdpi/ic_action_favorite.png delete mode 100644 app/src/main/res/drawable-xxxhdpi/ic_action_favorite_blue.png delete mode 100644 app/src/main/res/drawable-xxxhdpi/ic_action_favorite_border.png create mode 100644 app/src/main/res/drawable-xxxhdpi/ic_bookmark_border_white_24dp.png create mode 100644 app/src/main/res/drawable-xxxhdpi/ic_bookmark_white_24dp.png create mode 100644 app/src/main/res/drawable-xxxhdpi/ic_favorite_border_white_24dp.png create mode 100644 app/src/main/res/drawable-xxxhdpi/ic_favorite_white_24dp.png diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/catalogue/CatalogueGridHolder.java b/app/src/main/java/eu/kanade/tachiyomi/ui/catalogue/CatalogueGridHolder.java index b45fe51e6d..5690061a07 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/catalogue/CatalogueGridHolder.java +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/catalogue/CatalogueGridHolder.java @@ -4,6 +4,8 @@ import android.view.View; import android.widget.ImageView; import android.widget.TextView; +import com.mikepenz.iconics.view.IconicsImageView; + import butterknife.Bind; import butterknife.ButterKnife; import eu.kanade.tachiyomi.R; @@ -13,7 +15,7 @@ public class CatalogueGridHolder extends CatalogueHolder { @Bind(R.id.title) TextView title; @Bind(R.id.thumbnail) ImageView thumbnail; - @Bind(R.id.favorite_sticker) ImageView favoriteSticker; + @Bind(R.id.favorite_sticker) IconicsImageView favoriteSticker; public CatalogueGridHolder(View view, CatalogueAdapter adapter, OnListItemClickListener listener) { super(view, adapter, listener); @@ -23,7 +25,10 @@ public class CatalogueGridHolder extends CatalogueHolder { @Override public void onSetValues(Manga manga, CataloguePresenter presenter) { title.setText(manga.title); + // Set visibility of in library icon. favoriteSticker.setVisibility(manga.favorite ? View.VISIBLE : View.GONE); + // Set alpha of thumbnail. + thumbnail.setAlpha(manga.favorite ? 0.3f : 1.0f); setImage(manga, presenter); } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadFragment.java b/app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadFragment.java index 68ac1d6ba6..eb6bb4a103 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadFragment.java +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadFragment.java @@ -4,7 +4,15 @@ import android.os.Bundle; import android.support.annotation.Nullable; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; -import android.view.*; +import android.view.LayoutInflater; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.MenuItem; +import android.view.View; +import android.view.ViewGroup; + +import java.util.List; + import butterknife.Bind; import butterknife.ButterKnife; import eu.kanade.tachiyomi.R; @@ -14,8 +22,6 @@ import eu.kanade.tachiyomi.ui.base.fragment.BaseRxFragment; import nucleus.factory.RequiresPresenter; import rx.Subscription; -import java.util.List; - @RequiresPresenter(DownloadPresenter.class) public class DownloadFragment extends BaseRxFragment { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadPresenter.java b/app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadPresenter.java index df10854a61..b6c19a9502 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadPresenter.java +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/download/DownloadPresenter.java @@ -1,6 +1,12 @@ package eu.kanade.tachiyomi.ui.download; import android.os.Bundle; + +import java.util.HashMap; +import java.util.concurrent.TimeUnit; + +import javax.inject.Inject; + import eu.kanade.tachiyomi.data.download.DownloadManager; import eu.kanade.tachiyomi.data.download.model.Download; import eu.kanade.tachiyomi.data.download.model.DownloadQueue; @@ -12,21 +18,15 @@ import rx.android.schedulers.AndroidSchedulers; import rx.schedulers.Schedulers; import timber.log.Timber; -import javax.inject.Inject; -import java.util.HashMap; -import java.util.concurrent.TimeUnit; - public class DownloadPresenter extends BasePresenter { + public final static int GET_DOWNLOAD_QUEUE = 1; @Inject DownloadManager downloadManager; - private DownloadQueue downloadQueue; private Subscription statusSubscription; private Subscription pageProgressSubscription; private HashMap progressSubscriptions; - public final static int GET_DOWNLOAD_QUEUE = 1; - @Override protected void onCreate(Bundle savedState) { super.onCreate(savedState); diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryAdapter.java b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryAdapter.java index aa18afba14..79d77a2ef0 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryAdapter.java +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryCategoryAdapter.java @@ -64,7 +64,6 @@ public class LibraryCategoryAdapter extends FlexibleAdapter implements ActionMode.Callback { - @Bind(R.id.view_pager) ViewPager viewPager; - private TabLayout tabs; - private AppBarLayout appBar; + + private static final int REQUEST_IMAGE_OPEN = 101; protected LibraryAdapter adapter; - private ActionMode actionMode; + @Bind(R.id.view_pager) ViewPager viewPager; @State int activeCategory; + @State String query = ""; + private TabLayout tabs; + + private AppBarLayout appBar; + + private ActionMode actionMode; + + private Manga selectedCoverManga; + public static LibraryFragment newInstance() { return new LibraryFragment(); } @@ -187,6 +201,11 @@ public class LibraryFragment extends BaseRxFragment actionMode.setTitle(getString(R.string.label_selected, count)); } + public void setVisibilityOfCoverEdit(int count) { + // If count = 1 display edit button + actionMode.getMenu().findItem(R.id.action_edit_cover).setVisible((count == 1)); + } + @Override public boolean onCreateActionMode(ActionMode mode, Menu menu) { mode.getMenuInflater().inflate(R.menu.library_selection, menu); @@ -202,6 +221,11 @@ public class LibraryFragment extends BaseRxFragment @Override public boolean onActionItemClicked(ActionMode mode, MenuItem item) { switch (item.getItemId()) { + case R.id.action_edit_cover: + changeSelectedCover(getPresenter().selectedMangas); + rebuildAdapter(); + destroyActionModeIfNeeded(); + return true; case R.id.action_move_to_category: moveMangasToCategories(getPresenter().selectedMangas); return true; @@ -213,6 +237,15 @@ public class LibraryFragment extends BaseRxFragment return false; } + /** + * TODO workaround. Covers won't refresh any other way. + */ + public void rebuildAdapter() { + adapter = new LibraryAdapter(getChildFragmentManager()); + viewPager.setAdapter(adapter); + tabs.setupWithViewPager(viewPager); + } + @Override public void onDestroyActionMode(ActionMode mode) { adapter.setSelectionMode(FlexibleAdapter.MODE_SINGLE); @@ -226,6 +259,53 @@ public class LibraryFragment extends BaseRxFragment } } + private void changeSelectedCover(List mangas) { + if (mangas.size() == 1) { + selectedCoverManga = mangas.get(0); + if (selectedCoverManga.favorite) { + + Intent intent = new Intent(); + intent.setType("image/*"); + intent.setAction(Intent.ACTION_GET_CONTENT); + startActivityForResult(Intent.createChooser(intent, + getString(R.string.file_select_cover)), REQUEST_IMAGE_OPEN); + } else { + ToastUtil.showShort(getContext(), R.string.notification_first_add_to_library); + } + + } + } + + @Override + public void onActivityResult(int requestCode, int resultCode, Intent data) { + if (resultCode == Activity.RESULT_OK) { + switch (requestCode) { + case (REQUEST_IMAGE_OPEN): + if (selectedCoverManga != null) { + // Get the file's content URI from the incoming Intent + Uri selectedImageUri = data.getData(); + + // Convert to absolute path to prevent FileNotFoundException + String result = IOHandler.getFilePath(selectedImageUri, + getContext().getContentResolver(), getContext()); + + // Get file from filepath + File picture = new File(result != null ? result : ""); + + try { + // Update cover to selected file, show error if something went wrong + if (!getPresenter().editCoverWithLocalFile(picture, selectedCoverManga)) + ToastUtil.showShort(getContext(), R.string.notification_manga_update_failed); + + } catch (IOException e) { + e.printStackTrace(); + } + } + break; + } + } + } + private void moveMangasToCategories(List mangas) { new MaterialDialog.Builder(getActivity()) .title(R.string.action_move_category) diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryHolder.java b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryHolder.java index d115758ee4..ddc104a012 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryHolder.java +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryHolder.java @@ -50,4 +50,6 @@ public class LibraryHolder extends FlexibleViewHolder { } } + + } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.java b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.java index 98fc64d6fb..3d51127e52 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.java +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/library/LibraryPresenter.java @@ -5,6 +5,8 @@ import android.util.Pair; import org.greenrobot.eventbus.EventBus; +import java.io.File; +import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -26,18 +28,15 @@ import rx.subjects.BehaviorSubject; public class LibraryPresenter extends BasePresenter { + private static final int GET_LIBRARY = 1; + protected List categories; + protected List selectedMangas; + protected BehaviorSubject searchSubject; @Inject DatabaseHelper db; @Inject PreferencesHelper preferences; @Inject CoverCache coverCache; @Inject SourceManager sourceManager; - protected List categories; - protected List selectedMangas; - - protected BehaviorSubject searchSubject; - - private static final int GET_LIBRARY = 1; - @Override protected void onCreate(Bundle savedState) { super.onCreate(savedState); @@ -141,4 +140,18 @@ public class LibraryPresenter extends BasePresenter { db.setMangaCategories(mc, mangas); } + + /** + * Update cover with local file + */ + public boolean editCoverWithLocalFile(File file, Manga manga) throws IOException { + if (!manga.initialized) + return false; + + if (manga.favorite) { + coverCache.copyToLocalCache(manga.thumbnail_url, file); + return true; + } + return false; + } } diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChaptersFragment.java b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChaptersFragment.java index 82dff1b829..336c23777d 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChaptersFragment.java +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChaptersFragment.java @@ -8,12 +8,22 @@ import android.support.v4.widget.SwipeRefreshLayout; import android.support.v7.view.ActionMode; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; -import android.view.*; +import android.view.LayoutInflater; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.MenuItem; +import android.view.View; +import android.view.ViewGroup; import android.widget.CheckBox; import android.widget.ImageView; + +import com.afollestad.materialdialogs.MaterialDialog; + +import java.util.ArrayList; +import java.util.List; + import butterknife.Bind; import butterknife.ButterKnife; -import com.afollestad.materialdialogs.MaterialDialog; import eu.kanade.tachiyomi.R; import eu.kanade.tachiyomi.data.database.models.Chapter; import eu.kanade.tachiyomi.data.database.models.Manga; @@ -31,9 +41,6 @@ import rx.Subscription; import rx.android.schedulers.AndroidSchedulers; import rx.schedulers.Schedulers; -import java.util.ArrayList; -import java.util.List; - @RequiresPresenter(ChaptersPresenter.class) public class ChaptersFragment extends BaseRxFragment implements ActionMode.Callback, FlexibleViewHolder.OnListItemClickListener { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChaptersHolder.java b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChaptersHolder.java index 60669fc51f..883cc79cf7 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChaptersHolder.java +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/chapter/ChaptersHolder.java @@ -7,6 +7,12 @@ import android.view.View; import android.widget.PopupMenu; import android.widget.RelativeLayout; import android.widget.TextView; + +import java.text.DateFormat; +import java.text.DecimalFormat; +import java.text.DecimalFormatSymbols; +import java.util.Date; + import butterknife.Bind; import butterknife.ButterKnife; import eu.kanade.tachiyomi.R; @@ -16,30 +22,21 @@ import eu.kanade.tachiyomi.data.download.model.Download; import eu.kanade.tachiyomi.ui.base.adapter.FlexibleViewHolder; import rx.Observable; -import java.text.DateFormat; -import java.text.DecimalFormat; -import java.text.DecimalFormatSymbols; -import java.util.Date; - public class ChaptersHolder extends FlexibleViewHolder { + private final ChaptersAdapter adapter; + private final int readColor; + private final int unreadColor; + private final DecimalFormat decimalFormat; + private final DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT); @Bind(R.id.chapter_title) TextView title; @Bind(R.id.download_text) TextView downloadText; @Bind(R.id.chapter_menu) RelativeLayout chapterMenu; @Bind(R.id.chapter_pages) TextView pages; @Bind(R.id.chapter_date) TextView date; - private Context context; - - private final ChaptersAdapter adapter; private Chapter item; - private final int readColor; - private final int unreadColor; - - private final DecimalFormat decimalFormat; - private final DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT); - public ChaptersHolder(View view, ChaptersAdapter adapter, OnListItemClickListener listener) { super(view, adapter, listener); this.adapter = adapter; diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoFragment.java b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoFragment.java index b4df1d8d74..29b7f6b23e 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoFragment.java +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoFragment.java @@ -1,8 +1,5 @@ package eu.kanade.tachiyomi.ui.manga.info; -import android.app.Activity; -import android.content.Intent; -import android.net.Uri; import android.os.Bundle; import android.support.design.widget.FloatingActionButton; import android.support.v4.content.ContextCompat; @@ -10,32 +7,22 @@ import android.support.v4.widget.SwipeRefreshLayout; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import android.widget.Button; import android.widget.ImageView; import android.widget.TextView; import com.bumptech.glide.load.model.LazyHeaders; -import com.mikepenz.google_material_typeface_library.GoogleMaterial; -import com.mikepenz.iconics.IconicsDrawable; - -import java.io.File; -import java.io.IOException; import butterknife.Bind; import butterknife.ButterKnife; import eu.kanade.tachiyomi.R; import eu.kanade.tachiyomi.data.cache.CoverCache; import eu.kanade.tachiyomi.data.database.models.Manga; -import eu.kanade.tachiyomi.data.io.IOHandler; import eu.kanade.tachiyomi.data.source.base.Source; import eu.kanade.tachiyomi.ui.base.fragment.BaseRxFragment; -import eu.kanade.tachiyomi.util.ToastUtil; import nucleus.factory.RequiresPresenter; @RequiresPresenter(MangaInfoPresenter.class) public class MangaInfoFragment extends BaseRxFragment { - - private static final int REQUEST_IMAGE_OPEN = 101; @Bind(R.id.swipe_refresh) SwipeRefreshLayout swipeRefresh; @Bind(R.id.manga_artist) TextView artist; @Bind(R.id.manga_author) TextView author; @@ -45,8 +32,8 @@ public class MangaInfoFragment extends BaseRxFragment { @Bind(R.id.manga_source) TextView source; @Bind(R.id.manga_summary) TextView description; @Bind(R.id.manga_cover) ImageView cover; - @Bind(R.id.action_favorite) Button favoriteBtn; - @Bind(R.id.fab_edit) FloatingActionButton fabEdit; + @Bind(R.id.backdrop) ImageView backdrop; + @Bind(R.id.fab_favorite) FloatingActionButton fabFavorite; public static MangaInfoFragment newInstance() { return new MangaInfoFragment(); @@ -65,10 +52,7 @@ public class MangaInfoFragment extends BaseRxFragment { View view = inflater.inflate(R.layout.fragment_manga_info, container, false); ButterKnife.bind(this, view); - // Set listener. - fabEdit.setOnClickListener(v -> selectImage()); - - favoriteBtn.setOnClickListener(v -> getPresenter().toggleFavorite()); + fabFavorite.setOnClickListener(v -> getPresenter().toggleFavorite()); swipeRefresh.setOnRefreshListener(this::fetchMangaFromSource); @@ -101,7 +85,7 @@ public class MangaInfoFragment extends BaseRxFragment { status.setText(manga.getStatus(getActivity())); description.setText(manga.description); - setFavoriteText(manga.favorite); + setFavoriteDrawable(manga.favorite); CoverCache coverCache = getPresenter().coverCache; LazyHeaders headers = getPresenter().source.getGlideHeaders(); @@ -112,14 +96,23 @@ public class MangaInfoFragment extends BaseRxFragment { coverCache.loadFromNetwork(cover, manga.thumbnail_url, headers); } } + if (manga.thumbnail_url != null && backdrop.getDrawable() == null) { + if (manga.favorite) { + coverCache.saveOrLoadFromCache(backdrop, manga.thumbnail_url, headers); + } else { + coverCache.loadFromNetwork(backdrop, manga.thumbnail_url, headers); + } + } } public void setChapterCount(int count) { chapterCount.setText(String.valueOf(count)); } - private void setFavoriteText(boolean isFavorite) { - favoriteBtn.setText(!isFavorite ? R.string.add_to_library : R.string.remove_from_library); + private void setFavoriteDrawable(boolean isFavorite) { + fabFavorite.setImageDrawable(ContextCompat.getDrawable(getContext(), isFavorite ? + R.drawable.ic_bookmark_white_24dp : + R.drawable.ic_bookmark_border_white_24dp)); } private void fetchMangaFromSource() { @@ -127,43 +120,6 @@ public class MangaInfoFragment extends BaseRxFragment { getPresenter().fetchMangaFromSource(); } - private void selectImage() { - if (getPresenter().getManga().favorite) { - - Intent intent = new Intent(); - intent.setType("image/*"); - intent.setAction(Intent.ACTION_GET_CONTENT); - startActivityForResult(Intent.createChooser(intent, - getString(R.string.file_select_cover)), REQUEST_IMAGE_OPEN); - } else { - ToastUtil.showShort(getContext(), R.string.notification_first_add_to_library); - } - - } - - @Override - public void onActivityResult(int requestCode, int resultCode, Intent data) { - if (resultCode == Activity.RESULT_OK && requestCode == REQUEST_IMAGE_OPEN) { - // Get the file's content URI from the incoming Intent - Uri selectedImageUri = data.getData(); - - // Convert to absolute path to prevent FileNotFoundException - String result = IOHandler.getFilePath(selectedImageUri, - getContext().getContentResolver(), getContext()); - - // Get file from filepath - File picture = new File(result != null ? result : ""); - - try { - // Update cover to selected file, show error if something went wrong - if (!getPresenter().editCoverWithLocalFile(picture, cover)) - ToastUtil.showShort(getContext(), R.string.notification_manga_update_failed); - - } catch (IOException e) { - e.printStackTrace(); - } - } - } public void onFetchMangaDone() { setRefreshing(false); diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoPresenter.java b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoPresenter.java index 82495c1820..b51cd6d410 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoPresenter.java +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/manga/info/MangaInfoPresenter.java @@ -1,14 +1,10 @@ package eu.kanade.tachiyomi.ui.manga.info; import android.os.Bundle; -import android.widget.ImageView; import org.greenrobot.eventbus.Subscribe; import org.greenrobot.eventbus.ThreadMode; -import java.io.File; -import java.io.IOException; - import javax.inject.Inject; import eu.kanade.tachiyomi.data.cache.CoverCache; @@ -135,20 +131,7 @@ public class MangaInfoPresenter extends BasePresenter { refreshManga(); } - /** - * Update cover with local file - */ - public boolean editCoverWithLocalFile(File file, ImageView imageView) throws IOException { - if (!manga.initialized) - return false; - - if (manga.favorite) { - coverCache.copyToLocalCache(manga.thumbnail_url, file); - coverCache.saveOrLoadFromCache(imageView, manga.thumbnail_url, source.getGlideHeaders()); - return true; - } - return false; - } + private void onMangaFavoriteChange(boolean isFavorite) { if (isFavorite) { diff --git a/app/src/main/java/eu/kanade/tachiyomi/ui/recent/RecentChaptersFragment.java b/app/src/main/java/eu/kanade/tachiyomi/ui/recent/RecentChaptersFragment.java index be3e8b5d24..ff332773bb 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/ui/recent/RecentChaptersFragment.java +++ b/app/src/main/java/eu/kanade/tachiyomi/ui/recent/RecentChaptersFragment.java @@ -65,7 +65,6 @@ public class RecentChaptersFragment extends BaseRxFragmentNkl9rmzfod2@^_I#D?xPQHsBTm9kajAFz_8g%!$HRQ%WWqR@00mH8myq zb+Z|YjIU`FUiaL&_nf=r**^8zo%cDh*nhM`k{Om+VF3qAG&UKQSgp6yB%33>?DEQY zE}6$}G%YMr{?WX!LysRbg^M=_bdcgm(L6AzVjP}Or$EW4sWSSTiF1ZYinK~-4%5s^ zXx|vxlhBPZbSQ^RA?idIY4IW|NK2 hy^Ts)@(=Lm@&PB3pia=|pE>{l002ovPDHLkV1i{=sm%ZY diff --git a/app/src/main/res/drawable-hdpi/ic_action_favorite_blue.png b/app/src/main/res/drawable-hdpi/ic_action_favorite_blue.png deleted file mode 100644 index 657c4874ed3ea04d6d647b78f140e68ce0f07861..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 651 zcmV;60(AX}P)PBR#~x799R_pb<1$!J9r>2HIW$Xh#{S zzXH(eGSIgQKwry1&nf^tEdxzf0GccVjaL8~F9Y2yzS2FLofN}#Q&92uK7qUkn4cJH z9BiB+DTZ6P&;!u<6vOS7pdwD=#y`YN;Y_Fdp*5Js`bEY($IcYP+(H+d&5#ts8yqP1 zE{hfOIM57J3MxoNwrpYDH?C&FH!HYuW>Wh6{tYXVi<3`z|3K9 zis8n& l#a0?wJr7wu50>J8j9-sAmSKRIotyvw002ovPDHLkV1h$t6J!7Y diff --git a/app/src/main/res/drawable-hdpi/ic_action_favorite_border.png b/app/src/main/res/drawable-hdpi/ic_action_favorite_border.png deleted file mode 100644 index 1975952fbff6e45778056bda3422b1ca3d95c7db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 584 zcmV-O0=NB%P)PF~(6Tmxlz zh*1Rb6ipUI!z~P9T&NFFmf7SQmXN?XzG46xDfxJYP>S*gi>S1-=|B|e*hD#e*j6YJ z+*R2$;fMovv4AP8A;#km_{2|#Sj8k}@t((V+_c(w@tLIW=rXxtOyktdpTrAXF||&7 zBlaUavQZz=G1OWT44Ov$7RAqR{8*+ph@4O?`4uT^3MEL&x=em7sVk$a#?Hy4vBBN0jP4nSLndDmx#-GhndZ#P# zIN6c^S>x!D_+Gw95&MOwSIeJVnID!E#%)`w!WXWM z6QWKV*u(W)I-F0mfmFOhd9KZ}gm09N*XN}_7pp?imUOJxo?^#V8s|k0wldT1B8LpHcuDF5Rc<;uk7Y+HV|H>P~`P0WERgjW%5sur%i}4*z7Y7{qty zep~kWc_utr7KZ=kTv2wHs?RuiAt>lllARyZg3i;Q&U%;xTbKlF{%LhL$oPj-+q6qn m&wmE6hbXkVdvFPIzhPv4=E1zK!Qw8^2MnIBelF{r5}E)FXjvx! literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-hdpi/ic_bookmark_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_bookmark_white_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..9de15c51a92bbc29536fc7a8e34da51f1b6961de GIT binary patch literal 185 zcmeAS@N?(olHy`uVBq!ia0vp^Dj>|k0wldT1B8K8gQtsQh{y4_*EaGtCXxw1 zJlv$4!kF$T**4E|&JoEK`&v7DIc1K0vU?gE=foPj+|<4QurOEp;fvR2wk!!*Sl|(T zYJ#})J|0#>5s@Gd#a5AD?5A9Grg{A1oBPJ+{1E|*+Y6hgJ~Wk$v|JLPmeg(i-BtTS ikD%?Fw#fbFYh(9%S-#0z*fJ0376wmOKbLh*2~7a_ZbD%I literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-hdpi/ic_favorite_border_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_favorite_border_white_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..c82d09e60290d3e14bed2fdda50df99bcca120c7 GIT binary patch literal 532 zcmV+v0_**WP)>2DF}+7Q_;)8Qy^UoK@sXA6HKw4p_02!ehR=NF+@n`NA8A8i)N_GudbmMcB?!^VZSK*{ zdFoXOyLiexOTKfBkQT9tn~bw$jv;ocJWi0tFG&MY-s6|zxcrDSgKLDx43Hp$Ym_lu z4ln3ukWaX>98xJFe8Eg{N(F4;KL04n(?^{OILRdDGhumg1(TssCAdz}Rh1w{26IVX zyvFp(hnJXyeCWZvk{8pM1M(qEEwzN@LnCHNUgR(}3V;aaue_MWY*PSi$7JQj80NGB z;4EfTUOd4JDFB{f9?6TNn0fZ9O2k;e98oETF>h5BLL@Qov>ff^F?Uo2?qYJZ$d3n@ z9GzMP=g4CQR1TZ@fXULX3g}=4GfYI~v4aWBFPgOi4&z|PiE3r+CxuB9R~fY7V15u& zWwh`c_p00hd|8Ow*+5aga$&o?BW( z7kSJC`xFd&_=c;Oeq3MKt>B0&;DmCO)2_;KrDVBqS|&-YR+1lE zyNn|9#zFhqp8a^fJMwx-|2!keJaN`oCW0daK4Pr0PMkS{YJ@@dd86WnC4Blq2Pc)?alCNkJc%fv3Wc4T52TT?ROkiy2Xsxiq2UX_We7MpmrAvXj##fubvxuc&P zt;!NoeTW1tMw<5uT{$feE#aac*&wV^rQS%r(`n7?OAN zagOPXUfH3WBtMdL$sPd`d`l2ed+@Q%7CyBP2St<8 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-mdpi/ic_action_favorite.png b/app/src/main/res/drawable-mdpi/ic_action_favorite.png deleted file mode 100644 index 23f45f40a626c09d0060d1b43d7312b9b621d953..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 262 zcmV+h0r~!kP)mNsC+GI z#EJiZhFAI1|6=HIZTkN!PUT#ZaCum`+sL#3D6Um05Fxi;Y+hl|39NB|AZ1Y zShbk`e+^gu8mrqew5b1o09O9szZ$WbN$US)Ae15{{|WvV9H_hx0D%b*x6t9BYybcN M07*qoM6N<$f+i(;761SM diff --git a/app/src/main/res/drawable-mdpi/ic_action_favorite_blue.png b/app/src/main/res/drawable-mdpi/ic_action_favorite_blue.png deleted file mode 100644 index 60b063257eb3f373d73e98af64229b033029feb1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 449 zcmV;y0Y3hTP)8LCmx*;Cy}RF$@6X>w`|9BJ2UzJW_PkP@NeIk6dh5LjR6fH2C6^`90F@b<-+Dn z0IR@sE@vN5qjFgah>~mp*aG?-#k>J4KrgTk^f+?bz@kyv=>XWu&r8I8tPPACl`9HW zGy;eN^aIJqArFWH_O|8%R09HrT!8z4fYb$O1_YeA02=`Tn;ih7at!PS5Z^W`P1g+o zmVnz|h_`^{yyFwVsN4Z{;Q0sQPe9$Mq@@50IR)l{R}b+QD}GiCxaJ8)P&Ss5vX-@lGR(rl zuTW-ueCPJ+-Z$PnthldU_k8c?+;i?d=Oz;WchEzDGF5Kbq1PyV>;}p<`FebYH|%(4 zj(IAM^2&60_Zq%M9*->R0rbHtU8JP=#wBMR3N_r>V9_`%IEo)4lqqhO+I3c6%29G6 zO4h8(^kT2X6Hy6A=!|v9iny`np3J3Khh-5(YmUmiC({t`;8DbgD;-EUjy?xXoM?4F zEVfaS=ttm5RUWQstzQ`ASqm#)@C~U?3`B*VH1%F1>C|IW$_rzS4mYI+Ky~+m+=~XE zh`YXVg@;3$Y2iq-2Zq0E^C9j8o^qytnf{-=jBc(>^IgVQ-*w4w!8z@}d4FlrfA#i1 Y0Y(WLaJ&uz`~Uy|07*qoM6N<$f^dedA^-pY diff --git a/app/src/main/res/drawable-mdpi/ic_bookmark_border_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_bookmark_border_white_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..9842707619fe6f65f85b06fc20691ec855339a42 GIT binary patch literal 176 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM0wlfaz7_+ia!(h>5DWjer#JF8C5W^JO6f*8 za6ePXNn9i8=6$!>$vsi1sq|5-M0WrH literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-mdpi/ic_bookmark_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_bookmark_white_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..84f16627dc7fef320a96a0950ebe50cb09f6c21a GIT binary patch literal 139 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM0wlfaz7_+iAWs*^5R22v2@+=>)Iaz?{r|?s z@c(}|W*=B5!xEQty@9m-DrA!uog5SpX8 zLCE}uhSKm3@_JJ0yX#Odw|buB|7BK3sc+4qQ`zRUr%HWmo@i#28+wMmyJ^9ep|0y0 zGOLHSrb5F*zx;6D33UxEbj_rqgLVeow&PX?w9rmPiDm}W&6`)xfElc&qK_hDD6o}^ z64Mz&1D{gy40keyyI4xaC44cJeK>9%7c=AqUMsQ(6W-u?{^Y1tw6cquMSOH5qnz^% z_cB7wBWyUE-CWbd1GW67?lCr9&fd)FqNB(*6PB>)YWC-f4ZL*7VXyGjg^cIC&sg>r vr8D_EC#~4=!E_GBl=t2_mV+~CGXKa=MhO~l76C=i00000NkvXXu0mjfYm1&T literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-mdpi/ic_favorite_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_favorite_white_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..259a40c39622627f87777cd3e58b2a5907ef886c GIT binary patch literal 246 zcmVaVK@hYTH{c}m;jAB2NKZAmJT3LzS)CK{ ze`)F|ER5VZh%XM^DlCj#+mBVw&6GY|xHMOqI*XE~nJQC_Nc7~mibNsDFcJ$n=8-7m zc#g!q9Cwj8lA{wPkE%SxGP{Phd9o9$w7uKpO)GxWHM7pdNv!A8)K3%L*vzq4%U*P1 wJ8fghSSzY&82C1@7kSk6_0=Pvnp*skPk{*#w^2&~PXGV_07*qoM6N<$f=j1m6#xJL literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/ic_action_favorite.png b/app/src/main/res/drawable-xhdpi/ic_action_favorite.png deleted file mode 100644 index 5afd1cfd9fa626ab7154c95035c31a6c2e1d547e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 479 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 QpdT4LUHx3vIVCg!03d8-Q~&?~ literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/ic_bookmark_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_bookmark_white_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..872349cca6ffc150af47fddd05a5cd9648619c1f GIT binary patch literal 213 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA0wn)(8}b0DIi4<#ArXh)Uf9Tc$Uww3&^)Ep zfYG3F`bPtU9&fG$ZvRPo3JW%}#O(4AJh91FX;%5|n&%$pC6=ajnX<2YQuh4FvM1lQ z&rK=QRJaj**--w)>V{~$4=b2Xu+L*+;dr3x(7+&|;Ba7nL&x!?k4IiM_UXR;PzWCs&hKm{}Ung#;dGK1}q&RP1!jxG{&BN`jM9sN0LV@mN N@O1TaS?83{1OP}SQ~Ce^ literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/ic_favorite_border_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_favorite_border_white_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..5035a36f0d185d4f24f3ae07351a43fb3620f245 GIT binary patch literal 664 zcmV;J0%!e+P)}Hg!-W*N6fTvN;=+}Plo^w9K`!KuTGX!4Qq;<#g(J(F zNn9ur(m2{|N*bX!+u7OM^z*ILfB$oK9=5x^UeX-R(JY{nV}uxDjB$nu(L$9xsOC8L z`OG+D3~`TU%9RRAX(fVJl*?4;KbCNnC|-ZKK#7v0kuZsjuuYTL&UX@dPrVYOk#8gu zV=w!dAej;B<&RRrm;qX7pqPBtaD;c57%|Kn4pU1$`K+Ot514*R59B#UaQ=%y~^kB@vu9`CtbzOq6Z%!9|=ul*@}_I0FRbi?f*1@0gmF_krzWa4ax%bID_(H45wIGAc!+6FGg_+lm!ZLBJyGwr&d{@4(F4+ z=*HQvEN}qlzPvbv)1xf#20_QUz&xJdJd_`{Vh$<;G+{Q$ zA6+=VX;hk6O9ZD=iLinnIQ=YC8Ytr<&UdPn7<(|i1eGERd5qbud(B%lqUTx%PCUK5< yXEgI@VuF8S9MbGy7o$YjsoBF8HfxUNDBfRp4)6u`%y+#20000`?h;Lq^72ZAjcd9N>sSvlmhSRm4klf+2xEIDwNn^ zmaLK>!wNpGYu4%3fAp}yHLfztbSN5Qc!W9UrT*d-mxTGjsKPPE1yQQJV~S|!j4Buz zJmOTT5~oOqg0O;>CEZ63A1h_DaxsUc8M!E6>9bsvuyi696)gF3;bW;R7pGYIEf@P( z+LeosSo$CrBUl>NeH>!ti-Pb1E6){-Z7ggl3`1Oz)+PN4$6L~RqiC#=#;W4b$^rG- zkyq`=#>LDh#oj)`+bPW9s{ z--z;+E~P_;L&EISuJmZ*6G1k4EE_yz9oHHUWQP_Oxov?KS!0HOs!Xdfn52TwYc&oN djH{{Xu0K;95TqJzcf;B_oX7Ats;dv=3DJdy>kYyMB zj8I{QI`d3W<}$m<1xBr44+A`UP2)hUF(NTRCr z(h*H2!%3zHW|ltuhN!$ahq;ib?;Izie>TIY@s`a?QCoPY7*(WQN2il<)cM8!e^Cd; ziK+9t`Gq$>oj2(5heI3|-+GL(M(x=dMxS|V5u%0^o+VCTlVjo6HDy)kTgbJEyknbl z!C86Iy3j;G_7*P*7j(&m`ke?}kPD4C5qcsQsyGq)AQzf(A~Y=*T5uw?AQzf;BJ@Kp zRCOX$kqecb2$keQSDXk9%7qR%5!xpgS}p1t+sx4x^m@H*UFcSD`Cs33mvsQ%8sCTX{j3%!0SgXIMz^8;u`?b2` zh8_G)OsB^7C-YgZKbxDZFY&g=>fXW!^k=hj9pfPQY&{O>D-|;sWn56 zo7y@zV*k-Y>HxjoZ7^0ERLtJ$bI9Jrbrz*gQxBD?bIRt@swZSnUZcnM9<7_7@)49$ zH(^|9t7I$om2IxJjT?FYpUy`%xmn$Hd{?2$QDJdyY_zQFa1Et-5?|lFO002ovPDHLkV1iePLMi|N diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_favorite_blue.png b/app/src/main/res/drawable-xxhdpi/ic_action_favorite_blue.png deleted file mode 100644 index e4645e9e65b5ffcf8e2eb6c6712f42d0b2e04b59..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1186 zcmV;T1YP@yP)*kcTEG8% z=fBood+qN|h>As#K|CC^XwaUw?HBreh|iVlpOT0*3H2zQ(6`A3M?{9LeZ) zB4$Ldi=)>hjKu)Rc{urf`;fwlnZ>#qjff&`~F@#hTU5j>nG;qWkC<8cq}#JDEBe#PBbl_sIuGC(nF zUdEgphk1(Y(j@HqpVviL9fwg~T93tP5)S4LD5m*)xUdCt;Xs76A$rZlYZ%`GuP<>` zy~8^+kU2YWK?`pfN3jSMypAy~^!frb(j@%eG@v-=yp{8?8cu)4n8vojYaJGjG$&Q+ z=;-D)!GV+71P2yiaZ?!-ht_vZ-mONn_T#+c4YiRnXju=#5f`*eGi6X*A^*_eBCs2^ z7v~JO;yzvmO)mf(I2)H{8DcXF^h`Q43!te50(40hK$8muXmS=n6AJ`rQWikt3j}CF z7C-|90(2+~paTU0^jj7{y9)$pcNRdq3Iu3Z7C>7I1ZZm(K-<*zXL?BXAl96d`@AR{qj$T9PJVXQPcOS)9@& zyo86k2+oQ$39n>nSZTuaeyr*OIL~55*2YcMDE9SNPrw??8>Mj8s?{AG?FgUxxKQg{`6t0XQ3D<_zZ9X(jI{V`|UG8*PNM8Vm9oRxJe- zAr0Yryx0afFW`pgsVe|QNJp>)kF^laqwx{qXsZk=t^8|aS=;TnuLa%Ti@O>YQS_n>C$Sn1O;rTeq7v=sBML83dPszFtVEc9X5w)S@1cwj#Ac$R zDv22WsG{n_QN)|IvkzaOjbWU?3`XNb8AfzepRvcx+%!N8&yhBzO2yRmUU22vc?x6rgU#4NejCGMxWo*}7pnt>WI0?U<6KyZV)A){V~k>q z`(}dVSP@ah`c&y8LWeBwH4!^|Inh02D6rDdr1|s>NL5f}l4vY;=`RNYh}sXDEdq7@34Q8yAM zf84^FVrrxob()8wrCZuVETcwxqfVo9#$~CYI65!YXv2mAl?iUGlk{$;FqBGxZEE^>4R)7sBA8X}uXPmnIy zY1&RS?lQ5)kYy%J0e9kRLZm4>QE1^JZ8!U56Q`j1OouzF*bh@D0* zLY05H;gH>hG_rSQnrf$Pu`VOr-*k0yC4h8znhgWp%(TlMCNdBOEgE;Yz@7RRa-<3C z=2SPu=T`q&c}tIwpi{?sWb^8j0tdv%rvC-ztFn{vnqxNyY<8%3sabaCoT9R4^~=gd zlog#`6t2r|oR=$9_^%wR77YDkmbQ|m(!wb6rQibV6t0B-;~Q2; z!3VNP+ACoIOQg^MDO{iY53jI53LP*H&lo!oFh>e4$gV!!FSq%36bRfdSLd^H#gZM% ol%;S~i`R(1@O8@`>07*qoM6N<$g3KB8GXMYp diff --git a/app/src/main/res/drawable-xxhdpi/ic_bookmark_border_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_bookmark_border_white_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..6ed27a24f4dae1f67a8fa7c2616978235c4e9feb GIT binary patch literal 370 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY0wn)GsXoKNz-Z~|;uuoF`1a;TPv=09V;{K> zs=vIXdCX4QL+t|V8zToU!Q7zi<=ih=G>shH1ez9UEV-`L+ms;SY*HW0v1~_0&79vg zZ2SI4K46cpYzp#Pd1vCr^9|xQdkc>$u4Z}7bS<~QdDXiW)sB+am%N#FhW(auDZAYT z)|I=zG|uz9yPE&Yx$=XB+&>-UnK)G@I52T;d9q+8kOHxFEjb!lgfz;SLT}8Ce_G#= zRZ_w5U>@JrB1hhHlACYLFqV4SQ1-%D`C5N>w_9WM|GGu35tZGNQODz9g^ zKt82M#J1Rh|Ad5Q*|!Eyhi@L=8dd^HOZJk+HxobczhIbJ0CrvKef1j;i-e;jOI85G OlEKr}&t;ucLK6Vy2ATQ* literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/ic_bookmark_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_bookmark_white_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..3faff90bb2b05245359ab9bc9ac54d7e7838f369 GIT binary patch literal 273 zcmeAS@N?(olHy`uVBq!ia0vp^9w5xY0wn)GsXhawZg{#lhGg7(d(n}rDL|w(QT?V+ z*RA&1g`9$0o1=QNIhSZ;3HvoG2(8*5DR47*=X4i~|2KaB_~0@z$ZO>`L1XpjO-rS% zr}5ZY2=i5xCT0D%uC}ojy6s@RC;EniboqsAY*xFQ*O^_oE8D{RMZiO$kwwU3!Mx^q zOq?nc9GEz-6bnFEK<<pF literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxhdpi/ic_favorite_border_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_favorite_border_white_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..884a8a210ee1196ef7ff210329e7c28771924e35 GIT binary patch literal 975 zcmV;=12FuFP)_?YyJbMnPCll8Id^Bn(!gLZVe8dek4n5`!s450WAunCNg(Ea*wv zlO6~@=$~_JY)v;s(Gm1V3!*|FLHtGQoKpIEJWGC1lf(ULHQz1C;oiTN?k*eAMs~DOXVN6oWj3x9@SMe zlfu7~)W{#=d`o_&c!DRHB0t{{lOJ?4(*P|bi4h{kJ#1!x46ZbjxH9y!i6m8oh>@g) z0cQGCxv>$~30CU{tfZT4I;qnQSi=ci&nr9PT)@^&SRPnUn%SgyRvrk`j_r41%7(4j z+LaXzj5E_1^~#ENY_H23A~h93!Rx zu@qxWUYN!RD?pTDT#*+pVk8tGZo>FWUKqhhDnP8l7?KzIFFotcD{Gx<|*nXu}^Te&3#@3^JP{UblUs0ubAjU~-!`!U=P|qc7hly&A zsNg8JN!BWVtjE<&ndX29y||vy+|Y{a0A`j zxcZ2ya9Bb=t{=Ev9$3cDxOym8VG*SV*9gls3s!Iz*8w6bJR*FCYm|F61NHoYYagWw z24VK%y2v_NXd;E{140T8CA^30GEeIoo?{AEn}Wx7Tp3=`Rcs-HYl{{JFOk93#@o2A zut5ulr?^ZuX_~dLc$jg#{K2pXb9u)m&W zK|`b25HwVW8f4{An%;%pr-A~B`@Q$Rcklaq9p2}WVzF2(<_}5Q=pjd*1xgf{VvJt) zQzsX!;{aEA$}|N^ERZKhH~UDa7Np5CLwTRLLPllKLNBwFH%%vLRRf2!%;9d4E>c>B z2D(|o-B(WI$RE-SPk$;>dEGJYQdI&?8s)fUKf_4o@)uWCff^?6hYD0<9R8r!c?4g4qZi;lsF53By$vo|{k6p}C&S!Qj8f@bo|NFpp zMTZO%tTxGJMT=&h@y~Ob6+Kc6^2Z=4tqmj@V1T674jdfCVzF2?egSj=1Eq|!$aMe! N002ovPDHLkV1hdH5P|>z literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxxhdpi/ic_action_favorite.png b/app/src/main/res/drawable-xxxhdpi/ic_action_favorite.png deleted file mode 100644 index f2b7126124abebbbcfdbe32f51614d08cfdab56e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 901 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 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxxhdpi/ic_favorite_border_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_favorite_border_white_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..134a48692fc28991e15726fcb7af16b7ee2fd724 GIT binary patch literal 1279 zcmVEFCN5gB@ubzMo!S3-({>BQ-U%DMkS^c=P58MXvcJuys#3}dZmSVR8vhg)l^f>9HoU?Oe^GtO_&xa zL_CbCR$getRHYCx9@F>oLNlgvg@|F8j>!w{m|_YM#h4QELJCtqg^2!`;_^Z(rqdN7 zhGY6gUO0$poI*qurUrRo2d4Q75eqPFmKR>b^twXC8ca3v!rhpfi7F%%a{|*`dEs1~ zrYa;%!|4opqXE-Kg@igxd*uf&VCv)og@8(&mdg*$$LU>#fc2PCjFdmr<8-z1jB9bK zlV423X)iJ55ygCs(`5NYggrPdRUWYnrwOR z!lj(V=_I3+KIY>dLTt7(P-&uso!H!~++YbdyC_i_7|bWwJg(f~Icz>_Hmj5;0(US<{9N4HP|#VQa*7G2e5fw`N50W9OiuaKqXDsELZ;U3^u=V zg*-5xW^9%!zgUb-3)iU|OraHnPS==*v6U9Alh%2FB8a z%{EFXr5>9fxj;P!XVZwym+ZmjJ4UEyVHmsd>odyL^H54Xer#osdM5hvHeS|Ite%S^ zR@0qVh^VJy8C_YT-hug~a7uEYdJkq1=fD17x_TETaDsmw=Nk1sTuc*xYhtW=C(fpU p?-`}uiwY`KP*6}%P*Cu{^(Wf*rf6cxE+zl~002ovPDHLkV1hjmMw$Qs literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xxxhdpi/ic_favorite_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_favorite_white_24dp.png new file mode 100644 index 0000000000000000000000000000000000000000..18d0768d4b82a0b0125354669c9259c0248e3de1 GIT binary patch literal 799 zcmV+)1K|9LP))5?`ig?WVvr=vF-H>iDIC_}V@ZuQ3XW#ZW6e356chtkv{S)QoOo1QS>_E;m~6v8u*WxzLAYZ^(sFEE|>!B`h143uP?3EEi_5?6zE}Vp&x#RIscj z7j9wMeYsG^va5386qZfOg=1KDTrO&C}`p=7W_byqTyxc z$l5F&ijH^5+B=Ge<7DXz#YK^`WaWE`ijNnVA`4TrDj9Tgk9xaHr;o+=O2kn#z;}S2)7TP#RP(Sg!>|qIK2;wx0WfRZv4K8CmExUM%FZn;8Q;= + android:clickable="true" + android:paddingLeft="?android:listPreferredItemPaddingLeft" + android:paddingRight="?android:listPreferredItemPaddingRight"> @@ -42,23 +42,23 @@ android:layout_width="match_parent" android:layout_height="?android:listPreferredItemHeightSmall" android:layout_below="@id/divider1" - android:paddingLeft="?android:listPreferredItemPaddingLeft" - android:paddingRight="?android:listPreferredItemPaddingRight" android:background="?attr/selectableItemBackground" - android:clickable="true"> + android:clickable="true" + android:paddingLeft="?android:listPreferredItemPaddingLeft" + android:paddingRight="?android:listPreferredItemPaddingRight"> + android:text="Status"/> @@ -75,10 +75,10 @@ android:layout_width="match_parent" android:layout_height="?android:listPreferredItemHeightSmall" android:layout_below="@id/divider2" - android:paddingLeft="?android:listPreferredItemPaddingLeft" - android:paddingRight="?android:listPreferredItemPaddingRight" android:background="?attr/selectableItemBackground" - android:clickable="true"> + android:clickable="true" + android:paddingLeft="?android:listPreferredItemPaddingLeft" + android:paddingRight="?android:listPreferredItemPaddingRight"> @@ -108,10 +108,10 @@ android:layout_width="match_parent" android:layout_height="?android:listPreferredItemHeightSmall" android:layout_below="@id/divider3" - android:paddingLeft="?android:listPreferredItemPaddingLeft" - android:paddingRight="?android:listPreferredItemPaddingRight" android:background="?attr/selectableItemBackground" - android:clickable="true"> + android:clickable="true" + android:paddingLeft="?android:listPreferredItemPaddingLeft" + android:paddingRight="?android:listPreferredItemPaddingRight"> diff --git a/app/src/main/res/layout/fragment_manga_info.xml b/app/src/main/res/layout/fragment_manga_info.xml index 3c490ab599..23c7c4095d 100644 --- a/app/src/main/res/layout/fragment_manga_info.xml +++ b/app/src/main/res/layout/fragment_manga_info.xml @@ -1,280 +1,252 @@ - + xmlns:app="http://schemas.android.com/apk/res-auto" + xmlns:tools="http://schemas.android.com/tools" + android:layout_width="match_parent" + android:layout_height="match_parent" + tools:context="eu.kanade.tachiyomi.ui.catalogue.CatalogueFragment"> - + android:layout_height="match_parent"> - + android:layout_height="match_parent" + android:orientation="vertical"> - + android:layout_height="0dp" + android:layout_weight="0.4"> - + android:layout_height="match_parent" + android:alpha="0.2" + android:contentDescription="@string/description_backdrop"/> - - - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - + android:layout_width="0dp" + android:layout_height="match_parent" + android:layout_margin="@dimen/activity_vertical_margin" + android:layout_weight="0.65"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + -