Browse Source

Auto fetch more chats if loaded chats don't fill the view

renovate/org.robolectric-robolectric-4.x
Ammar Githam 4 years ago
parent
commit
be53864f02
  1. 18
      app/src/main/java/awais/instagrabber/fragments/directmessages/DirectMessageThreadFragment.java

18
app/src/main/java/awais/instagrabber/fragments/directmessages/DirectMessageThreadFragment.java

@ -560,8 +560,22 @@ public class DirectMessageThreadFragment extends Fragment {
appStateViewModel.getCurrentUser().observe(getViewLifecycleOwner(), currentUser -> {
viewModel.setCurrentUser(currentUser);
setupItemsAdapter(currentUser);
viewModel.getItems().observe(getViewLifecycleOwner(),
list -> itemsAdapter.submitList(list, () -> itemOrHeaders = itemsAdapter.getList()));
viewModel.getItems().observe(
getViewLifecycleOwner(),
list -> itemsAdapter.submitList(list, () -> {
itemOrHeaders = itemsAdapter.getList();
binding.chats.post(() -> {
final RecyclerView.LayoutManager layoutManager = binding.chats.getLayoutManager();
if (layoutManager instanceof LinearLayoutManager) {
final int position = ((LinearLayoutManager) layoutManager).findLastCompletelyVisibleItemPosition();
if (position < 0) return;
if (position == itemsAdapter.getItemCount() - 1) {
viewModel.fetchChats();
}
}
});
})
);
});
final NavController navController = NavHostFragment.findNavController(this);
final NavBackStackEntry backStackEntry = navController.getCurrentBackStackEntry();

Loading…
Cancel
Save