From 2c49741fae7b36cd07e93bfad2fec080e87aff5f Mon Sep 17 00:00:00 2001 From: gilshahar7 Date: Wed, 26 Aug 2020 16:13:21 +0300 Subject: [PATCH] Version 1.0.4 --- .gitignore | 64 +----------------- Makefile | 2 +- Tweak.xm | 17 ++--- control | 2 +- ...har7.duplexcalendar_1.0.4_iphoneos-arm.deb | Bin 0 -> 10644 bytes 5 files changed, 12 insertions(+), 73 deletions(-) create mode 100644 packages/com.gilshahar7.duplexcalendar_1.0.4_iphoneos-arm.deb diff --git a/.gitignore b/.gitignore index 86de6aa..09e2e94 100644 --- a/.gitignore +++ b/.gitignore @@ -1,63 +1 @@ -# Xcode -# -# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore - -## Build generated -build/ -DerivedData/ - -## Various settings -*.pbxuser -!default.pbxuser -*.mode1v3 -!default.mode1v3 -*.mode2v3 -!default.mode2v3 -*.perspectivev3 -!default.perspectivev3 -xcuserdata/ - -## Other -*.moved-aside -*.xccheckout -*.xcscmblueprint - -## Obj-C/Swift specific -*.hmap -*.ipa -*.dSYM.zip -*.dSYM - -# CocoaPods -# -# We recommend against adding the Pods directory to your .gitignore. However -# you should judge for yourself, the pros and cons are mentioned at: -# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control -# -# Pods/ - -# Carthage -# -# Add this line if you want to avoid checking in source code from Carthage dependencies. -# Carthage/Checkouts - -Carthage/Build - -# fastlane -# -# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the -# screenshots whenever they are needed. -# For more information about the recommended setup visit: -# https://docs.fastlane.tools/best-practices/source-control/#source-control - -fastlane/report.xml -fastlane/Preview.html -fastlane/screenshots/**/*.png -fastlane/test_output - -# Code Injection -# -# After new code Injection tools there's a generated folder /iOSInjectionProject -# https://github.com/johnno1962/injectionforxcode - -iOSInjectionProject/ +/.theos diff --git a/Makefile b/Makefile index 103e6a1..6d974a0 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ - +FINALPACKAGE = 1 GO_EASY_ON_ME = 1 ARCHS = arm64 armv7 diff --git a/Tweak.xm b/Tweak.xm index 8885430..afdd61f 100644 --- a/Tweak.xm +++ b/Tweak.xm @@ -18,11 +18,12 @@ -(id)_dateColor; -(BOOL)isDateHidden; -(void)layoutDuplexCalendarLabel; +-(void)_updateLabels; @end @interface _UILegibilityView : UIView -@end +@end @interface _UILegibilityLabel : _UILegibilityView @end @@ -56,7 +57,7 @@ static float sizeheight = 0.0; -(void)_layoutLunarDateLabel{ %orig; - + if(!isLunarDateRefreshed) { isLunarDateRefreshed = YES; [lockScreenDateView _updateLabels]; @@ -75,7 +76,7 @@ static float sizeheight = 0.0; self.duplexCalendarLabel.font = [[self _dateFont] fontWithSize:16]; [self addSubview:self.duplexCalendarLabel]; self.duplexCalendarLabel.textColor = [self _dateColor]; - self.duplexCalendarLabel.textAlignment = 1; + self.duplexCalendarLabel.textAlignment = (NSTextAlignment)1; } return lockScreenDateView; } @@ -84,8 +85,8 @@ static float sizeheight = 0.0; -(void)layoutDuplexCalendarLabel{ NSString *offsetXTextField = [prefs objectForKey:@"offsetXTextField"]; NSString *offsetYTextField = [prefs objectForKey:@"offsetYTextField"]; - NSString *FontSizeTextField = [prefs objectForKey:@"FontSizeTextField"]; - + NSString *FontSizeTextField = [prefs objectForKey:@"FontSizeTextField"]; + //if(originx <= 0.0) //{ UILabel *originalLabel = MSHookIvar(self, "_dateLabel"); @@ -114,9 +115,9 @@ static float sizeheight = 0.0; self.duplexCalendarLabel.text = self.todayHeaderViewText; - + } --(void)_layoutDateLabel { +-(void)_layoutDateLabel { %orig; [self layoutDuplexCalendarLabel]; _UILegibilityLabel *originalLegibilityLabel = MSHookIvar<_UILegibilityLabel *>(self, "_legibilityDateLabel"); @@ -161,7 +162,7 @@ self.dateInSettings = nil; (void*)myObserver, savePressed, CFSTR("duplexcalendar.savepressed"), - NULL, + NULL, CFNotificationSuspensionBehaviorDeliverImmediately); savePressed(); } diff --git a/control b/control index 6c79f78..a970781 100644 --- a/control +++ b/control @@ -1,7 +1,7 @@ Package: com.gilshahar7.duplexcalendar Name: DuplexCalendar Depends: mobilesubstrate -Version: 1.0.3 +Version: 1.0.4 Architecture: iphoneos-arm Description: Add the alternate calendar label to the LockScreen on iOS 8 & 9. Maintainer: gilshahar7 diff --git a/packages/com.gilshahar7.duplexcalendar_1.0.4_iphoneos-arm.deb b/packages/com.gilshahar7.duplexcalendar_1.0.4_iphoneos-arm.deb new file mode 100644 index 0000000000000000000000000000000000000000..a00310efaec80e42f8238ebfb317802af745b1a8 GIT binary patch literal 10644 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