From 9549563e9ec57ed4bc583c3e3fe8b8a071ec6fb8 Mon Sep 17 00:00:00 2001 From: "Jay Freeman (saurik)" Date: Wed, 11 Jun 2014 07:18:59 -0700 Subject: [PATCH] Reimplement the loading controller as real tabbar. --- Cydia/LoadingViewController.h | 4 ---- Cydia/LoadingViewController.mm | 27 +++++---------------------- MobileCydia.mm | 12 ++++++++++-- 3 files changed, 15 insertions(+), 28 deletions(-) diff --git a/Cydia/LoadingViewController.h b/Cydia/LoadingViewController.h index f1cb542e..b6f58637 100644 --- a/Cydia/LoadingViewController.h +++ b/Cydia/LoadingViewController.h @@ -22,13 +22,9 @@ #ifndef Cydia_LoadingViewController_H #define Cydia_LoadingViewController_H -#include "Cydia/LoadingView.h" #include "CyteKit/ViewController.h" @interface CydiaLoadingViewController : CyteViewController { - _H indicator_; - _H tabbar_; - _H navbar_; } @end diff --git a/Cydia/LoadingViewController.mm b/Cydia/LoadingViewController.mm index e008d137..97c9fb70 100644 --- a/Cydia/LoadingViewController.mm +++ b/Cydia/LoadingViewController.mm @@ -19,38 +19,21 @@ **/ /* }}} */ +#include "Cydia/LoadingView.h" #include "Cydia/LoadingViewController.h" @implementation CydiaLoadingViewController - (void) loadView { - UIView *view([[[UIView alloc] initWithFrame:[[UIScreen mainScreen] applicationFrame]] autorelease]); - [view setAutoresizingMask:(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight)]; - [self setView:view]; + [super loadView]; UITableView *table([[[UITableView alloc] initWithFrame:[[self view] bounds] style:UITableViewStyleGrouped] autorelease]); [table setAutoresizingMask:(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight)]; [[self view] addSubview:table]; - indicator_ = [[[CydiaLoadingView alloc] initWithFrame:[[self view] bounds]] autorelease]; - [indicator_ setAutoresizingMask:(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight)]; - [[self view] addSubview:indicator_]; - - tabbar_ = [[[UITabBar alloc] initWithFrame:CGRectMake(0, 0, 0, 49.0f)] autorelease]; - [tabbar_ setFrame:CGRectMake(0.0f, [[self view] bounds].size.height - [tabbar_ bounds].size.height, [[self view] bounds].size.width, [tabbar_ bounds].size.height)]; - [tabbar_ setAutoresizingMask:(UIViewAutoresizingFlexibleTopMargin | UIViewAutoresizingFlexibleWidth)]; - [[self view] addSubview:tabbar_]; - - navbar_ = [[[UINavigationBar alloc] initWithFrame:CGRectMake(0, 0, 0, 44.0f)] autorelease]; - [navbar_ setFrame:CGRectMake(0.0f, 0.0f, [[self view] bounds].size.width, [navbar_ bounds].size.height)]; - [navbar_ setAutoresizingMask:(UIViewAutoresizingFlexibleBottomMargin | UIViewAutoresizingFlexibleWidth)]; - [[self view] addSubview:navbar_]; -} - -- (void) releaseSubviews { - indicator_ = nil; - tabbar_ = nil; - navbar_ = nil; + CydiaLoadingView *indicator([[[CydiaLoadingView alloc] initWithFrame:[[self view] bounds]] autorelease]); + [indicator setAutoresizingMask:(UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight)]; + [[self view] addSubview:indicator]; } @end diff --git a/MobileCydia.mm b/MobileCydia.mm index fef73c6a..4902ce10 100644 --- a/MobileCydia.mm +++ b/MobileCydia.mm @@ -8823,7 +8823,7 @@ static void HomeControllerReachabilityCallback(SCNetworkReachabilityRef reachabi > { _H window_; _H tabbar_; - _H emulated_; + _H emulated_; _H essential_; _H broken_; @@ -9788,7 +9788,15 @@ _trace(); [window_ setUserInteractionEnabled:NO]; [self setupViewControllers]; - emulated_ = [[[CydiaLoadingViewController alloc] init] autorelease]; + CydiaLoadingViewController *loading([[[CydiaLoadingViewController alloc] init] autorelease]); + UINavigationController *navigation([[[UINavigationController alloc] init] autorelease]); + [navigation setViewControllers:[NSArray arrayWithObject:loading]]; + + emulated_ = [[[CyteTabBarController alloc] init] autorelease]; + [emulated_ setViewControllers:[NSArray arrayWithObject:navigation]]; + [emulated_ setSelectedIndex:0]; + [emulated_ concealTabBarSelection]; + if ([window_ respondsToSelector:@selector(setRootViewController:)]) [window_ setRootViewController:emulated_]; else -- 2.45.2