mirror of
https://github.com/NohamR/TrollDecrypt-tvOS.git
synced 2026-07-11 22:41:37 +00:00
Initial Commit
This commit is contained in:
97
TDFileManagerViewController.m
Normal file
97
TDFileManagerViewController.m
Normal file
@@ -0,0 +1,97 @@
|
||||
#import "TDFileManagerViewController.h"
|
||||
#import "TDUtils.h"
|
||||
|
||||
@implementation TDFileManagerViewController
|
||||
|
||||
- (void)loadView {
|
||||
[super loadView];
|
||||
|
||||
self.title = @"Decrypted IPAs";
|
||||
self.fileList = decryptedFileList();
|
||||
|
||||
self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(done)];
|
||||
}
|
||||
|
||||
- (void)refresh {
|
||||
self.fileList = decryptedFileList();
|
||||
[self.tableView reloadData];
|
||||
}
|
||||
|
||||
- (void)done {
|
||||
[self dismissViewControllerAnimated:YES completion:nil];
|
||||
}
|
||||
|
||||
- (NSInteger)numberOfSelectionsInTableView:(UITableView *)tableView {
|
||||
return 1;
|
||||
}
|
||||
|
||||
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
|
||||
return self.fileList.count;
|
||||
}
|
||||
|
||||
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
static NSString *cellIdentifier = @"FileCell";
|
||||
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
|
||||
|
||||
if (!cell) {
|
||||
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:cellIdentifier];
|
||||
}
|
||||
|
||||
NSString *path = [docPath() stringByAppendingPathComponent:self.fileList[indexPath.row]];
|
||||
NSDictionary *attributes = [[NSFileManager defaultManager] attributesOfItemAtPath:path error:nil];
|
||||
NSDate *date = attributes[NSFileModificationDate];
|
||||
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
|
||||
[dateFormatter setDateFormat:@"MMM d, yyyy h:mm a"];
|
||||
|
||||
NSNumber *fileSize = attributes[NSFileSize];
|
||||
|
||||
|
||||
cell.textLabel.text = self.fileList[indexPath.row];
|
||||
cell.detailTextLabel.text = [dateFormatter stringFromDate:date];
|
||||
cell.detailTextLabel.textColor = [UIColor systemGray2Color];
|
||||
cell.imageView.image = [UIImage systemImageNamed:@"doc.fill"];
|
||||
|
||||
UILabel *label = [[UILabel alloc] init];
|
||||
label.text = [NSString stringWithFormat:@"%.2f MB", [fileSize doubleValue] / 1000000.0f];
|
||||
label.textColor = [UIColor systemGray2Color];
|
||||
label.font = [UIFont systemFontOfSize:12.0f];
|
||||
[label sizeToFit];
|
||||
label.textAlignment = NSTextAlignmentCenter;
|
||||
cell.accessoryView = label;
|
||||
|
||||
|
||||
return cell;
|
||||
}
|
||||
|
||||
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
return 65.0f;
|
||||
}
|
||||
|
||||
- (bool)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
return YES;
|
||||
}
|
||||
|
||||
- (UISwipeActionsConfiguration *)tableView:(UITableView *)tableView trailingSwipeActionsConfigurationForRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
UIContextualAction *deleteAction = [UIContextualAction contextualActionWithStyle:UIContextualActionStyleDestructive title:@"Delete" handler:^(UIContextualAction *action, UIView *sourceView, void (^completionHandler)(BOOL)) {
|
||||
NSString *file = self.fileList[indexPath.row];
|
||||
NSString *path = [docPath() stringByAppendingPathComponent:file];
|
||||
[[NSFileManager defaultManager] removeItemAtPath:path error:nil];
|
||||
[self refresh];
|
||||
}];
|
||||
|
||||
UISwipeActionsConfiguration *swipeActions = [UISwipeActionsConfiguration configurationWithActions:@[deleteAction]];
|
||||
return swipeActions;
|
||||
}
|
||||
|
||||
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
|
||||
NSString *file = self.fileList[indexPath.row];
|
||||
NSString *path = [docPath() stringByAppendingPathComponent:file];
|
||||
NSURL *url = [NSURL fileURLWithPath:path];
|
||||
|
||||
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:@[url] applicationActivities:nil];
|
||||
[self presentViewController:activityViewController animated:YES completion:nil];
|
||||
|
||||
[tableView deselectRowAtIndexPath:indexPath animated:YES];
|
||||
}
|
||||
|
||||
@end
|
||||
Reference in New Issue
Block a user