Fix: default profile deletion

This commit is contained in:
Mathias Boulay 2023-08-17 23:24:04 +02:00
parent ebbbba0680
commit c2c57ca837
4 changed files with 20 additions and 4 deletions

View File

@ -2,7 +2,7 @@
"profiles": { "profiles": {
"(Default)": { "(Default)": {
"name": "(Default)", "name": "(Default)",
"lastVersionId": "Unknown" "lastVersionId": "1.7.10"
} }
}, },
"selectedProfile": "(Default)" "selectedProfile": "(Default)"

View File

@ -84,9 +84,12 @@ public class ProfileEditorFragment extends Fragment {
}); });
mDeleteButton.setOnClickListener(v -> { mDeleteButton.setOnClickListener(v -> {
LauncherProfiles.mainProfileJson.profiles.remove(mProfileKey); if(LauncherProfiles.mainProfileJson.profiles.size() > 1){
LauncherProfiles.update(); LauncherProfiles.mainProfileJson.profiles.remove(mProfileKey);
ExtraCore.setValue(ExtraConstants.REFRESH_VERSION_SPINNER, DELETED_PROFILE); LauncherProfiles.update();
ExtraCore.setValue(ExtraConstants.REFRESH_VERSION_SPINNER, DELETED_PROFILE);
}
Tools.removeCurrentFragment(requireActivity()); Tools.removeCurrentFragment(requireActivity());
}); });

View File

@ -28,6 +28,12 @@ public class LauncherProfiles {
mainProfileJson = new MinecraftLauncherProfiles(); mainProfileJson = new MinecraftLauncherProfiles();
mainProfileJson.profiles = new HashMap<>(); mainProfileJson.profiles = new HashMap<>();
} }
// Make sure we have a default profile on start
if (mainProfileJson.profiles.size() == 0){
mainProfileJson.profiles.put("(Default)", MinecraftProfile.getDefaultProfile());
LauncherProfiles.update();
}
} else { } else {
Tools.write(launcherProfilesFile.getAbsolutePath(), mainProfileJson.toJson()); Tools.write(launcherProfilesFile.getAbsolutePath(), mainProfileJson.toJson());
} }

View File

@ -28,6 +28,13 @@ public class MinecraftProfile {
return TEMPLATE; return TEMPLATE;
} }
public static MinecraftProfile getDefaultProfile(){
MinecraftProfile defaultProfile = new MinecraftProfile();
defaultProfile.name = "Default";
defaultProfile.lastVersionId = "1.7.10";
return defaultProfile;
}
public MinecraftProfile(){} public MinecraftProfile(){}
public MinecraftProfile(MinecraftProfile profile){ public MinecraftProfile(MinecraftProfile profile){