소스 검색

Refactor cloud storage collection view cell code as category instead of class

This removes a hack from the class' xib file
Felix Paul Kühne 9 년 전
부모
커밋
2ecd7b9f88

+ 0 - 1
Apple-TV/VLCCloudStorageTVViewController.h

@@ -11,7 +11,6 @@
 
 #import "VLCRemoteBrowsingCollectionViewController.h"
 #import "VLCCloudStorageController.h"
-#import "VLCCloudStorageCollectionViewCell.h"
 
 @interface VLCCloudStorageTVViewController : VLCRemoteBrowsingCollectionViewController
 

+ 0 - 1
Apple-TV/VLCCloudStorageTVViewController.m

@@ -10,7 +10,6 @@
  *****************************************************************************/
 
 #import "VLCCloudStorageTVViewController.h"
-#import "VLCCloudStorageCollectionViewCell.h"
 
 @interface VLCCloudStorageTVViewController ()
 

+ 3 - 3
Apple-TV/VLCRemoteBrowsingTVCell.xib

@@ -1,13 +1,13 @@
 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<document type="com.apple.InterfaceBuilder.AppleTV.XIB" version="3.0" toolsVersion="9059" systemVersion="15B42" targetRuntime="AppleTV" propertyAccessControl="none" useAutolayout="YES">
+<document type="com.apple.InterfaceBuilder.AppleTV.XIB" version="3.0" toolsVersion="9060" systemVersion="15C40a" targetRuntime="AppleTV" propertyAccessControl="none" useAutolayout="YES">
     <dependencies>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9049"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9051"/>
         <capability name="Aspect ratio constraints" minToolsVersion="5.1"/>
     </dependencies>
     <objects>
         <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
         <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
-        <collectionViewCell opaque="NO" multipleTouchEnabled="YES" contentMode="center" id="Q7n-Zw-Frg" customClass="VLCCloudStorageCollectionViewCell">
+        <collectionViewCell opaque="NO" multipleTouchEnabled="YES" contentMode="center" id="Q7n-Zw-Frg" customClass="VLCRemoteBrowsingTVCell">
             <rect key="frame" x="0.0" y="0.0" width="308" height="308"/>
             <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
             <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">

+ 2 - 1
SharedSources/Clouds/VLCBoxCollectionViewController.m

@@ -15,6 +15,7 @@
 #import "VLCBoxController.h"
 #import <SSKeychain/SSKeychain.h>
 #import "VLCPlaybackController.h"
