Merge branch 'main' of https://github.com/FCL-Team/FoldCraftLauncher
This commit is contained in:
commit
ee97d6ebfa
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1 @@
|
|||
1
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -1 +1 @@
|
|||
2
|
||||
3
|
|
@ -50,24 +50,9 @@ public class ShellActivity extends FCLActivity {
|
|||
if (cmd.endsWith("\n")) {
|
||||
logWindow.appendLog("->" + cmd);
|
||||
editText.setText("");
|
||||
String javaDir = FCLPath.RUNTIME_DIR + "/java";
|
||||
if (cmd.contains("clear")) {
|
||||
logWindow.cleanLog();
|
||||
return;
|
||||
} else if (cmd.contains("java21")) {
|
||||
shellUtil.append("cd " + javaDir);
|
||||
if (!new File(javaDir, "jre21").exists() && !new File(javaDir, "jre17_").exists()) {
|
||||
shellUtil.append("cp " + new File(new File(FCLPath.SHARED_COMMON_DIR).getParentFile(), "jre21.zip").getAbsolutePath() + " ./");
|
||||
shellUtil.append("unzip jre21.zip");
|
||||
}
|
||||
shellUtil.append("mv jre17 jre17_");
|
||||
shellUtil.append("mv jre21 jre17");
|
||||
return;
|
||||
} else if (cmd.contains("java17")) {
|
||||
shellUtil.append("cd " + javaDir);
|
||||
shellUtil.append("mv jre17 jre21");
|
||||
shellUtil.append("mv jre17_ jre17");
|
||||
return;
|
||||
}
|
||||
shellUtil.append(cmd);
|
||||
}
|
||||
|
|
|
@ -30,6 +30,7 @@ public class RuntimeFragment extends FCLFragment implements View.OnClickListener
|
|||
|
||||
boolean lwjgl = false;
|
||||
boolean cacio = false;
|
||||
boolean cacio11 = false;
|
||||
boolean cacio17 = false;
|
||||
boolean java8 = false;
|
||||
boolean java11 = false;
|
||||
|
@ -38,6 +39,7 @@ public class RuntimeFragment extends FCLFragment implements View.OnClickListener
|
|||
|
||||
private FCLProgressBar lwjglProgress;
|
||||
private FCLProgressBar cacioProgress;
|
||||
private FCLProgressBar cacio11Progress;
|
||||
private FCLProgressBar cacio17Progress;
|
||||
private FCLProgressBar java8Progress;
|
||||
private FCLProgressBar java11Progress;
|
||||
|
@ -46,6 +48,7 @@ public class RuntimeFragment extends FCLFragment implements View.OnClickListener
|
|||
|
||||
private FCLImageView lwjglState;
|
||||
private FCLImageView cacioState;
|
||||
private FCLImageView cacio11State;
|
||||
private FCLImageView cacio17State;
|
||||
private FCLImageView java8State;
|
||||
private FCLImageView java11State;
|
||||
|
@ -61,6 +64,7 @@ public class RuntimeFragment extends FCLFragment implements View.OnClickListener
|
|||
|
||||
lwjglProgress = findViewById(view, R.id.lwjgl_progress);
|
||||
cacioProgress = findViewById(view, R.id.cacio_progress);
|
||||
cacio11Progress = findViewById(view, R.id.cacio11_progress);
|
||||
cacio17Progress = findViewById(view, R.id.cacio17_progress);
|
||||
java8Progress = findViewById(view, R.id.java8_progress);
|
||||
java11Progress = findViewById(view, R.id.java11_progress);
|
||||
|
@ -69,6 +73,7 @@ public class RuntimeFragment extends FCLFragment implements View.OnClickListener
|
|||
|
||||
lwjglState = findViewById(view, R.id.lwjgl_state);
|
||||
cacioState = findViewById(view, R.id.cacio_state);
|
||||
cacio11State = findViewById(view, R.id.cacio11_state);
|
||||
cacio17State = findViewById(view, R.id.cacio17_state);
|
||||
java8State = findViewById(view, R.id.java8_state);
|
||||
java11State = findViewById(view, R.id.java11_state);
|
||||
|
@ -91,6 +96,7 @@ public class RuntimeFragment extends FCLFragment implements View.OnClickListener
|
|||
try {
|
||||
lwjgl = RuntimeUtils.isLatest(FCLPath.LWJGL_DIR, "/assets/app_runtime/lwjgl");
|
||||
cacio = RuntimeUtils.isLatest(FCLPath.CACIOCAVALLO_8_DIR, "/assets/app_runtime/caciocavallo");
|
||||
cacio11 = RuntimeUtils.isLatest(FCLPath.CACIOCAVALLO_11_DIR, "/assets/app_runtime/caciocavallo11");
|
||||
cacio17 = RuntimeUtils.isLatest(FCLPath.CACIOCAVALLO_17_DIR, "/assets/app_runtime/caciocavallo17");
|
||||
java8 = RuntimeUtils.isLatest(FCLPath.JAVA_8_PATH, "/assets/app_runtime/java/jre8");
|
||||
java11 = RuntimeUtils.isLatest(FCLPath.JAVA_11_PATH, "/assets/app_runtime/java/jre11");
|
||||
|
@ -111,6 +117,7 @@ public class RuntimeFragment extends FCLFragment implements View.OnClickListener
|
|||
|
||||
lwjglState.setBackgroundDrawable(lwjgl ? stateDone : stateUpdate);
|
||||
cacioState.setBackgroundDrawable(cacio ? stateDone : stateUpdate);
|
||||
cacio11State.setBackgroundDrawable(cacio11 ? stateDone : stateUpdate);
|
||||
cacio17State.setBackgroundDrawable(cacio17 ? stateDone : stateUpdate);
|
||||
java8State.setBackgroundDrawable(java8 ? stateDone : stateUpdate);
|
||||
java11State.setBackgroundDrawable(java11 ? stateDone : stateUpdate);
|
||||
|
@ -120,7 +127,7 @@ public class RuntimeFragment extends FCLFragment implements View.OnClickListener
|
|||
}
|
||||
|
||||
private boolean isLatest() {
|
||||
return lwjgl && cacio && cacio17 && java8 && java11 && java17 && java21;
|
||||
return lwjgl && cacio && cacio11 && cacio17 && java8 && java11 && java17 && java21;
|
||||
}
|
||||
|
||||
private void check() {
|
||||
|
@ -178,6 +185,26 @@ public class RuntimeFragment extends FCLFragment implements View.OnClickListener
|
|||
}
|
||||
}).start();
|
||||
}
|
||||
if (!cacio11) {
|
||||
cacio11State.setVisibility(View.GONE);
|
||||
cacio11Progress.setVisibility(View.VISIBLE);
|
||||
new Thread(() -> {
|
||||
try {
|
||||
RuntimeUtils.install(getContext(), FCLPath.CACIOCAVALLO_11_DIR, "app_runtime/caciocavallo11");
|
||||
cacio11 = true;
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
if (getActivity() != null) {
|
||||
getActivity().runOnUiThread(() -> {
|
||||
cacio11State.setVisibility(View.VISIBLE);
|
||||
cacio11Progress.setVisibility(View.GONE);
|
||||
refreshDrawables();
|
||||
check();
|
||||
});
|
||||
}
|
||||
}).start();
|
||||
}
|
||||
if (!cacio17) {
|
||||
cacio17State.setVisibility(View.GONE);
|
||||
cacio17Progress.setVisibility(View.VISIBLE);
|
||||
|
|
|
@ -14,7 +14,6 @@ import com.tungsten.fclcore.util.platform.MemoryUtils;
|
|||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
|
||||
|
@ -64,7 +63,7 @@ public class JarExecutorLauncher extends Launcher {
|
|||
if (isJava8) {
|
||||
res.addDefault("-Dawt.toolkit=", "net.java.openjdk.cacio.ctc.CTCToolkit");
|
||||
res.addDefault("-Djava.awt.graphicsenv=", "net.java.openjdk.cacio.ctc.CTCGraphicsEnvironment");
|
||||
} else if (!isJava11) {
|
||||
} else {
|
||||
res.addDefault("-Dawt.toolkit=", "com.github.caciocavallosilano.cacio.ctc.CTCToolkit");
|
||||
res.addDefault("-Djava.awt.graphicsenv=", "com.github.caciocavallosilano.cacio.ctc.CTCGraphicsEnvironment");
|
||||
res.addDefault("-Djava.system.class.loader=", "com.github.caciocavallosilano.cacio.ctc.CTCPreloadClassLoader");
|
||||
|
@ -89,7 +88,7 @@ public class JarExecutorLauncher extends Launcher {
|
|||
|
||||
StringBuilder cacioClasspath = new StringBuilder();
|
||||
cacioClasspath.append("-Xbootclasspath/").append(isJava8 ? "p" : "a");
|
||||
File cacioDir = new File(isJava8 ? FCLPath.CACIOCAVALLO_8_DIR : FCLPath.CACIOCAVALLO_17_DIR);
|
||||
File cacioDir = new File(isJava8 ? FCLPath.CACIOCAVALLO_8_DIR : isJava11 ? FCLPath.CACIOCAVALLO_11_DIR : FCLPath.CACIOCAVALLO_17_DIR);
|
||||
if (cacioDir.exists() && cacioDir.isDirectory()) {
|
||||
for (File file : Objects.requireNonNull(cacioDir.listFiles())) {
|
||||
if (file.getName().endsWith(".jar")) {
|
||||
|
|
|
@ -97,6 +97,47 @@
|
|||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
android:background="@android:color/darker_gray"/>
|
||||
|
||||
<androidx.appcompat.widget.LinearLayoutCompat
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="10dp"
|
||||
android:orientation="horizontal">
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLTextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/splash_runtime_cacio11"
|
||||
android:layout_gravity="center"/>
|
||||
|
||||
<View
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1"/>
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLProgressBar
|
||||
android:visibility="gone"
|
||||
android:layout_width="24dp"
|
||||
android:layout_height="24dp"
|
||||
android:id="@+id/cacio11_progress"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginStart="10dp"/>
|
||||
|
||||
<com.tungsten.fcllibrary.component.view.FCLImageView
|
||||
app:auto_src_tint="false"
|
||||
android:tint="@android:color/darker_gray"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:id="@+id/cacio11_state"
|
||||
android:layout_gravity="center"
|
||||
android:layout_marginStart="10dp"/>
|
||||
|
||||
</androidx.appcompat.widget.LinearLayoutCompat>
|
||||
|
||||
<View
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="1dp"
|
||||
|
|
|
@ -10,6 +10,7 @@
|
|||
<string name="splash_runtime_title">Install or update app runtime</string>
|
||||
<string name="splash_runtime_lwjgl" translatable="false">LWJGL</string>
|
||||
<string name="splash_runtime_cacio" translatable="false">Caciocavallo</string>
|
||||
<string name="splash_runtime_cacio11" translatable="false">Caciocavallo 11</string>
|
||||
<string name="splash_runtime_cacio17" translatable="false">Caciocavallo 17</string>
|
||||
<string name="splash_runtime_java8" translatable="false">JRE 8</string>
|
||||
<string name="splash_runtime_java11" translatable="false">JRE 11</string>
|
||||
|
|
|
@ -237,7 +237,7 @@ public class DefaultLauncher extends Launcher {
|
|||
if (isJava8) {
|
||||
res.addDefault("-Dawt.toolkit=", "net.java.openjdk.cacio.ctc.CTCToolkit");
|
||||
res.addDefault("-Djava.awt.graphicsenv=", "net.java.openjdk.cacio.ctc.CTCGraphicsEnvironment");
|
||||
} else if (!isJava11) {
|
||||
} else {
|
||||
res.addDefault("-Dawt.toolkit=", "com.github.caciocavallosilano.cacio.ctc.CTCToolkit");
|
||||
res.addDefault("-Djava.awt.graphicsenv=", "com.github.caciocavallosilano.cacio.ctc.CTCGraphicsEnvironment");
|
||||
res.addDefault("-Djava.system.class.loader=", "com.github.caciocavallosilano.cacio.ctc.CTCPreloadClassLoader");
|
||||
|
@ -262,7 +262,7 @@ public class DefaultLauncher extends Launcher {
|
|||
|
||||
StringBuilder cacioClasspath = new StringBuilder();
|
||||
cacioClasspath.append("-Xbootclasspath/").append(isJava8 ? "p" : "a");
|
||||
File cacioDir = new File(isJava8 ? FCLPath.CACIOCAVALLO_8_DIR : FCLPath.CACIOCAVALLO_17_DIR);
|
||||
File cacioDir = new File(isJava8 ? FCLPath.CACIOCAVALLO_8_DIR : isJava11 ? FCLPath.CACIOCAVALLO_11_DIR : FCLPath.CACIOCAVALLO_17_DIR);
|
||||
if (cacioDir.exists() && cacioDir.isDirectory()) {
|
||||
for (File file : Objects.requireNonNull(cacioDir.listFiles())) {
|
||||
if (file.getName().endsWith(".jar")) {
|
||||
|
|
|
@ -21,6 +21,7 @@ public class FCLPath {
|
|||
public static String JAVA_21_PATH;
|
||||
public static String LWJGL_DIR;
|
||||
public static String CACIOCAVALLO_8_DIR;
|
||||
public static String CACIOCAVALLO_11_DIR;
|
||||
public static String CACIOCAVALLO_17_DIR;
|
||||
|
||||
public static String FILES_DIR;
|
||||
|
@ -51,6 +52,7 @@ public class FCLPath {
|
|||
JAVA_21_PATH = RUNTIME_DIR + "/java/jre21";
|
||||
LWJGL_DIR = RUNTIME_DIR + "/lwjgl";
|
||||
CACIOCAVALLO_8_DIR = RUNTIME_DIR + "/caciocavallo";
|
||||
CACIOCAVALLO_11_DIR = RUNTIME_DIR + "/caciocavallo11";
|
||||
CACIOCAVALLO_17_DIR = RUNTIME_DIR + "/caciocavallo17";
|
||||
|
||||
FILES_DIR = context.getFilesDir().getAbsolutePath();
|
||||
|
@ -74,6 +76,7 @@ public class FCLPath {
|
|||
init(JAVA_21_PATH);
|
||||
init(LWJGL_DIR);
|
||||
init(CACIOCAVALLO_8_DIR);
|
||||
init(CACIOCAVALLO_11_DIR);
|
||||
init(CACIOCAVALLO_17_DIR);
|
||||
init(FILES_DIR);
|
||||
init(PLUGIN_DIR);
|
||||
|
|
Loading…
Reference in New Issue