Skip to content

Commit

Permalink
Shrink the FAB on scroll down, extend on up
Browse files Browse the repository at this point in the history
  • Loading branch information
0nko committed Jan 27, 2025
1 parent 5c701ea commit 79bc6aa
Showing 1 changed file with 6 additions and 11 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ import com.duckduckgo.app.pixels.AppPixelName
import com.duckduckgo.app.settings.SettingsActivity
import com.duckduckgo.app.settings.db.SettingsDataStore
import com.duckduckgo.app.statistics.pixels.Pixel
import com.duckduckgo.app.tabs.TabMultiSelectionFeature
import com.duckduckgo.app.tabs.TabManagerFeatureFlags
import com.duckduckgo.app.tabs.model.TabEntity
import com.duckduckgo.app.tabs.model.TabSwitcherData.LayoutType
import com.duckduckgo.app.tabs.ui.TabSwitcherViewModel.Command
Expand Down Expand Up @@ -122,7 +122,7 @@ class TabSwitcherActivity : DuckDuckGoActivity(), TabSwitcherListener, Coroutine
lateinit var duckChat: DuckChat

@Inject
lateinit var tabMultiSelectionFeature: TabMultiSelectionFeature
lateinit var tabManagerFeatureFlags: TabManagerFeatureFlags

private val viewModel: TabSwitcherViewModel by bindViewModel()

Expand Down Expand Up @@ -160,7 +160,7 @@ class TabSwitcherActivity : DuckDuckGoActivity(), TabSwitcherListener, Coroutine
}

private fun configureFab() {
if (tabMultiSelectionFeature.self().isEnabled()) {
if (tabManagerFeatureFlags.multiSelection().isEnabled()) {
tabsFab.show()
tabsFab.setOnClickListener {
viewModel.onFabClicked()
Expand Down Expand Up @@ -207,21 +207,16 @@ class TabSwitcherActivity : DuckDuckGoActivity(), TabSwitcherListener, Coroutine
tabsRecycler.addItemDecoration(tabItemDecorator)
tabsRecycler.setHasFixedSize(true)

if (tabMultiSelectionFeature.self().isEnabled()) {
if (tabManagerFeatureFlags.multiSelection().isEnabled()) {
tabsRecycler.addOnScrollListener(
object : RecyclerView.OnScrollListener() {
override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) {
super.onScrolled(recyclerView, dx, dy)
if (dy < 0) {
if (dy > 0) {
tabsFab.shrink()
}
}

override fun onScrollStateChanged(recyclerView: RecyclerView, newState: Int) {
if (newState == RecyclerView.SCROLL_STATE_IDLE) {
} else if (dy < 0) {
tabsFab.extend()
}
super.onScrollStateChanged(recyclerView, newState)
}
},
)
Expand Down

0 comments on commit 79bc6aa

Please sign in to comment.