Skip to content

Commit

Permalink
Scroll post list to top when Reader tab is tapped
Browse files Browse the repository at this point in the history
  • Loading branch information
RenanLukas committed Mar 27, 2024
1 parent 93b8a22 commit 00e8f7f
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ import org.wordpress.android.ui.ScrollableViewInitializedListener
import org.wordpress.android.ui.compose.theme.AppTheme
import org.wordpress.android.ui.jetpackoverlay.JetpackFeatureFullScreenOverlayFragment
import org.wordpress.android.ui.jetpackoverlay.JetpackFeatureRemovalOverlayUtil.JetpackFeatureOverlayScreenType
import org.wordpress.android.ui.main.WPMainActivity
import org.wordpress.android.ui.main.WPMainActivity.OnScrollToTopListener
import org.wordpress.android.ui.main.WPMainNavigationView.PageType.READER
import org.wordpress.android.ui.mysite.jetpackbadge.JetpackPoweredBottomSheetFragment
import org.wordpress.android.ui.pages.SnackbarMessageHolder
Expand Down Expand Up @@ -54,7 +56,8 @@ import java.util.EnumSet
import javax.inject.Inject

@AndroidEntryPoint
class ReaderFragment : Fragment(R.layout.reader_fragment_layout), ScrollableViewInitializedListener {
class ReaderFragment : Fragment(R.layout.reader_fragment_layout), ScrollableViewInitializedListener,
WPMainActivity.OnScrollToTopListener {
@Inject
lateinit var viewModelFactory: ViewModelProvider.Factory

Expand Down Expand Up @@ -377,4 +380,13 @@ class ReaderFragment : Fragment(R.layout.reader_fragment_layout), ScrollableView
val viewModel = getSubFilterViewModel() ?: return
viewModel.setDefaultSubfilter(isClearingFilter = true)
}

override fun onScrollToTop() {
binding?.appBar?.setExpanded(true, true)
// Instance of ReaderPostListFragment or ReaderDiscoverFragment
val currentFragment = getCurrentFeedFragment()
if (currentFragment is OnScrollToTopListener) {
currentFragment.onScrollToTop()
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import org.wordpress.android.ui.ActivityLauncher
import org.wordpress.android.ui.RequestCodes
import org.wordpress.android.ui.ViewPagerFragment
import org.wordpress.android.ui.main.SitePickerActivity
import org.wordpress.android.ui.main.WPMainActivity.OnScrollToTopListener
import org.wordpress.android.ui.mysite.SelectedSiteRepository
import org.wordpress.android.ui.pages.SnackbarMessageHolder
import org.wordpress.android.ui.reader.ReaderActivityLauncher
Expand Down Expand Up @@ -55,7 +56,7 @@ import org.wordpress.android.widgets.RecyclerItemDecoration
import org.wordpress.android.widgets.WPSnackbar
import javax.inject.Inject

class ReaderDiscoverFragment : ViewPagerFragment(R.layout.reader_discover_fragment_layout) {
class ReaderDiscoverFragment : ViewPagerFragment(R.layout.reader_discover_fragment_layout), OnScrollToTopListener {
private var bookmarksSavedLocallyDialog: AlertDialog? = null

@Inject
Expand Down Expand Up @@ -282,4 +283,8 @@ class ReaderDiscoverFragment : ViewPagerFragment(R.layout.reader_discover_fragme
viewModel.onReblogSiteSelected(siteLocalId)
}
}

override fun onScrollToTop() {
binding?.recyclerView?.smoothScrollToPosition(0)
}
}

0 comments on commit 00e8f7f

Please sign in to comment.