AppleTVAppDelegate.m 4.9 KB

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