diff options
| author | Gamer64ytb <76565986+Gamer64ytb@users.noreply.github.com> | 2022-04-02 17:58:18 +0200 |
|---|---|---|
| committer | Gamer64ytb <76565986+Gamer64ytb@users.noreply.github.com> | 2022-04-03 14:26:37 +0200 |
| commit | bed91750e11d39a319c0e5c5d3c1069d16c99f11 (patch) | |
| tree | 38fb7ef02c86887bb10c93007b3fc1f3a6e05a98 /Source/Android/app/src/main/java | |
| parent | 113fdc959dd9239b25d54a0ea787686f6c7790ca (diff) | |
Android: Implement expand display cutout option.
Some ROMs don't have fullscreen feature, for example Pixel Experience, so have a option for that is better. Also you don't need put the app on fullscreen anymore with that.
Diffstat (limited to 'Source/Android/app/src/main/java')
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, |
