Fix version toggles in LauncherPreferences
This commit is contained in:
1 parent
4aa66fdd4b
commit
018e46a1fe
4 files changed
+40
-5
No files matched your search
@@ -982,19 +982,19 @@ int tempIndex;
|
|||||||
break;
|
break;
|
||||||
case TAG_SWITCH_VRELEASE:
|
case TAG_SWITCH_VRELEASE:
|
||||||
setPreference(@"vertype_release", @(sender.isOn));
|
setPreference(@"vertype_release", @(sender.isOn));
|
||||||
[LauncherViewController fetchVersionList];
|
[LauncherViewController reloadVersionList];
|
||||||
break;
|
break;
|
||||||
case TAG_SWITCH_VSNAPSHOT:
|
case TAG_SWITCH_VSNAPSHOT:
|
||||||
setPreference(@"vertype_snapshot", @(sender.isOn));
|
setPreference(@"vertype_snapshot", @(sender.isOn));
|
||||||
[LauncherViewController fetchVersionList];
|
[LauncherViewController reloadVersionList];
|
||||||
break;
|
break;
|
||||||
case TAG_SWITCH_VOLDBETA:
|
case TAG_SWITCH_VOLDBETA:
|
||||||
setPreference(@"vertype_oldbeta", @(sender.isOn));
|
setPreference(@"vertype_oldbeta", @(sender.isOn));
|
||||||
[LauncherViewController fetchVersionList];
|
[LauncherViewController reloadVersionList];
|
||||||
break;
|
break;
|
||||||
case TAG_SWITCH_VOLDALPHA:
|
case TAG_SWITCH_VOLDALPHA:
|
||||||
setPreference(@"vertype_oldalpha", @(sender.isOn));
|
setPreference(@"vertype_oldalpha", @(sender.isOn));
|
||||||
[LauncherViewController fetchVersionList];
|
[LauncherViewController reloadVersionList];
|
||||||
break;
|
break;
|
||||||
case TAG_CHECKSHA:
|
case TAG_CHECKSHA:
|
||||||
setPreference(@"check_sha", @(sender.isOn));
|
setPreference(@"check_sha", @(sender.isOn));
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ NSArray* versionList;
|
|||||||
@property UILabel* progressText;
|
@property UILabel* progressText;
|
||||||
@property UIButton* buttonInstall;
|
@property UIButton* buttonInstall;
|
||||||
|
|
||||||
+ (void)fetchVersionList;
|
+ (void)reloadVersionList;
|
||||||
+ (void)fetchLocalVersionList:(NSMutableArray *)finalVersionList withPreviousIndex:(int)index;
|
+ (void)fetchLocalVersionList:(NSMutableArray *)finalVersionList withPreviousIndex:(int)index;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
@@ -192,6 +192,41 @@ int versionSelectedAt = 0;
|
|||||||
}];
|
}];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
+ (void)reloadVersionList
|
||||||
|
{
|
||||||
|
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
|
||||||
|
[manager GET:@"https://launchermeta.mojang.com/mc/game/version_manifest.json" parameters:nil headers:nil progress:^(NSProgress * _Nonnull progress) {
|
||||||
|
} success:^(NSURLSessionTask *task, id responseObject) {
|
||||||
|
NSDictionary *jsonArray = responseObject;
|
||||||
|
NSArray *remoteVersionList = [jsonArray valueForKey:@"versions"];
|
||||||
|
assert(remoteVersionList != nil);
|
||||||
|
NSMutableArray *finalVersionList = [[NSMutableArray alloc] init];
|
||||||
|
int i = 0;
|
||||||
|
for (NSDictionary *versionInfo in remoteVersionList) {
|
||||||
|
NSString *versionId = [versionInfo valueForKey:@"id"];
|
||||||
|
NSString *versionType = [versionInfo valueForKey:@"type"];
|
||||||
|
if (([versionType containsString:@"release"] && [getPreference(@"vertype_release") boolValue]) ||
|
||||||
|
([versionType containsString:@"snapshot"] && [getPreference(@"vertype_snapshot") boolValue]) ||
|
||||||
|
([versionType containsString:@"old_beta"] && [getPreference(@"vertype_oldbeta") boolValue]) ||
|
||||||
|
([versionType containsString:@"old_alpha"] && [getPreference(@"vertype_oldalpha") boolValue]) ||
|
||||||
|
[versionType containsString:@"modified"] ||
|
||||||
|
[self isVersionInstalled:versionId]) {
|
||||||
|
[finalVersionList addObject:versionInfo];
|
||||||
|
|
||||||
|
if ([versionTextField.text isEqualToString:versionId]) {
|
||||||
|
versionSelectedAt = i;
|
||||||
|
}
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
[self fetchLocalVersionList:finalVersionList withPreviousIndex:i];
|
||||||
|
versionList = [finalVersionList copy];
|
||||||
|
[versionPickerView reloadAllComponents];
|
||||||
|
[versionPickerView selectRow:versionSelectedAt inComponent:0 animated:NO];
|
||||||
|
} failure:^(NSURLSessionTask *operation, NSError *error) {
|
||||||
|
NSLog(@"Warning: Error fetching version list: %@", error);
|
||||||
|
}];
|
||||||
|
}
|
||||||
#pragma mark - Button click events
|
#pragma mark - Button click events
|
||||||
- (void)displayOptions:(UIBarButtonItem*)sender {
|
- (void)displayOptions:(UIBarButtonItem*)sender {
|
||||||
if (@available(iOS 14.0, *)) {
|
if (@available(iOS 14.0, *)) {
|
||||||
|
|||||||
Binary file not shown.
Reference in new issue
Block a user