diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/prefs/LauncherPreferences.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/prefs/LauncherPreferences.java index 5b9e76626..d281b3b14 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/prefs/LauncherPreferences.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/prefs/LauncherPreferences.java @@ -23,6 +23,7 @@ public class LauncherPreferences public static String PREF_CUSTOM_JAVA_ARGS; public static String PREF_CUSTOM_OPENGL_LIBNAME = "libgl4es_114.so"; public static String PREF_LANGUAGE = "default"; + public static String PREF_VERSION_REPOS = "https://launchermeta.mojang.com/mc/game/version_manifest_v2.json"; public static boolean PREF_CHECK_LIBRARY_SHA = true; public static boolean PREF_DISABLE_GESTURES = false; public static void loadPreferences() { diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/tasks/RefreshVersionListTask.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/tasks/RefreshVersionListTask.java index 3acfcdd83..4eaf6a710 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/tasks/RefreshVersionListTask.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/tasks/RefreshVersionListTask.java @@ -4,6 +4,8 @@ import android.app.AlertDialog; import android.content.DialogInterface; import android.os.*; import androidx.appcompat.widget.*; + +import android.util.Log; import android.view.*; import android.widget.*; import android.widget.AdapterView.*; @@ -20,7 +22,6 @@ import androidx.appcompat.widget.PopupMenu; public class RefreshVersionListTask extends AsyncTask> { private BaseLauncherActivity mActivity; - public RefreshVersionListTask(BaseLauncherActivity activity) { mActivity = activity; } @@ -29,7 +30,21 @@ public class RefreshVersionListTask extends AsyncTask doInBackground(Void[] p1) { try { - mActivity.mVersionList = Tools.GLOBAL_GSON.fromJson(DownloadUtils.downloadString("https://launchermeta.mojang.com/mc/game/version_manifest_v2.json"), JMinecraftVersionList.class); + //mActivity.mVersionList = Tools.GLOBAL_GSON.fromJson(DownloadUtils.downloadString(""), JMinecraftVersionList.class); + { + ArrayList versions = new ArrayList<>(); + String[] repositories = LauncherPreferences.PREF_VERSION_REPOS.split(";"); + for (String url : repositories) { + JMinecraftVersionList list; + Log.i("ExtVL", "Syncing to external: " + url); + list = Tools.GLOBAL_GSON.fromJson(DownloadUtils.downloadString(url), JMinecraftVersionList.class); + Log.i("ExtVL","Downloaded the version list, len="+list.versions.length); + Collections.addAll(versions,list.versions); + } + mActivity.mVersionList = new JMinecraftVersionList(); + mActivity.mVersionList.versions = versions.toArray(new JMinecraftVersionList.Version[versions.size()]); + Log.i("ExtVL","Final list size: " + mActivity.mVersionList.versions.length); + } ArrayList versionStringList = filter(mActivity.mVersionList.versions, new File(Tools.DIR_HOME_VERSION).listFiles()); return versionStringList; @@ -43,7 +58,6 @@ public class RefreshVersionListTask extends AsyncTask result) { super.onPostExecute(result); - final PopupMenu popup = new PopupMenu(mActivity, mActivity.mVersionSelector); popup.getMenuInflater().inflate(R.menu.menu_versionopt, popup.getMenu()); @@ -153,7 +167,8 @@ public class RefreshVersionListTask extends AsyncTask