+#import "VLCRemoteBrowsingTVCell+CloudStorage.h"
 
 @interface VLCBoxCollectionViewController () <VLCCloudStorageDelegate, NSURLConnectionDataDelegate>
 {
@@ -92,7 +93,7 @@
 
 - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
 {
-    VLCCloudStorageCollectionViewCell *cell = (VLCCloudStorageCollectionViewCell *)[collectionView dequeueReusableCellWithReuseIdentifier:VLCRemoteBrowsingTVCellIdentifier forIndexPath:indexPath];
+    VLCRemoteBrowsingTVCell *cell = (VLCRemoteBrowsingTVCell *)[collectionView dequeueReusableCellWithReuseIdentifier:VLCRemoteBrowsingTVCellIdentifier forIndexPath:indexPath];
 
     NSUInteger index = indexPath.row;
     if (_listOfFiles) {

+ 2 - 1
SharedSources/Clouds/VLCDropboxCollectionViewController.m

@@ -14,6 +14,7 @@
 #import "UIDevice+VLC.h"
 #import "DBKeychain.h"
 #import "VLCRemoteBrowsingTVCell.h"
+#import "VLCRemoteBrowsingTVCell+CloudStorage.h"
 
 @interface VLCDropboxCollectionViewController () <VLCCloudStorageDelegate>
 {
@@ -63,7 +64,7 @@
 
 - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
 {
-    VLCCloudStorageCollectionViewCell *cell = (VLCCloudStorageCollectionViewCell *)[collectionView dequeueReusableCellWithReuseIdentifier:VLCRemoteBrowsingTVCellIdentifier forIndexPath:indexPath];
+    VLCRemoteBrowsingTVCell *cell = (VLCRemoteBrowsingTVCell *)[collectionView dequeueReusableCellWithReuseIdentifier:VLCRemoteBrowsingTVCellIdentifier forIndexPath:indexPath];
 
     NSUInteger index = indexPath.row;
     if (_mediaList) {

+ 2 - 0
SharedSources/Clouds/VLCOneDriveCollectionViewController.h

@@ -11,6 +11,8 @@
 
 #import "VLCCloudStorageTVViewController.h"
 
+@class VLCOneDriveObject;
+
 @interface VLCOneDriveCollectionViewController : VLCCloudStorageTVViewController
 
 - (instancetype)initWithOneDriveObject:(VLCOneDriveObject *)object;

+ 2 - 1
SharedSources/Clouds/VLCOneDriveCollectionViewController.m

@@ -12,6 +12,7 @@
 #import "VLCOneDriveCollectionViewController.h"
 #import "VLCOneDriveController.h"
 #import "VLCRemoteBrowsingTVCell.h"
+#import "VLCRemoteBrowsingTVCell+CloudStorage.h"
 
 @interface VLCOneDriveCollectionViewController ()
 {
@@ -61,7 +62,7 @@
 
 - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
 {
-    VLCCloudStorageCollectionViewCell *cell = (VLCCloudStorageCollectionViewCell *)[collectionView dequeueReusableCellWithReuseIdentifier:VLCRemoteBrowsingTVCellIdentifier forIndexPath:indexPath];
+    VLCRemoteBrowsingTVCell *cell = (VLCRemoteBrowsingTVCell *)[collectionView dequeueReusableCellWithReuseIdentifier:VLCRemoteBrowsingTVCellIdentifier forIndexPath:indexPath];
 
     if (_currentFolder == nil)
         _currentFolder = _oneDriveController.rootFolder;

+ 5 - 5
SharedSources/Clouds/VLCCloudStorageCollectionViewCell.h

@@ -1,5 +1,5 @@
 /*****************************************************************************
- * VLCCloudStorageCollectionViewCell.h
+ * VLCRemoteBrowsingTVCell+CloudStorage.h
  * VLC for tvOS
  *****************************************************************************
  * Copyright (c) 2013-2015 VideoLAN. All rights reserved.
@@ -17,10 +17,10 @@
 #import "VLCOneDriveObject.h"
 #import <BoxSDK/BoxSDK.h>
 
-@interface VLCCloudStorageCollectionViewCell : VLCRemoteBrowsingTVCell
+@interface VLCRemoteBrowsingTVCell (CloudStorage)
 
-@property (nonatomic, retain) DBMetadata *dropboxFile;
-@property (nonatomic, retain) VLCOneDriveObject *oneDriveFile;
-@property (nonatomic, retain) BoxItem *boxFile;
+- (void)setDropboxFile:(DBMetadata *)dropboxFile;
+- (void)setBoxFile:(BoxItem *)boxFile;
+- (void)setOneDriveFile:(VLCOneDriveObject *)oneDriveFile;
 
 @end

+ 43 - 43
SharedSources/Clouds/VLCCloudStorageCollectionViewCell.m

@@ -1,5 +1,5 @@
 /*****************************************************************************
- * VLCCloudStorageCollectionViewCell.m
+ * VLCRemoteBrowsingTVCell+CloudStorage.m
  * VLC for tvOS
  *****************************************************************************
  * Copyright (c) 2013-2015 VideoLAN. All rights reserved.
@@ -11,52 +11,42 @@
  * Refer to the COPYING file of the official project for license.
  *****************************************************************************/
 
-#import "VLCCloudStorageCollectionViewCell.h"
+#import "VLCRemoteBrowsingTVCell+CloudStorage.h"
 
-@implementation VLCCloudStorageCollectionViewCell
+@implementation VLCRemoteBrowsingTVCell (CloudStorage)
 
 - (void)setDropboxFile:(DBMetadata *)dropboxFile
 {
-    if (dropboxFile != _dropboxFile)
-        _dropboxFile = dropboxFile;
-
-    [self performSelectorOnMainThread:@selector(_updatedDisplayedInformation)
-                           withObject:nil waitUntilDone:NO];
+    [self performSelectorOnMainThread:@selector(_updateDropboxRepresentation:)
+                           withObject:dropboxFile waitUntilDone:NO];
 }
 
 - (void)setBoxFile:(BoxItem *)boxFile
 {
-    if (boxFile != _boxFile)
-        _boxFile = boxFile;
-
-    [self performSelectorOnMainThread:@selector(_updatedDisplayedInformation)
-                           withObject:nil waitUntilDone:NO];
+    [self performSelectorOnMainThread:@selector(_updateBoxRepresentation:)
+                           withObject:boxFile waitUntilDone:NO];
 }
 
 - (void)setOneDriveFile:(VLCOneDriveObject *)oneDriveFile
 {
-    if (oneDriveFile != _oneDriveFile)
-        _oneDriveFile = oneDriveFile;
-
-    [self performSelectorOnMainThread:@selector(_updatedDisplayedInformation)
-                           withObject:nil waitUntilDone:NO];
+    [self performSelectorOnMainThread:@selector(_updateOneDriveRepresentation:)
+                           withObject:oneDriveFile waitUntilDone:NO];
 }
 
-
-- (void)_updatedDisplayedInformation
+- (void)_updateDropboxRepresentation:(DBMetadata *)dropboxFile
 {
-    if (_dropboxFile != nil) {
-        if (self.dropboxFile.isDirectory) {
+    if (dropboxFile != nil) {
+        if (dropboxFile.isDirectory) {
             self.isDirectory = YES;
-            self.title = self.dropboxFile.filename;
+            self.title = dropboxFile.filename;
         } else {
             self.isDirectory = NO;
-            self.subtitle = (self.dropboxFile.totalBytes > 0) ? self.dropboxFile.humanReadableSize : @"";
+            self.subtitle = (dropboxFile.totalBytes > 0) ? dropboxFile.humanReadableSize : @"";
 
         }
-        self.title = self.dropboxFile.filename;
+        self.title = dropboxFile.filename;
 
-        NSString *iconName = self.dropboxFile.icon;
+        NSString *iconName = dropboxFile.icon;
         if ([iconName isEqualToString:@"folder_user"] || [iconName isEqualToString:@"folder"] || [iconName isEqualToString:@"folder_public"] || [iconName isEqualToString:@"folder_photos"] || [iconName isEqualToString:@"package"]) {
             self.thumbnailImage = [UIImage imageNamed:@"folder"];
         } else if ([iconName isEqualToString:@"page_white"] || [iconName isEqualToString:@"page_white_text"])
@@ -67,22 +57,32 @@
             self.thumbnailImage = [UIImage imageNamed:@"audio"];
         else {
             self.thumbnailImage = [UIImage imageNamed:@"blank"];
-            APLog(@"missing icon for type '%@'", self.dropboxFile.icon);
+            APLog(@"missing icon for type '%@'", dropboxFile.icon);
         }
     }
-    else if(_boxFile != nil) {
-        BOOL isDirectory = [self.boxFile.type isEqualToString:@"folder"];
+
+}
+
+- (void)_updateBoxRepresentation:(BoxItem *)boxFile
+{
+    if (boxFile != nil) {
+        BOOL isDirectory = [boxFile.type isEqualToString:@"folder"];
         if (isDirectory) {
             self.isDirectory = YES;
             self.thumbnailImage = [UIImage imageNamed:@"folder"];
         } else {
             self.isDirectory = NO;
-            self.subtitle = (self.boxFile.size > 0) ? [NSByteCountFormatter stringFromByteCount:[self.boxFile.size longLongValue] countStyle:NSByteCountFormatterCountStyleFile]: @"";
+            self.subtitle = (boxFile.size > 0) ? [NSByteCountFormatter stringFromByteCount:[boxFile.size longLongValue] countStyle:NSByteCountFormatterCountStyleFile]: @"";
             self.thumbnailImage = [UIImage imageNamed:@"blank"];
         }
-        self.title = self.boxFile.name;
-    } else if(_oneDriveFile != nil) {
-        if (_oneDriveFile.isFolder) {
+        self.title = boxFile.name;
+    }
+}
+
+- (void)_updateOneDriveRepresentation:(VLCOneDriveObject *)oneDriveFile
+{
+    if (oneDriveFile != nil) {
+        if (oneDriveFile.isFolder) {
             self.isDirectory = YES;
             self.thumbnailImage = [UIImage imageNamed:@"folder"];
         } else {
@@ -90,30 +90,30 @@
 
             NSMutableString *subtitle = [[NSMutableString alloc] init];
 
-            if (self.oneDriveFile.isAudio)
+            if (oneDriveFile.isAudio)
                 self.thumbnailImage = [UIImage imageNamed:@"audio"];
-            else if (self.oneDriveFile.isVideo) {
+            else if (oneDriveFile.isVideo) {
                 self.thumbnailImage = [UIImage imageNamed:@"movie"];
-                NSString *thumbnailURLString = _oneDriveFile.thumbnailURL;
+                NSString *thumbnailURLString = oneDriveFile.thumbnailURL;
                 if (thumbnailURLString) {
                     [self setThumbnailURL:[NSURL URLWithString:thumbnailURLString]];
                 }
             } else
                 self.thumbnailImage = [UIImage imageNamed:@"blank"];
 
-            if (self.oneDriveFile.size > 0) {
-                [subtitle appendString:[NSByteCountFormatter stringFromByteCount:[self.oneDriveFile.size longLongValue] countStyle:NSByteCountFormatterCountStyleFile]];
-                if (self.oneDriveFile.duration > 0) {
-                    VLCTime *time = [VLCTime timeWithNumber:self.oneDriveFile.duration];
+            if (oneDriveFile.size > 0) {
+                [subtitle appendString:[NSByteCountFormatter stringFromByteCount:[oneDriveFile.size longLongValue] countStyle:NSByteCountFormatterCountStyleFile]];
+                if (oneDriveFile.duration > 0) {
+                    VLCTime *time = [VLCTime timeWithNumber:oneDriveFile.duration];
                     [subtitle appendFormat:@" — %@", [time verboseStringValue]];
                 }
-            } else if (self.oneDriveFile.duration > 0) {
-                VLCTime *time = [VLCTime timeWithNumber:self.oneDriveFile.duration];
+            } else if (oneDriveFile.duration > 0) {
+                VLCTime *time = [VLCTime timeWithNumber:oneDriveFile.duration];
                 [subtitle appendString:[time verboseStringValue]];
             }
             self.subtitle = subtitle;
         }
-        self.title = self.oneDriveFile.name;
+        self.title = oneDriveFile.name;
     }
 }
 

+ 6 - 6
VLC for iOS.xcodeproj/project.pbxproj

@@ -142,6 +142,7 @@
 		7D7EF3DA1BD56B5900CD4CEE /* VLCOpenNetworkStreamTVViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D7EF3D81BD56B5900CD4CEE /* VLCOpenNetworkStreamTVViewController.m */; };
 		7D7EF3DB1BD56B5900CD4CEE /* VLCOpenNetworkStreamTVViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7D7EF3D91BD56B5900CD4CEE /* VLCOpenNetworkStreamTVViewController.xib */; };
 		7D7EF3DD1BD5779F00CD4CEE /* VLCPlaybackController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DE56C191AD93F9100E8CA00 /* VLCPlaybackController.m */; };
+		7D7F9C0D1BFBB05400508518 /* VLCRemoteBrowsingTVCell+CloudStorage.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D7F9C0C1BFBB05400508518 /* VLCRemoteBrowsingTVCell+CloudStorage.m */; };
 		7D84E4C61B41AB2800EA7D1F /* VideoToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7D84E4C51B41AB2800EA7D1F /* VideoToolbox.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
 		7D84E4C91B41ABCE00EA7D1F /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7D84E4C81B41ABCE00EA7D1F /* CoreMedia.framework */; };
 		7D8968711BD3058800F4EAAD /* LocalAuthentication.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7D8968701BD3058800F4EAAD /* LocalAuthentication.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
@@ -218,7 +219,6 @@
 		7DF383B91BF21E4400D71A5C /* VLCPlayerControlWebSocket.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DF383B81BF21E4400D71A5C /* VLCPlayerControlWebSocket.m */; };
 		7DF383C11BF231BC00D71A5C /* VLCCloudStorageTVViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DF383C01BF231BC00D71A5C /* VLCCloudStorageTVViewController.m */; };
 		7DF383C41BF2329500D71A5C /* VLCDropboxCollectionViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DF383C31BF2329500D71A5C /* VLCDropboxCollectionViewController.m */; };
-		7DF383C71BF23AC000D71A5C /* VLCCloudStorageCollectionViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DF383C61BF23AC000D71A5C /* VLCCloudStorageCollectionViewCell.m */; };
 		7DF383CB1BF2498800D71A5C /* VLCOneDriveCollectionViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DF383CA1BF2498800D71A5C /* VLCOneDriveCollectionViewController.m */; };
 		7DF383D01BF24BB100D71A5C /* VLCBoxCollectionViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DF383CF1BF24BB100D71A5C /* VLCBoxCollectionViewController.m */; };
 		7DF7CA0717650C2A00C61739 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7DF7CA0617650C2A00C61739 /* AVFoundation.framework */; };
@@ -716,6 +716,8 @@
 		7D7EF3D81BD56B5900CD4CEE /* VLCOpenNetworkStreamTVViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VLCOpenNetworkStreamTVViewController.m; sourceTree = "<group>"; };
 		7D7EF3D91BD56B5900CD4CEE /* VLCOpenNetworkStreamTVViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = VLCOpenNetworkStreamTVViewController.xib; sourceTree = "<group>"; };
 		7D7EF3DC1BD572CE00CD4CEE /* VLCTVConstants.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VLCTVConstants.h; sourceTree = "<group>"; };
+		7D7F9C0B1BFBB05400508518 /* VLCRemoteBrowsingTVCell+CloudStorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "VLCRemoteBrowsingTVCell+CloudStorage.h"; path = "SharedSources/Clouds/VLCRemoteBrowsingTVCell+CloudStorage.h"; sourceTree = "<group>"; };
+		7D7F9C0C1BFBB05400508518 /* VLCRemoteBrowsingTVCell+CloudStorage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "VLCRemoteBrowsingTVCell+CloudStorage.m"; path = "SharedSources/Clouds/VLCRemoteBrowsingTVCell+CloudStorage.m"; sourceTree = "<group>"; };
 		7D8139BE18651FEE00D65504 /* cs */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = cs; path = cs.lproj/Localizable.strings; sourceTree = "<group>"; };
 		7D8139C31865206200D65504 /* fa */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = fa; path = fa.lproj/Localizable.strings; sourceTree = "<group>"; };
 		7D8139C8186520A800D65504 /* es-MX */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = "es-MX"; path = "es-MX.lproj/Localizable.strings"; sourceTree = "<group>"; };
@@ -823,8 +825,6 @@
 		7DF383C01BF231BC00D71A5C /* VLCCloudStorageTVViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VLCCloudStorageTVViewController.m; sourceTree = "<group>"; };
 		7DF383C21BF2329500D71A5C /* VLCDropboxCollectionViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VLCDropboxCollectionViewController.h; path = SharedSources/Clouds/VLCDropboxCollectionViewController.h; sourceTree = SOURCE_ROOT; };
 		7DF383C31BF2329500D71A5C /* VLCDropboxCollectionViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = VLCDropboxCollectionViewController.m; path = SharedSources/Clouds/VLCDropboxCollectionViewController.m; sourceTree = SOURCE_ROOT; };
-		7DF383C51BF23AC000D71A5C /* VLCCloudStorageCollectionViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VLCCloudStorageCollectionViewCell.h; path = SharedSources/Clouds/VLCCloudStorageCollectionViewCell.h; sourceTree = "<group>"; };
-		7DF383C61BF23AC000D71A5C /* VLCCloudStorageCollectionViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = VLCCloudStorageCollectionViewCell.m; path = SharedSources/Clouds/VLCCloudStorageCollectionViewCell.m; sourceTree = "<group>"; };
 		7DF383C91BF2498800D71A5C /* VLCOneDriveCollectionViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VLCOneDriveCollectionViewController.h; path = SharedSources/Clouds/VLCOneDriveCollectionViewController.h; sourceTree = SOURCE_ROOT; };
 		7DF383CA1BF2498800D71A5C /* VLCOneDriveCollectionViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = VLCOneDriveCollectionViewController.m; path = SharedSources/Clouds/VLCOneDriveCollectionViewController.m; sourceTree = SOURCE_ROOT; };
 		7DF383CE1BF24BB100D71A5C /* VLCBoxCollectionViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VLCBoxCollectionViewController.h; path = SharedSources/Clouds/VLCBoxCollectionViewController.h; sourceTree = SOURCE_ROOT; };
@@ -1330,8 +1330,8 @@
 				7D1052EA1A4DCC1700295F08 /* OneDrive */,
 				7D3784AF183A990F009EE944 /* VLCCloudStorageTableViewCell.h */,
 				7D3784B0183A990F009EE944 /* VLCCloudStorageTableViewCell.m */,
