Skip to content

Commit

Permalink
Revert "Fix styling options on iOS 13.4 (wix#6087)"
Browse files Browse the repository at this point in the history
This reverts commit 22da985.
  • Loading branch information
pawlitos authored Apr 8, 2020
1 parent 9feea04 commit 58adb9b
Show file tree
Hide file tree
Showing 13 changed files with 82 additions and 161 deletions.
8 changes: 3 additions & 5 deletions lib/ios/RNNBasePresenter.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,12 +39,10 @@ typedef void (^RNNReactViewReadyCompletionBlock)(void);

- (UINavigationItem *)currentNavigationItem;

- (void)willMoveToParentViewController:(UIViewController *)parent;
- (UIStatusBarStyle)getStatusBarStyle:(RNNNavigationOptions *)resolvedOptions;

- (UIStatusBarStyle)getStatusBarStyle;
- (UIInterfaceOrientationMask)getOrientation:(RNNNavigationOptions *)options;

- (UIInterfaceOrientationMask)getOrientation;

- (BOOL)getStatusBarVisibility;
- (BOOL)statusBarVisibile:(UINavigationController *)stack resolvedOptions:(RNNNavigationOptions *)resolvedOptions;

@end
21 changes: 7 additions & 14 deletions lib/ios/RNNBasePresenter.m
Original file line number Diff line number Diff line change
Expand Up @@ -36,13 +36,6 @@ - (void)componentDidDisappear {

}

- (void)willMoveToParentViewController:(UIViewController *)parent {
if (parent) {
[self applyOptionsOnWillMoveToParentViewController:self.boundViewController.resolveOptions];
[self.boundViewController onChildAddToParent:self.boundViewController options:self.boundViewController.resolveOptions];
}
}

