Skip to content
Snippets Groups Projects
Commit 21c3d0b3 authored by Pierre Nicolas's avatar Pierre Nicolas :joy:
Browse files

smartlist: prevent appbar to collapse when no conversation

GitLab: #1547

Change-Id: Ie7662171250ba5b0f54215351e1f2684e1e53454
parent c54d304b
No related branches found
No related tags found
No related merge requests found
......@@ -46,6 +46,7 @@ import androidx.transition.Fade
import androidx.transition.Slide
import androidx.transition.TransitionManager
import com.google.android.material.appbar.AppBarLayout
import com.google.android.material.appbar.AppBarLayout.Behavior.DragCallback
import com.google.android.material.dialog.MaterialAlertDialogBuilder
import cx.ring.R
import cx.ring.account.AccountWizardActivity
......@@ -362,7 +363,8 @@ class HomeFragment: BaseSupportFragment<HomePresenter, HomeView>(),
(binding.invitationCard.invitationGroup.layoutParams as ViewGroup.MarginLayoutParams)
.setMargins(it, it, it, 2*it)
}
// Enable to possibility to scroll the invitation pending list.
// Enable invitation pending list scroll (remove side effect with appbar behavior).
(binding.appBar.layoutParams as CoordinatorLayout.LayoutParams).behavior = null
// Hide everything unneeded.
......@@ -411,9 +413,8 @@ class HomeFragment: BaseSupportFragment<HomePresenter, HomeView>(),
(binding.invitationCard.invitationGroup.layoutParams as ViewGroup.MarginLayoutParams)
.setMargins(it, 0, it, 0)
}
// Disable possibility to scroll the invitation pending list.
(binding.appBar.layoutParams as CoordinatorLayout.LayoutParams).behavior =
AppBarLayout.Behavior()
disableAppBarScroll()
// Show everything needed.
binding.donationCard.donationCard.isVisible = presenter.donationCardIsVisible
......@@ -447,6 +448,8 @@ class HomeFragment: BaseSupportFragment<HomePresenter, HomeView>(),
super.onViewCreated(view, savedInstanceState)
pagerContent = mBinding!!.fragmentContainer.getFragment()
disableAppBarScroll()
// Subscribe on fragmentContainer to add scroll listener on the recycler view.
mBinding!!.fragmentContainer.getFragment<SmartListFragment>().viewLifecycleOwnerLiveData
.observe(viewLifecycleOwner) {
......@@ -619,6 +622,16 @@ class HomeFragment: BaseSupportFragment<HomePresenter, HomeView>(),
b.searchView.hide()
}
/** Prevent appbar to be collapsed by direct scroll. */
private fun disableAppBarScroll() {
(mBinding!!.appBar.layoutParams as CoordinatorLayout.LayoutParams).behavior =
AppBarLayout.Behavior().apply {
setDragCallback(object : DragCallback() {
override fun canDrag(appBarLayout: AppBarLayout): Boolean = false
})
}
}
companion object {
private val TAG = HomeFragment::class.simpleName!!
const val TAB_CONVERSATIONS = 0
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment