diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/LauncherActivity.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/LauncherActivity.java index b51f176ce..c1fefc0e5 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/LauncherActivity.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/LauncherActivity.java @@ -131,12 +131,12 @@ public class LauncherActivity extends BaseActivity { Toast.makeText(this, R.string.no_saved_accounts, Toast.LENGTH_LONG).show(); return false; } - - JMinecraftVersionList.Version mcVersion = AsyncMinecraftDownloader.findVersion(prof.lastVersionId); - new AsyncMinecraftDownloader(this, mcVersion, () -> runOnUiThread(() -> { + String normalizedVersionId = AsyncMinecraftDownloader.normalizeVersionId(prof.lastVersionId); + JMinecraftVersionList.Version mcVersion = Tools.getVersionInfo(normalizedVersionId); + new AsyncMinecraftDownloader(this, mcVersion, normalizedVersionId, () -> runOnUiThread(() -> { try { Intent mainIntent = new Intent(getBaseContext(), MainActivity.class); - mainIntent.putExtra(INTENT_MINECRAFT_VERSION, mcVersion.id); + mainIntent.putExtra(INTENT_MINECRAFT_VERSION, normalizedVersionId); mainIntent.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP); startActivity(mainIntent); finish(); diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/Tools.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/Tools.java index c4f98ba97..62697792f 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/Tools.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/Tools.java @@ -682,11 +682,11 @@ public final class Tools { return customVer; } else { JMinecraftVersionList.Version inheritsVer = null; - for (JMinecraftVersionList.Version valueVer : ((JMinecraftVersionList) ExtraCore.getValue(ExtraConstants.RELEASE_TABLE)).versions) { + /*for (JMinecraftVersionList.Version valueVer : ((JMinecraftVersionList) ExtraCore.getValue(ExtraConstants.RELEASE_TABLE)).versions) { if (valueVer.id.equals(customVer.inheritsFrom) && (!new File(DIR_HOME_VERSION + "/" + customVer.inheritsFrom + "/" + customVer.inheritsFrom + ".json").exists()) && (valueVer.url != null)) { Tools.downloadFile(valueVer.url,DIR_HOME_VERSION + "/" + customVer.inheritsFrom + "/" + customVer.inheritsFrom + ".json"); } - } + }*/ //If it won't download, just search for it try{ inheritsVer = Tools.GLOBAL_GSON.fromJson(read(DIR_HOME_VERSION + "/" + customVer.inheritsFrom + "/" + customVer.inheritsFrom + ".json"), JMinecraftVersionList.Version.class); diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/tasks/AsyncMinecraftDownloader.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/tasks/AsyncMinecraftDownloader.java index c9a0e76cf..2c7d467c1 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/tasks/AsyncMinecraftDownloader.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/tasks/AsyncMinecraftDownloader.java @@ -45,10 +45,10 @@ public class AsyncMinecraftDownloader { /* Allows each downloading thread to have its own RECYCLED buffer */ private final ConcurrentHashMap mThreadBuffers = new ConcurrentHashMap<>(5); - public AsyncMinecraftDownloader(@NonNull Activity activity, JMinecraftVersionList.Version version, - @NonNull DoneListener listener){ + public AsyncMinecraftDownloader(@NonNull Activity activity, JMinecraftVersionList.Version version, String realVersion, + @NonNull DoneListener listener){ // this was there for a reason sExecutorService.execute(() -> { - if(downloadGame(activity, version, version.id)) + if(downloadGame(activity, version, realVersion)) listener.onDownloadDone(); }); } @@ -90,7 +90,7 @@ public class AsyncMinecraftDownloader { try { assets = downloadIndex(verInfo, new File(Tools.ASSETS_PATH, "indexes/" + verInfo.assets + ".json")); } catch (IOException e) { - Log.e("AsyncMcDownloader", e.toString()); + Log.e("AsyncMcDownloader", e.toString(), e); } File outLib; @@ -179,7 +179,7 @@ public class AsyncMinecraftDownloader { } } } catch (Throwable e) { - Log.e("AsyncMcDownloader", e.toString()); + Log.e("AsyncMcDownloader", e.toString(),e ); } ProgressLayout.setProgress(ProgressLayout.DOWNLOAD_MINECRAFT, 0, R.string.mcl_launch_cleancache); @@ -195,7 +195,7 @@ public class AsyncMinecraftDownloader { try { downloadAssets(assets, verInfo.assets, assets.mapToResources ? new File(Tools.OBSOLETE_RESOURCES_PATH) : new File(Tools.ASSETS_PATH)); } catch (Exception e) { - Log.e("AsyncMcDownloader", e.toString()); + Log.e("AsyncMcDownloader", e.toString(), e); } return true; @@ -331,7 +331,7 @@ public class AsyncMinecraftDownloader { ,outLib.getName()); } } catch (Throwable th) { - Log.e("AsyncMcDownloader", th.toString()); + Log.e("AsyncMcDownloader", th.toString(), th); if (!skipIfFailed) { throw th; } else { @@ -351,19 +351,11 @@ public class AsyncMinecraftDownloader { return Tools.GLOBAL_GSON.fromJson(Tools.read(output.getAbsolutePath()), JAssets.class); } - public static JMinecraftVersionList.Version findVersion(String versionString) { + public static String normalizeVersionId(String versionString) { JMinecraftVersionList versionList = (JMinecraftVersionList) ExtraCore.getValue(ExtraConstants.RELEASE_TABLE); - if("latest-release".equals(versionString)) versionString = versionList.latest.get("release"); if("latest-snapshot".equals(versionString)) versionString = versionList.latest.get("snapshot"); - - for (JMinecraftVersionList.Version version: versionList.versions) { - if (version.id.equals(versionString)) { - return version; - } - } - - return null; + return versionString; } /**@return A byte buffer bound to a thread, useful to recycle it across downloads */