From ff4151ad0ea5a067a31cb54585c8bbf971cce561 Mon Sep 17 00:00:00 2001 From: embeddedc <> Date: Wed, 17 Aug 2022 21:13:22 +0200 Subject: [PATCH] Add reverse list handling --- .../VLCOpenNetworkStreamTVViewController.m | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/Apple-TV/VLCOpenNetworkStreamTVViewController.m b/Apple-TV/VLCOpenNetworkStreamTVViewController.m index 3a43812ba6..5fd9392a00 100644 --- a/Apple-TV/VLCOpenNetworkStreamTVViewController.m +++ b/Apple-TV/VLCOpenNetworkStreamTVViewController.m @@ -19,7 +19,7 @@ @interface VLCOpenNetworkStreamTVViewController () { NSMutableArray *_recentURLs; NSMutableDictionary *_recentURLTitles; - BOOL newestFirst; + BOOL _newestFirst; } @property (nonatomic) NSIndexPath *currentlyFocusedIndexPath; @end @@ -53,7 +53,7 @@ - (void)viewDidLoad { self.emptyListButton.accessibilityLabel = NSLocalizedString(@"BUTTON_RESET", nil); self.reverseListSortingButton.accessibilityLabel = NSLocalizedString(@"BUTTON_REVERSE", nil); - newestFirst = false; + _newestFirst = false; self.previouslyPlayedStreamsTableView.backgroundColor = [UIColor clearColor]; self.previouslyPlayedStreamsTableView.rowHeight = UITableViewAutomaticDimension; @@ -112,8 +112,9 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:@"RecentlyPlayedURLsTableViewCell"]; } - NSString *content = [_recentURLs[indexPath.row] stringByRemovingPercentEncoding]; - NSString *possibleTitle = _recentURLTitles[[@(indexPath.row) stringValue]]; + NSInteger index = _newestFirst ? _recentURLs.count - 1 - indexPath.row : indexPath.row; + NSString *content = [_recentURLs[index] stringByRemovingPercentEncoding]; + NSString *possibleTitle = _recentURLTitles[[@(index) stringValue]]; cell.detailTextLabel.text = content; cell.textLabel.text = (possibleTitle != nil) ? possibleTitle : [content lastPathComponent]; @@ -124,7 +125,8 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { [self.previouslyPlayedStreamsTableView deselectRowAtIndexPath:indexPath animated:NO]; - [self _openURLStringAndDismiss:_recentURLs[indexPath.row]]; + NSInteger index = _newestFirst ? _recentURLs.count - 1 - indexPath.row : indexPath.row; + [self _openURLStringAndDismiss:_recentURLs[index]]; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section @@ -211,13 +213,14 @@ - (void)emptyListAction:(id)sender - (IBAction)reverseListSortingAction:(id)sender { - newestFirst = !newestFirst; - - if (newestFirst) { + _newestFirst = !_newestFirst; + if (_newestFirst) { self.reverseListSortingButton.transform = CGAffineTransformMakeRotation( M_PI ); } else { self.reverseListSortingButton.transform = CGAffineTransformIdentity; } + + [self.previouslyPlayedStreamsTableView reloadData]; } #pragma mark - editing @@ -237,7 +240,7 @@ - (NSString *)itemToDelete NSString *ret = nil; @synchronized(_recentURLs) { - NSInteger index = indexPathToDelete.item; + NSInteger index = _newestFirst ? _recentURLs.count - 1 - indexPathToDelete.item : indexPathToDelete.item; if (index < _recentURLs.count) { ret = _recentURLs[index]; }