Fix slimmed check

Previously this was bugged so that you could never force Java 17.
This commit is contained in:
Eilionoir Tunnicliff committed 2023-03-21 11:50:34 -04:00
1 parent 761fed09b1
commit 23aef2d1ca
4 files changed
+12 -13

No files matched your search

+9
View File
@@ -145,6 +145,7 @@ void loadPreferences(BOOL reset) {
setDefaultValueForPref(envPrefDict, @"renderer", @"auto"); setDefaultValueForPref(envPrefDict, @"renderer", @"auto");
setDefaultValueForPref(envPrefDict, @"fullscreen_airplay", @YES); setDefaultValueForPref(envPrefDict, @"fullscreen_airplay", @YES);
setDefaultValueForPref(envPrefDict, @"hardware_hide", @NO); setDefaultValueForPref(envPrefDict, @"hardware_hide", @NO);
setDefaultValueForPref(prefDict, @"slimmed", @NO);
fillDefaultWarningDict(); fillDefaultWarningDict();
setDefaultValueForPref(prefDict, @"force_unsupported_launch", @NO); setDefaultValueForPref(prefDict, @"force_unsupported_launch", @NO);
setDefaultValueForPref(prefDict, @"slideable_hotbar", @NO); setDefaultValueForPref(prefDict, @"slideable_hotbar", @NO);
@@ -169,6 +170,14 @@ void loadPreferences(BOOL reset) {
prefDict[@"debugs"] = debugPrefDict; prefDict[@"debugs"] = debugPrefDict;
prefDict[@"env_vars"] = envPrefDict; prefDict[@"env_vars"] = envPrefDict;
prefDict[@"warnings"] = warnPrefDict; prefDict[@"warnings"] = warnPrefDict;
NSString *ipajre = [NSString stringWithFormat:@"%s/jvm/java-17-openjdk", getenv("BUNDLE_PATH")];
NSString *sysjre = @"/usr/lib/jvm/java-17-openjdk";
if ((![fileManager fileExistsAtPath:ipajre]) && (![fileManager fileExistsAtPath:sysjre])) {
setPreference(@"slimmed", @YES);
} else {
setPreference(@"slimmed", @NO);
}
[prefDict writeToFile:prefPath atomically:YES]; [prefDict writeToFile:prefPath atomically:YES];
} }
+1 -1
View File
@@ -334,7 +334,7 @@ typedef void(^CreateView)(UITableViewCell *, NSString *, NSDictionary *);
@"icon": @"cube", @"icon": @"cube",
@"type": self.typeSwitch, @"type": self.typeSwitch,
@"enableCondition": ^BOOL(){ @"enableCondition": ^BOOL(){
return !getenv("SLIMMED") && whenNotInGame(); return (![getPreference(@"slimmed") boolValue]) && whenNotInGame();
}, },
// false: 8, true: 17 // false: 8, true: 17
@"customSwitchValue": @[@"java-8-openjdk", @"java-17-openjdk"] @"customSwitchValue": @[@"java-8-openjdk", @"java-17-openjdk"]
+2 -12
View File
@@ -306,14 +306,6 @@ void init_setupResolvConf() {
} }
} }
void init_setupSlimmed() {
NSString *ipajre = [NSString stringWithFormat:@"%s/jvm/java-17-openjdk", getenv("BUNDLE_PATH")];
NSString *sysjre = @"/usr/lib/jvm/java-17-openjdk";
if ((![fm fileExistsAtPath:ipajre]) && (![fm fileExistsAtPath:sysjre])) {
setenv("SLIMMED", "1", 1);
}
}
void init_setupHomeDirectory() { void init_setupHomeDirectory() {
setenv("HOME", [NSFileManager.defaultManager URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] setenv("HOME", [NSFileManager.defaultManager URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask]
.lastObject.path.stringByDeletingLastPathComponent.UTF8String, 1); .lastObject.path.stringByDeletingLastPathComponent.UTF8String, 1);
@@ -341,6 +333,8 @@ void init_setupHomeDirectory() {
} }
int main(int argc, char *argv[]) { int main(int argc, char *argv[]) {
setenv("BUNDLE_PATH", dirname(argv[0]), 1);
if (pJLI_Launch) { if (pJLI_Launch) {
return pJLI_Launch(argc, (const char **)argv, return pJLI_Launch(argc, (const char **)argv,
0, NULL, // sizeof(const_jargs) / sizeof(char *), const_jargs, 0, NULL, // sizeof(const_jargs) / sizeof(char *), const_jargs,
@@ -363,12 +357,8 @@ int main(int argc, char *argv[]) {
} }
init_checkForJailbreak(); init_checkForJailbreak();
init_setupSlimmed();
init_migrateDirIfNecessary(); init_migrateDirIfNecessary();
setenv("BUNDLE_PATH", dirname(argv[0]), 1);
init_setupHomeDirectory(); init_setupHomeDirectory();
init_redirectStdio(); init_redirectStdio();
init_logDeviceAndVer(argv[0]); init_logDeviceAndVer(argv[0]);
Binary file not shown.