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 @@ - +