mirror of
				https://github.com/gilshahar7/ExactTime.git
				synced 2025-11-04 05:26:17 +00:00 
			
		
		
		
	Version 1.6
Added support for A12 devices (and added the forgotten source code for iOS 12 :P)
This commit is contained in:
		
							
								
								
									
										4
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										4
									
								
								Makefile
									
									
									
									
									
								
							@ -1,5 +1,5 @@
 | 
				
			|||||||
 | 
					ARCHS = armv7 arm64 arm64e
 | 
				
			||||||
ARCHS = armv7 arm64
 | 
					export TARGET = iphone:clang:11.2:7.0
 | 
				
			||||||
include $(THEOS)/makefiles/common.mk
 | 
					include $(THEOS)/makefiles/common.mk
 | 
				
			||||||
 | 
					
 | 
				
			||||||
TWEAK_NAME = ExactTime
 | 
					TWEAK_NAME = ExactTime
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										72
									
								
								Tweak.xm
									
									
									
									
									
								
							
							
						
						
									
										72
									
								
								Tweak.xm
									
									
									
									
									
								
							@ -7,7 +7,7 @@
 | 
				
			|||||||
@interface NCLookHeaderContentView
 | 
					@interface NCLookHeaderContentView
 | 
				
			||||||
-(void)_updateDateLabelFontForShortLook;
 | 
					-(void)_updateDateLabelFontForShortLook;
 | 
				
			||||||
@end
 | 
					@end
 | 
				
			||||||
//IOS 11
 | 
					//IOS 11 & 12
 | 
				
			||||||
@interface BSUIRelativeDateLabel
 | 
					@interface BSUIRelativeDateLabel
 | 
				
			||||||
@property (assign,nonatomic) NSString *text;
 | 
					@property (assign,nonatomic) NSString *text;
 | 
				
			||||||
-(void)sizeToFit;
 | 
					-(void)sizeToFit;
 | 
				
			||||||
@ -16,6 +16,11 @@
 | 
				
			|||||||
@interface MTPlatterHeaderContentView
 | 
					@interface MTPlatterHeaderContentView
 | 
				
			||||||
-(void)_updateTextAttributesForDateLabel;
 | 
					-(void)_updateTextAttributesForDateLabel;
 | 
				
			||||||
@end
 | 
					@end
 | 
				
			||||||
 | 
					//IOS 12
 | 
				
			||||||
 | 
					@interface PLPlatterHeaderContentView
 | 
				
			||||||
 | 
					-(void)_updateTextAttributesForDateLabel;
 | 
				
			||||||
 | 
					@end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static bool is24h;
 | 
					static bool is24h;
 | 
				
			||||||
@ -147,6 +152,69 @@ static NSString *settingsPath = @"/var/mobile/Library/Preferences/com.gilshahar7
 | 
				
			|||||||
    %end
 | 
					    %end
 | 
				
			||||||
%end
 | 
					%end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%group iOS12
 | 
				
			||||||
 | 
					    %hook PLPlatterHeaderContentView
 | 
				
			||||||
 | 
					    -(void)_updateTextAttributesForDateLabel{
 | 
				
			||||||
 | 
					        %orig;
 | 
				
			||||||
 | 
					        NSDate *date = MSHookIvar<NSDate *>(self, "_date");
 | 
				
			||||||
 | 
					        NSInteger format = MSHookIvar<NSInteger >(self, "_dateFormatStyle");
 | 
				
			||||||
 | 
					        NSMutableDictionary *prefs = [[NSMutableDictionary alloc] initWithContentsOfFile:settingsPath];
 | 
				
			||||||
 | 
					        CGFloat affectTime = [[prefs objectForKey:@"affectTime"] floatValue];
 | 
				
			||||||
 | 
					        if((date != nil) && (format == 1)){
 | 
				
			||||||
 | 
					            BSUIRelativeDateLabel *dateLabel = MSHookIvar<BSUIRelativeDateLabel *>(self, "_dateLabel");
 | 
				
			||||||
 | 
					            int timeSinceNow = (int)[date timeIntervalSinceNow];
 | 
				
			||||||
 | 
					            timeSinceNow = timeSinceNow*-1;
 | 
				
			||||||
 | 
					            bool addMinutes =  [[prefs objectForKey:@"addMinutes"] boolValue];
 | 
				
			||||||
 | 
					            bool addToCurrent =  [[prefs objectForKey:@"addToCurrent"] boolValue];
 | 
				
			||||||
 | 
					            int hours = timeSinceNow / 3600;
 | 
				
			||||||
 | 
					            int minutes = (timeSinceNow % 3600) / 60;
 | 
				
			||||||
 | 
					            if(addMinutes){
 | 
				
			||||||
 | 
					                if(hours == 0){
 | 
				
			||||||
 | 
					                    if(minutes == 0){
 | 
				
			||||||
 | 
					                    }else{
 | 
				
			||||||
 | 
					                        dateLabel.text = [NSString stringWithFormat:@"%im ago", minutes];
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }else{
 | 
				
			||||||
 | 
					                    if(minutes == 0){
 | 
				
			||||||
 | 
					                        dateLabel.text = [NSString stringWithFormat:@"%ih ago", hours];
 | 
				
			||||||
 | 
					                    } else{
 | 
				
			||||||
 | 
					                        dateLabel.text = [NSString stringWithFormat:@"%ih %im ago", hours, minutes];
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }else if(addToCurrent){
 | 
				
			||||||
 | 
					                if(hours == 0){
 | 
				
			||||||
 | 
					                    if(minutes == 0){
 | 
				
			||||||
 | 
					                    }else{
 | 
				
			||||||
 | 
					                        dateLabel.text = [NSString stringWithFormat:@"%im ago", minutes];
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }else{
 | 
				
			||||||
 | 
					                    dateLabel.text = [NSString stringWithFormat:@"%ih ago", hours];
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            if((timeSinceNow/60) >= affectTime){
 | 
				
			||||||
 | 
					                NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
 | 
				
			||||||
 | 
					                if(is24h){
 | 
				
			||||||
 | 
					                    [dateFormatter setDateFormat:@"HH:mm"];
 | 
				
			||||||
 | 
					                }else{
 | 
				
			||||||
 | 
					                    [dateFormatter setDateFormat:@"h:mm a"];
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                if(addToCurrent && !([dateLabel.text isEqualToString:[dateFormatter stringFromDate:date]])){
 | 
				
			||||||
 | 
					                    dateLabel.text = [[dateLabel.text stringByAppendingString:@" • "] stringByAppendingString:[dateFormatter stringFromDate:date]];
 | 
				
			||||||
 | 
					                }else{
 | 
				
			||||||
 | 
					                    dateLabel.text =[dateFormatter stringFromDate:date];
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                [dateLabel sizeToFit];
 | 
				
			||||||
 | 
					                [dateFormatter release];
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    -(void)dateLabelDidChange:(id)arg1{
 | 
				
			||||||
 | 
					        %orig(arg1);
 | 
				
			||||||
 | 
					        [self _updateTextAttributesForDateLabel];
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    %end
 | 
				
			||||||
 | 
					%end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
%ctor{
 | 
					%ctor{
 | 
				
			||||||
	NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
 | 
						NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
 | 
				
			||||||
	[formatter setLocale:[NSLocale currentLocale]];
 | 
						[formatter setLocale:[NSLocale currentLocale]];
 | 
				
			||||||
@ -161,5 +229,7 @@ static NSString *settingsPath = @"/var/mobile/Library/Preferences/com.gilshahar7
 | 
				
			|||||||
        %init(iOS10);
 | 
					        %init(iOS10);
 | 
				
			||||||
    } else if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 11.0 && [[[UIDevice currentDevice] systemVersion] floatValue] < 12.0) {
 | 
					    } else if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 11.0 && [[[UIDevice currentDevice] systemVersion] floatValue] < 12.0) {
 | 
				
			||||||
        %init(iOS11);
 | 
					        %init(iOS11);
 | 
				
			||||||
 | 
					    }else if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 12.0 && [[[UIDevice currentDevice] systemVersion] floatValue] < 13.0) {
 | 
				
			||||||
 | 
					        %init(iOS12);
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
							
								
								
									
										2
									
								
								control
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								control
									
									
									
									
									
								
							@ -1,7 +1,7 @@
 | 
				
			|||||||
Package: com.gilshahar7.exacttime
 | 
					Package: com.gilshahar7.exacttime
 | 
				
			||||||
Name: ExactTime
 | 
					Name: ExactTime
 | 
				
			||||||
Depends: mobilesubstrate
 | 
					Depends: mobilesubstrate
 | 
				
			||||||
Version: 1.4
 | 
					Version: 1.6
 | 
				
			||||||
Architecture: iphoneos-arm
 | 
					Architecture: iphoneos-arm
 | 
				
			||||||
Description: Shows the exact time of a notification.
 | 
					Description: Shows the exact time of a notification.
 | 
				
			||||||
Maintainer: gilshahar7
 | 
					Maintainer: gilshahar7
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										20
									
								
								exacttimeprefs/ExactTimeprefs.mm
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								exacttimeprefs/ExactTimeprefs.mm
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,20 @@
 | 
				
			|||||||
 | 
					#import <Preferences/PSListController.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@interface ExactTimeprefsListController: PSListController {
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					@end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					@implementation ExactTimeprefsListController
 | 
				
			||||||
 | 
					- (id)specifiers {
 | 
				
			||||||
 | 
						if(_specifiers == nil) {
 | 
				
			||||||
 | 
							_specifiers = [[self loadSpecifiersFromPlistName:@"ExactTimeprefs" target:self] retain];
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return _specifiers;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-(void)apply{
 | 
				
			||||||
 | 
					[self.view endEditing:YES];
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					@end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// vim:ft=objc
 | 
				
			||||||
@ -1,9 +1,9 @@
 | 
				
			|||||||
ARCHS = armv7 arm64
 | 
					ARCHS = armv7 arm64 arm64e
 | 
				
			||||||
 | 
					export TARGET = iphone:clang:11.2:7.0
 | 
				
			||||||
include $(THEOS)/makefiles/common.mk
 | 
					include $(THEOS)/makefiles/common.mk
 | 
				
			||||||
 | 
					
 | 
				
			||||||
BUNDLE_NAME = ExactTimeprefs
 | 
					BUNDLE_NAME = ExactTimeprefs
 | 
				
			||||||
ExactTimeprefs_FILES = RootListController.m
 | 
					ExactTimeprefs_FILES = ExactTimeprefs.mm
 | 
				
			||||||
ExactTimeprefs_INSTALL_PATH = /Library/PreferenceBundles
 | 
					ExactTimeprefs_INSTALL_PATH = /Library/PreferenceBundles
 | 
				
			||||||
ExactTimeprefs_FRAMEWORKS = UIKit
 | 
					ExactTimeprefs_FRAMEWORKS = UIKit
 | 
				
			||||||
ExactTimeprefs_PRIVATE_FRAMEWORKS = Preferences
 | 
					ExactTimeprefs_PRIVATE_FRAMEWORKS = Preferences
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										
											BIN
										
									
								
								packages/com.gilshahar7.exacttime_1.6_iphoneos-arm.deb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								packages/com.gilshahar7.exacttime_1.6_iphoneos-arm.deb
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							
		Reference in New Issue
	
	Block a user