瀏覽代碼

Remove table view based navigation of Cloud Services for tvOS

Felix Paul Kühne 9 年之前
父節點
當前提交
11e4717793

+ 0 - 25
Apple-TV/VLCCloudStorageTVTableViewController.h

@@ -1,25 +0,0 @@
-/*****************************************************************************
- * VLC for iOS
- *****************************************************************************
- * Copyright (c) 2015 VideoLAN. All rights reserved.
- * $Id$
- *
- * Authors: Felix Paul Kühne <fkuehne # videolan.org>
- *
- * Refer to the COPYING file of the official project for license.
- *****************************************************************************/
-
-#import <UIKit/UIKit.h>
-#import "VLCCloudStorageController.h"
-
-@interface VLCCloudStorageTVTableViewController : UITableViewController
-
-@property (nonatomic, strong) VLCCloudStorageController *controller;
-@property (nonatomic, strong) NSString *currentPath;
-@property (nonatomic) BOOL authorizationInProgress;
-@property (nonatomic, strong) UIActivityIndicatorView *activityIndicator;
-
-- (void)updateViewAfterSessionChange;
-- (void)requestInformationForCurrentPath;
-
-@end

+ 0 - 75
Apple-TV/VLCCloudStorageTVTableViewController.m

@@ -1,75 +0,0 @@
-/*****************************************************************************
- * VLC for iOS
- *****************************************************************************
- * Copyright (c) 2015 VideoLAN. All rights reserved.
- * $Id$
- *
- * Authors: Felix Paul Kühne <fkuehne # videolan.org>
- *
- * Refer to the COPYING file of the official project for license.
- *****************************************************************************/
-
-#import "VLCCloudStorageTVTableViewController.h"
-#import "VLCCloudStorageTableViewCell.h"
-
-@implementation VLCCloudStorageTVTableViewController
-
-- (void)viewDidLoad {
-    [super viewDidLoad];
-
-    self.tableView.rowHeight = [VLCCloudStorageTableViewCell heightOfCell];
-
-    self.tableView.backgroundColor = [UIColor VLCLightTextColor];
-
-    _activityIndicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
-    _activityIndicator.hidesWhenStopped = YES;
-    _activityIndicator.translatesAutoresizingMaskIntoConstraints = NO;
-
-    [self.view addSubview:_activityIndicator];
-
-    [self.view addConstraint:[NSLayoutConstraint constraintWithItem:_activityIndicator attribute:NSLayoutAttributeCenterX relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeCenterX multiplier:1.0 constant:0]];
-    [self.view addConstraint:[NSLayoutConstraint constraintWithItem:_activityIndicator attribute:NSLayoutAttributeCenterY relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeCenterY multiplier:1.0 constant:0]];
-}
-
-- (void)mediaListUpdated
-{
-    [_activityIndicator stopAnimating];
-
-    [self.tableView reloadData];
-}
-
-- (void)updateViewAfterSessionChange
-{
-    if (![self.controller isAuthorized]) {
-        [_activityIndicator stopAnimating];
-        return;
-    }
-
-    //reload if we didn't come back from streaming
-    if (self.currentPath == nil)
-        self.currentPath = @"";
-
-    if([self.controller.currentListFiles count] == 0)
-        [self requestInformationForCurrentPath];
-}
-
-- (void)requestInformationForCurrentPath
-{
-    [_activityIndicator startAnimating];
-    [self.controller requestDirectoryListingAtPath:self.currentPath];
-    [_activityIndicator stopAnimating];
-}
-
-#pragma mark - Table view data source
-
-- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
-{
-    return 1;
-}
-
-- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
-{
-    return self.controller.currentListFiles.count;
-}
-
-@end

+ 0 - 71
Apple-TV/VLCCloudStorageTableViewCell.xib

@@ -1,71 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder.AppleTV.XIB" version="3.0" toolsVersion="9527.1" systemVersion="15C27e" targetRuntime="AppleTV" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES">
-    <dependencies>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9525.1"/>
-        <capability name="Constraints to layout margins" minToolsVersion="6.0"/>
-    </dependencies>
-    <objects>
-        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
-        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
-        <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" rowHeight="107" id="hXT-df-h3G" customClass="VLCCloudStorageTableViewCell">
-            <rect key="frame" x="0.0" y="0.0" width="800" height="107"/>
-            <autoresizingMask key="autoresizingMask"/>
-            <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="hXT-df-h3G" id="dsG-Yq-ktP">
-                <rect key="frame" x="0.0" y="0.0" width="784" height="107"/>
-                <autoresizingMask key="autoresizingMask"/>
-                <subviews>
-                    <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="XK7-9R-AfJ" customClass="VLCNetworkImageView">
-                        <rect key="frame" x="8" y="8" width="91" height="91"/>
-                        <constraints>
-                            <constraint firstAttribute="width" constant="91" id="Skw-hL-8l1"/>
-                            <constraint firstAttribute="height" constant="91" id="j8j-bJ-vpn"/>
-                        </constraints>
-                    </imageView>
-                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="744-48-gFJ">
-                        <rect key="frame" x="107" y="36" width="70" height="35"/>
-                        <fontDescription key="fontDescription" style="UICTFontTextStyleSubhead"/>
-                        <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
-                        <nil key="highlightedColor"/>
-                    </label>
-                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="vhO-YQ-1Od">
-                        <rect key="frame" x="107" y="17" width="70" height="35"/>
-                        <fontDescription key="fontDescription" style="UICTFontTextStyleSubhead"/>
-                        <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
-                        <nil key="highlightedColor"/>
-                    </label>
-                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="97b-un-sxc">
-                        <rect key="frame" x="107" y="60" width="61" height="30"/>
-                        <fontDescription key="fontDescription" style="UICTFontTextStyleCaption1"/>
-                        <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
-                        <nil key="highlightedColor"/>
-                    </label>
-                </subviews>
-                <constraints>
-                    <constraint firstItem="97b-un-sxc" firstAttribute="top" secondItem="vhO-YQ-1Od" secondAttribute="bottom" constant="8" id="1Qb-AX-mTz"/>
-                    <constraint firstAttribute="bottomMargin" secondItem="XK7-9R-AfJ" secondAttribute="bottom" id="3WS-Wk-Fkr"/>
-                    <constraint firstItem="744-48-gFJ" firstAttribute="centerY" secondItem="dsG-Yq-ktP" secondAttribute="centerY" id="5fV-f3-MWT"/>
-                    <constraint firstItem="vhO-YQ-1Od" firstAttribute="leading" secondItem="XK7-9R-AfJ" secondAttribute="trailing" constant="8" id="Syv-4s-y6U"/>
-                    <constraint firstAttribute="leadingMargin" secondItem="XK7-9R-AfJ" secondAttribute="leading" id="agW-hM-PCk"/>
-                    <constraint firstItem="vhO-YQ-1Od" firstAttribute="top" secondItem="dsG-Yq-ktP" secondAttribute="topMargin" constant="7" id="gax-lj-sFq"/>
-                    <constraint firstItem="vhO-YQ-1Od" firstAttribute="top" secondItem="dsG-Yq-ktP" secondAttribute="topMargin" constant="9" id="nov-zM-Ymn"/>
-                    <constraint firstItem="97b-un-sxc" firstAttribute="leading" secondItem="XK7-9R-AfJ" secondAttribute="trailing" constant="8" id="p4k-dk-KAi"/>
-                    <constraint firstItem="744-48-gFJ" firstAttribute="leading" secondItem="XK7-9R-AfJ" secondAttribute="trailing" constant="8" id="uZg-hZ-otd"/>
-                    <constraint firstItem="XK7-9R-AfJ" firstAttribute="centerY" secondItem="dsG-Yq-ktP" secondAttribute="centerY" id="yNp-pn-Htf"/>
-                </constraints>
-                <variation key="default">
-                    <mask key="constraints">
-                        <exclude reference="3WS-Wk-Fkr"/>
-                        <exclude reference="gax-lj-sFq"/>
-                    </mask>
-                </variation>
-            </tableViewCellContentView>
-            <connections>
-                <outlet property="folderTitleLabel" destination="744-48-gFJ" id="bnU-2b-StB"/>
-                <outlet property="subtitleLabel" destination="97b-un-sxc" id="1oY-Ma-O6S"/>
-                <outlet property="thumbnailView" destination="XK7-9R-AfJ" id="T6E-Qz-R9R"/>
-                <outlet property="titleLabel" destination="vhO-YQ-1Od" id="DRJ-zk-gfE"/>
-            </connections>
-            <point key="canvasLocation" x="-447" y="402.5"/>
-        </tableViewCell>
-    </objects>
-</document>

