summaryrefslogtreecommitdiff
path: root/Source/Android/app/src/main/java
diff options
context:
space:
mode:
authorGamer64ytb <76565986+Gamer64ytb@users.noreply.github.com>2022-04-02 17:58:18 +0200
committerGamer64ytb <76565986+Gamer64ytb@users.noreply.github.com>2022-04-03 14:26:37 +0200
commitbed91750e11d39a319c0e5c5d3c1069d16c99f11 (patch)
tree38fb7ef02c86887bb10c93007b3fc1f3a6e05a98 /Source/Android/app/src/main/java
parent113fdc959dd9239b25d54a0ea787686f6c7790ca (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')
-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,