diff --git a/app/src/main/java/org/koitharu/kotatsu/ui/main/list/MangaListFragment.kt b/app/src/main/java/org/koitharu/kotatsu/ui/main/list/MangaListFragment.kt index fbc89bc91..ecbb25e2f 100644 --- a/app/src/main/java/org/koitharu/kotatsu/ui/main/list/MangaListFragment.kt +++ b/app/src/main/java/org/koitharu/kotatsu/ui/main/list/MangaListFragment.kt @@ -99,7 +99,7 @@ abstract class MangaListFragment : BaseFragment(R.layout.fragment_list), Mang override fun onPrepareOptionsMenu(menu: Menu) { menu.findItem(R.id.action_filter).isVisible = drawer != null && - drawer?.getDrawerLockMode(GravityCompat.END) != DrawerLayout.LOCK_MODE_LOCKED_CLOSED + drawer?.getDrawerLockMode(GravityCompat.END) != DrawerLayout.LOCK_MODE_LOCKED_CLOSED super.onPrepareOptionsMenu(menu) } @@ -151,7 +151,7 @@ abstract class MangaListFragment : BaseFragment(R.layout.fragment_list), Mang } } - override fun onError(e: Throwable) { + override fun onListError(e: Throwable) { if (recyclerView.hasItems) { Snackbar.make(recyclerView, e.getDisplayMessage(resources), Snackbar.LENGTH_SHORT) .show() @@ -167,6 +167,10 @@ abstract class MangaListFragment : BaseFragment(R.layout.fragment_list), Mang } } + override fun onError(e: Throwable) { + Snackbar.make(recyclerView, e.getDisplayMessage(resources), Snackbar.LENGTH_SHORT).show() + } + override fun onLoadingStateChanged(isLoading: Boolean) { val hasItems = recyclerView.hasItems progressBar.isVisible = isLoading && !hasItems @@ -235,7 +239,7 @@ abstract class MangaListFragment : BaseFragment(R.layout.fragment_list), Mang ) } ) - if(mode == ListMode.GRID) { + if (mode == ListMode.GRID) { recyclerView.addOnLayoutChangeListener(UiUtils.SpanCountResolver) } adapter?.notifyDataSetChanged() diff --git a/app/src/main/java/org/koitharu/kotatsu/ui/main/list/MangaListView.kt b/app/src/main/java/org/koitharu/kotatsu/ui/main/list/MangaListView.kt index 39155115d..9201c6186 100644 --- a/app/src/main/java/org/koitharu/kotatsu/ui/main/list/MangaListView.kt +++ b/app/src/main/java/org/koitharu/kotatsu/ui/main/list/MangaListView.kt @@ -19,6 +19,9 @@ interface MangaListView : BaseMvpView { @StateStrategyType(AddToEndStrategy::class, tag = "content") fun onListAppended(list: List) + @StateStrategyType(AddToEndSingleTagStrategy::class, tag = "content") + fun onListError(e: Throwable) + @AddToEndSingle fun onInitFilter(sortOrders: List, tags: List, currentFilter: MangaFilter?) diff --git a/app/src/main/java/org/koitharu/kotatsu/ui/main/list/favourites/FavouritesListPresenter.kt b/app/src/main/java/org/koitharu/kotatsu/ui/main/list/favourites/FavouritesListPresenter.kt index 5ee42076c..c5f4a191c 100644 --- a/app/src/main/java/org/koitharu/kotatsu/ui/main/list/favourites/FavouritesListPresenter.kt +++ b/app/src/main/java/org/koitharu/kotatsu/ui/main/list/favourites/FavouritesListPresenter.kt @@ -38,7 +38,11 @@ class FavouritesListPresenter : BasePresenter>() { if (BuildConfig.DEBUG) { e.printStackTrace() } - viewState.onError(e) + if (offset == 0) { + viewState.onListError(e) + } else { + viewState.onError(e) + } } finally { viewState.onLoadingStateChanged(false) } diff --git a/app/src/main/java/org/koitharu/kotatsu/ui/main/list/history/HistoryListPresenter.kt b/app/src/main/java/org/koitharu/kotatsu/ui/main/list/history/HistoryListPresenter.kt index a6046a311..c453aa8ec 100644 --- a/app/src/main/java/org/koitharu/kotatsu/ui/main/list/history/HistoryListPresenter.kt +++ b/app/src/main/java/org/koitharu/kotatsu/ui/main/list/history/HistoryListPresenter.kt @@ -40,7 +40,11 @@ class HistoryListPresenter : BasePresenter>() { if (BuildConfig.DEBUG) { e.printStackTrace() } - viewState.onError(e) + if (offset == 0) { + viewState.onListError(e) + } else { + viewState.onError(e) + } } finally { viewState.onLoadingStateChanged(false) } diff --git a/app/src/main/java/org/koitharu/kotatsu/ui/main/list/local/LocalListPresenter.kt b/app/src/main/java/org/koitharu/kotatsu/ui/main/list/local/LocalListPresenter.kt index 8eb3b9ef6..e3760757d 100644 --- a/app/src/main/java/org/koitharu/kotatsu/ui/main/list/local/LocalListPresenter.kt +++ b/app/src/main/java/org/koitharu/kotatsu/ui/main/list/local/LocalListPresenter.kt @@ -46,7 +46,7 @@ class LocalListPresenter : BasePresenter>() { if (BuildConfig.DEBUG) { e.printStackTrace() } - viewState.onError(e) + viewState.onListError(e) } finally { viewState.onLoadingStateChanged(false) } diff --git a/app/src/main/java/org/koitharu/kotatsu/ui/main/list/remote/RemoteListPresenter.kt b/app/src/main/java/org/koitharu/kotatsu/ui/main/list/remote/RemoteListPresenter.kt index d75fe028d..638cc457a 100644 --- a/app/src/main/java/org/koitharu/kotatsu/ui/main/list/remote/RemoteListPresenter.kt +++ b/app/src/main/java/org/koitharu/kotatsu/ui/main/list/remote/RemoteListPresenter.kt @@ -40,7 +40,11 @@ class RemoteListPresenter : BasePresenter>() { if (BuildConfig.DEBUG) { e.printStackTrace() } - viewState.onError(e) + if (offset == 0) { + viewState.onListError(e) + } else { + viewState.onError(e) + } } finally { viewState.onLoadingStateChanged(false) }