- (void)applyOptionsOnInit:(RNNNavigationOptions *)initialOptions {
UIViewController* viewController = self.boundViewController;
RNNNavigationOptions *withDefault = [initialOptions withDefault:[self defaultOptions]];
Expand Down Expand Up @@ -85,8 +78,8 @@ - (void)viewDidLayoutSubviews {

}

- (UIStatusBarStyle)getStatusBarStyle {
RNNNavigationOptions *withDefault = [self.boundViewController.resolveOptions withDefault:[self defaultOptions]];
- (UIStatusBarStyle)getStatusBarStyle:(RNNNavigationOptions *)resolvedOptions {
RNNNavigationOptions *withDefault = [resolvedOptions withDefault:[self defaultOptions]];
NSString* statusBarStyle = [withDefault.statusBar.style getWithDefaultValue:@"default"];
if ([statusBarStyle isEqualToString:@"light"]) {
return UIStatusBarStyleLightContent;
Expand All @@ -105,16 +98,16 @@ - (UINavigationItem *)currentNavigationItem {
return self.boundViewController.getCurrentChild.navigationItem;
}

- (UIInterfaceOrientationMask)getOrientation {
return [self.boundViewController.resolveOptions withDefault:self.defaultOptions].layout.supportedOrientations;
- (UIInterfaceOrientationMask)getOrientation:(RNNNavigationOptions *)options {
return [options withDefault:[self defaultOptions]].layout.supportedOrientations;
}

- (BOOL)getStatusBarVisibility {
RNNNavigationOptions *withDefault = [self.boundViewController.resolveOptions withDefault:self.defaultOptions];
- (BOOL)statusBarVisibile:(UINavigationController *)stack resolvedOptions:(RNNNavigationOptions *)resolvedOptions {
RNNNavigationOptions *withDefault = [resolvedOptions withDefault:self.defaultOptions];
if (withDefault.statusBar.visible.hasValue) {
return ![withDefault.statusBar.visible get];
} else if ([withDefault.statusBar.hideWithTopBar getWithDefaultValue:NO]) {
return self.boundViewController.stack.isNavigationBarHidden;
return stack.isNavigationBarHidden;
}
return NO;
}
Expand Down
27 changes: 8 additions & 19 deletions lib/ios/RNNBottomTabsController.m
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,14 @@ - (void)setSelectedIndex:(NSUInteger)selectedIndex {
[super setSelectedIndex:selectedIndex];
}

- (UIStatusBarStyle)preferredStatusBarStyle {
return [[self presenter] getStatusBarStyle:self.resolveOptions];
}

- (BOOL)prefersStatusBarHidden {
return [self.presenter statusBarVisibile:self.navigationController resolvedOptions:self.resolveOptions];
}

#pragma mark UITabBarControllerDelegate

- (void)tabBarController:(UITabBarController *)tabBarController didSelectViewController:(UIViewController *)viewController {
Expand All @@ -113,23 +121,4 @@ - (BOOL)tabBarController:(UITabBarController *)tabBarController shouldSelectView
return NO;
}

# pragma mark - UIViewController overrides

- (void)willMoveToParentViewController:(UIViewController *)parent {
[self.presenter willMoveToParentViewController:parent];
}

- (UIStatusBarStyle)preferredStatusBarStyle {
return [self.presenter getStatusBarStyle];
}

- (BOOL)prefersStatusBarHidden {
return [self.presenter getStatusBarVisibility];
}

- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
return [self.presenter getOrientation];
}


@end
27 changes: 9 additions & 18 deletions lib/ios/RNNComponentViewController.m
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ @implementation RNNComponentViewController

- (instancetype)initWithLayoutInfo:(RNNLayoutInfo *)layoutInfo rootViewCreator:(id<RNNComponentViewCreator>)creator eventEmitter:(RNNEventEmitter *)eventEmitter presenter:(RNNComponentPresenter *)presenter options:(RNNNavigationOptions *)options defaultOptions:(RNNNavigationOptions *)defaultOptions {
self = [super initWithLayoutInfo:layoutInfo creator:creator options:options defaultOptions:defaultOptions presenter:presenter eventEmitter:eventEmitter childViewControllers:nil];
self.extendedLayoutIncludesOpaqueBars = YES;
if (@available(iOS 13.0, *)) {
self.navigationItem.standardAppearance = [UINavigationBarAppearance new];
self.navigationItem.scrollEdgeAppearance = [UINavigationBarAppearance new];
Expand Down Expand Up @@ -78,6 +79,14 @@ - (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar {
[self.eventEmitter sendOnSearchBarCancelPressed:self.layoutInfo.componentId];
}

- (UIStatusBarStyle)preferredStatusBarStyle {
return [_presenter getStatusBarStyle:[self resolveOptions]];
}

- (BOOL)prefersStatusBarHidden {
return [self.presenter statusBarVisibile:self.navigationController resolvedOptions:self.resolveOptions];
}

- (UIViewController *)previewingContext:(id<UIViewControllerPreviewing>)previewingContext viewControllerForLocation:(CGPoint)location{
return self.previewController;
}
Expand Down Expand Up @@ -130,23 +139,5 @@ -(void)onButtonPress:(RNNUIBarButtonItem *)barButtonItem {
[self.eventEmitter sendOnNavigationButtonPressed:self.layoutInfo.componentId buttonId:barButtonItem.buttonId];
}

# pragma mark - UIViewController overrides

- (void)willMoveToParentViewController:(UIViewController *)parent {
[self.presenter willMoveToParentViewController:parent];
}

- (UIStatusBarStyle)preferredStatusBarStyle {
return [self.presenter getStatusBarStyle];
}

- (BOOL)prefersStatusBarHidden {
return [self.presenter getStatusBarVisibility];
}

- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
return [self.presenter getOrientation];
}


@end
18 changes: 0 additions & 18 deletions lib/ios/RNNExternalViewController.m
Original file line number Diff line number Diff line change
Expand Up @@ -30,22 +30,4 @@ - (void)render {
[self readyForPresentation];
}

# pragma mark - UIViewController overrides

- (void)willMoveToParentViewController:(UIViewController *)parent {
[self.presenter willMoveToParentViewController:parent];
}

- (UIStatusBarStyle)preferredStatusBarStyle {
return [self.presenter getStatusBarStyle];
}

- (BOOL)prefersStatusBarHidden {
return [self.presenter getStatusBarVisibility];
}

- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
return [self.presenter getOrientation];
}

@end
16 changes: 1 addition & 15 deletions lib/ios/RNNSideMenuChildVC.m
Original file line number Diff line number Diff line change
Expand Up @@ -39,22 +39,8 @@ - (UIViewController *)getCurrentChild {
return self.child;
}

# pragma mark - UIViewController overrides

- (void)willMoveToParentViewController:(UIViewController *)parent {
[self.presenter willMoveToParentViewController:parent];
}

- (UIStatusBarStyle)preferredStatusBarStyle {
return [self.presenter getStatusBarStyle];
}

- (BOOL)prefersStatusBarHidden {
return [self.presenter getStatusBarVisibility];
}

- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
return [self.presenter getOrientation];
return [[self presenter] getStatusBarStyle:[self resolveOptions]];
}

@end
26 changes: 8 additions & 18 deletions lib/ios/RNNSideMenuController.m
Original file line number Diff line number Diff line change
Expand Up @@ -130,6 +130,14 @@ -(void)setControllers:(NSArray*)controllers {
}
}

- (UIStatusBarStyle)preferredStatusBarStyle {
return self.openedViewController.preferredStatusBarStyle;
}

- (BOOL)prefersStatusBarHidden {
return [self.presenter statusBarVisibile:self.navigationController resolvedOptions:self.resolveOptions];
}

- (UIViewController<RNNLayoutProtocol> *)getCurrentChild {
return self.openedViewController;
}
Expand All @@ -155,22 +163,4 @@ - (RNNNavigationOptions *)resolveOptions {
return options;
}

# pragma mark - UIViewController overrides

- (void)willMoveToParentViewController:(UIViewController *)parent {
[self.presenter willMoveToParentViewController:parent];
}

- (UIStatusBarStyle)preferredStatusBarStyle {
return [self.presenter getStatusBarStyle];
}

- (BOOL)prefersStatusBarHidden {
return [self.presenter getStatusBarVisibility];
}

- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
return [self.presenter getOrientation];
}

@end
22 changes: 4 additions & 18 deletions lib/ios/RNNSplitViewController.m
Original file line number Diff line number Diff line change
Expand Up @@ -9,26 +9,12 @@ - (void)setViewControllers:(NSArray<__kindof UIViewController *> *)viewControlle
self.delegate = masterViewController;
}

- (UIViewController *)getCurrentChild {
return self.viewControllers[0];
}

# pragma mark - UIViewController overrides

- (void)willMoveToParentViewController:(UIViewController *)parent {
[self.presenter willMoveToParentViewController:parent];
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
}

- (UIStatusBarStyle)preferredStatusBarStyle {
return [self.presenter getStatusBarStyle];
}

- (BOOL)prefersStatusBarHidden {
return [self.presenter getStatusBarVisibility];
}

- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
return [self.presenter getOrientation];
- (UIViewController *)getCurrentChild {
return self.viewControllers[0];
}

@end
26 changes: 8 additions & 18 deletions lib/ios/RNNStackController.m
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,14 @@ - (void)mergeChildOptions:(RNNNavigationOptions *)options child:(UIViewControlle
[self.parentViewController mergeChildOptions:options child:child];
}

- (UIStatusBarStyle)preferredStatusBarStyle {
return [_presenter getStatusBarStyle:self.resolveOptions];
}

- (BOOL)prefersStatusBarHidden {
return [self.presenter statusBarVisibile:self.navigationController resolvedOptions:self.resolveOptions];
}

- (UIViewController *)popViewControllerAnimated:(BOOL)animated {
[self prepareForPop];
return [super popViewControllerAnimated:animated];
Expand All @@ -54,22 +62,4 @@ - (UIViewController *)childViewControllerForStatusBarStyle {
return self.topViewController;
}

# pragma mark - UIViewController overrides

- (void)willMoveToParentViewController:(UIViewController *)parent {
[self.presenter willMoveToParentViewController:parent];
}

- (UIStatusBarStyle)preferredStatusBarStyle {
return [self.presenter getStatusBarStyle];
}

- (BOOL)prefersStatusBarHidden {
return [self.presenter getStatusBarVisibility];
}

- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
return [self.presenter getOrientation];
}

@end
17 changes: 16 additions & 1 deletion lib/ios/UIViewController+LayoutProtocol.m
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ - (instancetype)initWithLayoutInfo:(RNNLayoutInfo *)layoutInfo
self.eventEmitter = eventEmitter;
self.presenter = presenter;
[self.presenter bindViewController:self];
self.extendedLayoutIncludesOpaqueBars = YES;
if ([self respondsToSelector:@selector(setViewControllers:)]) {
[self performSelector:@selector(setViewControllers:) withObject:childViewControllers];
}
Expand Down Expand Up @@ -52,6 +51,15 @@ - (void)overrideOptions:(RNNNavigationOptions *)options {
[self.options overrideOptions:options];
}

- (BOOL)extendedLayoutIncludesOpaqueBars {
return YES;
}

- (UIInterfaceOrientationMask)supportedInterfaceOrientations {
UIInterfaceOrientationMask interfaceOrientationMask = self.presenter ? [self.presenter getOrientation:[self resolveOptions]] : [[UIApplication sharedApplication] supportedInterfaceOrientationsForWindow:[[UIApplication sharedApplication] keyWindow]];
return interfaceOrientationMask;
}

- (UINavigationController *)stack {
if ([self isKindOfClass:UINavigationController.class]) {
return (UINavigationController *)self;
Expand Down Expand Up @@ -153,6 +161,13 @@ - (void)componentDidDisappear {
[self.parentViewController componentDidDisappear];
}

- (void)willMoveToParentViewController:(UIViewController *)parent {
if (parent) {
[self.presenter applyOptionsOnWillMoveToParentViewController:self.resolveOptions];
[self onChildAddToParent:self options:self.resolveOptions];
}
}

#pragma mark getters and setters to associated object

- (RNNNavigationOptions *)options {
Expand Down
2 changes: 1 addition & 1 deletion playground/ios/NavigationTests/BottomTabsControllerTest.m
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ - (void)testGetCurrentChild_shouldReturnSelectedViewController {
}

- (void)testPreferredStatusBarStyle_shouldInvokeSelectedViewControllerPreferredStatusBarStyle {
[[self.mockTabBarPresenter expect] getStatusBarStyle];
[[self.mockTabBarPresenter expect] getStatusBarStyle:[OCMArg any]];
[self.uut preferredStatusBarStyle];
[self.mockTabBarPresenter verify];
}
Expand Down
Loading

0 comments on commit 58adb9b

Please sign in to comment.