diff --git a/app/build.gradle b/app/build.gradle index c67f746da..bf2bbd7e1 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -8,8 +8,8 @@ android { applicationId "net.kdt.pojavlaunch" minSdkVersion 21 targetSdkVersion 25 - versionCode 7 - versionName "3.0.1_preview3_20200511" + versionCode 8 + versionName "3.0.1_preview4_20200511" } buildTypes { diff --git a/app/src/main/java/net/kdt/pojavlaunch/MCLauncherActivity.java b/app/src/main/java/net/kdt/pojavlaunch/MCLauncherActivity.java index 784aad891..b0006989f 100644 --- a/app/src/main/java/net/kdt/pojavlaunch/MCLauncherActivity.java +++ b/app/src/main/java/net/kdt/pojavlaunch/MCLauncherActivity.java @@ -123,10 +123,8 @@ public class MCLauncherActivity extends AppCompatActivity tvUsernameView.setText(profile.getUsername()); } catch(Exception e) { - //Tools.throwError(this, e); e.printStackTrace(); - toast(getStr(R.string.toast_login_error) + " " + e.getMessage()); - finish(); + Tools.showError(this, getStr(R.string.toast_login_error), e, true); } //showProfileInfo(); @@ -136,16 +134,15 @@ public class MCLauncherActivity extends AppCompatActivity try { if (fVers.listFiles().length < 1) { - throw new Exception(getStr(R.string.error_no_version)); + versions.add(getStr(R.string.error_no_version)); } for (File fVer : fVers.listFiles()) { versions.add(fVer.getName()); } - } catch (Exception e) { - versions.add(getStr(R.string.global_error) + ":"); - versions.add(e.getMessage()); - + } catch (Throwable th) { + th.printStackTrace(); + Tools.showError(this, th); } finally { availableVersions = versions.toArray(new String[0]); } @@ -177,7 +174,7 @@ public class MCLauncherActivity extends AppCompatActivity { try{ versionList = gson.fromJson(DownloadUtils.downloadString("https://launchermeta.mojang.com/mc/game/version_manifest.json"), JMinecraftVersionList.class); - ArrayList versionStringList = filter(versionList.versions, new File(Tools.versnDir).listFiles()); + ArrayList versionStringList = filterDuplicate(versionList.versions, new File(Tools.versnDir).listFiles()); return versionStringList; } catch (Exception e){ @@ -275,14 +272,16 @@ public class MCLauncherActivity extends AppCompatActivity return Tools.getVersionInfo(version); } - private ArrayList filter(JMinecraftVersionList.Version[] list1, File[] list2) { + private ArrayList filterDuplicate(JMinecraftVersionList.Version[] list1, File[] list2) { ArrayList output = new ArrayList(); for (JMinecraftVersionList.Version value1: list1) { if ((value1.type.equals("release") && LauncherPreferences.PREF_VERTYPE_RELEASE) || (value1.type.equals("snapshot") && LauncherPreferences.PREF_VERTYPE_SNAPSHOT) || (value1.type.equals("old_alpha") && LauncherPreferences.PREF_VERTYPE_OLDALPHA) || - (value1.type.equals("old_beta") && LauncherPreferences.PREF_VERTYPE_OLDBETA)) { + (value1.type.equals("old_beta") && LauncherPreferences.PREF_VERTYPE_OLDBETA) || + // Should be it? + (value1.type.equals("custom"))) { output.add(value1.id); } } diff --git a/app/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java b/app/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java index 46d30d604..395baf6f3 100644 --- a/app/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java +++ b/app/src/main/java/net/kdt/pojavlaunch/PojavLoginActivity.java @@ -49,7 +49,7 @@ public class PojavLoginActivity extends MineActivity super.onCreate(savedInstanceState, false); // TODO remove after translations like Vietnamese are done. - Tools.setLocale(this, Locale.ENGLISH); + // Tools.setLocale(this, Locale.ENGLISH); if (!isInitCalled) { init(); @@ -231,22 +231,8 @@ public class PojavLoginActivity extends MineActivity setPref(PREF_IS_INSTALLED_OPENJDK, true); } catch (Throwable e) { - Throwable causedTh = e.getCause(); - while (true) { - Throwable preCausedTh = causedTh.getCause(); - if (preCausedTh == null) { - Throwable shellTh = new Throwable(shellLog.toString()); - shellTh.setStackTrace(new StackTraceElement[0]); - causedTh.initCause(shellTh); - - break; - } else { - causedTh = preCausedTh; - } - } - - // Tools.dialogOnUiThread(PojavLoginActivity.this, "Error!", Log.getStackTraceString(e) + "\n\nShell log:\n" + shellLog); - Tools.showError(PojavLoginActivity.this, e, true); + Tools.dialogOnUiThread(PojavLoginActivity.this, "Error!", Log.getStackTraceString(e) + "\n\nShell log:\n" + shellLog); + // Tools.showError(PojavLoginActivity.this, e, true); } } diff --git a/app/src/main/java/net/kdt/pojavlaunch/Tools.java b/app/src/main/java/net/kdt/pojavlaunch/Tools.java index f4d2be1e5..617d18f76 100644 --- a/app/src/main/java/net/kdt/pojavlaunch/Tools.java +++ b/app/src/main/java/net/kdt/pojavlaunch/Tools.java @@ -329,6 +329,13 @@ public final class Tools .setTitle(title) .setMessage(message) .setPositiveButton(android.R.string.ok, null) + .setNegativeButton(android.R.string.copy, new DialogInterface.OnClickListener(){ + @Override + public void onClick(DialogInterface p1, int p2) + { + ((android.content.ClipboardManager) ctx.getSystemService(Context.CLIPBOARD_SERVICE)).setText(message); + } + }) .show(); } }); 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 a93a435f8..6fb961380 100644 --- a/app/src/main/java/net/kdt/pojavlaunch/prefs/LauncherPreferenceFragment.java +++ b/app/src/main/java/net/kdt/pojavlaunch/prefs/LauncherPreferenceFragment.java @@ -4,6 +4,7 @@ import android.os.*; import net.kdt.pojavlaunch.*; import android.support.v7.preference.PreferenceFragmentCompat; import android.support.v7.preference.SeekBarPreference; +import android.support.v7.preference.CheckBoxPreference; public class LauncherPreferenceFragment extends PreferenceFragmentCompat { @@ -14,6 +15,9 @@ public class LauncherPreferenceFragment extends PreferenceFragmentCompat // Disable freeform mode in Android 6.0 or below. findPreference("freeform").setEnabled(Build.VERSION.SDK_INT >= 24); + // Is Release always to be checked? + ((CheckBoxPreference) findPreference("vertype_release")).setChecked(true); + SeekBarPreference seek2 = (SeekBarPreference) findPreference("timeLongPressTrigger"); seek2.setMin(100); seek2.setMax(1000); diff --git a/app/src/main/res/xml/pref_main.xml b/app/src/main/res/xml/pref_main.xml index 086b7c788..798b248e1 100644 --- a/app/src/main/res/xml/pref_main.xml +++ b/app/src/main/res/xml/pref_main.xml @@ -29,6 +29,7 @@ android:title="@string/mcl_setting_category_veroption"> diff --git a/app/src/main/res/values-vi/strings.xml b/app/src/main/res_disabled/values-vi/strings.xml similarity index 100% rename from app/src/main/res/values-vi/strings.xml rename to app/src/main/res_disabled/values-vi/strings.xml