diff --git a/Limelight/ViewControllers/MainFrameViewController.m b/Limelight/ViewControllers/MainFrameViewController.m index acc841c4..700b6445 100644 --- a/Limelight/ViewControllers/MainFrameViewController.m +++ b/Limelight/ViewControllers/MainFrameViewController.m @@ -922,6 +922,7 @@ static NSMutableSet* hostList; - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { if ([segue.destinationViewController isKindOfClass:[StreamFrameViewController class]]) { StreamFrameViewController* streamFrame = segue.destinationViewController; + streamFrame.mainframeViewcontroller = self; streamFrame.streamConfig = _streamConfig; } } diff --git a/Limelight/ViewControllers/SettingsViewController.m b/Limelight/ViewControllers/SettingsViewController.m index 038d293c..3ebac2a8 100644 --- a/Limelight/ViewControllers/SettingsViewController.m +++ b/Limelight/ViewControllers/SettingsViewController.m @@ -199,6 +199,11 @@ BOOL isCustomResolution(CGSize res) { } +- (void)viewDidDisappear:(BOOL)animated{ + [super viewDidDisappear:animated]; + [[NSNotificationCenter defaultCenter] postNotificationName:@"SettingsViewClosed" object:self]; // notify other view that settings view just closed +} + - (void)viewDidLoad { justEnteredSettingsViewDoNotOpenOscLayoutTool = true; [[NSNotificationCenter defaultCenter] addObserver:self diff --git a/Limelight/ViewControllers/StreamFrameViewController.h b/Limelight/ViewControllers/StreamFrameViewController.h index 417b1664..12215edf 100644 --- a/Limelight/ViewControllers/StreamFrameViewController.h +++ b/Limelight/ViewControllers/StreamFrameViewController.h @@ -10,6 +10,7 @@ #import "StreamConfiguration.h" #import "StreamView.h" #import "LayoutOnScreenControlsViewController.h" +#import "MainFrameViewController.h" #import @@ -22,6 +23,8 @@ #endif @property (nonatomic) StreamConfiguration* streamConfig; +@property (nonatomic, assign) MainFrameViewController *mainframeViewcontroller; + -(void)updatePreferredDisplayMode:(BOOL)streamActive; diff --git a/Limelight/ViewControllers/StreamFrameViewController.m b/Limelight/ViewControllers/StreamFrameViewController.m index 028f271e..777557a9 100644 --- a/Limelight/ViewControllers/StreamFrameViewController.m +++ b/Limelight/ViewControllers/StreamFrameViewController.m @@ -52,7 +52,6 @@ UIScrollView *_scrollView; BOOL _userIsInteracting; CGSize _keyboardSize; - #if !TARGET_OS_TV CustomEdgeSwipeGestureRecognizer *_exitSwipeRecognizer; CustomTapGestureRecognizer *_oscLayoutTapRecoginizer; @@ -60,12 +59,20 @@ #endif } +- (void)reConfigStreamView{ + [_streamView setupStreamView:_controllerSupport interactionDelegate:self config:self.streamConfig]; +} + - (void)viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; #if !TARGET_OS_TV [[self revealViewController] setPrimaryViewController:self]; + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(reConfigStreamView) // //force expand settings view to update resolution table, and all setting includes current fullscreen resolution will be updated. + name:@"SettingsViewClosed" + object:nil]; #endif } @@ -136,7 +143,7 @@ [self.view addGestureRecognizer:_playPauseTapGestureRecognizer]; #else - _exitSwipeRecognizer = [[CustomEdgeSwipeGestureRecognizer alloc] initWithTarget:self action:@selector(edgeSwiped)]; + _exitSwipeRecognizer = [[CustomEdgeSwipeGestureRecognizer alloc] initWithTarget:self action:@selector(expandSettingsView)]; _exitSwipeRecognizer.edges = _settings.swipeExitScreenEdge.intValue; _exitSwipeRecognizer.normalizedThresholdDistance = _settings.swipeToExitDistance.floatValue; _exitSwipeRecognizer.delaysTouchesBegan = NO; @@ -412,6 +419,10 @@ [self returnToMainFrame]; } +- (void)expandSettingsView{ + [self.mainframeViewcontroller simulateSettingsButtonPress]; +} + - (void)edgeSwiped { Log(LOG_I, @"User swiped to end stream");