-				7DF383C51BF23AC000D71A5C /* VLCCloudStorageCollectionViewCell.h */,
-				7DF383C61BF23AC000D71A5C /* VLCCloudStorageCollectionViewCell.m */,
+				7D7F9C0B1BFBB05400508518 /* VLCRemoteBrowsingTVCell+CloudStorage.h */,
+				7D7F9C0C1BFBB05400508518 /* VLCRemoteBrowsingTVCell+CloudStorage.m */,
 				9B088306183D7BEC004B5C2A /* VLCCloudStorageTableViewController.h */,
 				9B088307183D7BEC004B5C2A /* VLCCloudStorageTableViewController.m */,
 				4184AA131A5492070063DF5A /* VLCCloudStorageController.h */,
@@ -2714,6 +2714,7 @@
 				DD3EFF461BDEBCE500B68579 /* VLCLocalNetworkServiceBrowserManualConnect.m in Sources */,
 				7D13347F1BE132ED0012E919 /* VLCLocalNetworkServiceUPnP.m in Sources */,
 				DD3EFF4A1BDEBCE500B68579 /* VLCLocalNetworkServiceBrowserPlex.m in Sources */,
+				7D7F9C0D1BFBB05400508518 /* VLCRemoteBrowsingTVCell+CloudStorage.m in Sources */,
 				DD3EABEF1BE14720003668DA /* VLCPlaybackControlsFocusView.m in Sources */,
 				DD1B31F41BF637D500A369B6 /* VLCPlaybackInfoTracksTVViewController.m in Sources */,
 				DD4089F51BF6556F0022745E /* VLCFullWidthCollectionViewFlowLayout.m in Sources */,
@@ -2751,7 +2752,6 @@
 				7D0C35341BD97C7B0058CD19 /* VLCOneDriveObject.m in Sources */,
 				7D0C35331BD97C100058CD19 /* VLCOneDriveController.m in Sources */,
 				7D0EDE061BE774BF00363AA1 /* WhiteRaccoon.m in Sources */,
-				7DF383C71BF23AC000D71A5C /* VLCCloudStorageCollectionViewCell.m in Sources */,
 				DD13A37B1BEE2FAA00A35554 /* VLCMaskView.m in Sources */,
 				7DF383AC1BF206F100D71A5C /* VLCRemoteBrowsingCollectionViewController.m in Sources */,
 				7D405ED01BEA11C1006ED886 /* VLCHTTPConnection.m in Sources */,