AppleTVAppDelegate.m 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  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. #import <HockeySDK/HockeySDK.h>
  19. @interface AppleTVAppDelegate ()
  20. {
  21. UITabBarController *_mainViewController;
  22. VLCServerListTVViewController *_localNetworkVC;
  23. VLCCloudServicesTVViewController *_cloudServicesVC;
  24. VLCRemotePlaybackViewController *_remotePlaybackVC;
  25. VLCOpenNetworkStreamTVViewController *_openNetworkVC;
  26. VLCSettingsViewController *_settingsVC;
  27. }
  28. @end
  29. @implementation AppleTVAppDelegate
  30. + (void)initialize
  31. {
  32. NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
  33. NSDictionary *appDefaults = @{kVLCSettingContinueAudioInBackgroundKey : @(YES),
  34. kVLCSettingStretchAudio : @(YES),
  35. kVLCSettingTextEncoding : kVLCSettingTextEncodingDefaultValue,
  36. kVLCSettingSkipLoopFilter : kVLCSettingSkipLoopFilterNonRef,
  37. kVLCSettingSubtitlesFont : kVLCSettingSubtitlesFontDefaultValue,
  38. kVLCSettingSubtitlesFontColor : kVLCSettingSubtitlesFontColorDefaultValue,
  39. kVLCSettingSubtitlesFontSize : kVLCSettingSubtitlesFontSizeDefaultValue,
  40. kVLCSettingSubtitlesBoldFont: kVLCSettingSubtitlesBoldFontDefaultValue,
  41. kVLCSettingDeinterlace : kVLCSettingDeinterlaceDefaultValue,
  42. kVLCSettingHardwareDecoding : kVLCSettingHardwareDecodingDefault,
  43. kVLCSettingNetworkCaching : kVLCSettingNetworkCachingDefaultValue,
  44. kVLCSettingEqualizerProfile : kVLCSettingEqualizerProfileDefaultValue,
  45. kVLCSettingPlaybackForwardSkipLength : kVLCSettingPlaybackForwardSkipLengthDefaultValue,
  46. kVLCSettingPlaybackBackwardSkipLength : kVLCSettingPlaybackBackwardSkipLengthDefaultValue,
  47. kVLCSettingFTPTextEncoding : kVLCSettingFTPTextEncodingDefaultValue,
  48. kVLCSettingWiFiSharingIPv6 : kVLCSettingWiFiSharingIPv6DefaultValue,
  49. kVLCAutomaticallyPlayNextItem : @(YES),
  50. kVLCSettingDownloadArtwork : @(YES)};
  51. [defaults registerDefaults:appDefaults];
  52. }
  53. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
  54. {
  55. BITHockeyManager *hockeyManager = [BITHockeyManager sharedHockeyManager];
  56. [hockeyManager configureWithIdentifier:@"f8697706993b44bba1c03cb7016cc325"];
  57. // Configure the SDK in here only!
  58. [hockeyManager startManager];
  59. self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
  60. _localNetworkVC = [[VLCServerListTVViewController alloc] initWithNibName:nil bundle:nil];
  61. _remotePlaybackVC = [[VLCRemotePlaybackViewController alloc] initWithNibName:nil bundle:nil];
  62. _openNetworkVC = [[VLCOpenNetworkStreamTVViewController alloc] initWithNibName:nil bundle:nil];
  63. _settingsVC = [[VLCSettingsViewController alloc] initWithNibName:nil bundle:nil];
  64. _mainViewController = [[UITabBarController alloc] init];
  65. _mainViewController.tabBar.barTintColor = [UIColor VLCOrangeTintColor];
  66. _mainViewController.viewControllers = @[[[UINavigationController alloc] initWithRootViewController:_localNetworkVC],
  67. [[UINavigationController alloc] initWithRootViewController:_remotePlaybackVC],
  68. [[UINavigationController alloc] initWithRootViewController:_openNetworkVC],
  69. [[UINavigationController alloc] initWithRootViewController:_settingsVC]];
  70. self.window.rootViewController = _mainViewController;
  71. // Init the HTTP Server
  72. [VLCHTTPUploaderController sharedInstance];
  73. [self.window makeKeyAndVisible];
  74. return YES;
  75. }
  76. @end