@interface WebCycriptLockScreenController : SBAwayViewPluginController {
NSDictionary *configuration_;
+ bool legacy_;
+ bool media_;
+ bool items_;
WebCydgetLockScreenView *background_;
WebCydgetLockScreenView *foreground_;
}
- (id) init {
if ((self = [super init]) != nil) {
configuration_ = [[$CydgetController currentConfiguration] retain];
+ legacy_ = [configuration_ objectForKey:@"Background"] == nil;
+ media_ = [[configuration_ objectForKey:@"MediaControls"] boolValue];
+ items_ = [[configuration_ objectForKey:@"NotificationList"] boolValue];
} return self;
}
if (NSString *homepage = [configuration_ objectForKey:@"Homepage"]) {
foreground_ = [[WebCydgetLockScreenView alloc] initWithURL:[NSURL URLWithString:homepage relativeToURL:base]];
[self setView:foreground_];
- } else if (kCFCoreFoundationVersionNumber < 800 && background_ != nil) {
- [self setView:[background_ autorelease]];
- background_ = nil;
}
}
- (BOOL) updateHidden {
if (foreground_ == nil)
return true;
- SBLockScreenViewController *controller([[$SBLockScreenManager sharedInstance] lockScreenViewController]);
- SBLockScreenView *view([controller lockScreenView]);
- bool media(view != nil && ![view mediaControlsHidden]);
+ bool media(CYHaveMediaControls());
[foreground_ setHidden:media];
return media;
}
- (BOOL) showDateView {
- bool homepage([configuration_ objectForKey:@"Homepage"] != nil);
if (kCFCoreFoundationVersionNumber < 800)
- return !homepage;
- else if (!homepage)
+ return false;
+ [self updateStyles];
+ if (!legacy_ && foreground_ == nil)
+ return true;
+ if (!items_ && CYHaveNotificationList())
return true;
- return [self updateHidden];
+ return false;
}
- (BOOL) allowsLockScreenMediaControls {
if (kCFCoreFoundationVersionNumber < 800)
return true;
- if (background_ == nil)
- return false;
- [self updateHidden];
- return true;
+ return media_;
}
/*- (BOOL) showHeaderView {
return YES;
}*/
-// 1-3
+// 0: view is rendered above head
+// 1: view moves as one with head
+// 2: view moves up and down only
+// 3: view simply never does move
- (NSUInteger) presentationStyle {
return 1;
}
-// 1-5
+// 1: light blur
+// 2: heavy blur
+// 3: just black
+// 4: legibility
+// 5: no overlay
- (NSUInteger) overlayStyle {
- if ([configuration_ objectForKey:@"Background"] == nil)
- return 1;
- return 4;
+ return legacy_ ? 1 : 4;
}
-// 1-[2/3?]
+// 1: blur -> view -> list
+// 2: view -> blur -> list
+// 3: view. unblur below?!
+// 4: blur -> list -> view
- (NSUInteger) notificationBehavior {
- return 1;
+ return items_ ? 1 : 2;
}
- (BOOL) viewWantsFullscreenLayout {
if (kCFCoreFoundationVersionNumber >= 800) {
SBLockScreenViewController *controller([[$SBLockScreenManager sharedInstance] lockScreenViewController]);
[controller _setMediaControlsVisible:![controller isShowingMediaControls]];
- [self updateHidden];
+ [self updateStyles];
}
return [super handleMenuButtonDoubleTap];
<html><head>
<meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
+<style>
+ bob { color: red; }
+</style>
+
<style>
* {
border: 0;
text-shadow: -0.5px -1px 1px black;
}
+ @media (fuck: landscape) {
+ footer { color: black; }
+ }
+
@media only screen and (min-device-width: 320px) and (max-device-width: 480px) {
#lcd {
height: 96px;
position: relative;
top: -5px;
}
+
+ @media (cydget-media-controls) {
+ #lcd {
+ opacity: 0;
+ }
+ }
+
+ @media (cydget-notification-list) {
+ #content {
+ opacity: 0;
+ }
+ }
</style></head><body>
<script type="text/javascript">
if (kCFCoreFoundationVersionNumber > 800)
- document.write('<div style="height: 24px"></div>');
+ document.write('<div style="height: 60px"></div>');
else
document.write('<style type="text/css"> #lcd { background: url(cydget://_UIImageWithName/UILCDBackground.png); } </style>');
</script>