From 29a96330aa434bfc5bc5a0b0ea1214413678c39f Mon Sep 17 00:00:00 2001 From: SerpentSpirale Date: Thu, 12 Aug 2021 18:37:59 +0200 Subject: [PATCH] Cleaned part of launchJVM implementation. --- .../net/kdt/pojavlaunch/utils/JREUtils.java | 33 +++++++++---------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/utils/JREUtils.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/utils/JREUtils.java index c43120551..570d07136 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/utils/JREUtils.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/utils/JREUtils.java @@ -257,26 +257,25 @@ public class JREUtils { // return ldLibraryPath; } - public static int launchJavaVM(final LoggableActivity ctx, List JVMArguments) throws Throwable { + public static int launchJavaVM(final LoggableActivity ctx,final List JVMArgs) throws Throwable { JREUtils.relocateLibPath(ctx); final String graphicsLib = loadGraphicsLibrary(); + List userArgs = getJavaArgs(ctx,graphicsLib); - //List javaArgList = new ArrayList<>(); //Remove arguments that can interfere with the good working of the launcher - purgeArg(JVMArguments,"-Xms"); - purgeArg(JVMArguments,"-Xmx"); - purgeArg(JVMArguments,"-d32"); - purgeArg(JVMArguments,"-d64"); + purgeArg(userArgs,"-Xms"); + purgeArg(userArgs,"-Xmx"); + purgeArg(userArgs,"-d32"); + purgeArg(userArgs,"-d64"); //Add automatically generated args - JVMArguments.add(Tools.DIR_HOME_JRE + "/bin/java"); - getJavaArgs(ctx, JVMArguments,graphicsLib); + userArgs.add("-Xms" + LauncherPreferences.PREF_RAM_ALLOCATION + "M"); + userArgs.add("-Xmx" + LauncherPreferences.PREF_RAM_ALLOCATION + "M"); - JVMArguments.add("-Xms" + LauncherPreferences.PREF_RAM_ALLOCATION + "M"); - JVMArguments.add("-Xmx" + LauncherPreferences.PREF_RAM_ALLOCATION + "M"); + userArgs.addAll(JVMArgs); ctx.runOnUiThread(() -> Toast.makeText(ctx, ctx.getString(R.string.autoram_info_msg,LauncherPreferences.PREF_RAM_ALLOCATION), Toast.LENGTH_SHORT).show()); - System.out.println(JVMArguments); + System.out.println(JVMArgs); // For debugging only! /* @@ -292,7 +291,7 @@ public class JREUtils { setupExitTrap(ctx.getApplication()); chdir(Tools.DIR_GAME_NEW); - final int exitCode = VMLauncher.launchJVM(JVMArguments.toArray(new String[0])); + final int exitCode = VMLauncher.launchJVM(userArgs.toArray(new String[0])); ctx.appendlnToLog("Java Exit code: " + exitCode); if (exitCode != 0) { ctx.runOnUiThread(() -> { @@ -307,13 +306,13 @@ public class JREUtils { } /** - * Fills up the javaArgList passed in parameter with the user arguments + * Gives an argument list filled with both the user args * and the auto-generated ones (eg. the window resolution). * @param ctx The application context - * @param javaArgList The current list of arguments * @param renderLib The name of the renderer used. + * @return A list filled with args. */ - public static void getJavaArgs(Context ctx, List javaArgList, String renderLib) { + public static List getJavaArgs(Context ctx, String renderLib) { List userArguments = parseJavaArguments(LauncherPreferences.PREF_CUSTOM_JAVA_ARGS); String[] overridableArguments = new String[]{ "-Djava.home=" + Tools.DIR_HOME_JRE, @@ -352,8 +351,8 @@ public class JREUtils { } //Add all the arguments - javaArgList.addAll(userArguments); - javaArgList.addAll(Arrays.asList(overridableArguments)); + userArguments.addAll(Arrays.asList(overridableArguments)); + return userArguments; } /**