From ef2f1af2826d54205de781e79cb4c62486a5039f Mon Sep 17 00:00:00 2001 From: "Jay Freeman (saurik)" Date: Tue, 4 Feb 2014 13:39:59 -0800 Subject: [PATCH] Use notification observers to update media style. --- LockScreen.mm | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/LockScreen.mm b/LockScreen.mm index dd44657..953ab60 100644 --- a/LockScreen.mm +++ b/LockScreen.mm @@ -380,6 +380,7 @@ MSInstanceMessageHook0(BOOL, NSURL, isSpringboardHandledURL) { //#include "UICaboodle/UCInternal.h" - (void) dealloc { + [[NSNotificationCenter defaultCenter] removeObserver:self]; [webview_ setDelegate:nil]; [webview_ release]; [super dealloc]; @@ -494,9 +495,27 @@ MSInstanceMessageHook0(BOOL, NSURL, isSpringboardHandledURL) { [scroller_ setScrollingEnabled:[[configuration objectForKey:@"Scrollable"] boolValue]]; [self loadURL:url]; + + [[NSNotificationCenter defaultCenter] + addObserver:self + selector:@selector(mediaControlsDidSomething:) + name:@"SBLockScreenViewControllerMediaControlsDidShow" + object:nil + ]; + + [[NSNotificationCenter defaultCenter] + addObserver:self + selector:@selector(mediaControlsDidSomething:) + name:@"SBLockScreenViewControllerMediaControlsDidHide" + object:nil + ]; } return self; } +- (void) mediaControlsDidSomething:(NSNotification *)notification { + [self updateStyles]; +} + - (void) webView:(WebView *)webview didClearWindowObject:(WebScriptObject *)window forFrame:(WebFrame *)frame { if (cycript_ != nil) if (NSString *href = [[[[frame dataSource] request] URL] absoluteString]) @@ -1368,7 +1387,6 @@ static void $UIWebViewWebViewDelegate$webView$didClearWindowObject$forFrame$(UIW if (kCFCoreFoundationVersionNumber >= 800) { SBLockScreenViewController *controller([[$SBLockScreenManager sharedInstance] lockScreenViewController]); [controller _setMediaControlsVisible:![controller isShowingMediaControls]]; - [self updateStyles]; } return [super handleMenuButtonDoubleTap]; -- 2.47.2