|
|
|
@ -7,6 +7,7 @@ import android.view.View
|
|
|
|
import androidx.activity.OnBackPressedCallback
|
|
|
|
import androidx.activity.OnBackPressedCallback
|
|
|
|
import androidx.annotation.IdRes
|
|
|
|
import androidx.annotation.IdRes
|
|
|
|
import androidx.core.view.isEmpty
|
|
|
|
import androidx.core.view.isEmpty
|
|
|
|
|
|
|
|
import androidx.core.view.isVisible
|
|
|
|
import androidx.core.view.iterator
|
|
|
|
import androidx.core.view.iterator
|
|
|
|
import androidx.core.view.size
|
|
|
|
import androidx.core.view.size
|
|
|
|
import androidx.fragment.app.Fragment
|
|
|
|
import androidx.fragment.app.Fragment
|
|
|
|
@ -89,25 +90,7 @@ class MainNavigationDelegate(
|
|
|
|
when (v.id) {
|
|
|
|
when (v.id) {
|
|
|
|
R.id.button_expand -> {
|
|
|
|
R.id.button_expand -> {
|
|
|
|
if (navBar is NavigationRailView) {
|
|
|
|
if (navBar is NavigationRailView) {
|
|
|
|
if (navBar.isExpanded) {
|
|
|
|
setNavbarIsExpanded(!navBar.isExpanded)
|
|
|
|
navBar.collapse()
|
|
|
|
|
|
|
|
navRailHeader?.run {
|
|
|
|
|
|
|
|
railFab.shrink()
|
|
|
|
|
|
|
|
buttonExpand.setImageResource(R.drawable.ic_drawer_menu)
|
|
|
|
|
|
|
|
buttonExpand.setContentDescriptionAndTooltip(R.string.expand)
|
|
|
|
|
|
|
|
val horizontalPadding = navBar.itemActiveIndicatorMarginHorizontal
|
|
|
|
|
|
|
|
root.setPadding(horizontalPadding, 0, horizontalPadding, 0)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
navBar.expand()
|
|
|
|
|
|
|
|
navRailHeader?.run {
|
|
|
|
|
|
|
|
railFab.extend()
|
|
|
|
|
|
|
|
buttonExpand.setImageResource(R.drawable.ic_drawer_menu_open)
|
|
|
|
|
|
|
|
buttonExpand.setContentDescriptionAndTooltip(R.string.collapse)
|
|
|
|
|
|
|
|
val horizontalPadding = navBar.itemActiveIndicatorExpandedMarginHorizontal
|
|
|
|
|
|
|
|
root.setPadding(horizontalPadding, 0, horizontalPadding, 0)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
@ -289,6 +272,10 @@ class MainNavigationDelegate(
|
|
|
|
},
|
|
|
|
},
|
|
|
|
)
|
|
|
|
)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
navRailHeader?.buttonExpand?.isVisible = value
|
|
|
|
|
|
|
|
if (!value) {
|
|
|
|
|
|
|
|
setNavbarIsExpanded(false)
|
|
|
|
|
|
|
|
}
|
|
|
|
navBar.labelVisibilityMode = if (value) {
|
|
|
|
navBar.labelVisibilityMode = if (value) {
|
|
|
|
NavigationBarView.LABEL_VISIBILITY_LABELED
|
|
|
|
NavigationBarView.LABEL_VISIBILITY_LABELED
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
@ -296,6 +283,31 @@ class MainNavigationDelegate(
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private fun setNavbarIsExpanded(value: Boolean) {
|
|
|
|
|
|
|
|
if (navBar !is NavigationRailView) {
|
|
|
|
|
|
|
|
return
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
if (value) {
|
|
|
|
|
|
|
|
navBar.expand()
|
|
|
|
|
|
|
|
navRailHeader?.run {
|
|
|
|
|
|
|
|
railFab.extend()
|
|
|
|
|
|
|
|
buttonExpand.setImageResource(R.drawable.ic_drawer_menu_open)
|
|
|
|
|
|
|
|
buttonExpand.setContentDescriptionAndTooltip(R.string.collapse)
|
|
|
|
|
|
|
|
val horizontalPadding = navBar.itemActiveIndicatorExpandedMarginHorizontal
|
|
|
|
|
|
|
|
root.setPadding(horizontalPadding, 0, horizontalPadding, 0)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
navBar.collapse()
|
|
|
|
|
|
|
|
navRailHeader?.run {
|
|
|
|
|
|
|
|
railFab.shrink()
|
|
|
|
|
|
|
|
buttonExpand.setImageResource(R.drawable.ic_drawer_menu)
|
|
|
|
|
|
|
|
buttonExpand.setContentDescriptionAndTooltip(R.string.expand)
|
|
|
|
|
|
|
|
val horizontalPadding = navBar.itemActiveIndicatorMarginHorizontal
|
|
|
|
|
|
|
|
root.setPadding(horizontalPadding, 0, horizontalPadding, 0)
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
fun interface OnFragmentChangedListener {
|
|
|
|
fun interface OnFragmentChangedListener {
|
|
|
|
|
|
|
|
|
|
|
|
fun onFragmentChanged(fragment: Fragment, fromUser: Boolean)
|
|
|
|
fun onFragmentChanged(fragment: Fragment, fromUser: Boolean)
|
|
|
|
|