From 43b2fcfaa032139e95e3eddf6ee8f0e928ff2c4a Mon Sep 17 00:00:00 2001 From: "Jay Freeman (saurik)" Date: Sun, 3 Feb 2013 18:58:23 -0800 Subject: Reset the brightness while in Safe Mode on iOS 6+. --- MobileSafety.mm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/MobileSafety.mm b/MobileSafety.mm index a3e8960..0d9d7ad 100644 --- a/MobileSafety.mm +++ b/MobileSafety.mm @@ -300,3 +300,19 @@ MSInstanceMessageHook1(void, BKSApplicationLaunchSettings, setEnvironment, NSDic [modified setObject:@"1" forKey:@"_MSSafeMode"]; return MSOldCall(modified); } + +MSInitialize { + NSAutoreleasePool *pool([[NSAutoreleasePool alloc] init]); + + // on iOS 6, backboardd is in charge of brightness, and freaks out when SpringBoard restarts :( + // the result is that the device is super dark until we attempt to update the brightness here. + + if (kCFCoreFoundationVersionNumber >= 700) { + if (void (*GSEventSetBacklightLevel)(float) = reinterpret_cast(dlsym(RTLD_DEFAULT, "GSEventSetBacklightLevel"))) + if (NSMutableDictionary *defaults = [NSMutableDictionary dictionaryWithContentsOfFile:[NSString stringWithFormat:@"%@/Library/Preferences/com.apple.springboard.plist", NSHomeDirectory()]]) + if (NSNumber *level = [defaults objectForKey:@"SBBacklightLevel2"]) + GSEventSetBacklightLevel([level floatValue]); + } + + [pool release]; +} -- cgit v1.2.3