From 5e98e60d7da203be9193cfa5038231d85963e4b0 Mon Sep 17 00:00:00 2001 From: Thomas Date: Mon, 30 May 2022 18:33:43 +0200 Subject: [PATCH] Fix issue #103 - Scroll to top for notifications when taping the bottom item menu. --- .../java/app/fedilab/android/BaseMainActivity.java | 4 ++++ .../timeline/FragmentNotificationContainer.java | 12 ++++++++++++ 2 files changed, 16 insertions(+) diff --git a/app/src/main/java/app/fedilab/android/BaseMainActivity.java b/app/src/main/java/app/fedilab/android/BaseMainActivity.java index 97ea333ea..27fae89bf 100644 --- a/app/src/main/java/app/fedilab/android/BaseMainActivity.java +++ b/app/src/main/java/app/fedilab/android/BaseMainActivity.java @@ -116,6 +116,7 @@ import app.fedilab.android.helper.ThemeHelper; import app.fedilab.android.ui.fragment.timeline.FragmentMastodonConversation; import app.fedilab.android.ui.fragment.timeline.FragmentMastodonNotification; import app.fedilab.android.ui.fragment.timeline.FragmentMastodonTimeline; +import app.fedilab.android.ui.fragment.timeline.FragmentNotificationContainer; import app.fedilab.android.viewmodel.mastodon.AccountsVM; import app.fedilab.android.viewmodel.mastodon.InstancesVM; import app.fedilab.android.viewmodel.mastodon.TimelinesVM; @@ -893,6 +894,9 @@ public abstract class BaseMainActivity extends BaseActivity implements NetworkSt } else if (fragment instanceof FragmentMastodonConversation) { FragmentMastodonConversation fragmentMastodonConversation = ((FragmentMastodonConversation) fragment); fragmentMastodonConversation.scrollToTop(); + } else if (fragment instanceof FragmentNotificationContainer) { + FragmentNotificationContainer fragmentNotificationContainer = ((FragmentNotificationContainer) fragment); + fragmentNotificationContainer.scrollToTop(); } } } diff --git a/app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentNotificationContainer.java b/app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentNotificationContainer.java index 65aeb3b41..74b7e613d 100644 --- a/app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentNotificationContainer.java +++ b/app/src/main/java/app/fedilab/android/ui/fragment/timeline/FragmentNotificationContainer.java @@ -61,6 +61,18 @@ public class FragmentNotificationContainer extends Fragment { } + public void scrollToTop() { + if (binding != null) { + FedilabNotificationPageAdapter fedilabNotificationPageAdapter = ((FedilabNotificationPageAdapter) binding.viewpager.getAdapter()); + if (fedilabNotificationPageAdapter != null) { + FragmentMastodonNotification fragmentMastodonNotification = (FragmentMastodonNotification) fedilabNotificationPageAdapter.getCurrentFragment(); + if (fragmentMastodonNotification != null) { + fragmentMastodonNotification.scrollToTop(); + } + } + } + } + @SuppressLint("ApplySharedPref") @Override public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {