|
- // respring function
- @interface FBSystemService : NSObject
- +(id)sharedInstance;
- -(void)exitAndRelaunch:(bool)arg1;
- @end
-
- static void RespringDevice() {
- [[%c(FBSystemService) sharedInstance] exitAndRelaunch:YES];
- }
-
- // headers
- @interface SBUILegibilityLabel : UIView
- @property (nonatomic,copy) NSString *string;
- @property (assign,nonatomic) long long textAlignment;
- @end
-
- @interface NCNotificationListSectionRevealHintView : UIView
- @property (nonatomic,retain)SBUILegibilityLabel *revealHintTitle;
- @end
-
- // prefs
- @interface NSUserDefaults (CnonPrefs)
- -(id)objectForKey:(NSString *)key inDomain:(NSString *)domain;
- -(void)setObject:(id)value forKey:(NSString *)key inDomain:(NSString *)domain;
- @end
-
- static NSString *nsDomainString = @"com.yaypixxo.cnon";
- static NSString *nsNotificationString = @"com.yaypixxo.cnon/preferences.changed";
-
- // declare switch and string
- static BOOL enabled;
- static NSString *customText = @"";
-
- static void notificationCallback(CFNotificationCenterRef center, void *observer, CFStringRef name, const void *object, CFDictionaryRef userInfo) {
- NSNumber *eEnabled = (NSNumber *)[[NSUserDefaults standardUserDefaults] objectForKey:@"enabled" inDomain:nsDomainString];
- NSString *eCustomText = (NSString *)[[NSUserDefaults standardUserDefaults] objectForKey:@"customText" inDomain:nsDomainString];
-
- enabled = (eEnabled) ? [eEnabled boolValue]:NO;
- customText = eCustomText;
- }
-
- // check iOS version
- #ifndef kCFCoreFoundationVersionNumber_iOS_13_0
- #define kCFCoreFoundationVersionNumber_iOS_13_0 1665.15
- #endif
-
- #define kSLSystemVersioniOS13 kCFCoreFoundationVersionNumber >= kCFCoreFoundationVersionNumber_iOS_13_0
-
- // hook class
- %hook NCNotificationListSectionRevealHintView
-
- -(void)didMoveToWindow {
- %orig;
- if (enabled) {
- self.revealHintTitle.string = customText;
- if (kSLSystemVersioniOS13) {
- self.revealHintTitle.textAlignment = 1;
- }
- }
- }
-
- %end
-
- %ctor {
- // prefs changed listener
- notificationCallback(NULL, NULL, NULL, NULL, NULL);
- CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL, notificationCallback, (CFStringRef)nsNotificationString, NULL, CFNotificationSuspensionBehaviorCoalesce);
-
- // respring notification listener
- CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL, (CFNotificationCallback)RespringDevice, CFSTR("com.yaypixxo.cnon/respring"), NULL, CFNotificationSuspensionBehaviorDeliverImmediately);
- }
|