Loading app/src/main/java/app/fedilab/android/client/entities/app/StatusCache.java +3 −0 Original line number Diff line number Diff line Loading @@ -652,6 +652,7 @@ public class StatusCache { List<Status> statusList = new ArrayList<>(); while (c.moveToNext()) { Status status = convertCursorToStatus(c); status.cached = true; statusList.add(status); } //Close the cursor Loading @@ -674,6 +675,7 @@ public class StatusCache { List<Notification> notificationList = new ArrayList<>(); while (c.moveToNext()) { Notification notification = convertCursorToNotification(c); notification.cached = true; notificationList.add(notification); } //Close the cursor Loading @@ -697,6 +699,7 @@ public class StatusCache { List<Conversation> conversationList = new ArrayList<>(); while (c.moveToNext()) { Conversation conversation = convertCursorToConversation(c); conversation.cached = true; conversationList.add(conversation); } //Close the cursor Loading app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonTimeline.java +14 −7 Original line number Diff line number Diff line Loading @@ -425,8 +425,6 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. mLayoutManager.setOrientation(LinearLayoutManager.VERTICAL); binding.recyclerView.setLayoutManager(mLayoutManager); binding.recyclerView.setAdapter(statusAdapter); //Fetching new messages route(DIRECTION.FETCH_NEW, true); if (searchCache == null && timelineType != Timeline.TimeLineEnum.TREND_MESSAGE) { binding.recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { Loading Loading @@ -461,6 +459,10 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. } } }); //For home (first tab) we fetch new messages if (timelineType == Timeline.TimeLineEnum.HOME) { route(DIRECTION.FETCH_NEW, true); } } } Loading Loading @@ -576,11 +578,16 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. } SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(requireActivity()); boolean useCache = sharedpreferences.getBoolean(getString(R.string.SET_USE_CACHE), true); Handler handler = new Handler(); //The action for fetching new messages is delayed for other timelines than HOME handler.postDelayed(() -> { if (useCache && direction != DIRECTION.SCROLL_TOP && direction != DIRECTION.FETCH_NEW) { getCachedStatus(direction, fetchingMissing, timelineParams); } else { getLiveStatus(direction, fetchingMissing, timelineParams, status); } }, timelineType == Timeline.TimeLineEnum.HOME ? 0 : 1000); } Loading app/src/main/java/app/fedilab/android/viewmodel/mastodon/TimelinesVM.java +0 −1 Original line number Diff line number Diff line Loading @@ -461,7 +461,6 @@ public class TimelinesVM extends AndroidViewModel { List<Status> notPresentStatuses = new ArrayList<>(); for (Status status : statuses.statuses) { if (!timelineStatuses.contains(status)) { status.cached = true; notPresentStatuses.add(status); } } Loading Loading
app/src/main/java/app/fedilab/android/client/entities/app/StatusCache.java +3 −0 Original line number Diff line number Diff line Loading @@ -652,6 +652,7 @@ public class StatusCache { List<Status> statusList = new ArrayList<>(); while (c.moveToNext()) { Status status = convertCursorToStatus(c); status.cached = true; statusList.add(status); } //Close the cursor Loading @@ -674,6 +675,7 @@ public class StatusCache { List<Notification> notificationList = new ArrayList<>(); while (c.moveToNext()) { Notification notification = convertCursorToNotification(c); notification.cached = true; notificationList.add(notification); } //Close the cursor Loading @@ -697,6 +699,7 @@ public class StatusCache { List<Conversation> conversationList = new ArrayList<>(); while (c.moveToNext()) { Conversation conversation = convertCursorToConversation(c); conversation.cached = true; conversationList.add(conversation); } //Close the cursor Loading
app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonTimeline.java +14 −7 Original line number Diff line number Diff line Loading @@ -425,8 +425,6 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. mLayoutManager.setOrientation(LinearLayoutManager.VERTICAL); binding.recyclerView.setLayoutManager(mLayoutManager); binding.recyclerView.setAdapter(statusAdapter); //Fetching new messages route(DIRECTION.FETCH_NEW, true); if (searchCache == null && timelineType != Timeline.TimeLineEnum.TREND_MESSAGE) { binding.recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { Loading Loading @@ -461,6 +459,10 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. } } }); //For home (first tab) we fetch new messages if (timelineType == Timeline.TimeLineEnum.HOME) { route(DIRECTION.FETCH_NEW, true); } } } Loading Loading @@ -576,11 +578,16 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. } SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(requireActivity()); boolean useCache = sharedpreferences.getBoolean(getString(R.string.SET_USE_CACHE), true); Handler handler = new Handler(); //The action for fetching new messages is delayed for other timelines than HOME handler.postDelayed(() -> { if (useCache && direction != DIRECTION.SCROLL_TOP && direction != DIRECTION.FETCH_NEW) { getCachedStatus(direction, fetchingMissing, timelineParams); } else { getLiveStatus(direction, fetchingMissing, timelineParams, status); } }, timelineType == Timeline.TimeLineEnum.HOME ? 0 : 1000); } Loading
app/src/main/java/app/fedilab/android/viewmodel/mastodon/TimelinesVM.java +0 −1 Original line number Diff line number Diff line Loading @@ -461,7 +461,6 @@ public class TimelinesVM extends AndroidViewModel { List<Status> notPresentStatuses = new ArrayList<>(); for (Status status : statuses.statuses) { if (!timelineStatuses.contains(status)) { status.cached = true; notPresentStatuses.add(status); } } Loading