diff --git a/app/src/main/java/org/nuclearfog/twidda/adapter/TweetAdapter.java b/app/src/main/java/org/nuclearfog/twidda/adapter/TweetAdapter.java index d5e00958..f2184367 100644 --- a/app/src/main/java/org/nuclearfog/twidda/adapter/TweetAdapter.java +++ b/app/src/main/java/org/nuclearfog/twidda/adapter/TweetAdapter.java @@ -71,11 +71,7 @@ public class TweetAdapter extends Adapter { */ @MainThread public void insertAt(@NonNull List data, int index) { - if (loadingIndex != NO_INDEX) { - int oldIndex = loadingIndex; - loadingIndex = NO_INDEX; - notifyItemChanged(oldIndex); - } + disableLoading(); if (data.size() > MIN_COUNT) { if (tweets.isEmpty() || tweets.get(index) != null) { // Add placeholder @@ -138,6 +134,16 @@ public class TweetAdapter extends Adapter { return tweets.isEmpty(); } + /** + * disable placeholder load animation + */ + public void disableLoading() { + if (loadingIndex != NO_INDEX) { + int oldIndex = loadingIndex; + loadingIndex = NO_INDEX; + notifyItemChanged(oldIndex); + } + } @Override public long getItemId(int index) { diff --git a/app/src/main/java/org/nuclearfog/twidda/adapter/UserAdapter.java b/app/src/main/java/org/nuclearfog/twidda/adapter/UserAdapter.java index 1a7477cf..8a98e149 100644 --- a/app/src/main/java/org/nuclearfog/twidda/adapter/UserAdapter.java +++ b/app/src/main/java/org/nuclearfog/twidda/adapter/UserAdapter.java @@ -77,10 +77,8 @@ public class UserAdapter extends Adapter { // remove footer users.remove(end); notifyItemRemoved(end); - } else if (loadingIndex != NO_INDEX) { - int oldIndex = loadingIndex; - loadingIndex = NO_INDEX; - notifyItemChanged(oldIndex); + } else { + disableLoading(); } users.addAll(end, data.getUsers()); notifyItemRangeInserted(end, data.getSize()); @@ -88,6 +86,17 @@ public class UserAdapter extends Adapter { nextCursor = data.getNext(); } + /** + * disable loading animation in footer + */ + public void disableLoading() { + if (loadingIndex != NO_INDEX) { + int oldIndex = loadingIndex; + loadingIndex = NO_INDEX; + notifyItemChanged(oldIndex); + } + } + @Override public int getItemCount() { diff --git a/app/src/main/java/org/nuclearfog/twidda/fragment/TweetFragment.java b/app/src/main/java/org/nuclearfog/twidda/fragment/TweetFragment.java index fd8cc8fe..3b8d4d28 100644 --- a/app/src/main/java/org/nuclearfog/twidda/fragment/TweetFragment.java +++ b/app/src/main/java/org/nuclearfog/twidda/fragment/TweetFragment.java @@ -195,6 +195,7 @@ public class TweetFragment extends Fragment implements OnRefreshListener, TweetC if (getContext() != null) { ErrorHandler.handleFailure(getContext(), error); } + adapter.disableLoading(); } diff --git a/app/src/main/java/org/nuclearfog/twidda/fragment/UserFragment.java b/app/src/main/java/org/nuclearfog/twidda/fragment/UserFragment.java index ad6ac70c..642e4003 100644 --- a/app/src/main/java/org/nuclearfog/twidda/fragment/UserFragment.java +++ b/app/src/main/java/org/nuclearfog/twidda/fragment/UserFragment.java @@ -160,6 +160,7 @@ public class UserFragment extends Fragment implements OnRefreshListener, UserCli if (getContext() != null) { ErrorHandler.handleFailure(getContext(), error); } + adapter.disableLoading(); }