diff --git a/app/build.gradle b/app/build.gradle
index 93be97747..8b0810f79 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -28,7 +28,7 @@ android {
multiDexEnabled true //important
ndk {
- abiFilters "armeabi-v7a" // , "arm64-v8a"
+ abiFilters "armeabi-v7a", "arm64-v8a"
}
}
diff --git a/app/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java b/app/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java
index d7e0618dd..0c80030b8 100644
--- a/app/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java
+++ b/app/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java
@@ -41,8 +41,7 @@ public class PojavLoginActivity extends AppCompatActivity
private SharedPreferences firstLaunchPrefs;
// private final String PREF_IS_DONOTSHOWAGAIN_WARN = "isWarnDoNotShowAgain";
- private final String PREF_IS_INSTALLED_LIBRARIES = "isLibrariesExtracted2";
- private final String PREF_IS_INSTALLED_JAVARUNTIME = "isJavaRuntimeInstalled";
+ public static final String PREF_IS_INSTALLED_JAVARUNTIME = "isJavaRuntimeInstalled";
private boolean isInitCalled = false;
@Override
@@ -294,10 +293,6 @@ public class PojavLoginActivity extends AppCompatActivity
private boolean isJavaRuntimeInstalled() {
return firstLaunchPrefs.getBoolean(PREF_IS_INSTALLED_JAVARUNTIME, false);
}
-
- private boolean isLibrariesExtracted() {
- return firstLaunchPrefs.getBoolean(PREF_IS_INSTALLED_LIBRARIES, false);
- }
private boolean setPref(String prefName, boolean value) {
return firstLaunchPrefs.edit().putBoolean(prefName, value).commit();
diff --git a/app/src/main/java/net/kdt/pojavlaunch/Tools.java b/app/src/main/java/net/kdt/pojavlaunch/Tools.java
index 9c2aa6680..0d743dd81 100644
--- a/app/src/main/java/net/kdt/pojavlaunch/Tools.java
+++ b/app/src/main/java/net/kdt/pojavlaunch/Tools.java
@@ -665,7 +665,6 @@ public final class Tools
return out;
}
- // Current Useless below but keep it for future usage.
public static void deleteRecursive(File fileOrDirectory) {
try {
if (fileOrDirectory.isDirectory()) {
diff --git a/app/src/main/java/net/kdt/pojavlaunch/prefs/LauncherPreferenceFragment.java b/app/src/main/java/net/kdt/pojavlaunch/prefs/LauncherPreferenceFragment.java
index 20a9846d3..f194aea72 100644
--- a/app/src/main/java/net/kdt/pojavlaunch/prefs/LauncherPreferenceFragment.java
+++ b/app/src/main/java/net/kdt/pojavlaunch/prefs/LauncherPreferenceFragment.java
@@ -12,14 +12,9 @@ public class LauncherPreferenceFragment extends PreferenceFragmentCompat
public void onCreatePreferences(Bundle b, String str) {
addPreferencesFromResource(R.xml.pref_main);
- // Disable freeform mode in Android 6.0 or below.
+ // Disable freeform mode in Android 6.0 and below.
findPreference("freeform").setEnabled(Build.VERSION.SDK_INT >= 24);
- SeekBarPreference seek1 = (SeekBarPreference) findPreference("maxDxRefs");
- seek1.setMin(0xFFF);
- seek1.setMax(0xFFFF);
- seek1.setValue(0xFFF);
-
SeekBarPreference seek2 = (SeekBarPreference) findPreference("timeLongPressTrigger");
seek2.setMin(100);
seek2.setMax(1000);
diff --git a/app/src/main/java/net/kdt/pojavlaunch/prefs/UninstallJREDialogPreference.java b/app/src/main/java/net/kdt/pojavlaunch/prefs/UninstallJREDialogPreference.java
new file mode 100644
index 000000000..a1923e2ab
--- /dev/null
+++ b/app/src/main/java/net/kdt/pojavlaunch/prefs/UninstallJREDialogPreference.java
@@ -0,0 +1,35 @@
+package net.kdt.pojavlaunch.prefs;
+
+import android.content.*;
+import android.support.v7.preference.*;
+import android.util.*;
+import java.io.*;
+import net.kdt.pojavlaunch.*;
+
+import net.kdt.pojavlaunch.R;
+import android.widget.*;
+
+public class UninstallJREDialogPreference extends DialogPreference implements DialogInterface.OnClickListener
+{
+ public UninstallJREDialogPreference(Context ctx) {
+ this(ctx, null);
+ }
+
+ public UninstallJREDialogPreference(Context ctx, AttributeSet attrs) {
+ super(ctx, attrs);
+ setDialogMessage(R.string.mcl_setting_title_uninstalljre);
+ setPositiveButtonText(android.R.string.ok);
+ setNegativeButtonText(android.R.string.cancel);
+ }
+
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ if (which == DialogInterface.BUTTON_POSITIVE) {
+ Tools.deleteRecursive(new File(Tools.homeJreDir));
+ getContext().getSharedPreferences("pojav_extract", Context.MODE_PRIVATE)
+ .edit().putBoolean(PojavLoginActivity.PREF_IS_INSTALLED_JAVARUNTIME, false).commit();
+
+ Toast.makeText(getContext(), R.string.toast_uninstalljre_done, Toast.LENGTH_SHORT).show();
+ }
+ }
+}
diff --git a/app/src/main/jniLibs/arm64-v8a/libopenal.so b/app/src/main/jniLibs/arm64-v8a/libopenal.so
new file mode 100644
index 000000000..b7aec3046
Binary files /dev/null and b/app/src/main/jniLibs/arm64-v8a/libopenal.so differ
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 1e302cca2..820285292 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -44,7 +44,7 @@
This account will be removed!
- Install Java Runtime (.tar.xz)
+ Install Java Runtime %s (.tar.xz)
Select a keymap json
Select a mod to install
@@ -62,6 +62,7 @@
The read/write to storage permission is required!
Something went wrong after login. Please feedback to the developer.\nError: %s
Install successful
+ Done uninstall Java Runtime
@@ -90,8 +91,8 @@
Settings
About
- Set max DX references
- Increase If an error happend while converting: Too many ... references. You may try multi-dex option. Recommended: 4096 or 8192.
+ Uninstall Java Runtime
+ [Launcher restart required] This let you re-install Java Runtime
Launch Minecraft in Freeform mode
Launch Minecraft in floating window. Requires Android 7.0+
How long will trigger after long press
diff --git a/app/src/main/res/xml/pref_main.xml b/app/src/main/res/xml/pref_main.xml
index 6409046f8..e768d1082 100644
--- a/app/src/main/res/xml/pref_main.xml
+++ b/app/src/main/res/xml/pref_main.xml
@@ -6,10 +6,9 @@
-
+