From 14529f109b67bff1291623b37b37ca6106326b32 Mon Sep 17 00:00:00 2001 From: SerpentSpirale Date: Sun, 14 Nov 2021 14:51:36 +0100 Subject: [PATCH] New option: sustained performance --- .../src/main/java/net/kdt/pojavlaunch/MainActivity.java | 6 ++++++ .../net/kdt/pojavlaunch/prefs/LauncherPreferences.java | 2 ++ .../screens/LauncherPreferenceMiscellaneousFragment.java | 7 +++++++ app_pojavlauncher/src/main/res/values/strings.xml | 2 ++ app_pojavlauncher/src/main/res/xml/pref_misc.xml | 7 +++++++ 5 files changed, 24 insertions(+) diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/MainActivity.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/MainActivity.java index 21e003483..62d47de98 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/MainActivity.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/MainActivity.java @@ -14,6 +14,7 @@ import net.kdt.pojavlaunch.utils.MCOptionUtils; import java.io.*; import static net.kdt.pojavlaunch.prefs.LauncherPreferences.DEFAULT_PREF; +import static net.kdt.pojavlaunch.prefs.LauncherPreferences.PREF_SUSTAINED_PERFORMANCE; public class MainActivity extends BaseMainActivity { public static ControlLayout mControlLayout; @@ -24,6 +25,11 @@ public class MainActivity extends BaseMainActivity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); initLayout(R.layout.main_with_customctrl); + + // Set the sustained performance mode for available APIs + if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) + getWindow().setSustainedPerformanceMode(PREF_SUSTAINED_PERFORMANCE); + super.ingameControlsEditorListener = menuItem -> { switch (menuItem.getItemId()) { case R.id.menu_ctrl_load: diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/prefs/LauncherPreferences.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/prefs/LauncherPreferences.java index 501edadb2..63875d8a1 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/prefs/LauncherPreferences.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/prefs/LauncherPreferences.java @@ -33,6 +33,7 @@ public class LauncherPreferences public static int PREF_CONTROL_RIGHT_OFFSET = 0; public static int PREF_CONTROL_BOTTOM_OFFSET = 0; public static int PREF_CONTROL_LEFT_OFFSET = 0; + public static boolean PREF_SUSTAINED_PERFORMANCE = false; public static void loadPreferences(Context ctx) { @@ -61,6 +62,7 @@ public class LauncherPreferences PREF_CONTROL_RIGHT_OFFSET = DEFAULT_PREF.getInt("controlRightOffset", 0); PREF_CONTROL_BOTTOM_OFFSET = DEFAULT_PREF.getInt("controlBottomOffset", 0); PREF_CONTROL_LEFT_OFFSET = DEFAULT_PREF.getInt("controlTopOffset", 0); + PREF_SUSTAINED_PERFORMANCE = DEFAULT_PREF.getBoolean("sustainedPerformance", false); /* if (PREF_CUSTOM_JAVA_ARGS.isEmpty()) { diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/prefs/screens/LauncherPreferenceMiscellaneousFragment.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/prefs/screens/LauncherPreferenceMiscellaneousFragment.java index ebb665b9a..da42959be 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/prefs/screens/LauncherPreferenceMiscellaneousFragment.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/prefs/screens/LauncherPreferenceMiscellaneousFragment.java @@ -1,12 +1,19 @@ package net.kdt.pojavlaunch.prefs.screens; +import android.os.Build; import android.os.Bundle; +import androidx.preference.SwitchPreference; + import net.kdt.pojavlaunch.R; public class LauncherPreferenceMiscellaneousFragment extends LauncherPreferenceFragment { @Override public void onCreatePreferences(Bundle b, String str) { addPreferencesFromResource(R.xml.pref_misc); + + // Sustained performance is only available since Nougat + SwitchPreference sustainedPerfSwitch = findPreference("sustainedPerformance"); + sustainedPerfSwitch.setVisible(Build.VERSION.SDK_INT >= Build.VERSION_CODES.N); } } diff --git a/app_pojavlauncher/src/main/res/values/strings.xml b/app_pojavlauncher/src/main/res/values/strings.xml index f6ca45844..a0888e7db 100644 --- a/app_pojavlauncher/src/main/res/values/strings.xml +++ b/app_pojavlauncher/src/main/res/values/strings.xml @@ -274,6 +274,8 @@ Version list, and libs checks Experimental Stuff Use things there with consideration, no support. + Enable sustained performance mode + Limit thermal throttling by limiting peak performance Back to the last screen diff --git a/app_pojavlauncher/src/main/res/xml/pref_misc.xml b/app_pojavlauncher/src/main/res/xml/pref_misc.xml index eaf7a166c..dff30194a 100644 --- a/app_pojavlauncher/src/main/res/xml/pref_misc.xml +++ b/app_pojavlauncher/src/main/res/xml/pref_misc.xml @@ -6,6 +6,13 @@ + +