Loading app/src/main/java/app/fedilab/android/mastodon/ui/fragment/timeline/FragmentMastodonTimeline.java +38 −13 Original line number Diff line number Diff line Loading @@ -218,6 +218,21 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. private String publicTrendsDomain; //Allow to update pinnedTimeline for remote instance filter public void updatePinnedTimeline(PinnedTimeline pinnedTimeline) { this.pinnedTimeline = pinnedTimeline; // Update ident and slug for the new filter if (remoteInstance != null && pinnedTimeline != null && pinnedTimeline.remoteInstance != null) { ident = "@R@" + remoteInstance; if (pinnedTimeline.remoteInstance.filteredWith != null && !pinnedTimeline.remoteInstance.filteredWith.trim().isEmpty()) { ident += "@F@" + pinnedTimeline.remoteInstance.filteredWith.trim(); } if (timelineType != null) { slug = timelineType.getValue() + "|" + ident; } } } //Allow to recreate data when detaching/attaching fragment public void recreate() { initialStatuses = null; Loading @@ -227,6 +242,8 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. timelineStatuses = new ArrayList<>(); if (statusAdapter != null) { statusAdapter.notifyItemRangeRemoved(0, count); } } max_id = statusReport != null ? statusReport.id : null; offset = 0; SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(requireActivity()); Loading @@ -240,9 +257,6 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. flagLoading = false; router(null); } } } @Override public void onResume() { Loading Loading @@ -483,6 +497,9 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. ident = "@R@" + pinnedTimeline.remoteInstance.host; } else { ident = "@R@" + remoteInstance; if (pinnedTimeline != null && pinnedTimeline.remoteInstance != null && pinnedTimeline.remoteInstance.filteredWith != null && !pinnedTimeline.remoteInstance.filteredWith.trim().isEmpty()) { ident += "@F@" + pinnedTimeline.remoteInstance.filteredWith.trim(); } } } else if (search != null) { ident = "@S@" + search; Loading Loading @@ -885,6 +902,14 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. case REMOTE -> { timelineParams.instance = remoteInstance; timelineParams.token = null; if (pinnedTimeline != null && pinnedTimeline.remoteInstance != null && pinnedTimeline.remoteInstance.filteredWith != null && !pinnedTimeline.remoteInstance.filteredWith.trim().isEmpty()) { timelineParams.hashtagTrim = pinnedTimeline.remoteInstance.filteredWith.trim(); if (timelineParams.hashtagTrim.startsWith("#")) { timelineParams.hashtagTrim = timelineParams.hashtagTrim.substring(1); } } } } SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(requireActivity()); Loading app/src/main/java/app/fedilab/android/mastodon/viewmodel/mastodon/TimelinesVM.java +6 −0 Original line number Diff line number Diff line Loading @@ -712,6 +712,12 @@ public class TimelinesVM extends AndroidViewModel { timelineCall = mastodonTimelinesService.getHome(timelineParams.token, timelineParams.maxId, timelineParams.sinceId, timelineParams.minId, timelineParams.limit, timelineParams.local); break; case REMOTE: if (timelineParams.hashtagTrim != null && !timelineParams.hashtagTrim.isEmpty()) { timelineCall = mastodonTimelinesService.getHashTag(timelineParams.token, timelineParams.hashtagTrim, true, timelineParams.onlyMedia, null, null, null, timelineParams.maxId, timelineParams.sinceId, timelineParams.minId, timelineParams.limit); } else { timelineCall = mastodonTimelinesService.getPublic(timelineParams.token, true, false, timelineParams.onlyMedia, timelineParams.maxId, timelineParams.sinceId, timelineParams.minId, timelineParams.limit); } break; case LOCAL: timelineCall = mastodonTimelinesService.getPublic(timelineParams.token, true, false, timelineParams.onlyMedia, timelineParams.maxId, timelineParams.sinceId, timelineParams.minId, timelineParams.limit); break; Loading Loading
app/src/main/java/app/fedilab/android/mastodon/ui/fragment/timeline/FragmentMastodonTimeline.java +38 −13 Original line number Diff line number Diff line Loading @@ -218,6 +218,21 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. private String publicTrendsDomain; //Allow to update pinnedTimeline for remote instance filter public void updatePinnedTimeline(PinnedTimeline pinnedTimeline) { this.pinnedTimeline = pinnedTimeline; // Update ident and slug for the new filter if (remoteInstance != null && pinnedTimeline != null && pinnedTimeline.remoteInstance != null) { ident = "@R@" + remoteInstance; if (pinnedTimeline.remoteInstance.filteredWith != null && !pinnedTimeline.remoteInstance.filteredWith.trim().isEmpty()) { ident += "@F@" + pinnedTimeline.remoteInstance.filteredWith.trim(); } if (timelineType != null) { slug = timelineType.getValue() + "|" + ident; } } } //Allow to recreate data when detaching/attaching fragment public void recreate() { initialStatuses = null; Loading @@ -227,6 +242,8 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. timelineStatuses = new ArrayList<>(); if (statusAdapter != null) { statusAdapter.notifyItemRangeRemoved(0, count); } } max_id = statusReport != null ? statusReport.id : null; offset = 0; SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(requireActivity()); Loading @@ -240,9 +257,6 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. flagLoading = false; router(null); } } } @Override public void onResume() { Loading Loading @@ -483,6 +497,9 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. ident = "@R@" + pinnedTimeline.remoteInstance.host; } else { ident = "@R@" + remoteInstance; if (pinnedTimeline != null && pinnedTimeline.remoteInstance != null && pinnedTimeline.remoteInstance.filteredWith != null && !pinnedTimeline.remoteInstance.filteredWith.trim().isEmpty()) { ident += "@F@" + pinnedTimeline.remoteInstance.filteredWith.trim(); } } } else if (search != null) { ident = "@S@" + search; Loading Loading @@ -885,6 +902,14 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. case REMOTE -> { timelineParams.instance = remoteInstance; timelineParams.token = null; if (pinnedTimeline != null && pinnedTimeline.remoteInstance != null && pinnedTimeline.remoteInstance.filteredWith != null && !pinnedTimeline.remoteInstance.filteredWith.trim().isEmpty()) { timelineParams.hashtagTrim = pinnedTimeline.remoteInstance.filteredWith.trim(); if (timelineParams.hashtagTrim.startsWith("#")) { timelineParams.hashtagTrim = timelineParams.hashtagTrim.substring(1); } } } } SharedPreferences sharedpreferences = PreferenceManager.getDefaultSharedPreferences(requireActivity()); Loading
app/src/main/java/app/fedilab/android/mastodon/viewmodel/mastodon/TimelinesVM.java +6 −0 Original line number Diff line number Diff line Loading @@ -712,6 +712,12 @@ public class TimelinesVM extends AndroidViewModel { timelineCall = mastodonTimelinesService.getHome(timelineParams.token, timelineParams.maxId, timelineParams.sinceId, timelineParams.minId, timelineParams.limit, timelineParams.local); break; case REMOTE: if (timelineParams.hashtagTrim != null && !timelineParams.hashtagTrim.isEmpty()) { timelineCall = mastodonTimelinesService.getHashTag(timelineParams.token, timelineParams.hashtagTrim, true, timelineParams.onlyMedia, null, null, null, timelineParams.maxId, timelineParams.sinceId, timelineParams.minId, timelineParams.limit); } else { timelineCall = mastodonTimelinesService.getPublic(timelineParams.token, true, false, timelineParams.onlyMedia, timelineParams.maxId, timelineParams.sinceId, timelineParams.minId, timelineParams.limit); } break; case LOCAL: timelineCall = mastodonTimelinesService.getPublic(timelineParams.token, true, false, timelineParams.onlyMedia, timelineParams.maxId, timelineParams.sinceId, timelineParams.minId, timelineParams.limit); break; Loading