镜像自地址
				https://github.com/Burrit0z/kai
				已同步 2025-11-04 14:06:19 +00:00 
			
		
		
		
	oops
这个提交包含在:
		
							
								
								
									
										179
									
								
								.dragon/build/logos/Kai.xm.mm
									
									
									
									
									
										普通文件
									
								
							
							
						
						
									
										179
									
								
								.dragon/build/logos/Kai.xm.mm
									
									
									
									
									
										普通文件
									
								
							@ -0,0 +1,179 @@
 | 
			
		||||
#line 1 "Kai.xm"
 | 
			
		||||
#include <CoreFoundation/CoreFoundation.h>
 | 
			
		||||
#import <Foundation/Foundation.h>
 | 
			
		||||
#include <stdio.h>
 | 
			
		||||
#import <objc/runtime.h>
 | 
			
		||||
#import <UIKit/UIKit.h>
 | 
			
		||||
 | 
			
		||||
#import "KAIBattery.mm"
 | 
			
		||||
BOOL setFrame = NO;
 | 
			
		||||
KAIBattery *batteryWidget;
 | 
			
		||||
CGRect original;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@interface UIApplication (Kai)
 | 
			
		||||
+(id)sharedApplication;
 | 
			
		||||
-(BOOL)launchApplicationWithIdentifier:(id)arg1 suspended:(BOOL)arg2;
 | 
			
		||||
@end
 | 
			
		||||
 | 
			
		||||
@interface CSMainPageView : UIView
 | 
			
		||||
@property (nonatomic, strong) KAIBattery *battery;
 | 
			
		||||
-(void)updateForPresentation:(id)arg1;
 | 
			
		||||
@end
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
#include <substrate.h>
 | 
			
		||||
#if defined(__clang__)
 | 
			
		||||
#if __has_feature(objc_arc)
 | 
			
		||||
#define _LOGOS_SELF_TYPE_NORMAL __unsafe_unretained
 | 
			
		||||
#define _LOGOS_SELF_TYPE_INIT __attribute__((ns_consumed))
 | 
			
		||||
#define _LOGOS_SELF_CONST const
 | 
			
		||||
#define _LOGOS_RETURN_RETAINED __attribute__((ns_returns_retained))
 | 
			
		||||
#else
 | 
			
		||||
#define _LOGOS_SELF_TYPE_NORMAL
 | 
			
		||||
#define _LOGOS_SELF_TYPE_INIT
 | 
			
		||||
#define _LOGOS_SELF_CONST
 | 
			
		||||
#define _LOGOS_RETURN_RETAINED
 | 
			
		||||
#endif
 | 
			
		||||
#else
 | 
			
		||||
#define _LOGOS_SELF_TYPE_NORMAL
 | 
			
		||||
#define _LOGOS_SELF_TYPE_INIT
 | 
			
		||||
#define _LOGOS_SELF_CONST
 | 
			
		||||
#define _LOGOS_RETURN_RETAINED
 | 
			
		||||
#endif
 | 
			
		||||
 | 
			
		||||
@class CSMainPageView; @class SBCoverSheetPrimarySlidingViewController; 
 | 
			
		||||
static void (*_logos_orig$_ungrouped$SBCoverSheetPrimarySlidingViewController$viewWillAppear$)(_LOGOS_SELF_TYPE_NORMAL SBCoverSheetPrimarySlidingViewController* _LOGOS_SELF_CONST, SEL, BOOL); static void _logos_method$_ungrouped$SBCoverSheetPrimarySlidingViewController$viewWillAppear$(_LOGOS_SELF_TYPE_NORMAL SBCoverSheetPrimarySlidingViewController* _LOGOS_SELF_CONST, SEL, BOOL); static void (*_logos_orig$_ungrouped$CSMainPageView$updateForPresentation$)(_LOGOS_SELF_TYPE_NORMAL CSMainPageView* _LOGOS_SELF_CONST, SEL, id); static void _logos_method$_ungrouped$CSMainPageView$updateForPresentation$(_LOGOS_SELF_TYPE_NORMAL CSMainPageView* _LOGOS_SELF_CONST, SEL, id); 
 | 
			
		||||
 | 
			
		||||
#line 47 "Kai.xm"
 | 
			
		||||
 
 | 
			
		||||
 | 
			
		||||
