Почему код скрытия статус бара отрабатывает до вызова onResume?

Есть 2 экрана. При нажатии на кнопку (на первом экране) открывается второй экран. На втором экране в onViewCreated() вызывается метод в котором происходит настройка edge-to-edge мода и устанавливается цвет статус бара. Проблема в том что данный метод начинает отрабатывать до того как верстка второго экрана становится видимой. Т.е видно как скрывается статус бар еще на первом экране. Почему это происходит? Используем навигацию с помощью транзакций и добавления фрагмента в стек.

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    super.onViewCreated(view, savedInstanceState)
    setStatusBarSettings()
}

private fun setStatusBarSettings() {
 val window = activity?.window ?: return
 viewModel?.setEdgeToEdgeSettings(window, FragmentStateType.CREATING)
 viewModel?.setStatusBarColor(window, FragmentStateType.CREATING)
}

Ниже методы ViewModel

fun setEdgeToEdgeSettings(window: Window, fragmentStateType: FragmentStateType) {
    val isEnableEdgeToEdgeOnStartUp = repository.getIsEnableEdgeToEdgeModeOnStartup()
    val isDisableEdgeToEdgeOnDestroy = repository.getIsDisableEdgeToEdgeModeOnDestroy()
    when {
        fragmentStateType == FragmentStateType.CREATING && isEnableEdgeToEdgeOnStartUp -> {
            WindowCompat.setDecorFitsSystemWindows(window, false)
        }
        fragmentStateType == FragmentStateType.DESTROYING && isDisableEdgeToEdgeOnDestroy -> {
            WindowCompat.setDecorFitsSystemWindows(window, true)
        }
    }
}

fun setStatusBarColor(window: Window, fragmentStateType: FragmentStateType) {
    val statusBarColorOnStartUp = repository.getStatusBarColorOnStartUp()
    val statusBarColorOnDestroy = repository.getStatusBarColorDestroy()
    when {
        fragmentStateType == FragmentStateType.CREATING && statusBarColorOnStartUp != null -> {
            window.setColorStatusBar(statusBarColorOnStartUp)
        }
        fragmentStateType == FragmentStateType.DESTROYING && statusBarColorOnDestroy != null -> {
            window.setColorStatusBar(statusBarColorOnDestroy)
        }
    }
}

Ответы (0 шт):