+ 0 - 12
Sources/VLCBoxTableViewController.h

@@ -10,20 +10,8 @@
  * Refer to the COPYING file of the official project for license.
  *****************************************************************************/
 
-#if TARGET_OS_IOS
 #import "VLCCloudStorageTableViewController.h"
 
 @interface VLCBoxTableViewController : VLCCloudStorageTableViewController
 
 @end
-
-#else
-#import "VLCCloudStorageTVTableViewController.h"
-
-@interface VLCBoxTableViewController : VLCCloudStorageTVTableViewController
-
-- (instancetype)initWithPath:(NSString *)path;
-
-@end
-
-#endif

+ 0 - 12
Sources/VLCBoxTableViewController.m

@@ -182,13 +182,8 @@
             path = [path stringByAppendingString:@"/"];
         path = [path stringByAppendingString:_selectedFile.modelID];
 
-#if TARGET_OS_TV
-        VLCBoxTableViewController *targetViewController = [[VLCBoxTableViewController alloc] initWithPath:path];
-        [self.navigationController pushViewController:targetViewController animated:YES];
-#else
         self.currentPath = path;
         [self requestInformationForCurrentPath];
-#endif
     }
 }
 
@@ -227,13 +222,6 @@
         /* now ask VLC to stream the URL we were just passed */
         VLCPlaybackController *vpc = [VLCPlaybackController sharedInstance];
         [vpc playURL:theActualURL successCallback:nil errorCallback:nil];
-
-#if TARGET_OS_TV
-        VLCFullscreenMovieTVViewController *movieVC = [VLCFullscreenMovieTVViewController fullscreenMovieTVViewController];
-        [self presentViewController:movieVC
-                           animated:YES
-                         completion:nil];
-#endif
     }
 
     return request;

+ 0 - 106
Sources/VLCCloudStorageTableViewCell.m

@@ -13,17 +13,6 @@
 
 #import "VLCCloudStorageTableViewCell.h"
 #import "VLCNetworkImageView.h"
-#if TARGET_OS_TV
-#import "MetaDataFetcherKit.h"
-#endif
-
-#if TARGET_OS_TV
-@interface VLCCloudStorageTableViewCell () <MDFMovieDBFetcherDataRecipient>
-{
-    MDFMovieDBFetcher *_metadataFetcher;
-}
-@end
-#endif
 
 @implementation VLCCloudStorageTableViewCell
 
@@ -38,26 +27,9 @@
     cell.subtitleLabel.hidden = YES;
     cell.folderTitleLabel.hidden = YES;
 
-#if TARGET_OS_TV
-    [cell prepareForReuse];
-#endif
-
     return cell;
 }
 
-#if TARGET_OS_TV
-- (void)prepareForReuse
-{
-    if (_metadataFetcher) {
-        [_metadataFetcher cancelAllRequests];
-    } else {
-        _metadataFetcher = [[MDFMovieDBFetcher alloc] init];
-        _metadataFetcher.dataRecipient = self;
-        _metadataFetcher.shouldDecrapifyInputStrings = YES;
-    }
-}
-#endif
-
 - (void)setDropboxFile:(DBMetadata *)dropboxFile
 {
     if (dropboxFile != _dropboxFile)
@@ -106,9 +78,6 @@
         } else {
             NSString *title = self.dropboxFile.filename;
             self.titleLabel.text = title;
-#if TARGET_OS_TV
-            [_metadataFetcher searchForMovie:title];
-#endif
             self.subtitleLabel.text = (self.dropboxFile.totalBytes > 0) ? self.dropboxFile.humanReadableSize : @"";
             self.titleLabel.hidden = self.subtitleLabel.hidden = NO;
             self.folderTitleLabel.hidden = YES;
@@ -146,11 +115,6 @@
             if (_driveFile.thumbnailLink != nil) {
                 [self.thumbnailView setImageWithURL:[NSURL URLWithString:_driveFile.thumbnailLink]];
             }
-#if TARGET_OS_TV
-            else {
-                [_metadataFetcher searchForMovie:title];
-            }
-#endif
         }
         NSString *iconName = self.driveFile.iconLink;
         if (isDirectory) {
@@ -174,9 +138,6 @@
         } else {
             NSString *title = self.boxFile.name;
             self.titleLabel.text = title;
-#if TARGET_OS_TV
-            [_metadataFetcher searchForMovie:title];
-#endif
             self.subtitleLabel.text = (self.boxFile.size > 0) ? [NSByteCountFormatter stringFromByteCount:[self.boxFile.size longLongValue] countStyle:NSByteCountFormatterCountStyleFile]: @"";
             self.titleLabel.hidden = self.subtitleLabel.hidden = NO;
             self.folderTitleLabel.hidden = YES;
@@ -216,11 +177,6 @@
                 if (thumbnailURLString) {
                     [self.thumbnailView setImageWithURL:[NSURL URLWithString:thumbnailURLString]];
                 }
-#if TARGET_OS_TV
-                else {
-                    [_metadataFetcher searchForMovie:title];
-                }
-#endif
             } else
                 self.thumbnailView.image = [UIImage imageNamed:@"blank"];
 
@@ -266,66 +222,4 @@
     self.downloadButton.hidden = !isDownloadable;
 }
 
-#if TARGET_OS_TV
-- (void)MDFMovieDBFetcher:(MDFMovieDBFetcher *)aFetcher didFindMovie:(MDFMovie *)details forSearchRequest:(NSString *)searchRequest
-{
-    if (details == nil)
-        return;
-    [aFetcher cancelAllRequests];
-    MDFMovieDBSessionManager *sessionManager = [MDFMovieDBSessionManager sharedInstance];
-    if (!sessionManager.hasFetchedProperties)
-        return;
-
-    if (details.movieDBID == 0) {
-        /* we found nothing, let's see if it's a TV show */
-        [_metadataFetcher searchForTVShow:searchRequest];
-        return;
-    }
-
-    NSString *imagePath = details.posterPath;
-    if (!imagePath)
-        imagePath = details.backdropPath;
-    if (!imagePath)
-        return;
-
-    NSString *thumbnailURLString = [NSString stringWithFormat:@"%@%@%@",
-                                    sessionManager.imageBaseURL,
-                                    sessionManager.posterSizes.firstObject,
-                                    details.posterPath];
-    [self.thumbnailView setImageWithURL:[NSURL URLWithString:thumbnailURLString]];
-}
-
-- (void)MDFMovieDBFetcher:(MDFMovieDBFetcher *)aFetcher didFailToFindMovieForSearchRequest:(NSString *)searchRequest
-{
-    APLog(@"Failed to find a movie for '%@'", searchRequest);
-}
-
--(void)MDFMovieDBFetcher:(MDFMovieDBFetcher *)aFetcher didFindTVShow:(MDFTVShow *)details forSearchRequest:(NSString *)searchRequest
-{
-    if (details == nil)
-        return;
-    [aFetcher cancelAllRequests];
-    MDFMovieDBSessionManager *sessionManager = [MDFMovieDBSessionManager sharedInstance];
-    if (!sessionManager.hasFetchedProperties)
-        return;
-
-    NSString *imagePath = details.posterPath;
-    if (!imagePath)
-        imagePath = details.backdropPath;
-    if (!imagePath)
-        return;
-
-    NSString *thumbnailURLString = [NSString stringWithFormat:@"%@%@%@",
-                                    sessionManager.imageBaseURL,
-                                    sessionManager.posterSizes.firstObject,
-                                    details.posterPath];
-    [self.thumbnailView setImageWithURL:[NSURL URLWithString:thumbnailURLString]];
-}
-
-- (void)MDFMovieDBFetcher:(MDFMovieDBFetcher *)aFetcher didFailToFindTVShowForSearchRequest:(NSString *)searchRequest
-{
-    APLog(@"failed to find TV show");
-}
-#endif
-
 @end

+ 0 - 13
Sources/VLCDropboxTableViewController.h

@@ -12,21 +12,8 @@
  *****************************************************************************/
 
 #import "VLCDropboxController.h"
-
-#if TARGET_OS_IOS
 #import "VLCCloudStorageTableViewController.h"
 
 @interface VLCDropboxTableViewController : VLCCloudStorageTableViewController
 
 @end
-
-#else
-#import "VLCCloudStorageTVTableViewController.h"
-
-@interface VLCDropboxTableViewController : VLCCloudStorageTVTableViewController
-
-- (instancetype)initWithPath:(NSString *)path;
-
-@end
-
-#endif

+ 0 - 6
Sources/VLCDropboxTableViewController.m

@@ -134,14 +134,8 @@
     else {
         /* dive into subdirectory */
         NSString *futurePath = [self.currentPath stringByAppendingFormat:@"/%@", _selectedFile.filename];
-#if TARGET_OS_TV
-        [_dropboxController reset];
-        VLCDropboxTableViewController *targetViewController = [[VLCDropboxTableViewController alloc] initWithPath:futurePath];
-        [self.navigationController pushViewController:targetViewController animated:YES];
-#else
         self.currentPath = futurePath;
         [self requestInformationForCurrentPath];
-#endif
     }
     _selectedFile = nil;
 

+ 0 - 10
Sources/VLCOneDriveTableViewController.h

@@ -10,18 +10,8 @@
  * Refer to the COPYING file of the official project for license.
  *****************************************************************************/
 
-#if TARGET_OS_IOS
 #import "VLCCloudStorageTableViewController.h"
 
 @interface VLCOneDriveTableViewController : VLCCloudStorageTableViewController
 
 @end
-
-#else
-#import "VLCCloudStorageTVTableViewController.h"
-
-@interface VLCOneDriveTableViewController : VLCCloudStorageTVTableViewController
-
-@end
-
-#endif

+ 0 - 6
Sources/VLCOneDriveTableViewController.m

@@ -115,12 +115,6 @@
         NSURL *url = [NSURL URLWithString:selectedObject.downloadPath];
         VLCPlaybackController *vpc = [VLCPlaybackController sharedInstance];
         [vpc playURL:url successCallback:nil errorCallback:nil];
-#if TARGET_OS_TV
-        VLCFullscreenMovieTVViewController *movieVC = [VLCFullscreenMovieTVViewController fullscreenMovieTVViewController];
-        [self presentViewController:movieVC
-                           animated:YES
-                         completion:nil];
-#endif
     }
 
     [self.tableView deselectRowAtIndexPath:indexPath animated:NO];

+ 0 - 18
VLC for iOS.xcodeproj/project.pbxproj

@@ -37,7 +37,6 @@
 		7D0C352F1BD97BC50058CD19 /* libLiveTVSDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7D0C352E1BD97BC50058CD19 /* libLiveTVSDK.a */; };
 		7D0C35331BD97C100058CD19 /* VLCOneDriveController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D1052ED1A4DCD1E00295F08 /* VLCOneDriveController.m */; };
 		7D0C35341BD97C7B0058CD19 /* VLCOneDriveObject.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DB847D61A5871570002DC30 /* VLCOneDriveObject.m */; };
-		7D0C35371BD97E870058CD19 /* VLCOneDriveTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D1052E81A4DCC1100295F08 /* VLCOneDriveTableViewController.m */; };
 		7D0EDE061BE774BF00363AA1 /* WhiteRaccoon.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DC72D6217B7ED24008A26D0 /* WhiteRaccoon.m */; };
 		7D0EDE091BE7752800363AA1 /* VLCLocalNetworkServiceBrowserFTP.m in Sources */ = {isa = PBXBuildFile; fileRef = DD3EFEF21BDEBCE500B68579 /* VLCLocalNetworkServiceBrowserFTP.m */; };
 		7D0EDE0A1BE7752C00363AA1 /* VLCNetworkServerBrowserFTP.m in Sources */ = {isa = PBXBuildFile; fileRef = DD3EFEF61BDEBCE500B68579 /* VLCNetworkServerBrowserFTP.m */; };
@@ -49,7 +48,6 @@
 		7D13347C1BE132EA0012E919 /* VLCLocalNetworkServiceBrowserUPnP.m in Sources */ = {isa = PBXBuildFile; fileRef = DD3EFF231BDEBCE500B68579 /* VLCLocalNetworkServiceBrowserUPnP.m */; };
 		7D13347F1BE132ED0012E919 /* VLCLocalNetworkServiceUPnP.m in Sources */ = {isa = PBXBuildFile; fileRef = DD3EFF251BDEBCE500B68579 /* VLCLocalNetworkServiceUPnP.m */; };
 		7D1334801BE132F10012E919 /* VLCNetworkServerBrowserUPnP.m in Sources */ = {isa = PBXBuildFile; fileRef = DD3EFF271BDEBCE500B68579 /* VLCNetworkServerBrowserUPnP.m */; };
