Loading app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonTimeline.java +6 −3 Original line number Diff line number Diff line Loading @@ -142,6 +142,7 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. private String slug; private TimelinesVM.TimelineParams timelineParams; private boolean canBeFederated; private boolean rememberPosition; @Override public void onResume() { Loading Loading @@ -272,8 +273,10 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. binding.loader.setVisibility(View.VISIBLE); binding.recyclerView.setVisibility(View.GONE); max_id = statusReport != null ? statusReport.id : null; rememberPosition = sharedpreferences.getBoolean(getString(R.string.SET_REMEMBER_POSITION), true); //Inner marker are only for pinned timelines and main timelines, they have isViewInitialized set to false if (max_id == null && !isViewInitialized) { if (max_id == null && !isViewInitialized && rememberPosition) { max_id = sharedpreferences.getString(getString(R.string.SET_INNER_MARKER) + BaseMainActivity.currentUserID + BaseMainActivity.currentInstance + slug, null); } //Only fragment in main view pager should not have the view initialized Loading Loading @@ -483,8 +486,8 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. } } }); //For home (first tab) we fetch new messages if (timelineType == Timeline.TimeLineEnum.HOME) { //For first tab we fetch new messages, if we keep position if (slug.compareTo(Helper.getSlugOfFirstFragment(requireActivity(), currentUserID, currentInstance)) == 0 && rememberPosition) { route(DIRECTION.FETCH_NEW, true); } } Loading app/src/main/res/values/strings.xml +3 −0 Original line number Diff line number Diff line Loading @@ -929,6 +929,8 @@ <string name="SET_INNER_MARKER" translatable="false">SET_INNER_MARKER</string> <string name="SET_NOTIF_SILENT" translatable="false">SET_NOTIF_SILENT</string> <string name="SET_REMEMBER_POSITION" translatable="false">SET_REMEMBER_POSITION</string> <string name="SET_EXPAND_CW" translatable="false">SET_EXPAND_CW</string> <string name="SET_DISPLAY_ALL_NOTIFICATIONS_TYPE" translatable="false">SET_DISPLAY_ALL_NOTIFICATIONS_TYPE</string> <string name="SET_EXCLUDED_NOTIFICATIONS_TYPE" translatable="false">SET_EXCLUDED_NOTIFICATIONS_TYPE</string> Loading Loading @@ -1483,4 +1485,5 @@ <string name="set_display_counters">Display counters</string> <string name="set_display_counters_description">Will display a bubble counter in tab timelines for new messages</string> <string name="view_the_original_message">Open the original message</string> <string name="remember_position">Remember position in timelines</string> </resources> app/src/main/res/xml/pref_timelines.xml +6 −0 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?> <androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <SwitchPreferenceCompat android:defaultValue="true" app:iconSpaceReserved="false" app:key="@string/SET_REMEMBER_POSITION" app:singleLineTitle="false" app:title="@string/remember_position" /> <SwitchPreferenceCompat android:defaultValue="false" app:iconSpaceReserved="false" Loading Loading
app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentMastodonTimeline.java +6 −3 Original line number Diff line number Diff line Loading @@ -142,6 +142,7 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. private String slug; private TimelinesVM.TimelineParams timelineParams; private boolean canBeFederated; private boolean rememberPosition; @Override public void onResume() { Loading Loading @@ -272,8 +273,10 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. binding.loader.setVisibility(View.VISIBLE); binding.recyclerView.setVisibility(View.GONE); max_id = statusReport != null ? statusReport.id : null; rememberPosition = sharedpreferences.getBoolean(getString(R.string.SET_REMEMBER_POSITION), true); //Inner marker are only for pinned timelines and main timelines, they have isViewInitialized set to false if (max_id == null && !isViewInitialized) { if (max_id == null && !isViewInitialized && rememberPosition) { max_id = sharedpreferences.getString(getString(R.string.SET_INNER_MARKER) + BaseMainActivity.currentUserID + BaseMainActivity.currentInstance + slug, null); } //Only fragment in main view pager should not have the view initialized Loading Loading @@ -483,8 +486,8 @@ public class FragmentMastodonTimeline extends Fragment implements StatusAdapter. } } }); //For home (first tab) we fetch new messages if (timelineType == Timeline.TimeLineEnum.HOME) { //For first tab we fetch new messages, if we keep position if (slug.compareTo(Helper.getSlugOfFirstFragment(requireActivity(), currentUserID, currentInstance)) == 0 && rememberPosition) { route(DIRECTION.FETCH_NEW, true); } } Loading
app/src/main/res/values/strings.xml +3 −0 Original line number Diff line number Diff line Loading @@ -929,6 +929,8 @@ <string name="SET_INNER_MARKER" translatable="false">SET_INNER_MARKER</string> <string name="SET_NOTIF_SILENT" translatable="false">SET_NOTIF_SILENT</string> <string name="SET_REMEMBER_POSITION" translatable="false">SET_REMEMBER_POSITION</string> <string name="SET_EXPAND_CW" translatable="false">SET_EXPAND_CW</string> <string name="SET_DISPLAY_ALL_NOTIFICATIONS_TYPE" translatable="false">SET_DISPLAY_ALL_NOTIFICATIONS_TYPE</string> <string name="SET_EXCLUDED_NOTIFICATIONS_TYPE" translatable="false">SET_EXCLUDED_NOTIFICATIONS_TYPE</string> Loading Loading @@ -1483,4 +1485,5 @@ <string name="set_display_counters">Display counters</string> <string name="set_display_counters_description">Will display a bubble counter in tab timelines for new messages</string> <string name="view_the_original_message">Open the original message</string> <string name="remember_position">Remember position in timelines</string> </resources>
app/src/main/res/xml/pref_timelines.xml +6 −0 Original line number Diff line number Diff line <?xml version="1.0" encoding="utf-8"?> <androidx.preference.PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <SwitchPreferenceCompat android:defaultValue="true" app:iconSpaceReserved="false" app:key="@string/SET_REMEMBER_POSITION" app:singleLineTitle="false" app:title="@string/remember_position" /> <SwitchPreferenceCompat android:defaultValue="false" app:iconSpaceReserved="false" Loading