From 8a86b30fd1d83b7570ce4773a070077aa380421c Mon Sep 17 00:00:00 2001 From: Viktor De Pasquale Date: Thu, 21 Nov 2019 14:24:14 +0100 Subject: [PATCH] Fixed core UI elements not behaving properly after recreating --- .../topjohnwu/magisk/redesign/MainActivity.kt | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/topjohnwu/magisk/redesign/MainActivity.kt b/app/src/main/java/com/topjohnwu/magisk/redesign/MainActivity.kt index 57fa4a609..c938aaeb5 100644 --- a/app/src/main/java/com/topjohnwu/magisk/redesign/MainActivity.kt +++ b/app/src/main/java/com/topjohnwu/magisk/redesign/MainActivity.kt @@ -85,6 +85,10 @@ open class MainActivity : CompatActivity( if (savedInstanceState != null) { onTabTransaction(null, -1) onFragmentTransaction(null, FragNavController.TransactionType.PUSH) + + if (!navigation.isRoot) { + requestNavigationHidden(animate = false) + } } } @@ -118,6 +122,11 @@ open class MainActivity : CompatActivity( fragment: Fragment?, transactionType: FragNavController.TransactionType ) { + binding.mainToolbarWrapper.animate() + .translationY(0f) + .setInterpolator(FastOutSlowInInterpolator()) + .start() + setDisplayHomeAsUpEnabled(!navigation.isRoot) requestNavigationHidden(!navigation.isRoot) } @@ -134,13 +143,19 @@ open class MainActivity : CompatActivity( } } - internal fun requestNavigationHidden(hide: Boolean = true) { + internal fun requestNavigationHidden(hide: Boolean = true, animate: Boolean = true) { val lapam = binding.mainBottomBar.layoutParams as ViewGroup.MarginLayoutParams val height = binding.mainBottomBar.measuredHeight val verticalMargin = lapam.let { it.topMargin + it.bottomMargin } val maxTranslation = height + verticalMargin val translation = if (!hide) 0 else maxTranslation + if (!animate) { + binding.mainBottomBar.translationY = translation.toFloat() + binding.mainBottomBar.isVisible = !hide + return + } + binding.mainBottomBar.animate() .translationY(translation.toFloat()) .setInterpolator(FastOutSlowInInterpolator())