Commit 10f39296 authored by Felix Paul Kühne's avatar Felix Paul Kühne

ATV: add cloud services skeleton

parent 40dd765c
......@@ -15,6 +15,7 @@
#import "VLCOpenNetworkStreamTVViewController.h"
#import "VLCPlayerDisplayController.h"
#import "VLCSettingsAboutTableViewController.h"
#import "VLCCloudServicesTVViewController.h"
@interface AppleTVAppDelegate ()
{
......@@ -22,6 +23,7 @@
VLCAppSharesTVViewController *_sharesVC;
VLCLocalNetworkTVViewController *_localNetworkVC;
VLCCloudServicesTVViewController *_cloudServicesVC;
VLCOpenNetworkStreamTVViewController *_openNetworkVC;
UISplitViewController *_aboutSettingsVC;
VLCSettingsAboutTableViewController *_aboutSettingsTableVC;
......@@ -58,6 +60,7 @@
_localNetworkVC = [[VLCLocalNetworkTVViewController alloc] initWithNibName:nil bundle:nil];
_sharesVC = [[VLCAppSharesTVViewController alloc] initWithNibName:nil bundle:nil];
_cloudServicesVC = [[VLCCloudServicesTVViewController alloc] initWithNibName:nil bundle:nil];
_openNetworkVC = [[VLCOpenNetworkStreamTVViewController alloc] initWithNibName:nil bundle:nil];
_aboutSettingsVC = [[UISplitViewController alloc] init];
_aboutSettingsTableVC = [[VLCSettingsAboutTableViewController alloc] initWithNibName:nil bundle:nil];
......@@ -66,7 +69,7 @@
_mainViewController = [[UITabBarController alloc] init];
_mainViewController.tabBar.backgroundColor = [UIColor VLCOrangeTintColor];
_mainViewController.viewControllers = @[_sharesVC, _localNetworkVC, _openNetworkVC, _aboutSettingsVC];
_mainViewController.viewControllers = @[_sharesVC, _localNetworkVC, _cloudServicesVC, _openNetworkVC, _aboutSettingsVC];
VLCPlayerDisplayController *playerDisplayController = [VLCPlayerDisplayController sharedInstance];
playerDisplayController.childViewController = _mainViewController;
......
/*****************************************************************************
* 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>
@interface VLCCloudServicesTVViewController : UIViewController
@end
/*****************************************************************************
* 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 "VLCCloudServicesTVViewController.h"
@interface VLCCloudServicesTVViewController ()
@end
@implementation VLCCloudServicesTVViewController
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view.
}
- (NSString *)title
{
return @"Cloud Services";
}
@end
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder.AppleTV.XIB" version="3.0" toolsVersion="9058" systemVersion="14F1017" targetRuntime="AppleTV" propertyAccessControl="none" useAutolayout="YES">
<dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9048"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="VLCCloudServicesTVViewController">
<connections>
<outlet property="view" destination="iN0-l3-epB" id="Eym-vH-oyN"/>
</connections>
</placeholder>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<view contentMode="scaleToFill" id="iN0-l3-epB">
<rect key="frame" x="0.0" y="0.0" width="1920" height="1080"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Cloud Services" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="B3D-nr-ofx">
<rect key="frame" x="714" y="26" width="493" height="91"/>
<fontDescription key="fontDescription" style="UICTFontTextStyleTitle1"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="hdP-Dp-Mn0">
<rect key="frame" x="810" y="329" width="301" height="86"/>
<inset key="contentEdgeInsets" minX="40" minY="20" maxX="40" maxY="20"/>
<state key="normal" title="Dropbox"/>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="uaI-5Z-SJq">
<rect key="frame" x="810" y="445" width="301" height="86"/>
<inset key="contentEdgeInsets" minX="40" minY="20" maxX="40" maxY="20"/>
<state key="normal" title="Google Drive"/>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="HPy-k8-PTt">
<rect key="frame" x="810" y="561" width="301" height="86"/>
<inset key="contentEdgeInsets" minX="40" minY="20" maxX="40" maxY="20"/>
<state key="normal" title="Box"/>
</button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="gFm-4V-QFs">
<rect key="frame" x="810" y="677" width="301" height="86"/>
<inset key="contentEdgeInsets" minX="40" minY="20" maxX="40" maxY="20"/>
<state key="normal" title="OneDrive"/>
</button>
</subviews>
<animations/>
<color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstItem="uaI-5Z-SJq" firstAttribute="top" secondItem="hdP-Dp-Mn0" secondAttribute="bottom" constant="30" id="0Pp-jT-hyL"/>
<constraint firstItem="gFm-4V-QFs" firstAttribute="top" secondItem="HPy-k8-PTt" secondAttribute="bottom" constant="30" id="6Ds-Dz-j0d"/>
<constraint firstItem="HPy-k8-PTt" firstAttribute="width" secondItem="gFm-4V-QFs" secondAttribute="width" id="KGz-R5-SlU"/>
<constraint firstItem="uaI-5Z-SJq" firstAttribute="centerX" secondItem="hdP-Dp-Mn0" secondAttribute="centerX" id="Mw8-qu-Vqj"/>
<constraint firstItem="B3D-nr-ofx" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" constant="26" id="SDQ-jj-HrX"/>
<constraint firstItem="HPy-k8-PTt" firstAttribute="top" secondItem="uaI-5Z-SJq" secondAttribute="bottom" constant="30" id="YoM-LV-tnC"/>
<constraint firstItem="B3D-nr-ofx" firstAttribute="centerX" secondItem="iN0-l3-epB" secondAttribute="centerX" id="aLS-4B-lGn"/>
<constraint firstItem="uaI-5Z-SJq" firstAttribute="width" secondItem="HPy-k8-PTt" secondAttribute="width" id="eSY-0J-2hE"/>
<constraint firstItem="hdP-Dp-Mn0" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" constant="329" id="g5n-EN-pyy"/>
<constraint firstItem="uaI-5Z-SJq" firstAttribute="width" secondItem="hdP-Dp-Mn0" secondAttribute="width" id="gjb-7z-ngq"/>
<constraint firstItem="gFm-4V-QFs" firstAttribute="centerX" secondItem="HPy-k8-PTt" secondAttribute="centerX" id="lqg-W6-TQS"/>
<constraint firstItem="HPy-k8-PTt" firstAttribute="centerX" secondItem="uaI-5Z-SJq" secondAttribute="centerX" id="qaE-he-YUJ"/>
<constraint firstItem="hdP-Dp-Mn0" firstAttribute="centerX" secondItem="iN0-l3-epB" secondAttribute="centerX" id="qcb-Sc-GzH"/>
</constraints>
</view>
</objects>
</document>
......@@ -43,9 +43,9 @@
<outlet property="delegate" destination="-1" id="osW-Kv-1VK"/>
</connections>
</tableView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Open Network Stream" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="SBQ-fX-9BB">
<rect key="frame" x="718" y="57" width="485" height="60"/>
<fontDescription key="fontDescription" type="system" pointSize="50"/>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" misplaced="YES" text="Open Network Stream" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="SBQ-fX-9BB">
<rect key="frame" x="597" y="26" width="728" height="91"/>
<fontDescription key="fontDescription" style="UICTFontTextStyleTitle1"/>
<color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/>
</label>
......@@ -59,6 +59,7 @@
<animations/>
<color key="backgroundColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/>
<constraints>
<constraint firstItem="SBQ-fX-9BB" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" constant="26" id="Ahc-1g-v0c"/>
<constraint firstItem="dWa-3n-YCa" firstAttribute="top" secondItem="SBQ-fX-9BB" secondAttribute="bottom" constant="39" id="QP5-C5-l6C"/>
<constraint firstItem="SBQ-fX-9BB" firstAttribute="centerX" secondItem="iN0-l3-epB" secondAttribute="centerX" id="VXg-dj-wUU"/>
<constraint firstItem="9hs-BK-cVI" firstAttribute="centerX" secondItem="iN0-l3-epB" secondAttribute="centerX" id="WOA-cL-SLX"/>
......
......@@ -125,6 +125,8 @@
7D3784CC183A99BA009EE944 /* PAPasscodeViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D3784CB183A99BA009EE944 /* PAPasscodeViewController.m */; };
7D3784E9183A9A15009EE944 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D3784E8183A9A15009EE944 /* main.m */; };
7D37E39A1BC93F7500AFA70E /* VLCLocalServerDiscoveryController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D37E3991BC93F7500AFA70E /* VLCLocalServerDiscoveryController.m */; };
7D3E528B1BD7B5E100309D15 /* VLCCloudServicesTVViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D3E52891BD7B5E100309D15 /* VLCCloudServicesTVViewController.m */; };
7D3E528C1BD7B5E100309D15 /* VLCCloudServicesTVViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7D3E528A1BD7B5E100309D15 /* VLCCloudServicesTVViewController.xib */; };
7D3EB014174A353E002062C2 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7D3EB013174A353E002062C2 /* SystemConfiguration.framework */; };
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, ); }; };
......@@ -585,6 +587,9 @@
7D3784EB183A9A1E009EE944 /* VLC for iOS-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "VLC for iOS-Prefix.pch"; path = "Sources/VLC for iOS-Prefix.pch"; sourceTree = SOURCE_ROOT; };
7D37E3981BC93F7500AFA70E /* VLCLocalServerDiscoveryController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VLCLocalServerDiscoveryController.h; sourceTree = "<group>"; };
7D37E3991BC93F7500AFA70E /* VLCLocalServerDiscoveryController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VLCLocalServerDiscoveryController.m; sourceTree = "<group>"; };
7D3E52881BD7B5E100309D15 /* VLCCloudServicesTVViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VLCCloudServicesTVViewController.h; sourceTree = "<group>"; };
7D3E52891BD7B5E100309D15 /* VLCCloudServicesTVViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VLCCloudServicesTVViewController.m; sourceTree = "<group>"; };
7D3E528A1BD7B5E100309D15 /* VLCCloudServicesTVViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = VLCCloudServicesTVViewController.xib; sourceTree = "<group>"; };
7D3EB013174A353E002062C2 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
7D4136621896710500D7B4B2 /* si */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = si; path = si.lproj/Localizable.strings; sourceTree = "<group>"; };
7D4625861A5614A1001A80B4 /* VLCEqualizerView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VLCEqualizerView.h; path = Sources/VLCEqualizerView.h; sourceTree = SOURCE_ROOT; };
......@@ -1114,8 +1119,9 @@
children = (
7DEC8BE41BD6888F006E1093 /* Basics */,
7DEC8BE31BD68882006E1093 /* Network UI */,
7DEC8BE51BD6889C006E1093 /* Playback */,
7D3E528D1BD7B5E600309D15 /* Cloud */,
7DEC8BEF1BD68D71006E1093 /* Settings and stuff */,
7DEC8BE51BD6889C006E1093 /* Playback */,
7DC71D281BC83138001FACAA /* xibs */,
7DEC8BE61BD688AD006E1093 /* Resources */,
7D13293F1BA1F10100BE647E /* Supporting Files */,
......@@ -1204,6 +1210,15 @@
name = "UI Elements";
sourceTree = "<group>";
};
7D3E528D1BD7B5E600309D15 /* Cloud */ = {
isa = PBXGroup;
children = (
7D3E52881BD7B5E100309D15 /* VLCCloudServicesTVViewController.h */,
7D3E52891BD7B5E100309D15 /* VLCCloudServicesTVViewController.m */,
);
name = Cloud;
sourceTree = "<group>";
};
7D5E39CC174FCDBE007DAFA1 /* Cloud Integration */ = {
isa = PBXGroup;
children = (
......@@ -1579,6 +1594,7 @@
7DC71D281BC83138001FACAA /* xibs */ = {
isa = PBXGroup;
children = (
7D3E528A1BD7B5E100309D15 /* VLCCloudServicesTVViewController.xib */,
7DEC8BDD1BD67899006E1093 /* VLCFullscreenMovieTVViewController.xib */,
7DC71D201BC83058001FACAA /* VLCAppSharesTVViewController.xib */,
7DC71D251BC830A5001FACAA /* VLCLocalNetworkTVViewController.xib */,
......@@ -2130,6 +2146,7 @@
7DEC8C1E1BD69710006E1093 /* About Contents.html in Resources */,
7D13294F1BA1F10100BE647E /* Assets.xcassets in Resources */,
7DEC8BE91BD68BC9006E1093 /* Settings.bundle in Resources */,
7D3E528C1BD7B5E100309D15 /* VLCCloudServicesTVViewController.xib in Resources */,
7D7EF3DB1BD56B5900CD4CEE /* VLCOpenNetworkStreamTVViewController.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
......@@ -2288,6 +2305,7 @@
7D1329441BA1F10100BE647E /* AppleTVAppDelegate.m in Sources */,
7D1329411BA1F10100BE647E /* main.m in Sources */,
7DC71D291BC83590001FACAA /* UIColor+Presets.m in Sources */,
7D3E528B1BD7B5E100309D15 /* VLCCloudServicesTVViewController.m in Sources */,
7DEC8C1D1BD6913A006E1093 /* VLCSettingsAboutTableViewController.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment