AppleTVAppDelegate.m 4.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. /*****************************************************************************
  2. * VLC for iOS
  3. *****************************************************************************
  4. * Copyright (c) 2015 VideoLAN. All rights reserved.
  5. * $Id$
  6. *
  7. * Authors: Felix Paul Kühne <fkuehne # videolan.org>
  8. *
  9. * Refer to the COPYING file of the official project for license.
  10. *****************************************************************************/
  11. #import "AppleTVAppDelegate.h"
  12. #import "VLCServerListTVViewController.h"
  13. #import "VLCOpenNetworkStreamTVViewController.h"
  14. #import "VLCSettingsViewController.h"
  15. #import "VLCCloudServicesTVViewController.h"
  16. #import "VLCHTTPUploaderController.h"
  17. #import "VLCRemotePlaybackViewController.h"
  18. @interface AppleTVAppDelegate ()
  19. {
  20. UITabBarController *_mainViewController;
  21. VLCServerListTVViewController *_localNetworkVC;
  22. VLCCloudServicesTVViewController *_cloudServicesVC;
  23. VLCRemotePlaybackViewController *_remotePlaybackVC;
  24. VLCOpenNetworkStreamTVViewController *_openNetworkVC;
  25. VLCSettingsViewController *_settingsVC;
  26. }
  27. @end
  28. @implementation AppleTVAppDelegate
  29. + (void)initialize
  30. {
  31. NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
  32. NSDictionary *appDefaults = @{kVLCSettingContinueAudioInBackgroundKey : @(YES),
  33. kVLCSettingStretchAudio : @(NO),
  34. kVLCSettingTextEncoding : kVLCSettingTextEncodingDefaultValue,
  35. kVLCSettingSkipLoopFilter : kVLCSettingSkipLoopFilterNonRef,
  36. kVLCSettingSubtitlesFont : kVLCSettingSubtitlesFontDefaultValue,
  37. kVLCSettingSubtitlesFontColor : kVLCSettingSubtitlesFontColorDefaultValue,
  38. kVLCSettingSubtitlesFontSize : kVLCSettingSubtitlesFontSizeDefaultValue,
  39. kVLCSettingSubtitlesBoldFont: kVLCSettingSubtitlesBoldFontDefaultValue,
  40. kVLCSettingDeinterlace : kVLCSettingDeinterlaceDefaultValue,
  41. kVLCSettingNetworkCaching : kVLCSettingNetworkCachingDefaultValue,
  42. kVLCSettingEqualizerProfile : kVLCSettingEqualizerProfileDefaultValue,
  43. kVLCSettingPlaybackForwardSkipLength : kVLCSettingPlaybackForwardSkipLengthDefaultValue,
  44. kVLCSettingPlaybackBackwardSkipLength : kVLCSettingPlaybackBackwardSkipLengthDefaultValue,
  45. kVLCSettingFTPTextEncoding : kVLCSettingFTPTextEncodingDefaultValue,
  46. kVLCSettingWiFiSharingIPv6 : kVLCSettingWiFiSharingIPv6DefaultValue};
  47. [defaults registerDefaults:appDefaults];
  48. }
  49. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
  50. {
  51. self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
  52. _localNetworkVC = [[VLCServerListTVViewController alloc] initWithNibName:nil bundle:nil];
  53. _cloudServicesVC = [[VLCCloudServicesTVViewController alloc] initWithNibName:nil bundle:nil];
  54. _remotePlaybackVC = [[VLCRemotePlaybackViewController alloc] initWithNibName:nil bundle:nil];
  55. _openNetworkVC = [[VLCOpenNetworkStreamTVViewController alloc] initWithNibName:nil bundle:nil];
  56. _settingsVC = [[VLCSettingsViewController alloc] initWithNibName:nil bundle:nil];
  57. _mainViewController = [[UITabBarController alloc] init];
  58. _mainViewController.tabBar.barTintColor = [UIColor VLCOrangeTintColor];
  59. _mainViewController.viewControllers = @[[[UINavigationController alloc] initWithRootViewController:_localNetworkVC],
  60. [[UINavigationController alloc] initWithRootViewController:_cloudServicesVC],
  61. [[UINavigationController alloc] initWithRootViewController:_remotePlaybackVC],
  62. [[UINavigationController alloc] initWithRootViewController:_openNetworkVC],
  63. [[UINavigationController alloc] initWithRootViewController:_settingsVC]];
  64. self.window.rootViewController = _mainViewController;
  65. // Init the HTTP Server
  66. [VLCHTTPUploaderController sharedInstance];
  67. [self.window makeKeyAndVisible];
  68. return YES;
  69. }
  70. @end