-		7D1334831BE135700012E919 /* VLCCloudStorageTVTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D1334821BE135700012E919 /* VLCCloudStorageTVTableViewController.m */; };
 		7D1516421868D7E0004B18F3 /* VLCFirstStepsFifthPageViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7D15163B1868D7E0004B18F3 /* VLCFirstStepsFifthPageViewController.xib */; };
 		7D1516431868D7E0004B18F3 /* VLCFirstStepsFirstPageViewController~iphone.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7D15163C1868D7E0004B18F3 /* VLCFirstStepsFirstPageViewController~iphone.xib */; };
 		7D1516461868D7E0004B18F3 /* VLCFirstStepsSixthPageViewController~iphone.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7D15163F1868D7E0004B18F3 /* VLCFirstStepsSixthPageViewController~iphone.xib */; };
@@ -116,7 +114,6 @@
 		7D405EDB1BEA1F56006ED886 /* main.js in Resources */ = {isa = PBXBuildFile; fileRef = 7D00161A17704DAC00649F27 /* main.js */; };
 		7D405EE21BEA1FAD006ED886 /* index.html in Resources */ = {isa = PBXBuildFile; fileRef = 7D405EE11BEA1FAD006ED886 /* index.html */; };
 		7D4408591BDA8DCA0080FB42 /* VLCBoxController.m in Sources */ = {isa = PBXBuildFile; fileRef = 41CD69591A29D72600E60BCE /* VLCBoxController.m */; };
-		7D44085A1BDA8DCE0080FB42 /* VLCBoxTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 41CD695B1A29D72600E60BCE /* VLCBoxTableViewController.m */; };
 		7D4625881A5614A1001A80B4 /* VLCEqualizerView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D4625871A5614A1001A80B4 /* VLCEqualizerView.m */; };
 		7D4DF2181B55209200739326 /* CoreSpotlight.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7D4DF2171B55209200739326 /* CoreSpotlight.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
 		7D50903218F41C7900180139 /* VLCAlertView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D50903118F41C7900180139 /* VLCAlertView.m */; };
@@ -130,9 +127,6 @@
 		7D5CAA8C1A4AD8E5003F2CBC /* VLCTrackSelectorHeaderView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D5CAA8B1A4AD8E5003F2CBC /* VLCTrackSelectorHeaderView.m */; };
 		7D5DD5C717590ABF001421E3 /* About Contents.html in Resources */ = {isa = PBXBuildFile; fileRef = 7D5DD5C617590ABF001421E3 /* About Contents.html */; };
 		7D6069691BD92E6900AB765C /* libSDropboxSDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7D5278CD1BD7DE3D00D0CA0E /* libSDropboxSDK.a */; };
-		7D60696B1BD93AC800AB765C /* VLCDropboxTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D3784AC183A9906009EE944 /* VLCDropboxTableViewController.m */; };
-		7D60696C1BD93BE200AB765C /* VLCCloudStorageTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D3784B0183A990F009EE944 /* VLCCloudStorageTableViewCell.m */; };
-		7D6069721BD94AD600AB765C /* VLCCloudStorageTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7D6069711BD94AD600AB765C /* VLCCloudStorageTableViewCell.xib */; };
 		7D63C19018774B1700BD5256 /* VLCFirstStepsSecondPageViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D63C18E18774B1700BD5256 /* VLCFirstStepsSecondPageViewController.m */; };
 		7D63C19518774E0100BD5256 /* VLCFirstStepsThirdPageViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7D63C19418774E0100BD5256 /* VLCFirstStepsThirdPageViewController~ipad.xib */; };
 		7D63C19718774F1000BD5256 /* VLCFirstStepsFourthPageViewController~ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7D63C19618774F1000BD5256 /* VLCFirstStepsFourthPageViewController~ipad.xib */; };
