diff options
-rw-r--r-- | src/android/app/src/main/java/org/yuzu/yuzu_emu/activities/EmulationActivity.kt | 47 |
1 files changed, 20 insertions, 27 deletions
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/activities/EmulationActivity.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/activities/EmulationActivity.kt index 81474b824..1382ae29f 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/activities/EmulationActivity.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/activities/EmulationActivity.kt @@ -5,7 +5,6 @@ package org.yuzu.yuzu_emu.activities import android.app.Activity import android.content.Context -import android.content.DialogInterface import android.content.Intent import android.content.res.Configuration import android.graphics.Rect @@ -13,22 +12,22 @@ import android.hardware.Sensor import android.hardware.SensorEvent import android.hardware.SensorEventListener import android.hardware.SensorManager +import android.hardware.display.DisplayManager import android.os.Bundle +import android.view.Display import android.view.InputDevice import android.view.KeyEvent import android.view.MotionEvent import android.view.Surface import android.view.View -import android.view.WindowManager import android.view.inputmethod.InputMethodManager import androidx.appcompat.app.AppCompatActivity -import androidx.preference.PreferenceManager -import com.google.android.material.dialog.MaterialAlertDialogBuilder -import com.google.android.material.slider.Slider.OnChangeListener +import androidx.core.content.getSystemService +import androidx.core.view.WindowCompat +import androidx.core.view.WindowInsetsCompat +import androidx.core.view.WindowInsetsControllerCompat import org.yuzu.yuzu_emu.NativeLibrary import org.yuzu.yuzu_emu.R -import org.yuzu.yuzu_emu.databinding.DialogSliderBinding -import org.yuzu.yuzu_emu.features.settings.model.Settings import org.yuzu.yuzu_emu.fragments.EmulationFragment import org.yuzu.yuzu_emu.model.Game import org.yuzu.yuzu_emu.utils.ControllerMappingHelper @@ -44,7 +43,6 @@ class EmulationActivity : AppCompatActivity(), SensorEventListener { private var controllerMappingHelper: ControllerMappingHelper? = null var isActivityRecreated = false - private var menuVisible = false private var emulationFragment: EmulationFragment? = null private lateinit var nfcReader: NfcReader private lateinit var inputHandler: InputHandler @@ -241,20 +239,20 @@ class EmulationActivity : AppCompatActivity(), SensorEventListener { override fun onAccuracyChanged(sensor: Sensor, i: Int) {} private fun getAdjustedRotation():Int { - val rotation = windowManager.defaultDisplay.rotation; + val rotation = getSystemService<DisplayManager>()!!.getDisplay(Display.DEFAULT_DISPLAY).rotation val config: Configuration = resources.configuration if ((config.screenLayout and Configuration.SCREENLAYOUT_LONG_YES) != 0 || (config.screenLayout and Configuration.SCREENLAYOUT_LONG_NO) == 0) { - return rotation; + return rotation } when (rotation) { - Surface.ROTATION_0 -> return Surface.ROTATION_90; - Surface.ROTATION_90 -> return Surface.ROTATION_0; - Surface.ROTATION_180 -> return Surface.ROTATION_270; - Surface.ROTATION_270 -> return Surface.ROTATION_180; + Surface.ROTATION_0 -> return Surface.ROTATION_90 + Surface.ROTATION_90 -> return Surface.ROTATION_0 + Surface.ROTATION_180 -> return Surface.ROTATION_270 + Surface.ROTATION_270 -> return Surface.ROTATION_180 } - return rotation; + return rotation } private fun restoreState(savedInstanceState: Bundle) { @@ -262,18 +260,13 @@ class EmulationActivity : AppCompatActivity(), SensorEventListener { } private fun enableFullscreenImmersive() { - window.attributes.layoutInDisplayCutoutMode = - WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES - - window.addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN) - - // It would be nice to use IMMERSIVE_STICKY, but that doesn't show the toolbar. - window.decorView.systemUiVisibility = View.SYSTEM_UI_FLAG_LAYOUT_STABLE or - View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION or - View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN or - View.SYSTEM_UI_FLAG_HIDE_NAVIGATION or - View.SYSTEM_UI_FLAG_FULLSCREEN or - View.SYSTEM_UI_FLAG_IMMERSIVE + WindowCompat.setDecorFitsSystemWindows(window, false) + + WindowInsetsControllerCompat(window, window.decorView).let { controller -> + controller.hide(WindowInsetsCompat.Type.systemBars()) + controller.systemBarsBehavior = + WindowInsetsControllerCompat.BEHAVIOR_SHOW_TRANSIENT_BARS_BY_SWIPE + } } private fun startMotionSensorListener() { |