Files
CustomNoOlderNotifications/Tweak.xm
2020-01-03 01:34:14 +01:00

52 righe
1.7 KiB
Plaintext

@interface SBUILegibilityLabel : UIView
@property (nonatomic,copy) NSString *string;
@end
@interface NCNotificationListSectionRevealHintView : UIView
-(void)_updateHintTitle;
@end
static BOOL enabled;
static NSString* customText = @"";
#define kIdentifier @"com.yaypixxo.cnonprefs"
#define kSettingsChangedNotification (CFStringRef)@"com.yaypixxo.cnonprefs/ReloadPrefs"
#define kSettingsPath @"/var/mobile/Library/Preferences/com.yaypixxo.cnonprefs.plist"
%hook NCNotificationListSectionRevealHintView
-(void)layoutSubviews {
%orig;
if (enabled) {
[MSHookIvar<UILabel *>(self, "_revealHintTitle") setString:customText];
}
}
%end
static void reloadPrefs() {
CFPreferencesAppSynchronize((CFStringRef)kIdentifier);
NSDictionary *prefs = nil;
if ([NSHomeDirectory() isEqualToString:@"/var/mobile"]) {
CFArrayRef keyList = CFPreferencesCopyKeyList((CFStringRef)kIdentifier, kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
if (keyList != nil) {
prefs = (NSDictionary *)CFBridgingRelease(CFPreferencesCopyMultiple(keyList, (CFStringRef)kIdentifier, kCFPreferencesCurrentUser, kCFPreferencesAnyHost));
if (prefs == nil)
prefs = [NSDictionary dictionary];
CFRelease(keyList);
}
}
else {
prefs = [NSDictionary dictionaryWithContentsOfFile:kSettingsPath];
}
enabled = [prefs objectForKey:@"enabled"] ? [(NSNumber *)[prefs objectForKey:@"enabled"] boolValue] : true;
customText = [prefs objectForKey:@"customText"] ? [prefs objectForKey:@"customText"] : changeNotiTxt;
}
%ctor {
reloadPrefs();
CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL, (CFNotificationCallback)reloadPrefs, kSettingsChangedNotification, NULL, CFNotificationSuspensionBehaviorDeliverImmediately);
}