diff options
| author | JosJuice <josjuice@gmail.com> | 2022-04-07 20:58:22 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-04-07 20:58:22 +0200 |
| commit | 17b17e32368bf07e80bb3151e0232ce1028798e4 (patch) | |
| tree | 26dace384ff9d6d633715abcd1bbe60b8d345faa /Source/Android/app/src/main/java/org | |
| parent | a8654e2c69cc67af9e3a981e465620279c3bce81 (diff) | |
| parent | bed91750e11d39a319c0e5c5d3c1069d16c99f11 (diff) | |
Merge pull request #10552 from Gamer64ytb/display-cutout
Android: Implement expand display cutout option.
Diffstat (limited to 'Source/Android/app/src/main/java/org')
3 files changed, 25 insertions, 0 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java index e8efa523e6..0132aac85f 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java @@ -7,6 +7,7 @@ import android.content.DialogInterface; import android.content.Intent; import android.content.SharedPreferences; import android.graphics.Rect; +import android.os.Build; import android.os.Bundle; import android.preference.PreferenceManager; import android.util.SparseIntArray; @@ -17,6 +18,7 @@ import android.view.Menu; import android.view.MenuItem; import android.view.MotionEvent; import android.view.View; +import android.view.WindowManager; import android.widget.SeekBar; import android.widget.TextView; import android.widget.Toast; @@ -373,6 +375,19 @@ public final class EmulationActivity extends AppCompatActivity { super.onResume(); + // Only android 9+ support this feature. + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) + { + WindowManager.LayoutParams attributes = getWindow().getAttributes(); + + attributes.layoutInDisplayCutoutMode = + BooleanSetting.MAIN_EXPAND_TO_CUTOUT_AREA.getBoolean(mSettings) ? + WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES : + WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER; + + getWindow().setAttributes(attributes); + } + updateOrientation(); if (NativeLibrary.IsGameMetadataValid()) diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/BooleanSetting.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/BooleanSetting.java index 82004d80c8..83fccc95d1 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/BooleanSetting.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/BooleanSetting.java @@ -42,6 +42,8 @@ public enum BooleanSetting implements AbstractBooleanSetting MAIN_DSP_JIT(Settings.FILE_DOLPHIN, Settings.SECTION_INI_DSP, "EnableJIT", true), + MAIN_EXPAND_TO_CUTOUT_AREA(Settings.FILE_DOLPHIN, Settings.SECTION_INI_INTERFACE, + "ExpandToCutoutArea", false), MAIN_USE_PANIC_HANDLERS(Settings.FILE_DOLPHIN, Settings.SECTION_INI_INTERFACE, "UsePanicHandlers", true), MAIN_OSD_MESSAGES(Settings.FILE_DOLPHIN, Settings.SECTION_INI_INTERFACE, diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java index 58869a9e95..6991891bcd 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java @@ -4,6 +4,7 @@ package org.dolphinemu.dolphinemu.features.settings.ui; import android.content.Context; import android.content.pm.PackageManager; +import android.os.Build; import android.os.Bundle; import android.text.TextUtils; @@ -292,6 +293,13 @@ public final class SettingsFragmentPresenter R.array.orientationValues)); } + // Only android 9+ supports this feature. + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) + { + sl.add(new CheckBoxSetting(mContext, BooleanSetting.MAIN_EXPAND_TO_CUTOUT_AREA, + R.string.expand_to_cutout_area, R.string.expand_to_cutout_area_description)); + } + sl.add(new CheckBoxSetting(mContext, BooleanSetting.MAIN_USE_PANIC_HANDLERS, R.string.panic_handlers, R.string.panic_handlers_description)); sl.add(new CheckBoxSetting(mContext, BooleanSetting.MAIN_OSD_MESSAGES, R.string.osd_messages, |
