|
@@ -65,13 +65,29 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
|
|
|
|
|
|
|
|
window.statusBarColor =
|
|
window.statusBarColor =
|
|
|
ContextCompat.getColor(applicationContext, android.R.color.transparent)
|
|
ContextCompat.getColor(applicationContext, android.R.color.transparent)
|
|
|
- ThemeHelper.setNavigationBarColor(
|
|
|
|
|
- this,
|
|
|
|
|
- ElevationOverlayProvider(binding.navigationView.context).compositeOverlay(
|
|
|
|
|
- MaterialColors.getColor(binding.navigationView, R.attr.colorSurface),
|
|
|
|
|
- binding.navigationView.elevation
|
|
|
|
|
|
|
+ window.navigationBarColor =
|
|
|
|
|
+ ContextCompat.getColor(applicationContext, android.R.color.transparent)
|
|
|
|
|
+
|
|
|
|
|
+ binding.statusBarShade.setBackgroundColor(
|
|
|
|
|
+ ThemeHelper.getColorWithOpacity(
|
|
|
|
|
+ MaterialColors.getColor(
|
|
|
|
|
+ binding.root,
|
|
|
|
|
+ R.attr.colorSurface
|
|
|
|
|
+ ),
|
|
|
|
|
+ ThemeHelper.SYSTEM_BAR_ALPHA
|
|
|
)
|
|
)
|
|
|
)
|
|
)
|
|
|
|
|
+ if (InsetsHelper.getSystemGestureType(applicationContext) != InsetsHelper.GESTURE_NAVIGATION) {
|
|
|
|
|
+ binding.navigationBarShade.setBackgroundColor(
|
|
|
|
|
+ ThemeHelper.getColorWithOpacity(
|
|
|
|
|
+ MaterialColors.getColor(
|
|
|
|
|
+ binding.root,
|
|
|
|
|
+ R.attr.colorSurface
|
|
|
|
|
+ ),
|
|
|
|
|
+ ThemeHelper.SYSTEM_BAR_ALPHA
|
|
|
|
|
+ )
|
|
|
|
|
+ )
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
val navHostFragment =
|
|
val navHostFragment =
|
|
|
supportFragmentManager.findFragmentById(R.id.fragment_container) as NavHostFragment
|
|
supportFragmentManager.findFragmentById(R.id.fragment_container) as NavHostFragment
|
|
@@ -83,16 +99,6 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- binding.statusBarShade.setBackgroundColor(
|
|
|
|
|
- ThemeHelper.getColorWithOpacity(
|
|
|
|
|
- MaterialColors.getColor(
|
|
|
|
|
- binding.root,
|
|
|
|
|
- R.attr.colorSurface
|
|
|
|
|
- ),
|
|
|
|
|
- ThemeHelper.SYSTEM_BAR_ALPHA
|
|
|
|
|
- )
|
|
|
|
|
- )
|
|
|
|
|
-
|
|
|
|
|
// Prevents navigation from being drawn for a short time on recreation if set to hidden
|
|
// Prevents navigation from being drawn for a short time on recreation if set to hidden
|
|
|
if (!homeViewModel.navigationVisible.value?.first!!) {
|
|
if (!homeViewModel.navigationVisible.value?.first!!) {
|
|
|
binding.navigationView.visibility = View.INVISIBLE
|
|
binding.navigationView.visibility = View.INVISIBLE
|
|
@@ -116,14 +122,6 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
|
|
|
navController.navigate(R.id.action_firstTimeSetupFragment_to_gamesFragment)
|
|
navController.navigate(R.id.action_firstTimeSetupFragment_to_gamesFragment)
|
|
|
(binding.navigationView as NavigationBarView).setupWithNavController(navController)
|
|
(binding.navigationView as NavigationBarView).setupWithNavController(navController)
|
|
|
showNavigation(visible = true, animated = true)
|
|
showNavigation(visible = true, animated = true)
|
|
|
-
|
|
|
|
|
- ThemeHelper.setNavigationBarColor(
|
|
|
|
|
- this,
|
|
|
|
|
- ElevationOverlayProvider(binding.navigationView.context).compositeOverlay(
|
|
|
|
|
- MaterialColors.getColor(binding.navigationView, R.attr.colorSurface),
|
|
|
|
|
- binding.navigationView.elevation
|
|
|
|
|
- )
|
|
|
|
|
- )
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private fun setUpNavigation(navController: NavController) {
|
|
private fun setUpNavigation(navController: NavController) {
|
|
@@ -210,11 +208,18 @@ class MainActivity : AppCompatActivity(), ThemeProvider {
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
private fun setInsets() =
|
|
private fun setInsets() =
|
|
|
- ViewCompat.setOnApplyWindowInsetsListener(binding.statusBarShade) { view: View, windowInsets: WindowInsetsCompat ->
|
|
|
|
|
|
|
+ ViewCompat.setOnApplyWindowInsetsListener(binding.root) { _: View, windowInsets: WindowInsetsCompat ->
|
|
|
val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
|
|
val insets = windowInsets.getInsets(WindowInsetsCompat.Type.systemBars())
|
|
|
- val mlpShade = view.layoutParams as MarginLayoutParams
|
|
|
|
|
- mlpShade.height = insets.top
|
|
|
|
|
- binding.statusBarShade.layoutParams = mlpShade
|
|
|
|
|
|
|
+ val mlpStatusShade = binding.statusBarShade.layoutParams as MarginLayoutParams
|
|
|
|
|
+ mlpStatusShade.height = insets.top
|
|
|
|
|
+ binding.statusBarShade.layoutParams = mlpStatusShade
|
|
|
|
|
+
|
|
|
|
|
+ // The only situation where we care to have a nav bar shade is when it's at the bottom
|
|
|
|
|
+ // of the screen where scrolling list elements can go behind it.
|
|
|
|
|
+ val mlpNavShade = binding.navigationBarShade.layoutParams as MarginLayoutParams
|
|
|
|
|
+ mlpNavShade.height = insets.bottom
|
|
|
|
|
+ binding.navigationBarShade.layoutParams = mlpNavShade
|
|
|
|
|
+
|
|
|
windowInsets
|
|
windowInsets
|
|
|
}
|
|
}
|
|
|
|
|
|