]> git.saurik.com Git - cydia.git/commitdiff
Reimplement the loading controller as real tabbar.
authorJay Freeman (saurik) <saurik@saurik.com>
Wed, 11 Jun 2014 14:18:59 +0000 (07:18 -0700)
committerJay Freeman (saurik) <saurik@saurik.com>
Wed, 11 Jun 2014 14:18:59 +0000 (07:18 -0700)
Cydia/LoadingViewController.h
Cydia/LoadingViewController.mm
MobileCydia.mm

index f1cb542e61c7526bd57f7321a9cb54ac3a1a0343..b6f58637c82c9390b3b411e14da9564a36baf8ec 100644 (file)
 #ifndef Cydia_LoadingViewController_H
 #define Cydia_LoadingViewController_H
 
-#include "Cydia/LoadingView.h"
 #include "CyteKit/ViewController.h"
 
 @interface CydiaLoadingViewController : CyteViewController {
-    _H<CydiaLoadingView> indicator_;
-    _H<UITabBar> tabbar_;
-    _H<UINavigationBar> navbar_;
 }
 
 @end
index e008d137436de1c68373278daac059ecfb7d886b..97c9fb70960f89d65cfe0fef5955c9ac22d1dd90 100644 (file)
 **/
 /* }}} */
 
+#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
index fef73c6af13ff21ab5d31727b4f6c8daba9bc86f..4902ce10c3debcc8cbae044ae1589ac62c5050f5 100644 (file)
@@ -8823,7 +8823,7 @@ static void HomeControllerReachabilityCallback(SCNetworkReachabilityRef reachabi
 > {
     _H<UIWindow> window_;
     _H<CydiaTabBarController> tabbar_;
-    _H<CydiaLoadingViewController> emulated_;
+    _H<CyteTabBarController> emulated_;
 
     _H<NSMutableArray> essential_;
     _H<NSMutableArray> 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