@@ -542,8 +536,6 @@
 		7D13297A1BA313D500BE647E /* TVPrefixHeader.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TVPrefixHeader.pch; sourceTree = "<group>"; };
 		7D13297B1BA3142100BE647E /* libTVVLCKit.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTVVLCKit.a; path = "ImportedSources/VLCKit/build/Debug-appletvos/libTVVLCKit.a"; sourceTree = "<group>"; };
 		7D13297D1BA3160C00BE647E /* libTVVLCKit.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libTVVLCKit.a; path = "ImportedSources/VLCKit/build/Debug-appletvos/libTVVLCKit.a"; sourceTree = "<group>"; };
-		7D1334811BE135700012E919 /* VLCCloudStorageTVTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VLCCloudStorageTVTableViewController.h; sourceTree = "<group>"; };
-		7D1334821BE135700012E919 /* VLCCloudStorageTVTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VLCCloudStorageTVTableViewController.m; sourceTree = "<group>"; };
 		7D15163B1868D7E0004B18F3 /* VLCFirstStepsFifthPageViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = VLCFirstStepsFifthPageViewController.xib; path = Resources/VLCFirstStepsFifthPageViewController.xib; sourceTree = SOURCE_ROOT; };
 		7D15163C1868D7E0004B18F3 /* VLCFirstStepsFirstPageViewController~iphone.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = "VLCFirstStepsFirstPageViewController~iphone.xib"; path = "Resources/VLCFirstStepsFirstPageViewController~iphone.xib"; sourceTree = SOURCE_ROOT; };
 		7D15163F1868D7E0004B18F3 /* VLCFirstStepsSixthPageViewController~iphone.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = "VLCFirstStepsSixthPageViewController~iphone.xib"; path = "Resources/VLCFirstStepsSixthPageViewController~iphone.xib"; sourceTree = SOURCE_ROOT; };
@@ -677,7 +669,6 @@
 		7D5CAA8A1A4AD8E5003F2CBC /* VLCTrackSelectorHeaderView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VLCTrackSelectorHeaderView.h; path = Sources/VLCTrackSelectorHeaderView.h; sourceTree = SOURCE_ROOT; };
 		7D5CAA8B1A4AD8E5003F2CBC /* VLCTrackSelectorHeaderView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = VLCTrackSelectorHeaderView.m; path = Sources/VLCTrackSelectorHeaderView.m; sourceTree = SOURCE_ROOT; };
 		7D5DD5C617590ABF001421E3 /* About Contents.html */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.html; path = "About Contents.html"; sourceTree = "<group>"; };
-		7D6069711BD94AD600AB765C /* VLCCloudStorageTableViewCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = VLCCloudStorageTableViewCell.xib; path = "Apple-TV/VLCCloudStorageTableViewCell.xib"; sourceTree = SOURCE_ROOT; };
 		7D63C18D18774B1700BD5256 /* VLCFirstStepsSecondPageViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VLCFirstStepsSecondPageViewController.h; path = Sources/VLCFirstStepsSecondPageViewController.h; sourceTree = SOURCE_ROOT; };
 		7D63C18E18774B1700BD5256 /* VLCFirstStepsSecondPageViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = VLCFirstStepsSecondPageViewController.m; path = Sources/VLCFirstStepsSecondPageViewController.m; sourceTree = SOURCE_ROOT; };
 		7D63C19418774E0100BD5256 /* VLCFirstStepsThirdPageViewController~ipad.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = "VLCFirstStepsThirdPageViewController~ipad.xib"; path = "Resources/VLCFirstStepsThirdPageViewController~ipad.xib"; sourceTree = SOURCE_ROOT; };
@@ -1279,8 +1270,6 @@
 				7D3E52891BD7B5E100309D15 /* VLCCloudServicesTVViewController.m */,
 				7DF383BF1BF231BC00D71A5C /* VLCCloudStorageTVViewController.h */,
 				7DF383C01BF231BC00D71A5C /* VLCCloudStorageTVViewController.m */,
-				7D1334811BE135700012E919 /* VLCCloudStorageTVTableViewController.h */,
-				7D1334821BE135700012E919 /* VLCCloudStorageTVTableViewController.m */,
 				7D5278C31BD7DE3D00D0CA0E /* DropboxSDK.xcodeproj */,
 			);
 			name = Cloud;
