package moe.uni.comfyKmp import android.app.Activity import androidx.compose.runtime.Composable import androidx.compose.runtime.DisposableEffect import androidx.compose.ui.platform.LocalView import androidx.core.view.WindowCompat import androidx.core.view.WindowInsetsCompat import androidx.core.view.WindowInsetsControllerCompat @Composable actual fun SystemBarsEffect(hidden: Boolean) { val view = LocalView.current DisposableEffect(hidden) { val activity = view.context as? Activity val window = activity?.window val controller = window?.let { WindowCompat.getInsetsController(it, it.decorView) } val previousBehavior = controller?.systemBarsBehavior if (hidden) { controller?.systemBarsBehavior = WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE controller?.hide(WindowInsetsCompat.Type.systemBars()) } else { controller?.show(WindowInsetsCompat.Type.systemBars()) } onDispose { controller?.show(WindowInsetsCompat.Type.systemBars()) if (previousBehavior != null) { controller.systemBarsBehavior = previousBehavior } } } }