From e5b7c598e4b6830b766fcdea3acff77713484226 Mon Sep 17 00:00:00 2001 From: Burrit0z Date: Sat, 2 May 2020 14:54:45 -0400 Subject: [PATCH] work but trash --- KAIBattery.h | 1 + KAIBattery.mm | 26 ++++++++++++++++++++- Kai.xm | 62 +++++++++++++++++++++++++++++++++++++++------------ 3 files changed, 74 insertions(+), 15 deletions(-) diff --git a/KAIBattery.h b/KAIBattery.h index 7dd9afa..90fa15a 100644 --- a/KAIBattery.h +++ b/KAIBattery.h @@ -26,6 +26,7 @@ @property (nonatomic, assign) NSInteger number; @property (nonatomic, assign) BOOL isUpdating; +(KAIBattery *)sharedInstance; +-(void)darkLightMode; -(instancetype)initWithFrame:(CGRect)arg1; -(void)updateBattery; @end \ No newline at end of file diff --git a/KAIBattery.mm b/KAIBattery.mm index d19817c..32477bb 100644 --- a/KAIBattery.mm +++ b/KAIBattery.mm @@ -13,6 +13,7 @@ KAIBattery *instance; self.batteryLabel.lineBreakMode = NSLineBreakByWordWrapping; self.batteryLabel.numberOfLines = 0;*/ [self updateBattery]; + [self darkLightMode]; //[self addSubview:self.batteryLabel]; } return self; @@ -46,7 +47,16 @@ long long lastPercentage; if(charging) { - UIVisualEffectView *blank = [[UIVisualEffectView alloc] initWithEffect:[UIBlurEffect effectWithStyle:UIBlurEffectStyleDark]]; + UIVisualEffectView *blank; + if(@available(iOS 12.0, *)) { + if(self.traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark) { + blank = [[UIVisualEffectView alloc] initWithEffect:[UIBlurEffect effectWithStyle:UIBlurEffectStyleDark]]; + } else { + blank = [[UIVisualEffectView alloc] initWithEffect:[UIBlurEffect effectWithStyle:UIBlurEffectStyleLight]]; + } + } else { + blank = [[UIVisualEffectView alloc] initWithEffect:[UIBlurEffect effectWithStyle:UIBlurEffectStyleLight]]; + } blank.frame = CGRectMake(0, 0 + y, self.frame.size.width, 80); blank.layer.masksToBounds = YES; blank.layer.cornerRadius = 13; @@ -101,6 +111,7 @@ long long lastPercentage; } } self.isUpdating = NO; + [self darkLightMode]; } }); } @@ -109,4 +120,17 @@ long long lastPercentage; return instance; } +-(void)darkLightMode { + for(UIVisualEffectView *view in self.subviews) { + if(@available(iOS 12.0, *)) { + if(self.traitCollection.userInterfaceStyle == UIUserInterfaceStyleDark) { + if([view respondsToSelector:@selector(setEffect:)]) view.effect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleDark]; + } + else { + if([view respondsToSelector:@selector(setEffect:)]) view.effect = [UIBlurEffect effectWithStyle:UIBlurEffectStyleLight]; + } + } + } +} + @end \ No newline at end of file diff --git a/Kai.xm b/Kai.xm index b90a948..e1f6b2d 100644 --- a/Kai.xm +++ b/Kai.xm @@ -11,20 +11,26 @@ -(BOOL)launchApplicationWithIdentifier:(id)arg1 suspended:(BOOL)arg2; @end -@interface CSMainPageView : UIView +@interface CSCoverSheetViewBase : UIView @property (nonatomic, strong) KAIBattery *battery; -(void)KaiUpdate; +-(void)KaiInit; @end @interface SBCoverSheetPrimarySlidingViewController -(void)KaiUpdate; @end +@interface CSMainPageView : UIView +@end + @interface _CSSingleBatteryChargingView : UIView @end BOOL setFrame = NO; -CSMainPageView *batteryWidget; +UIView *batteryWidgetController; +KAIBattery *batteryWidget; +CSCoverSheetViewBase *base; CGRect original; CGRect originalBattery; @@ -54,6 +60,18 @@ CGRect originalBattery; %end*/ +%hook CSMainPageView + +-(void)updateForPresentation:(id)arg1 { + if(!setFrame) { + if([self.subviews count] > 0) { + CSCoverSheetViewBase *base = [self.subviews objectAtIndex:0]; + [base KaiInit]; + } + } +} +%end + %hook SBCoverSheetPrimarySlidingViewController -(void)viewWillAppear:(BOOL)arg1 { @@ -67,8 +85,8 @@ CGRect originalBattery; %new -(void)KaiUpdate { - [batteryWidget.battery updateBattery]; - [batteryWidget KaiUpdate]; + [batteryWidget updateBattery]; + [base KaiUpdate]; } /* -(void)viewWillDisappear:(BOOL)arg1 { @@ -79,40 +97,56 @@ CGRect originalBattery; %end -%hook CSMainPageView +%hook CSCoverSheetViewBase %property (nonatomic, strong) KAIBattery *battery; --(void)updateForPresentation:(id)arg1 { +-(void)traitCollectionDidChange:(id)arg1 { %orig; + [batteryWidget darkLightMode]; +} + +%new +-(void)KaiInit { if(!setFrame) { original = self.frame; - self.battery = [[KAIBattery alloc] initWithFrame:CGRectMake(8, self.frame.origin.y + 150, self.frame.size.width - 16, self.frame.size.height)]; - originalBattery = self.battery.frame; - [self addSubview:self.battery]; + UIView *scroller; + if([self.subviews count] > 1) { + UIView *temp = [self.subviews objectAtIndex:1]; + if([temp.subviews count] > 0) { + scroller = [temp.subviews objectAtIndex:0]; + base = self; + } + } + KAIBattery *battery = [[KAIBattery alloc] initWithFrame:CGRectMake(8, 0, self.frame.size.width - 16, self.frame.size.height)]; + originalBattery = battery.frame; + [scroller addSubview:battery]; setFrame = YES; - batteryWidget = self; + batteryWidgetController = scroller; + batteryWidget = battery; } [self KaiUpdate]; + [batteryWidget darkLightMode]; } %new -(void)KaiUpdate { [UIView animateWithDuration:0.3 animations:^{ - self.frame = CGRectMake( + batteryWidgetController.frame = CGRectMake( original.origin.x, - original.origin.y + (self.battery.number * 85), + original.origin.y + (batteryWidget.number * 85), original.size.width, original.size.height ); - self.battery.frame = CGRectMake( + batteryWidget.frame = CGRectMake( originalBattery.origin.x, - originalBattery.origin.y - (self.battery.number * 85) + 85, + originalBattery.origin.y - (batteryWidget.number * 85), originalBattery.size.width, originalBattery.size.height ); }]; + [batteryWidget darkLightMode]; } %end