From 0222dcd727d2eb82ee4a7650bc4d41f96fa87fb4 Mon Sep 17 00:00:00 2001 From: seven332 Date: Sun, 10 May 2015 16:12:48 +0800 Subject: [PATCH] Improve gallery list refresh --- .../ehviewer/ui/scene/GalleryListScene.java | 2 +- .../com/hippo/ehviewer/widget/ContentLayout.java | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryListScene.java b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryListScene.java index 07f4db668..a20a47f10 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryListScene.java +++ b/app/src/main/java/com/hippo/ehviewer/ui/scene/GalleryListScene.java @@ -287,7 +287,7 @@ public class GalleryListScene extends Scene implements SearchBar.Helper, } } else if (v == mRefreshFab) { toggleFabLayout(); - mGalleryListHelper.goToTopAndRefresh(); + mGalleryListHelper.refreshWithSameSearch(); } else if (v == mGoToFab) { toggleFabLayout(); // TODO do go to diff --git a/app/src/main/java/com/hippo/ehviewer/widget/ContentLayout.java b/app/src/main/java/com/hippo/ehviewer/widget/ContentLayout.java index 8fbbb34f0..4858584a1 100644 --- a/app/src/main/java/com/hippo/ehviewer/widget/ContentLayout.java +++ b/app/src/main/java/com/hippo/ehviewer/widget/ContentLayout.java @@ -405,6 +405,22 @@ public class ContentLayout extends FrameLayout { doRefresh(); } + public void refreshWithSameSearch() { + if (mViewTransition.getShownViewIndex() == 0) { + // Go to top + mRecyclerView.stopScroll(); + mLayoutManager.smoothScrollToPosition(mRecyclerView, null, 0); + // Show header refresh + mRefreshLayout.setFooterRefreshing(false); + mRefreshLayout.setHeaderRefreshing(true); + // Do refresh + doRefresh(); + } else { + showProgressBar(); + doRefresh(); + } + } + /** * Only work when data is loaded */