1
0
mirror of https://github.com/Burrit0z/kai synced 2025-07-01 08:26:47 +00:00

prefs, a shit ton

This commit is contained in:
Burrit0z
2020-05-20 11:27:44 -04:00
parent 38dce47564
commit 168bd6d3dc
13 changed files with 346 additions and 228 deletions

91
Kai.h Normal file
View File

@ -0,0 +1,91 @@
#include <CoreFoundation/CoreFoundation.h>
#import <Foundation/Foundation.h>
#include <stdio.h>
#import <objc/runtime.h>
#import <UIKit/UIKit.h>
#import "KAIBattery.mm"
#define KAISelf ((CSAdjunctListView *)self)
@interface UIApplication (Kai)
+(id)sharedApplication;
-(BOOL)launchApplicationWithIdentifier:(id)arg1 suspended:(BOOL)arg2;
@end
@interface CSAdjunctListView : UIView
@property (nonatomic, assign) BOOL hasKai;
-(UIStackView *)stackView;
-(void)setStackView:(UIStackView *)arg1;
-(void)KaiUpdate;
@end
@interface SBDashBoardAdjunctListView : UIView
@property (nonatomic, assign) BOOL hasKai;
-(UIStackView *)stackView;
-(void)setStackView:(UIStackView *)arg1;
-(void)KaiUpdate;
@end
@interface CSMainPageView : UIView
-(void)updateForPresentation:(id)arg1;
@end
@interface _CSSingleBatteryChargingView : UIView
@end
@interface NSLayoutConstraint (Kai)
+(id)constraintWithAnchor:(id)arg1 relatedBy:(long long)arg2 toAnchor:(id)arg3 multiplier:(double)arg4 constant:(double)arg5 ;
@end
//prefs
BOOL enabled;
#define PLIST_PATH @"/User/Library/Preferences/com.burritoz.kaiprefs.plist"
#define kIdentifier @"com.burritoz.kaiprefs"
#define kSettingsChangedNotification (CFStringRef)@"com.burritoz.kaiprefs/reload"
#define kSettingsPath @"/var/mobile/Library/Preferences/com.burritoz.kaiprefs.plist"
NSDictionary *prefs = nil;
static void *observer = NULL;
static void reloadPrefs()
{
if ([NSHomeDirectory() isEqualToString:@"/var/mobile"])
{
CFArrayRef keyList = CFPreferencesCopyKeyList((CFStringRef)kIdentifier, kCFPreferencesCurrentUser, kCFPreferencesAnyHost);
if (keyList)
{
prefs = (NSDictionary *)CFBridgingRelease(CFPreferencesCopyMultiple(keyList, (CFStringRef)kIdentifier, kCFPreferencesCurrentUser, kCFPreferencesAnyHost));
if (!prefs)
{
prefs = [NSDictionary new];
}
CFRelease(keyList);
}
}
else
{
prefs = [NSDictionary dictionaryWithContentsOfFile:kSettingsPath];
}
}
static BOOL boolValueForKey(NSString *key, BOOL defaultValue) {
return (prefs && [prefs objectForKey:key] ? [[prefs objectForKey:key] boolValue] : defaultValue);
}
/*static double numberForValue(NSString *key, double defaultValue) {
return (prefs && [prefs objectForKey:key] ? [[prefs objectForKey:key] doubleValue] : defaultValue);
}*/
static void preferencesChanged()
{
CFPreferencesAppSynchronize((CFStringRef)kIdentifier);
reloadPrefs();
enabled = boolValueForKey(@"enabled", YES);
}