Use compat APIs version of WindowInset

This commit is contained in:
Sylvain Berfini 2022-11-16 15:42:23 +01:00
parent f0e8e6cd06
commit 47a26144c1

View file

@ -25,8 +25,9 @@ import android.app.Activity
import android.content.Context
import android.content.pm.ShortcutManager
import android.view.Window
import android.view.WindowInsets
import android.view.WindowInsetsController
import androidx.core.view.WindowCompat
import androidx.core.view.WindowInsetsCompat
import androidx.core.view.WindowInsetsControllerCompat
import androidx.fragment.app.Fragment
import org.linphone.core.ChatRoom
import org.linphone.core.tools.Log
@ -74,16 +75,17 @@ class Api30Compatibility {
}
fun hideAndroidSystemUI(hide: Boolean, window: Window) {
val windowInsetsCompat = WindowInsetsControllerCompat(window, window.decorView)
if (hide) {
window.setDecorFitsSystemWindows(false)
window.insetsController?.let {
WindowCompat.setDecorFitsSystemWindows(window, false)
windowInsetsCompat.let {
it.hide(WindowInsetsCompat.Type.systemBars())
it.systemBarsBehavior =
WindowInsetsController.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE
it.hide(WindowInsets.Type.systemBars())
WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE
}
} else {
window.setDecorFitsSystemWindows(true)
window.insetsController?.show(WindowInsets.Type.systemBars())
windowInsetsCompat.show(WindowInsetsCompat.Type.systemBars())
WindowCompat.setDecorFitsSystemWindows(window, true)
}
}
}