diff --git a/app_pojavlauncher/src/main/assets/components/security/version b/app_pojavlauncher/src/main/assets/components/security/version new file mode 100644 index 000000000..56a6051ca --- /dev/null +++ b/app_pojavlauncher/src/main/assets/components/security/version @@ -0,0 +1 @@ +1 \ No newline at end of file diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/CustomControlsActivity.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/CustomControlsActivity.java index e7611ed67..ca8572310 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/CustomControlsActivity.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/CustomControlsActivity.java @@ -235,7 +235,7 @@ public class CustomControlsActivity extends BaseActivity { private static void loadControl(String path,ControlLayout layout) { try { layout.loadLayout(path); - sSelectedName = new File(path).getName(); + sSelectedName = path.replace(Tools.CTRLMAP_PATH, "."); // Remove `.json` sSelectedName = sSelectedName.substring(0, sSelectedName.length() - 5); } catch (Exception e) { diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/JavaGUILauncherActivity.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/JavaGUILauncherActivity.java index b0bc12194..dea2d1b59 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/JavaGUILauncherActivity.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/JavaGUILauncherActivity.java @@ -275,9 +275,9 @@ public class JavaGUILauncherActivity extends BaseActivity implements View.OnTouc // Run java on sandbox, non-overrideable. Collections.reverse(javaArgList); - javaArgList.add("-Xbootclasspath/a:" + Tools.DIR_DATA + "/pro-grade.jar"); + javaArgList.add("-Xbootclasspath/a:" + Tools.DIR_DATA + "/security/pro-grade.jar"); javaArgList.add("-Djava.security.manager=net.sourceforge.prograde.sm.ProGradeJSM"); - javaArgList.add("-Djava.security.policy=" + Tools.DIR_DATA + "/java_sandbox.policy"); + javaArgList.add("-Djava.security.policy=" + Tools.DIR_DATA + "/security/java_sandbox.policy"); Collections.reverse(javaArgList); return JREUtils.launchJavaVM(this, javaArgList); diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/MainActivity.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/MainActivity.java index f714f9344..49f03264d 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/MainActivity.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/MainActivity.java @@ -93,9 +93,9 @@ public class MainActivity extends BaseActivity { case 0: mControlLayout.addControlButton(new ControlData("New")); break; case 1: mControlLayout.addDrawer(new ControlDrawerData()); break; //case 2: mControlLayout.addJoystickButton(new ControlData()); break; - case 3 : CustomControlsActivity.load(mControlLayout); break; - case 4: CustomControlsActivity.save(true,mControlLayout); break; - case 5: CustomControlsActivity.dialogSelectDefaultCtrl(mControlLayout); break; + case 2 : CustomControlsActivity.load(mControlLayout); break; + case 3: CustomControlsActivity.save(true,mControlLayout); break; + case 4: CustomControlsActivity.dialogSelectDefaultCtrl(mControlLayout); break; } }; diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/ControlLayout.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/ControlLayout.java index ceaab9fb2..c2a6b8271 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/ControlLayout.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/customcontrols/ControlLayout.java @@ -353,11 +353,13 @@ public class ControlLayout extends FrameLayout { // When the input window cannot be hidden, it returns false imm.hideSoftInputFromWindow(getWindowToken(), 0); - mControlPopup.disappearColor(); - mControlPopup.disappear(); + if(mControlPopup != null) { + mControlPopup.disappearColor(); + mControlPopup.disappear(); + } - actionRow.setFollowedButton(null); - mHandleView.hide(); + if(actionRow != null) actionRow.setFollowedButton(null); + if(mHandleView != null) mHandleView.hide(); } public void save(String path){ diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/fragments/ProfileEditorFragment.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/fragments/ProfileEditorFragment.java index 1f1255ac1..b65567f1a 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/fragments/ProfileEditorFragment.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/fragments/ProfileEditorFragment.java @@ -26,7 +26,6 @@ import net.kdt.pojavlaunch.R; import net.kdt.pojavlaunch.Tools; import net.kdt.pojavlaunch.extra.ExtraConstants; import net.kdt.pojavlaunch.extra.ExtraCore; -import net.kdt.pojavlaunch.fragments.FileSelectorFragment; import net.kdt.pojavlaunch.multirt.MultiRTUtils; import net.kdt.pojavlaunch.multirt.RTSpinnerAdapter; import net.kdt.pojavlaunch.multirt.Runtime; @@ -122,12 +121,11 @@ public class ProfileEditorFragment extends Fragment { AlertDialog.Builder builder = new AlertDialog.Builder(mDefaultVersion.getContext()); ExpandableListView expandableListView = (ExpandableListView) LayoutInflater.from(mDefaultVersion.getContext()) .inflate(R.layout.dialog_expendable_list_view , null); - - JMinecraftVersionList.Version[] versionList; - if(getValue(ExtraConstants.RELEASE_TABLE) == null) - versionList = new JMinecraftVersionList.Version[0]; - else versionList = ((JMinecraftVersionList) getValue(ExtraConstants.RELEASE_TABLE)).versions; - ExpandableListAdapter adapter = new VersionListAdapter(versionList, mDefaultVersion.getContext()); + JMinecraftVersionList jMinecraftVersionList = (JMinecraftVersionList) getValue(ExtraConstants.RELEASE_TABLE); + JMinecraftVersionList.Version[] versionArray; + if(jMinecraftVersionList == null || jMinecraftVersionList.versions == null) versionArray = new JMinecraftVersionList.Version[0]; + else versionArray = jMinecraftVersionList.versions; + ExpandableListAdapter adapter = new VersionListAdapter(versionArray, mDefaultVersion.getContext()); expandableListView.setAdapter(adapter); builder.setView(expandableListView); diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/profiles/ProfileIconCache.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/profiles/ProfileIconCache.java index fb359f949..4b8bc064e 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/profiles/ProfileIconCache.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/profiles/ProfileIconCache.java @@ -24,8 +24,7 @@ public class ProfileIconCache { public static void initDefault(Context context) { if(sDefaultIcon != null) return; - - sDefaultIcon = ResourcesCompat.getDrawable(context.getResources(), R.drawable.ic_gamepad_pointer, null); + sDefaultIcon = ResourcesCompat.getDrawable(context.getResources(), R.mipmap.ic_launcher_foreground, null); sDefaultIcon.setBounds(0, 0, 10, 10); } diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/progresskeeper/ProgressKeeper.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/progresskeeper/ProgressKeeper.java index 10d02d6f3..d3f80a36e 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/progresskeeper/ProgressKeeper.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/progresskeeper/ProgressKeeper.java @@ -1,7 +1,5 @@ package net.kdt.pojavlaunch.progresskeeper; -import android.util.Log; - import java.util.ArrayList; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentLinkedQueue; @@ -29,7 +27,6 @@ public class ProgressKeeper { progressState.varArg = va; } - Log.d("ProgressLayout", "shouldCallStarted="+shouldCallStarted+" shouldCallEnded="+shouldCallEnded); ConcurrentLinkedQueue progressListeners = sProgressListeners.get(progressRecord); if(progressListeners != null) for(ProgressListener listener : progressListeners) { diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/tasks/AsyncAssetManager.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/tasks/AsyncAssetManager.java index 7bc7af8f8..efd1a8464 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/tasks/AsyncAssetManager.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/tasks/AsyncAssetManager.java @@ -99,7 +99,7 @@ public class AsyncAssetManager { unpackComponent(ctx, "lwjgl3", false); unpackComponent(ctx, "security", true); } catch (IOException e) { - Log.e("AsyncAssetManager", "Failed o unpack components !"); + Log.e("AsyncAssetManager", "Failed o unpack components !",e ); } }); } 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 43cad8fa8..27f306511 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 @@ -353,6 +353,7 @@ public class AsyncMinecraftDownloader { public static String normalizeVersionId(String versionString) { JMinecraftVersionList versionList = (JMinecraftVersionList) ExtraCore.getValue(ExtraConstants.RELEASE_TABLE); + if(versionList == null || versionList.versions == null) return versionString; if("latest-release".equals(versionString)) versionString = versionList.latest.get("release"); if("latest-snapshot".equals(versionString)) versionString = versionList.latest.get("snapshot"); return versionString; @@ -360,6 +361,7 @@ public class AsyncMinecraftDownloader { public static JMinecraftVersionList.Version getListedVersion(String normalizedVersionString) { JMinecraftVersionList versionList = (JMinecraftVersionList) ExtraCore.getValue(ExtraConstants.RELEASE_TABLE); + if(versionList == null || versionList.versions == null) return null; // can't have listed versions if there's no list for(JMinecraftVersionList.Version version : versionList.versions) { if(version.id.equals(normalizedVersionString)) return version; } diff --git a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/tasks/AsyncVersionList.java b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/tasks/AsyncVersionList.java index 267f8643e..ea0b710bb 100644 --- a/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/tasks/AsyncVersionList.java +++ b/app_pojavlauncher/src/main/java/net/kdt/pojavlaunch/tasks/AsyncVersionList.java @@ -29,7 +29,6 @@ import java.util.Collections; public class AsyncVersionList { public void getVersionList(@Nullable VersionDoneListener listener){ - ProgressKeeper.submitProgress(ProgressLayout.DOWNLOAD_VERSION_LIST, 0, R.string.downloading_versions); sExecutorService.execute(() -> { File versionFile = new File(Tools.DIR_DATA + "/version_list.json"); JMinecraftVersionList versionList = null; @@ -53,7 +52,6 @@ public class AsyncVersionList { if(listener != null) listener.onVersionDone(versionList); - ProgressLayout.clearProgress(ProgressLayout.DOWNLOAD_VERSION_LIST); }); }