From 4cce378f9eaca2bce4b6c0edc1bb9904a60482de Mon Sep 17 00:00:00 2001 From: mac-user669 Date: Tue, 21 Jan 2020 18:02:25 -0500 Subject: [PATCH] iOS 12 support! Also tweaked the colors a little bit --- Tweak.xm | 61 +++++++++++++++++++++++++++++++++++++--------------- ZenithDark.h | 4 ++-- control | 4 ++-- 3 files changed, 48 insertions(+), 21 deletions(-) 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/ZenithDark.h b/ZenithDark.h index f88a3ba..0359f1d 100644 --- a/ZenithDark.h +++ b/ZenithDark.h @@ -26,10 +26,10 @@ BOOL kEnabled; NSMutableDictionary *prefs; // Dark Zenith color we are using macros so we can call it later if need be. -#define kDarkModeColor [UIColor colorWithWhite:0.0 alpha:0.44] +#define kDarkModeColor [UIColor colorWithRed:0.11 green:0.11 blue:0.11 alpha:0.73]; // Stock Zenith color we are using macros so we can call it later if need be. -#define kLightModeColor [UIColor colorWithWhite:1.0 alpha:0.7] +#define kLightModeColor [UIColor colorWithWhite:1.0 alpha:0.8] // the PLIST path where all user settings are stored. #define PLIST_PATH @"/var/mobile/Library/Preferences/com.mac-user669.zenithdark.plist" 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