From 32b34ec0f96dbb7556793231e13bb7f0a5e2da91 Mon Sep 17 00:00:00 2001 From: Floens Date: Sat, 15 Aug 2015 21:08:21 +0200 Subject: [PATCH] Show loading indicator in the status cell when coming to the foreground --- .../chan/core/presenter/ThreadPresenter.java | 4 +++ .../floens/chan/ui/adapter/PostAdapter.java | 30 +++++++++---------- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/Clover/app/src/main/java/org/floens/chan/core/presenter/ThreadPresenter.java b/Clover/app/src/main/java/org/floens/chan/core/presenter/ThreadPresenter.java index 671343a9..6dfadd51 100644 --- a/Clover/app/src/main/java/org/floens/chan/core/presenter/ThreadPresenter.java +++ b/Clover/app/src/main/java/org/floens/chan/core/presenter/ThreadPresenter.java @@ -142,6 +142,10 @@ public class ThreadPresenter implements ChanLoader.ChanLoaderCallback, PostAdapt if (chanLoader != null) { if (foreground && isWatching()) { chanLoader.requestMoreDataAndResetTimer(); + if (chanLoader.getThread() != null) { + // Show loading indicator in the status cell + showPosts(); + } } else { chanLoader.clearTimer(); } diff --git a/Clover/app/src/main/java/org/floens/chan/ui/adapter/PostAdapter.java b/Clover/app/src/main/java/org/floens/chan/ui/adapter/PostAdapter.java index 736a3731..47738ebe 100644 --- a/Clover/app/src/main/java/org/floens/chan/ui/adapter/PostAdapter.java +++ b/Clover/app/src/main/java/org/floens/chan/ui/adapter/PostAdapter.java @@ -45,7 +45,6 @@ public class PostAdapter extends RecyclerView.Adapter { private final ThreadStatusCell.Callback statusCellCallback; private final List sourceList = new ArrayList<>(); private final List displayList = new ArrayList<>(); - private int lastPostCount = 0; private String error = null; private Post highlightedPost; private String highlightedPostId; @@ -130,6 +129,20 @@ public class PostAdapter extends RecyclerView.Adapter { return size; } + public int getUnfilteredDisplaySize() { + int size = sourceList.size(); + + if (showStatusView()) { + size++; + } + + if (lastSeenIndicatorPosition >= 0) { + size++; + } + + return size; + } + @Override public int getItemViewType(int position) { if (position == lastSeenIndicatorPosition) { @@ -183,20 +196,6 @@ public class PostAdapter extends RecyclerView.Adapter { notifyDataSetChanged(); } - public int getUnfilteredDisplaySize() { - int size = sourceList.size(); - - if (showStatusView()) { - size++; - } - - if (lastSeenIndicatorPosition >= 0) { - size++; - } - - return size; - } - public List getDisplayList() { return displayList; } @@ -206,7 +205,6 @@ public class PostAdapter extends RecyclerView.Adapter { highlightedPostId = null; highlightedPostNo = -1; highlightedPostTripcode = null; - lastPostCount = 0; lastSeenIndicatorPosition = -1; bound = false; }