Commit 3b2ce8af authored by Felix Paul Kühne's avatar Felix Paul Kühne

ATV: Implement a correct settings panel

parent d6ec1509
......@@ -6,7 +6,7 @@ target 'vlc-ios' do
platform :ios, '7.0'
pod 'OBSlider', '1.1.0'
pod 'InAppSettingsKit', '2.2.2'
pod 'InAppSettingsKit', :git => 'git://github.com/fkuehne/InAppSettingsKit.git', :commit => '415ea6bb' #tvOS fix
pod 'upnpx', '~>1.3.6'
pod 'HockeySDK', '~>3.6.4'
pod 'SSKeychain', :git => 'git://github.com/fkuehne/sskeychain.git' #iCloud Keychain sync
......
......@@ -3,7 +3,7 @@ PODS:
- box-ios-sdk-v2/no-arc (= 1.2.3)
- box-ios-sdk-v2/no-arc (1.2.3)
- HockeySDK (3.6.4)
- InAppSettingsKit (2.2.2)
- InAppSettingsKit (2.6)
- OBSlider (1.1.0)
- RESideMenu (4.0.7)
- SSKeychain (1.2.3)
......@@ -12,7 +12,7 @@ PODS:
DEPENDENCIES:
- box-ios-sdk-v2 (from `git://github.com/fkuehne/box-ios-sdk-v2.git`)
- HockeySDK (~> 3.6.4)
- InAppSettingsKit (= 2.2.2)
- InAppSettingsKit (from `git://github.com/fkuehne/InAppSettingsKit.git`)
- OBSlider (= 1.1.0)
- RESideMenu (~> 4.0.7)
- SSKeychain (from `git://github.com/fkuehne/sskeychain.git`)
......@@ -21,6 +21,8 @@ DEPENDENCIES:
EXTERNAL SOURCES:
box-ios-sdk-v2:
:git: git://github.com/fkuehne/box-ios-sdk-v2.git
InAppSettingsKit:
:git: git://github.com/fkuehne/InAppSettingsKit.git
SSKeychain:
:git: git://github.com/fkuehne/sskeychain.git
......@@ -28,6 +30,9 @@ CHECKOUT OPTIONS:
box-ios-sdk-v2:
:commit: 180f009b3b22d813ca40e4c88074e0ef228c357b
:git: git://github.com/fkuehne/box-ios-sdk-v2.git
InAppSettingsKit:
:commit: f81fd15b41fe11af1d2dc4020a73afb99b158267
:git: git://github.com/fkuehne/InAppSettingsKit.git
SSKeychain:
:commit: a8e9b21f96adf1ec296e51778ef137f0ea3bd078
:git: git://github.com/fkuehne/sskeychain.git
......@@ -35,7 +40,7 @@ CHECKOUT OPTIONS:
SPEC CHECKSUMS:
box-ios-sdk-v2: 9423bd75373350ea40b92f3d2d6e89f81d96d634
HockeySDK: c07cdd580296737edcd0963e292c19885a53f563
InAppSettingsKit: 76d5cfbaa3e3f8aa53fe3628516da7eb1aa6a5cb
InAppSettingsKit: cc56d3ec45f11352a16d5b210da8a3fa1b9d05ed
OBSlider: 490f108007bfdd5414a38650b211fe403a95b8a0
RESideMenu: f24c508404b49c667344c54aba7e590883533958
SSKeychain: 3f42991739c6c60a9cf1bbd4dff6c0d3694bcf3d
......
......@@ -12,7 +12,7 @@
#import "AppleTVAppDelegate.h"
#import "VLCLocalNetworkTVViewController.h"
#import "VLCOpenNetworkStreamTVViewController.h"
#import "VLCSettingsAboutTableViewController.h"
#import "VLCSettingsTableViewController.h"
#import "VLCCloudServicesTVViewController.h"
@interface AppleTVAppDelegate ()
......@@ -22,8 +22,7 @@
VLCLocalNetworkTVViewController *_localNetworkVC;
VLCCloudServicesTVViewController *_cloudServicesVC;
VLCOpenNetworkStreamTVViewController *_openNetworkVC;
UISplitViewController *_aboutSettingsVC;
VLCSettingsAboutTableViewController *_aboutSettingsTableVC;
VLCSettingsTableViewController *_settingsTableVC;
}
@end
......@@ -57,10 +56,7 @@
_localNetworkVC = [[VLCLocalNetworkTVViewController 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];
_aboutSettingsVC.viewControllers = @[_aboutSettingsTableVC];
_aboutSettingsVC.title = @"\u2699";
_settingsTableVC = [[VLCSettingsTableViewController alloc] initWithNibName:nil bundle:nil];
_mainViewController = [[UITabBarController alloc] init];
_mainViewController.tabBar.backgroundColor = [UIColor VLCOrangeTintColor];
......@@ -68,7 +64,7 @@
_mainViewController.viewControllers = @[[[UINavigationController alloc] initWithRootViewController:_localNetworkVC],
[[UINavigationController alloc] initWithRootViewController:_cloudServicesVC],
[[UINavigationController alloc] initWithRootViewController:_openNetworkVC],
_aboutSettingsVC];
[[UINavigationController alloc] initWithRootViewController:_settingsTableVC]];
self.window.rootViewController = _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 "VLCAboutTVViewController.h"
@interface VLCAboutTVViewController ()
{
UITextView *_textView;
}
@end
@implementation VLCAboutTVViewController
- (void)viewDidLoad {
[super viewDidLoad];
CGRect frame = self.view.frame;
frame.size.width -= 40.;
frame.size.height -= 40.;
frame.origin.x += 20.;
frame.origin.y += 20.;
_textView = [[UITextView alloc] initWithFrame:frame];
_textView.clipsToBounds = YES;
_textView.backgroundColor = [UIColor VLCDarkBackgroundColor];
_textView.scrollEnabled = YES;
NSBundle *mainBundle = [NSBundle mainBundle];
NSMutableString *htmlContent = [NSMutableString stringWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"About Contents" ofType:@"html"] encoding:NSUTF8StringEncoding error:nil];
[htmlContent replaceOccurrencesOfString:@"VLCFORIOSVERSION" withString:[[NSString stringWithFormat:NSLocalizedString(@"VERSION_FORMAT", nil), [mainBundle objectForInfoDictionaryKey:@"CFBundleShortVersionString"]] stringByAppendingFormat:@" (%@)<br /><i>%@</i>", [mainBundle objectForInfoDictionaryKey:@"CFBundleVersion"], kVLCVersionCodename] options:NSLiteralSearch range:NSMakeRange(800, 1000)];
[htmlContent replaceOccurrencesOfString:@"MOBILEVLCKITVERSION" withString:[NSString stringWithFormat:NSLocalizedString(@"BASED_ON_FORMAT", nil),[[VLCLibrary sharedLibrary] version]] options:NSLiteralSearch range:NSMakeRange(800, 1100)];
NSAttributedString *attributedString = [[NSAttributedString alloc] initWithData:[htmlContent dataUsingEncoding:NSUTF8StringEncoding]
options:@{NSDocumentTypeDocumentAttribute: NSHTMLTextDocumentType,
NSCharacterEncodingDocumentAttribute: @(NSUTF8StringEncoding)}
documentAttributes:nil error:nil];
_textView.attributedText = attributedString;
[self.view addSubview:_textView];
}
- (NSString *)title
{
return @"About";
}
@end
//
// VLCSettingsAboutTableTableViewController.h
// VLC for iOS
//
// Created by Felix Paul Kühne on 20/10/15.
// Copyright © 2015 VideoLAN. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface VLCSettingsAboutTableViewController : UITableViewController
@end
//
// VLCSettingsAboutTableTableViewController.m
// VLC for iOS
//
// Created by Felix Paul Kühne on 20/10/15.
// Copyright © 2015 VideoLAN. All rights reserved.
//
#import "VLCSettingsAboutTableViewController.h"
#import "VLCAboutTVViewController.h"
@interface VLCSettingsAboutTableViewController ()
{
VLCAboutTVViewController *_aboutVC;
}
@end
@implementation VLCSettingsAboutTableViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.navigationItem.rightBarButtonItem = self.editButtonItem;
_aboutVC = [[VLCAboutTVViewController alloc] initWithNibName:nil bundle:nil];
}
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
[self.parentViewController showDetailViewController:_aboutVC sender:nil];
}
#pragma mark - Table view data source
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 2;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"RecentlyPlayedURLsTableViewCell"];
if (!cell) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"RecentlyPlayedURLsTableViewCell"];
}
cell.textLabel.text = @"text";
return cell;
}
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
// Return NO if you do not want the specified item to be editable.
return YES;
}
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {
// Delete the row from the data source
[tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
} else if (editingStyle == UITableViewCellEditingStyleInsert) {
// Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view
}
}
@end
......@@ -11,6 +11,6 @@
#import <UIKit/UIKit.h>
@interface VLCAboutTVViewController : UIViewController
@interface VLCSettingsTableViewController : UITableViewController
@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 "VLCSettingsTableViewController.h"
#import "IASKSettingsReader.h"
#import "IASKSpecifier.h"
#define SettingsReUseIdentifier @"SettingsReUseIdentifier"
#define SettingsHeaderReUseIdentifier @"SettingsHeaderReUseIdentifier"
@interface VLCSettingsTableViewController ()
{
NSUserDefaults *_userDefaults;
IASKSettingsReader *_settingsReader;
}
@end
@implementation VLCSettingsTableViewController
- (void)loadView
{
UITableView *tableView = [[UITableView alloc] initWithFrame:[UIScreen mainScreen].bounds style:UITableViewStyleGrouped];
tableView.delegate = self;
tableView.dataSource = self;
[tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:SettingsReUseIdentifier];
[tableView registerClass:[UITableViewHeaderFooterView class] forHeaderFooterViewReuseIdentifier:SettingsHeaderReUseIdentifier];
self.view = tableView;
}
- (void)viewDidLoad {
[super viewDidLoad];
self.clearsSelectionOnViewWillAppear = YES;
_settingsReader = [[IASKSettingsReader alloc] init];
}
- (NSString *)title
{
return NSLocalizedString(@"Settings", nil);
}
#pragma mark - Table view data source
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return _settingsReader.numberOfSections;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return [_settingsReader numberOfRowsForSection:section];
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:SettingsReUseIdentifier forIndexPath:indexPath];
IASKSpecifier *specifier = [_settingsReader specifierForIndexPath:indexPath];
cell.textLabel.text = [specifier title];
cell.detailTextLabel.text = [specifier subtitle];
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
return cell;
}
- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section
{
return [_settingsReader titleForSection:section];
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
IASKSpecifier *specifier = [_settingsReader specifierForIndexPath:indexPath];
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:specifier.title
message:nil preferredStyle:UIAlertControllerStyleActionSheet];
NSString *specifierType = specifier.type;
if ([specifierType isEqualToString:kIASKPSMultiValueSpecifier]) {
NSUInteger count = [specifier multipleValuesCount];
NSArray *titles = [specifier multipleTitles];
NSUInteger indexOfPreferredAction = [[specifier multipleValues] indexOfObject:[_userDefaults objectForKey:[specifier key]]]; // FIXME: lookup correct value
for (NSUInteger i = 0; i < count; i++) {
id value = [[specifier multipleValues][i] copy];
UIAlertAction *action = [UIAlertAction actionWithTitle:[_settingsReader titleForStringId:titles[i]]
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * _Nonnull action) {
[_userDefaults setObject:value forKey:[specifier key]];
[_userDefaults synchronize];
[self.tableView reloadData];
}];
[alertController addAction:action];
if (i == indexOfPreferredAction)
[alertController setPreferredAction:action];
}
} else if ([specifierType isEqualToString:kIASKPSToggleSwitchSpecifier]) {
UIAlertAction *onAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"On", nil)
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * _Nonnull action) {
[_userDefaults setBool:YES forKey:[specifier key]];
[_userDefaults synchronize];
[self.tableView reloadData];
}];
UIAlertAction *offAction = [UIAlertAction actionWithTitle:NSLocalizedString(@"Off", nil)
style:UIAlertActionStyleDefault
handler:^(UIAlertAction * _Nonnull action) {
[_userDefaults setBool:NO forKey:[specifier key]];
[_userDefaults synchronize];
[self.tableView reloadData];
}];
[alertController addAction:onAction];
[alertController addAction:offAction];
[alertController setPreferredAction:[_userDefaults boolForKey:[specifier key]] ? onAction : offAction];
}
[alertController addAction:[UIAlertAction actionWithTitle:NSLocalizedString(@"BUTTON_CANCEL", nil)
style:UIAlertActionStyleCancel
handler:nil]];
[self presentViewController:alertController animated:YES completion:nil];
}
@end
......@@ -212,8 +212,6 @@
7DEC8BDE1BD67899006E1093 /* VLCFullscreenMovieTVViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DEC8BDC1BD67899006E1093 /* VLCFullscreenMovieTVViewController.m */; };
7DEC8BDF1BD67899006E1093 /* VLCFullscreenMovieTVViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7DEC8BDD1BD67899006E1093 /* VLCFullscreenMovieTVViewController.xib */; };
7DEC8BE91BD68BC9006E1093 /* Settings.bundle in Resources */ = {isa = PBXBuildFile; fileRef = 7DEC8BE81BD68BC9006E1093 /* Settings.bundle */; };
7DEC8BED1BD68D6A006E1093 /* VLCAboutTVViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DEC8BEB1BD68D6A006E1093 /* VLCAboutTVViewController.m */; };
7DEC8C1D1BD6913A006E1093 /* VLCSettingsAboutTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DEC8C1C1BD6913A006E1093 /* VLCSettingsAboutTableViewController.m */; };
7DEC8C1E1BD69710006E1093 /* About Contents.html in Resources */ = {isa = PBXBuildFile; fileRef = 7D5DD5C617590ABF001421E3 /* About Contents.html */; };
7DEC8C1F1BD6A113006E1093 /* UIDevice+VLC.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D3784C7183A9972009EE944 /* UIDevice+VLC.m */; };
7DF04F4D1961F2B8004A5429 /* web-download-fixed.png in Resources */ = {isa = PBXBuildFile; fileRef = 7DF04F491961F2B8004A5429 /* web-download-fixed.png */; };
......@@ -227,6 +225,9 @@
7DF28AE11BA31C580030C944 /* libc++.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 7DF28AE01BA31C580030C944 /* libc++.tbd */; };
7DF7CA0717650C2A00C61739 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7DF7CA0617650C2A00C61739 /* AVFoundation.framework */; };
7DF7E791175F47DC0018858D /* MediaPlayer.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7DF7E790175F47DC0018858D /* MediaPlayer.framework */; };
7DF90B441BE7A5380059C0E3 /* VLCSettingsTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DF90B431BE7A5380059C0E3 /* VLCSettingsTableViewController.m */; };
7DF90B4A1BE7A8110059C0E3 /* IASKSettingsReader.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DF90B471BE7A8110059C0E3 /* IASKSettingsReader.m */; };
7DF90B4B1BE7A8110059C0E3 /* IASKSpecifier.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DF90B491BE7A8110059C0E3 /* IASKSpecifier.m */; };
7DF9352F1958AB0600E60FD4 /* UIColor+Presets.m in Sources */ = {isa = PBXBuildFile; fileRef = 7DF9352E1958AB0600E60FD4 /* UIColor+Presets.m */; };
8F91EC79195CEC7900F5BCBA /* VLCOpenInActivity.m in Sources */ = {isa = PBXBuildFile; fileRef = 8F91EC78195CEC7900F5BCBA /* VLCOpenInActivity.m */; };
8F91EC7F195E1DAB00F5BCBA /* AssetsLibrary.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 8F91EC7E195E1DAB00F5BCBA /* AssetsLibrary.framework */; };
......@@ -835,10 +836,6 @@
7DEC8BDC1BD67899006E1093 /* VLCFullscreenMovieTVViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VLCFullscreenMovieTVViewController.m; sourceTree = "<group>"; };
7DEC8BDD1BD67899006E1093 /* VLCFullscreenMovieTVViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = VLCFullscreenMovieTVViewController.xib; sourceTree = "<group>"; };
7DEC8BE81BD68BC9006E1093 /* Settings.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; path = Settings.bundle; sourceTree = "<group>"; };
7DEC8BEA1BD68D6A006E1093 /* VLCAboutTVViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VLCAboutTVViewController.h; sourceTree = "<group>"; };
7DEC8BEB1BD68D6A006E1093 /* VLCAboutTVViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VLCAboutTVViewController.m; sourceTree = "<group>"; };
7DEC8C1B1BD6913A006E1093 /* VLCSettingsAboutTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VLCSettingsAboutTableViewController.h; sourceTree = "<group>"; };
7DEC8C1C1BD6913A006E1093 /* VLCSettingsAboutTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VLCSettingsAboutTableViewController.m; sourceTree = "<group>"; };
7DF04F491961F2B8004A5429 /* web-download-fixed.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "web-download-fixed.png"; path = "Resources/web-download-fixed.png"; sourceTree = SOURCE_ROOT; };
7DF04F4A1961F2B8004A5429 /* web-download.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "web-download.png"; path = "Resources/web-download.png"; sourceTree = SOURCE_ROOT; };
7DF04F4B1961F2B8004A5429 /* web-open-fixed.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "web-open-fixed.png"; path = "Resources/web-open-fixed.png"; sourceTree = SOURCE_ROOT; };
......@@ -853,6 +850,12 @@
7DF28AE41BA31D9C0030C944 /* libSystem.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libSystem.tbd; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS9.0.sdk/usr/lib/libSystem.tbd; sourceTree = DEVELOPER_DIR; };
7DF7CA0617650C2A00C61739 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
7DF7E790175F47DC0018858D /* MediaPlayer.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MediaPlayer.framework; path = System/Library/Frameworks/MediaPlayer.framework; sourceTree = SDKROOT; };
7DF90B421BE7A5380059C0E3 /* VLCSettingsTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VLCSettingsTableViewController.h; sourceTree = "<group>"; };
7DF90B431BE7A5380059C0E3 /* VLCSettingsTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VLCSettingsTableViewController.m; sourceTree = "<group>"; };
7DF90B461BE7A8110059C0E3 /* IASKSettingsReader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IASKSettingsReader.h; path = Pods/InAppSettingsKit/InAppSettingsKit/Models/IASKSettingsReader.h; sourceTree = SOURCE_ROOT; };
7DF90B471BE7A8110059C0E3 /* IASKSettingsReader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = IASKSettingsReader.m; path = Pods/InAppSettingsKit/InAppSettingsKit/Models/IASKSettingsReader.m; sourceTree = SOURCE_ROOT; };
7DF90B481BE7A8110059C0E3 /* IASKSpecifier.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = IASKSpecifier.h; path = Pods/InAppSettingsKit/InAppSettingsKit/Models/IASKSpecifier.h; sourceTree = SOURCE_ROOT; };
7DF90B491BE7A8110059C0E3 /* IASKSpecifier.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = IASKSpecifier.m; path = Pods/InAppSettingsKit/InAppSettingsKit/Models/IASKSpecifier.m; sourceTree = SOURCE_ROOT; };
7DF9352D1958AB0600E60FD4 /* UIColor+Presets.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UIColor+Presets.h"; path = "Sources/UIColor+Presets.h"; sourceTree = SOURCE_ROOT; };
7DF9352E1958AB0600E60FD4 /* UIColor+Presets.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "UIColor+Presets.m"; path = "Sources/UIColor+Presets.m"; sourceTree = SOURCE_ROOT; };
8F91EC77195CEC7900F5BCBA /* VLCOpenInActivity.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VLCOpenInActivity.h; path = Sources/VLCOpenInActivity.h; sourceTree = SOURCE_ROOT; };
......@@ -1926,14 +1929,24 @@
7DEC8BEF1BD68D71006E1093 /* Settings and stuff */ = {
isa = PBXGroup;
children = (
7DEC8BEA1BD68D6A006E1093 /* VLCAboutTVViewController.h */,
7DEC8BEB1BD68D6A006E1093 /* VLCAboutTVViewController.m */,
7DEC8C1B1BD6913A006E1093 /* VLCSettingsAboutTableViewController.h */,
7DEC8C1C1BD6913A006E1093 /* VLCSettingsAboutTableViewController.m */,
7DF90B421BE7A5380059C0E3 /* VLCSettingsTableViewController.h */,
7DF90B431BE7A5380059C0E3 /* VLCSettingsTableViewController.m */,
7DF90B451BE7A8030059C0E3 /* Mini-InAppSettingsKit */,
);
name = "Settings and stuff";
sourceTree = "<group>";
};
7DF90B451BE7A8030059C0E3 /* Mini-InAppSettingsKit */ = {
isa = PBXGroup;
children = (
7DF90B461BE7A8110059C0E3 /* IASKSettingsReader.h */,
7DF90B471BE7A8110059C0E3 /* IASKSettingsReader.m */,
7DF90B481BE7A8110059C0E3 /* IASKSpecifier.h */,
7DF90B491BE7A8110059C0E3 /* IASKSpecifier.m */,
);
name = "Mini-InAppSettingsKit";
sourceTree = "<group>";
};
7DFB1567185CC38A008D49BB /* Dropbox */ = {
isa = PBXGroup;
children = (
......@@ -2720,6 +2733,7 @@
DD8095E01BE3EFC20065D8E1 /* VLCPlaybackInfoTVViewController.m in Sources */,
7DEC8C1F1BD6A113006E1093 /* UIDevice+VLC.m in Sources */,
DDEAECFE1BDFFAEE00756C83 /* Reachability.m in Sources */,
7DF90B441BE7A5380059C0E3 /* VLCSettingsTableViewController.m in Sources */,
DD3EFF561BDEBCE500B68579 /* VLCLocalNetworkServiceBrowserDSM.m in Sources */,
DD3EABF91BE14BD6003668DA /* BasicUPnPDevice+VLC.m in Sources */,
7D0C34E71BD951080058CD19 /* NSString+SupportedMedia.m in Sources */,
......@@ -2733,7 +2747,6 @@
7D13347F1BE132ED0012E919 /* VLCLocalNetworkServiceUPnP.m in Sources */,
DD3EFF4A1BDEBCE500B68579 /* VLCLocalNetworkServiceBrowserPlex.m in Sources */,
DD3EABEF1BE14720003668DA /* VLCPlaybackControlsFocusView.m in Sources */,
7DEC8BED1BD68D6A006E1093 /* VLCAboutTVViewController.m in Sources */,
DD3EFF3A1BDEBCE500B68579 /* VLCLocalNetworkServiceVLCMedia.m in Sources */,
7D7EF3DA1BD56B5900CD4CEE /* VLCOpenNetworkStreamTVViewController.m in Sources */,
DD3EFF521BDEBCE500B68579 /* VLCPlexWebAPI.m in Sources */,
......@@ -2749,9 +2762,11 @@
DDEAECF11BDFE9E800756C83 /* VLCServerListTVTableViewController.m in Sources */,
7DEC8BDE1BD67899006E1093 /* VLCFullscreenMovieTVViewController.m in Sources */,
DD3EFF501BDEBCE500B68579 /* VLCPlexParser.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 */,
DD3EFF3E1BDEBCE500B68579 /* VLCLocalNetworkServiceBrowserHTTP.m in Sources */,
7DC71D261BC830A5001FACAA /* VLCLocalNetworkTVViewController.m in Sources */,
7D5278E21BD7E06E00D0CA0E /* VLCDropboxController.m in Sources */,
......@@ -2778,7 +2793,6 @@
7D5278E41BD7E37300D0CA0E /* VLCCloudStorageController.m in Sources */,
DD490B171BE6BA580010F335 /* VLCIRTVTapGestureRecognizer.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