static void _logos_method$_ungrouped$SBCoverSheetPrimarySlidingViewController$viewWillAppear$(_LOGOS_SELF_TYPE_NORMAL SBCoverSheetPrimarySlidingViewController* _LOGOS_SELF_CONST __unused self, SEL __unused _cmd, BOOL arg1) {
 | 
			
		||||
	_logos_orig$_ungrouped$SBCoverSheetPrimarySlidingViewController$viewWillAppear$(self, _cmd, arg1);
 | 
			
		||||
	[batteryWidget updateBattery];
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
__attribute__((used)) static KAIBattery * _logos_method$_ungrouped$CSMainPageView$battery(CSMainPageView * __unused self, SEL __unused _cmd) { return (KAIBattery *)objc_getAssociatedObject(self, (void *)_logos_method$_ungrouped$CSMainPageView$battery); }; __attribute__((used)) static void _logos_method$_ungrouped$CSMainPageView$setBattery(CSMainPageView * __unused self, SEL __unused _cmd, KAIBattery * rawValue) { objc_setAssociatedObject(self, (void *)_logos_method$_ungrouped$CSMainPageView$battery, rawValue, OBJC_ASSOCIATION_RETAIN_NONATOMIC); }
 | 
			
		||||
 | 
			
		||||
static void _logos_method$_ungrouped$CSMainPageView$updateForPresentation$(_LOGOS_SELF_TYPE_NORMAL CSMainPageView* _LOGOS_SELF_CONST __unused self, SEL __unused _cmd, id arg1) {
 | 
			
		||||
	_logos_orig$_ungrouped$CSMainPageView$updateForPresentation$(self, _cmd, arg1);
 | 
			
		||||
	UIView *object = self;
 | 
			
		||||
	if(!setFrame) {
 | 
			
		||||
		original = self.frame;
 | 
			
		||||
 | 
			
		||||
		self.battery = [[KAIBattery alloc] initWithFrame:CGRectMake(8, 155, object.frame.size.width - 16, object.frame.size.height)];
 | 
			
		||||
		[self addSubview:self.battery];
 | 
			
		||||
		setFrame = YES;
 | 
			
		||||
		batteryWidget = self.battery;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	object.frame = CGRectMake(
 | 
			
		||||
			original.origin.x,
 | 
			
		||||
			original.origin.y - (self.battery.number * 90),
 | 
			
		||||
			original.size.width,
 | 
			
		||||
			original.size.height + (self.battery.number * 90)
 | 
			
		||||
		);
 | 
			
		||||
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static __attribute__((constructor)) void _logosLocalInit() {
 | 
			
		||||
{Class _logos_class$_ungrouped$SBCoverSheetPrimarySlidingViewController = objc_getClass("SBCoverSheetPrimarySlidingViewController"); MSHookMessageEx(_logos_class$_ungrouped$SBCoverSheetPrimarySlidingViewController, @selector(viewWillAppear:), (IMP)&_logos_method$_ungrouped$SBCoverSheetPrimarySlidingViewController$viewWillAppear$, (IMP*)&_logos_orig$_ungrouped$SBCoverSheetPrimarySlidingViewController$viewWillAppear$);Class _logos_class$_ungrouped$CSMainPageView = objc_getClass("CSMainPageView"); MSHookMessageEx(_logos_class$_ungrouped$CSMainPageView, @selector(updateForPresentation:), (IMP)&_logos_method$_ungrouped$CSMainPageView$updateForPresentation$, (IMP*)&_logos_orig$_ungrouped$CSMainPageView$updateForPresentation$);{ char _typeEncoding[1024]; sprintf(_typeEncoding, "%s@:", @encode(KAIBattery *)); class_addMethod(_logos_class$_ungrouped$CSMainPageView, @selector(battery), (IMP)&_logos_method$_ungrouped$CSMainPageView$battery, _typeEncoding); sprintf(_typeEncoding, "v@:%s", @encode(KAIBattery *)); class_addMethod(_logos_class$_ungrouped$CSMainPageView, @selector(setBattery:), (IMP)&_logos_method$_ungrouped$CSMainPageView$setBattery, _typeEncoding); } } }
 | 
			
		||||
#line 151 "Kai.xm"
 | 
			
		||||
		在新工单中引用
	
	屏蔽一个用户