mirror of
https://github.com/arichornlover/uYouEnhanced.git
synced 2026-04-19 18:12:06 +00:00
Added RootOptionsController
This commit is contained in:
parent
0944e52aef
commit
60d80697e2
1 changed files with 178 additions and 0 deletions
178
Sources/RootOptionsController.m
Normal file
178
Sources/RootOptionsController.m
Normal file
|
|
@ -0,0 +1,178 @@
|
|||
#import "RootOptionsController.h"
|
||||
#import "ColourOptionsController.h"
|
||||
#import "ColourOptionsController2.h"
|
||||
|
||||
#define SYSTEM_VERSION_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedSame)
|
||||
#define SYSTEM_VERSION_GREATER_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedDescending)
|
||||
#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)
|
||||
#define SYSTEM_VERSION_LESS_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending)
|
||||
#define SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedDescending)
|
||||
|
||||
@interface RootOptionsController ()
|
||||
@end
|
||||
|
||||
@implementation RootOptionsController
|
||||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
[self coloursView];
|
||||
|
||||
self.title = @"uYouPlus Extras Menu";
|
||||
|
||||
UIBarButtonItem *doneButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(done)];
|
||||
self.navigationItem.leftBarButtonItem = doneButton;
|
||||
|
||||
UITableViewStyle style;
|
||||
if (@available(iOS 13, *)) {
|
||||
style = UITableViewStyleInsetGrouped;
|
||||
} else {
|
||||
style = UITableViewStyleGrouped;
|
||||
}
|
||||
|
||||
self.tableView = [[UITableView alloc] initWithFrame:CGRectZero style:style];
|
||||
self.tableView.translatesAutoresizingMaskIntoConstraints = NO;
|
||||
self.tableView.dataSource = self;
|
||||
self.tableView.delegate = self;
|
||||
[self.view addSubview:self.tableView];
|
||||
|
||||
[NSLayoutConstraint activateConstraints:@[
|
||||
[self.tableView.centerXAnchor constraintEqualToAnchor:self.view.centerXAnchor],
|
||||
[self.tableView.centerYAnchor constraintEqualToAnchor:self.view.centerYAnchor],
|
||||
[self.tableView.widthAnchor constraintEqualToAnchor:self.view.widthAnchor],
|
||||
[self.tableView.heightAnchor constraintEqualToAnchor:self.view.heightAnchor]
|
||||
]];
|
||||
}
|
||||
|
||||
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
|
||||
return 1;
|
||||
}
|
||||
|
||||
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
|
||||
if (section == 0) {
|
||||
return 2;
|
||||
}
|
||||
if (section == 1) {
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
static NSString *CellIdentifier = @"RootTableViewCell";
|
||||
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
|
||||
|
||||
if (cell == nil) {
|
||||
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"cell"];
|
||||
cell.textLabel.adjustsFontSizeToFitWidth = YES;
|
||||
cell.detailTextLabel.adjustsFontSizeToFitWidth = YES;
|
||||
if (self.traitCollection.userInterfaceStyle == UIUserInterfaceStyleLight) {
|
||||
cell.backgroundColor = [UIColor colorWithRed:1.0 green:1.0 blue:1.0 alpha:1.0];
|
||||
cell.textLabel.textColor = [UIColor blackColor];
|
||||
cell.detailTextLabel.textColor = [UIColor blackColor];
|
||||
}
|
||||
else {
|
||||
cell.backgroundColor = [UIColor colorWithRed:0.110 green:0.110 blue:0.118 alpha:1.0];
|
||||
cell.textLabel.textColor = [UIColor whiteColor];
|
||||
cell.textLabel.shadowColor = [UIColor blackColor];
|
||||
cell.textLabel.shadowOffset = CGSizeMake(1.0, 1.0);
|
||||
cell.detailTextLabel.textColor = [UIColor whiteColor];
|
||||
}
|
||||
if (indexPath.section == 0) {
|
||||
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
|
||||
if (indexPath.row == 0) {
|
||||
cell.textLabel.text = @"Custom Theme Color";
|
||||
cell.imageView.image = [UIImage systemImageNamed:@"slider.horizontal.3"];
|
||||
cell.imageView.tintColor = cell.textLabel.textColor;
|
||||
}
|
||||
if (indexPath.row == 1) {
|
||||
cell.textLabel.text = @"Custom LowContrastMode Color";
|
||||
cell.imageView.image = [UIImage systemImageNamed:@"drop.fill"];
|
||||
cell.imageView.tintColor = cell.textLabel.textColor;
|
||||
}
|
||||
}
|
||||
if (indexPath.section == 1) {
|
||||
if (indexPath.row == 0) {
|
||||
cell.textLabel.text = @"Clear Cache";
|
||||
UILabel *cache = [[UILabel alloc] init];
|
||||
cache.text = [self getCacheSize];
|
||||
cache.textColor = [UIColor secondaryLabelColor];
|
||||
cache.font = [UIFont systemFontOfSize:16];
|
||||
cache.textAlignment = NSTextAlignmentRight;
|
||||
[cache sizeToFit];
|
||||
cell.accessoryView = cache;
|
||||
cell.imageView.image = [UIImage systemImageNamed:@"trash"];
|
||||
cell.imageView.tintColor = cell.textLabel.textColor;
|
||||
}
|
||||
}
|
||||
}
|
||||
return cell;
|
||||
}
|
||||
|
||||
- (NSString *)getCacheSize {
|
||||
NSString *cachePath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).firstObject;
|
||||
NSArray *filesArray = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:cachePath error:nil];
|
||||
|
||||
unsigned long long int folderSize = 0;
|
||||
for (NSString *fileName in filesArray) {
|
||||
NSString *filePath = [cachePath stringByAppendingPathComponent:fileName];
|
||||
NSDictionary *fileAttributes = [[NSFileManager defaultManager] attributesOfItemAtPath:filePath error:nil];
|
||||
folderSize += [fileAttributes fileSize];
|
||||
}
|
||||
|
||||
NSByteCountFormatter *formatter = [[NSByteCountFormatter alloc] init];
|
||||
formatter.countStyle = NSByteCountFormatterCountStyleFile;
|
||||
|
||||
return [formatter stringFromByteCount:folderSize];
|
||||
}
|
||||
|
||||
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
[tableView deselectRowAtIndexPath:indexPath animated:YES];
|
||||
if (indexPath.section == 0) {
|
||||
if (indexPath.row == 0) {
|
||||
ColourOptionsController *colourOptionsController = [[ColourOptionsController alloc] init];
|
||||
UINavigationController *colourOptionsControllerView = [[UINavigationController alloc] initWithRootViewController:colourOptionsController];
|
||||
colourOptionsControllerView.modalPresentationStyle = UIModalPresentationFullScreen;
|
||||
|
||||
[self presentViewController:videoOptionsControllerView animated:YES completion:nil];
|
||||
}
|
||||
if (indexPath.row == 1) {
|
||||
ColourOptionsController2 *colourOptionsController2 = [[ColourOptionsController2 alloc] init];
|
||||
UINavigationController *colourOptionsController2View = [[UINavigationController alloc] initWithRootViewController:colourOptionsController2];
|
||||
colourOptionsController2View.modalPresentationStyle = UIModalPresentationFullScreen;
|
||||
|
||||
[self presentViewController:videoPlayerOptionsControllerView animated:YES completion:nil];
|
||||
}
|
||||
}
|
||||
if (indexPath.section == 1) {
|
||||
if (indexPath.row == 0) {
|
||||
UIActivityIndicatorView *activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleMedium];
|
||||
activityIndicator.color = [UIColor labelColor];
|
||||
[activityIndicator startAnimating];
|
||||
UITableViewCell *cell = [tableView cellForRowAtIndexPath:indexPath];
|
||||
cell.accessoryView = activityIndicator;
|
||||
|
||||
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
|
||||
NSString *cachePath = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES).firstObject;
|
||||
[[NSFileManager defaultManager] removeItemAtPath:cachePath error:nil];
|
||||
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
[self.tableView reloadRowsAtIndexPaths:@[[NSIndexPath indexPathForRow:0 inSection:1]] withRowAnimation:UITableViewRowAnimationNone];
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
- (void)traitCollectionDidChange:(UITraitCollection *)previousTraitCollection {
|
||||
[super traitCollectionDidChange:previousTraitCollection];
|
||||
[self.tableView reloadData];
|
||||
}
|
||||
|
||||
@end
|
||||
|
||||
@implementation RootOptionsController (Privates)
|
||||
|
||||
- (void)done {
|
||||
[self.presentingViewController dismissViewControllerAnimated:YES completion:nil];
|
||||
}
|
||||
|
||||
@end
|
||||
Loading…
Reference in a new issue