summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJay Freeman (saurik) <saurik@saurik.com>2014-06-11 07:18:59 -0700
committerJay Freeman (saurik) <saurik@saurik.com>2014-06-11 07:18:59 -0700
commit9549563e9ec57ed4bc583c3e3fe8b8a071ec6fb8 (patch)
tree5eac1689e6aefd38dd20d2c2394ab9e233121deb
parentc88974b1ca792a2599f8e5b583284363481c4bfe (diff)
Reimplement the loading controller as real tabbar.
-rw-r--r--Cydia/LoadingViewController.h4
-rw-r--r--Cydia/LoadingViewController.mm27
-rw-r--r--MobileCydia.mm12
3 files changed, 15 insertions, 28 deletions
diff --git a/Cydia/LoadingViewController.h b/Cydia/LoadingViewController.h
index f1cb542..b6f5863 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<CydiaLoadingView> indicator_;
- _H<UITabBar> tabbar_;
- _H<UINavigationBar> navbar_;
}
@end
diff --git a/Cydia/LoadingViewController.mm b/Cydia/LoadingViewController.mm
index e008d13..97c9fb7 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 fef73c6..4902ce1 100644
--- a/MobileCydia.mm
+++ b/MobileCydia.mm
@@ -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