diff --git a/Tweak.xm b/Tweak.xm index a0d5df3..7302a66 100644 --- a/Tweak.xm +++ b/Tweak.xm @@ -1,3 +1,5 @@ +#import "ZenithDark.h" + /* Dark Mode for Zenith's Grabber view! @@ -9,8 +11,7 @@ Written for Cooper Hull, @(mac-user669). */ -#import "ZenithDark.h" - +%group Tweak13 // We then hook the class in this case Zenith's grabber view is called “ZNGrabberAccessoryView” %hook ZNGrabberAccessoryView @@ -56,13 +57,30 @@ else { } } -// we need to make sure we tell theos that we are finished hooking this class not doing so with cause the end of the world :P + %end // We need to make sure we tell theos that we are finished hooking this class not doing so with cause the end of the world :P +%end + +static BOOL ios13; + + +%group Tweak12 + +//We then hook the class in this case Zenith's grabber view is called “ZNGrabberAccessoryView” +%hook ZNGrabberAccessoryView +// The method we then modify is this method that is called from UIImageView to set the backgroundColor of the image view. +// Since the grabber view is of type UIImageView we can modify this method :) + +-(void)setBackgroundColor:(UIColor *)backgroundColor { + //call the original function then pass our custom argument to the backgroundColor argument as shown below. + %orig(kDarkModeColor); +} + +// We need to make sure we tell theos that we are finished hooking this class not doing so with cause the end of the world :P +%end %end - -// Load preferences to make sure changes are written to the plist -static void loadPrefs() { +static void loadPrefs() { // Load preferences to make sure changes are written to the plist // Thanks to skittyblock! CFArrayRef keyList = CFPreferencesCopyKeyList(CFSTR("com.mac-user669.zenithdark"), kCFPreferencesCurrentUser, kCFPreferencesAnyHost); @@ -77,22 +95,31 @@ static void loadPrefs() { prefs = [NSMutableDictionary dictionaryWithContentsOfFile:PLIST_PATH]; } - //our preference values that write to a plist file when a user selects somethings - kEnabled = [([prefs objectForKey:@"kEnabled"] ?: @(YES)) boolValue]; + kEnabled = [([prefs objectForKey:@"kEnabled"] ?: @(YES)) boolValue]; //our preference values that write to a plist file when a user selects somethings } -// thanks to skittyblock! +// Thanks to skittyblock! static void PreferencesChangedCallback(CFNotificationCenterRef center, void *observer, CFStringRef name, const void *object, CFDictionaryRef userInfo) { loadPrefs(); } -// our constructor -%ctor { - // load our prefs - loadPrefs(); - CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL, (CFNotificationCallback) PreferencesChangedCallback, CFSTR("com.mac-user669.zenithdark.prefschanged"), NULL, CFNotificationSuspensionBehaviorDeliverImmediately); - // We use this to make sure we load Zenith's dynamic library at runtime so we can modify it with our tweak. -dlopen ("/Library/MobileSubstrate/DynamicLibraries/Zenith.dylib", RTLD_NOW); +%ctor { // Our constructor -} \ No newline at end of file + loadPrefs(); // Load our prefs + + if (kEnabled) { // If enabled + if (@available(iOS 13, *)) { // If the device is running iOS 13 + ios13 = YES; // Set "iOS13" to "YES" + %init(Tweak13); // Enable the group "Tweak13" + } else { + ios13 = NO; // Set "iOS13" to "NO" + %init(Tweak12); // Enable the group "Tweak12" + } + } + + CFNotificationCenterAddObserver(CFNotificationCenterGetDarwinNotifyCenter(), NULL, (CFNotificationCallback) PreferencesChangedCallback, CFSTR("com.mac-user669.zenithdark.prefschanged"), NULL, CFNotificationSuspensionBehaviorDeliverImmediately); + +dlopen ("/Library/MobileSubstrate/DynamicLibraries/Zenith.dylib", RTLD_NOW); // We use this to make sure we load Zenith's dynamic library at runtime so we can modify it with our tweak. + +} diff --git a/control b/control index 9cd17fc..53b2813 100644 --- a/control +++ b/control @@ -1,8 +1,8 @@ Package: com.mac-user669.zenithdark -Version: 1.1 +Version: 1.2 Architecture: iphoneos-arm Maintainer: mac-user669 -Depends: mobilesubstrate, preferenceloader, com.muirey03.zenith, firmware (>=13.0) +Depends: mobilesubstrate, preferenceloader, com.muirey03.zenith Section: Tweaks Description: Changes Zeniths tabs to a dark blur Author: mac-user669