Browse Source

Add support for Reddit v2020.0.0

master
lint 4 years ago
parent
commit
6d84dd5230
1 changed files with 88 additions and 56 deletions
  1. +88
    -56
      tweak/Reddit.xm

+ 88
- 56
tweak/Reddit.xm View File

static BOOL isTFDeletedOnly; static BOOL isTFDeletedOnly;
static CGFloat pushshiftRequestTimeoutValue; static CGFloat pushshiftRequestTimeoutValue;
int firstVersionPart = 4;
int secondVersionPart = 49;
int firstVersionPart = 2020;
int secondVersionPart = 0;
%group Reddit_v4_current %group Reddit_v4_current
id isNightMode; id isNightMode;
id textColor; id textColor;
if (secondVersionPart >= 45){
if (firstVersionPart == 2020){
themeManager = [[%c(ThemeManager) alloc] initWithAppSettings:[%c(AppSettings) sharedSettings]]; themeManager = [[%c(ThemeManager) alloc] initWithAppSettings:[%c(AppSettings) sharedSettings]];
isNightMode = [[[%c(AccountManager) sharedManager] defaults] objectForKey:@"kUseNightKey"]; isNightMode = [[[%c(AccountManager) sharedManager] defaults] objectForKey:@"kUseNightKey"];
} }
[themeManager release]; [themeManager release];
} else if (secondVersionPart >= 37){
themeManager = [[%c(ThemeManager) alloc] initWithTraitCollection:nil appSettings:[%c(AppSettings) sharedSettings]];
isNightMode = [[[%c(AccountManager) sharedManager] defaults] objectForKey:@"kUseNightKey"];
if (isNightMode) {
textColor = [[themeManager nightTheme] bodyTextColor];
} else{
textColor = [[themeManager dayTheme] bodyTextColor];
}
[themeManager release];
} else { } else {
themeManager = [%c(ThemeManager) sharedManager];
isNightMode = [[[%c(AccountManager) sharedManager] defaults] objectForKey:@"kUseNightKey"];
if (isNightMode) {
textColor = [[themeManager nightTheme] bodyTextColor];
} else{
textColor = [[themeManager dayTheme] bodyTextColor];
if (secondVersionPart >= 45){
themeManager = [[%c(ThemeManager) alloc] initWithAppSettings:[%c(AppSettings) sharedSettings]];
isNightMode = [[[%c(AccountManager) sharedManager] defaults] objectForKey:@"kUseNightKey"];
if (isNightMode) {
textColor = [[themeManager darkTheme] bodyTextColor];
} else{
textColor = [[themeManager lightTheme] bodyTextColor];
}
[themeManager release];
} else if (secondVersionPart >= 37){
themeManager = [[%c(ThemeManager) alloc] initWithTraitCollection:nil appSettings:[%c(AppSettings) sharedSettings]];
isNightMode = [[[%c(AccountManager) sharedManager] defaults] objectForKey:@"kUseNightKey"];
if (isNightMode) {
textColor = [[themeManager nightTheme] bodyTextColor];
} else{
textColor = [[themeManager dayTheme] bodyTextColor];
}
[themeManager release];
} else {
themeManager = [%c(ThemeManager) sharedManager];
isNightMode = [[[%c(AccountManager) sharedManager] defaults] objectForKey:@"kUseNightKey"];
if (isNightMode) {
textColor = [[themeManager nightTheme] bodyTextColor];
} else{
textColor = [[themeManager dayTheme] bodyTextColor];
}
} }
} }
bodyMutableAttributedText = [[NSMutableAttributedString alloc] initWithAttributedString:[%c(NSAttributedStringMarkdownParser) attributedStringUsingCurrentConfig:body]]; bodyMutableAttributedText = [[NSMutableAttributedString alloc] initWithAttributedString:[%c(NSAttributedStringMarkdownParser) attributedStringUsingCurrentConfig:body]];
[bodyMutableAttributedText beginEditing]; [bodyMutableAttributedText beginEditing];
id isNightMode; id isNightMode;
id textColor; id textColor;
if (secondVersionPart >= 45){
if (firstVersionPart == 2020){
themeManager = [[%c(ThemeManager) alloc] initWithAppSettings:[%c(AppSettings) sharedSettings]]; themeManager = [[%c(ThemeManager) alloc] initWithAppSettings:[%c(AppSettings) sharedSettings]];
isNightMode = [[[%c(AccountManager) sharedManager] defaults] objectForKey:@"kUseNightKey"]; isNightMode = [[[%c(AccountManager) sharedManager] defaults] objectForKey:@"kUseNightKey"];
} }
[themeManager release]; [themeManager release];
} else if (secondVersionPart >= 37){
themeManager = [[%c(ThemeManager) alloc] initWithTraitCollection:nil appSettings:[%c(AppSettings) sharedSettings]];
isNightMode = [[[%c(AccountManager) sharedManager] defaults] objectForKey:@"kUseNightKey"];
if (isNightMode) {
textColor = [[themeManager nightTheme] bodyTextColor];
} else{
textColor = [[themeManager dayTheme] bodyTextColor];
}
[themeManager release];
} else { } else {
themeManager = [%c(ThemeManager) sharedManager];
isNightMode = [[[%c(AccountManager) sharedManager] defaults] objectForKey:@"kUseNightKey"];
if (isNightMode) {
textColor = [[themeManager nightTheme] bodyTextColor];
} else{
textColor = [[themeManager dayTheme] bodyTextColor];
}
}
if (secondVersionPart >= 45){
themeManager = [[%c(ThemeManager) alloc] initWithAppSettings:[%c(AppSettings) sharedSettings]];
isNightMode = [[[%c(AccountManager) sharedManager] defaults] objectForKey:@"kUseNightKey"];
if (isNightMode) {
textColor = [[themeManager darkTheme] bodyTextColor];
} else{
textColor = [[themeManager lightTheme] bodyTextColor];
}
[themeManager release];
} else if (secondVersionPart >= 37){
themeManager = [[%c(ThemeManager) alloc] initWithTraitCollection:nil appSettings:[%c(AppSettings) sharedSettings]];
isNightMode = [[[%c(AccountManager) sharedManager] defaults] objectForKey:@"kUseNightKey"];
if (isNightMode) {
textColor = [[themeManager nightTheme] bodyTextColor];
} else{
textColor = [[themeManager dayTheme] bodyTextColor];
}
[themeManager release];
} else {
themeManager = [%c(ThemeManager) sharedManager];
isNightMode = [[[%c(AccountManager) sharedManager] defaults] objectForKey:@"kUseNightKey"];
if (isNightMode) {
textColor = [[themeManager nightTheme] bodyTextColor];
} else{
textColor = [[themeManager dayTheme] bodyTextColor];
}
}
}
NSMutableAttributedString *bodyMutableAttributedText = [[NSMutableAttributedString alloc] initWithAttributedString:[%c(NSAttributedStringMarkdownParser) attributedStringUsingCurrentConfig:body]]; NSMutableAttributedString *bodyMutableAttributedText = [[NSMutableAttributedString alloc] initWithAttributedString:[%c(NSAttributedStringMarkdownParser) attributedStringUsingCurrentConfig:body]];
[bodyMutableAttributedText beginEditing]; [bodyMutableAttributedText beginEditing];
[post setSelfPostRichTextAttributed:bodyMutableAttributedText]; [post setSelfPostRichTextAttributed:bodyMutableAttributedText];
[post setPreviewFeedPostTextString:bodyMutableAttributedText]; [post setPreviewFeedPostTextString:bodyMutableAttributedText];
if (secondVersionPart >= 44){
if (firstVersionPart == 2020){
[[[[[self postActionSheetDelegate] controller] feedPostDetailCellNode] contentNode] configureSelfTextNode]; [[[[[self postActionSheetDelegate] controller] feedPostDetailCellNode] contentNode] configureSelfTextNode];
} else if (secondVersionPart >= 38) {
[[[[self postActionSheetDelegate] controller] feedPostDetailCellNode] configureSelfTextNode];
} else { } else {
[[[[self postActionSheetDelegate] controller] feedPostDetailCellNode] configureSelfTextNode];
[[[[[self postActionSheetDelegate] controller] feedPostDetailCellNode] titleNode] configureNodes];
if (secondVersionPart >= 44){
[[[[[self postActionSheetDelegate] controller] feedPostDetailCellNode] contentNode] configureSelfTextNode];
} else if (secondVersionPart >= 38) {
[[[[self postActionSheetDelegate] controller] feedPostDetailCellNode] configureSelfTextNode];
} else {
[[[[self postActionSheetDelegate] controller] feedPostDetailCellNode] configureSelfTextNode];
[[[[[self postActionSheetDelegate] controller] feedPostDetailCellNode] titleNode] configureNodes];
}
} }
[bodyMutableAttributedText release]; [bodyMutableAttributedText release];
secondVersionPart = [redditVersion[1] intValue]; secondVersionPart = [redditVersion[1] intValue];
} }
@catch (NSException *exc){ @catch (NSException *exc){
firstVersionPart = 4;
secondVersionPart = 49;
firstVersionPart = 2020;
secondVersionPart = 0;
} }
if ([processName isEqualToString:@"Reddit"]){ if ([processName isEqualToString:@"Reddit"]){
CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL, prefsChanged, CFSTR("com.lint.undelete.prefs.changed"), NULL, CFNotificationSuspensionBehaviorDeliverImmediately); CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL, prefsChanged, CFSTR("com.lint.undelete.prefs.changed"), NULL, CFNotificationSuspensionBehaviorDeliverImmediately);
if (firstVersionPart == 4){
if (secondVersionPart <= 32){
if (firstVersionPart == 4 || firstVersionPart == 2020){
if (secondVersionPart <= 32 && firstVersionPart != 2020){
%init(Reddit_v4_ios10); %init(Reddit_v4_ios10);
} else{ } else{
%init(Reddit_v4_current); %init(Reddit_v4_current);

Loading…
Cancel
Save