@@ -1664,7 +1653,6 @@
 			isa = PBXGroup;
 			children = (
 				7DDE418E1BE9225A0065C53A /* VLCAboutViewController.xib */,
-				7D6069711BD94AD600AB765C /* VLCCloudStorageTableViewCell.xib */,
 				DD3EAC121BE26166003668DA /* VLCRemoteBrowsingTVCell.xib */,
 				7DF383AD1BF206FB00D71A5C /* VLCRemoteBrowsingCollectionViewController.xib */,
 				7D3E528A1BD7B5E100309D15 /* VLCCloudServicesTVViewController.xib */,
@@ -2424,7 +2412,6 @@
 				7D405EDB1BEA1F56006ED886 /* main.js in Resources */,
 				DD8095E51BE3F4240065D8E1 /* VLCPlaybackInfoTVViewController.xib in Resources */,
 				7D405ED91BEA1F56006ED886 /* jquery.ui.widget.js in Resources */,
-				7D6069721BD94AD600AB765C /* VLCCloudStorageTableViewCell.xib in Resources */,
 				7D405ED71BEA1F56006ED886 /* jquery.fileupload.js in Resources */,
 				7DEC8BDF1BD67899006E1093 /* VLCFullscreenMovieTVViewController.xib in Resources */,
 				7DEDD38C1BE936130053802C /* About Contents.html in Resources */,
@@ -2634,7 +2621,6 @@
 			files = (
 				DD3EFF441BDEBCE500B68579 /* VLCSharedLibraryParser.m in Sources */,
 				DD3EFF5E1BDEBCE500B68579 /* VLCLocalServerDiscoveryController.m in Sources */,
-				7D0C35371BD97E870058CD19 /* VLCOneDriveTableViewController.m in Sources */,
 				DD8095E01BE3EFC20065D8E1 /* VLCPlaybackInfoTVViewController.m in Sources */,
 				7DEC8C1F1BD6A113006E1093 /* UIDevice+VLC.m in Sources */,
 				DDEAECFE1BDFFAEE00756C83 /* Reachability.m in Sources */,
@@ -2660,12 +2646,10 @@
 				7D0EDE091BE7752800363AA1 /* VLCLocalNetworkServiceBrowserFTP.m in Sources */,
 				7DF383C11BF231BC00D71A5C /* VLCCloudStorageTVViewController.m in Sources */,
 				DD8095F91BE6268A0065D8E1 /* VLCPlaybackInfoPanelTVViewController.m in Sources */,
-				7D60696C1BD93BE200AB765C /* VLCCloudStorageTableViewCell.m in Sources */,
 				DD3EABE91BE13D5B003668DA /* VLCRemoteBrowsingTVCell.m in Sources */,
 				DD3EABFD1BE14C4B003668DA /* UIViewController+VLCAlert.m in Sources */,
 				7D7EF3DD1BD5779F00CD4CEE /* VLCPlaybackController.m in Sources */,
 				DD3EFF361BDEBCE500B68579 /* VLCLocalNetworkServiceBrowserNetService.m in Sources */,
-				7D1334831BE135700012E919 /* VLCCloudStorageTVTableViewController.m in Sources */,
 				7D51B3B01BF0EEF4005AF4D5 /* VLCPlaybackInfoMediaInfoTVViewController.m in Sources */,
 				7D13347C1BE132EA0012E919 /* VLCLocalNetworkServiceBrowserUPnP.m in Sources */,
 				DDEAECF11BDFE9E800756C83 /* VLCServerListTVTableViewController.m in Sources */,
@@ -2673,7 +2657,6 @@
 				DD3EFF501BDEBCE500B68579 /* VLCPlexParser.m in Sources */,
 				7D405ED31BEA11CD006ED886 /* VLCHTTPUploaderController.m in Sources */,
 				7DF90B4B1BE7A8110059C0E3 /* IASKSpecifier.m in Sources */,
-				7D44085A1BDA8DCE0080FB42 /* VLCBoxTableViewController.m in Sources */,
 				7D0EDE0A1BE7752C00363AA1 /* VLCNetworkServerBrowserFTP.m in Sources */,
 				DD3EFF4E1BDEBCE500B68579 /* VLCNetworkServerBrowserPlex.m in Sources */,
 				7DF90B4A1BE7A8110059C0E3 /* IASKSettingsReader.m in Sources */,
@@ -2689,7 +2672,6 @@
 				7D0C35341BD97C7B0058CD19 /* VLCOneDriveObject.m in Sources */,
 				7D0C35331BD97C100058CD19 /* VLCOneDriveController.m in Sources */,
 				7D0EDE061BE774BF00363AA1 /* WhiteRaccoon.m in Sources */,
-				7D60696B1BD93AC800AB765C /* VLCDropboxTableViewController.m in Sources */,
 				7DF383C71BF23AC000D71A5C /* VLCCloudStorageCollectionViewCell.m in Sources */,
 				DD13A37B1BEE2FAA00A35554 /* VLCMaskView.m in Sources */,
 				7DF383AC1BF206F100D71A5C /* VLCRemoteBrowsingCollectionViewController.m in Sources */,