]> git.saurik.com Git - cydget.git/commitdiff
Use notification observers to update media style.
authorJay Freeman (saurik) <saurik@saurik.com>
Tue, 4 Feb 2014 21:39:59 +0000 (13:39 -0800)
committerJay Freeman (saurik) <saurik@saurik.com>
Tue, 4 Feb 2014 21:39:59 +0000 (13:39 -0800)
LockScreen.mm

index dd44657f40e40a32b826ab8da89626ae49c659fc..953ab60e5bc7aba071c7988c2f10e4c732f93b27 100644 (file)
@@ -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];