summaryrefslogtreecommitdiff
path: root/Source/Android/app/src/main/java
diff options
context:
space:
mode:
authorJosJuice <josjuice@gmail.com>2022-04-07 20:58:22 +0200
committerGitHub <noreply@github.com>2022-04-07 20:58:22 +0200
commit17b17e32368bf07e80bb3151e0232ce1028798e4 (patch)
tree26dace384ff9d6d633715abcd1bbe60b8d345faa /Source/Android/app/src/main/java
parenta8654e2c69cc67af9e3a981e465620279c3bce81 (diff)
parentbed91750e11d39a319c0e5c5d3c1069d16c99f11 (diff)
Merge pull request #10552 from Gamer64ytb/display-cutout
Android: Implement expand display cutout option.
Diffstat (limited to 'Source/Android/app/src/main/java')
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java15
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/BooleanSetting.java2
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java8
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,