|
@@ -46,12 +46,13 @@
|
|
VLCDropboxTableViewController *_dropboxTableViewController;
|
|
VLCDropboxTableViewController *_dropboxTableViewController;
|
|
int _idleCounter;
|
|
int _idleCounter;
|
|
int _networkActivityCounter;
|
|
int _networkActivityCounter;
|
|
- VLCMovieViewController *_movieViewController;
|
|
|
|
BOOL _passcodeValidated;
|
|
BOOL _passcodeValidated;
|
|
BOOL _isRunningMigration;
|
|
BOOL _isRunningMigration;
|
|
BOOL _isComingFromHandoff;
|
|
BOOL _isComingFromHandoff;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+@property (nonatomic, strong) VLCMovieViewController *movieViewController;
|
|
|
|
+
|
|
@end
|
|
@end
|
|
|
|
|
|
@implementation VLCAppDelegate
|
|
@implementation VLCAppDelegate
|
|
@@ -361,6 +362,10 @@
|
|
} else if(_isComingFromHandoff) {
|
|
} else if(_isComingFromHandoff) {
|
|
_isComingFromHandoff = NO;
|
|
_isComingFromHandoff = NO;
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ if ([VLCPlaybackController sharedInstance].isPlaying && !self.movieViewController.presentingViewController) {
|
|
|
|
+ [self presentMovieViewController];
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
|
|
- (void)applicationWillTerminate:(UIApplication *)application
|
|
- (void)applicationWillTerminate:(UIApplication *)application
|
|
@@ -390,6 +395,15 @@
|
|
return _downloadViewController;
|
|
return _downloadViewController;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+- (VLCMovieViewController *)movieViewController
|
|
|
|
+{
|
|
|
|
+ if (!_movieViewController) {
|
|
|
|
+ _movieViewController = [[VLCMovieViewController alloc] initWithNibName:nil bundle:nil];
|
|
|
|
+ [VLCPlaybackController sharedInstance].delegate = _movieViewController;
|
|
|
|
+ }
|
|
|
|
+ return _movieViewController;
|
|
|
|
+}
|
|
|
|
+
|
|
#pragma mark - media discovering
|
|
#pragma mark - media discovering
|
|
|
|
|
|
- (void)mediaFileAdded:(NSString *)fileName loading:(BOOL)isLoading
|
|
- (void)mediaFileAdded:(NSString *)fileName loading:(BOOL)isLoading
|
|
@@ -569,11 +583,19 @@
|
|
|
|
|
|
#pragma mark - playback view handling
|
|
#pragma mark - playback view handling
|
|
|
|
|
|
-- (void)openMediaFromManagedObject:(NSManagedObject *)mediaObject
|
|
|
|
|
|
+- (void)presentMovieViewController
|
|
{
|
|
{
|
|
- if (!_movieViewController)
|
|
|
|
- _movieViewController = [[VLCMovieViewController alloc] initWithNibName:nil bundle:nil];
|
|
|
|
|
|
+ if ([UIApplication sharedApplication].applicationState != UIApplicationStateActive) {
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ UINavigationController *navCon = [[VLCPlaybackNavigationController alloc] initWithRootViewController:self.movieViewController];
|
|
|
|
+ navCon.modalPresentationStyle = UIModalPresentationFullScreen;
|
|
|
|
+ [self.window.rootViewController presentViewController:navCon animated:YES completion:nil];
|
|
|
|
+}
|
|
|
|
|
|
|
|
+- (void)openMediaFromManagedObject:(NSManagedObject *)mediaObject
|
|
|
|
+{
|
|
VLCPlaybackController *vpc = [VLCPlaybackController sharedInstance];
|
|
VLCPlaybackController *vpc = [VLCPlaybackController sharedInstance];
|
|
|
|
|
|
if ([mediaObject isKindOfClass:[MLFile class]])
|
|
if ([mediaObject isKindOfClass:[MLFile class]])
|
|
@@ -583,11 +605,8 @@
|
|
else if ([mediaObject isKindOfClass:[MLShowEpisode class]])
|
|
else if ([mediaObject isKindOfClass:[MLShowEpisode class]])
|
|
vpc.fileFromMediaLibrary = [(MLShowEpisode*)mediaObject files].anyObject;
|
|
vpc.fileFromMediaLibrary = [(MLShowEpisode*)mediaObject files].anyObject;
|
|
[(MLFile *)vpc.fileFromMediaLibrary setUnread:@(NO)];
|
|
[(MLFile *)vpc.fileFromMediaLibrary setUnread:@(NO)];
|
|
- vpc.delegate = _movieViewController;
|
|
|
|
|
|
|
|
- UINavigationController *navCon = [[VLCPlaybackNavigationController alloc] initWithRootViewController:_movieViewController];
|
|
|
|
- navCon.modalPresentationStyle = UIModalPresentationFullScreen;
|
|
|
|
- [self.window.rootViewController presentViewController:navCon animated:YES completion:nil];
|
|
|
|
|
|
+ [self presentMovieViewController];
|
|
|
|
|
|
[vpc startPlayback];
|
|
[vpc startPlayback];
|
|
}
|
|
}
|
|
@@ -596,19 +615,14 @@
|
|
successCallback:(NSURL *)successCallback
|
|
successCallback:(NSURL *)successCallback
|
|
errorCallback:(NSURL *)errorCallback
|
|
errorCallback:(NSURL *)errorCallback
|
|
{
|
|
{
|
|
- if (!_movieViewController)
|
|
|
|
- _movieViewController = [[VLCMovieViewController alloc] initWithNibName:nil bundle:nil];
|
|
|
|
|
|
|
|
VLCPlaybackController *vpc = [VLCPlaybackController sharedInstance];
|
|
VLCPlaybackController *vpc = [VLCPlaybackController sharedInstance];
|
|
|
|
|
|
vpc.url = url;
|
|
vpc.url = url;
|
|
vpc.successCallback = successCallback;
|
|
vpc.successCallback = successCallback;
|
|
vpc.errorCallback = errorCallback;
|
|
vpc.errorCallback = errorCallback;
|
|
- vpc.delegate = _movieViewController;
|
|
|
|
|
|
|
|
- UINavigationController *navCon = [[VLCPlaybackNavigationController alloc] initWithRootViewController:_movieViewController];
|
|
|
|
- navCon.modalPresentationStyle = UIModalPresentationFullScreen;
|
|
|
|
- [self.window.rootViewController presentViewController:navCon animated:YES completion:nil];
|
|
|
|
|
|
+ [self presentMovieViewController];
|
|
|
|
|
|
[vpc startPlayback];
|
|
[vpc startPlayback];
|
|
}
|
|
}
|
|
@@ -620,37 +634,25 @@
|
|
|
|
|
|
- (void)openMediaList:(VLCMediaList *)list atIndex:(int)index
|
|
- (void)openMediaList:(VLCMediaList *)list atIndex:(int)index
|
|
{
|
|
{
|
|
- if (!_movieViewController)
|
|
|
|
- _movieViewController = [[VLCMovieViewController alloc] initWithNibName:nil bundle:nil];
|
|
|
|
-
|
|
|
|
VLCPlaybackController *vpc = [VLCPlaybackController sharedInstance];
|
|
VLCPlaybackController *vpc = [VLCPlaybackController sharedInstance];
|
|
|
|
|
|
vpc.mediaList = list;
|
|
vpc.mediaList = list;
|
|
vpc.itemInMediaListToBePlayedFirst = index;
|
|
vpc.itemInMediaListToBePlayedFirst = index;
|
|
vpc.pathToExternalSubtitlesFile = nil;
|
|
vpc.pathToExternalSubtitlesFile = nil;
|
|
- vpc.delegate = _movieViewController;
|
|
|
|
|
|
|
|
- UINavigationController *navCon = [[VLCPlaybackNavigationController alloc] initWithRootViewController:_movieViewController];
|
|
|
|
- navCon.modalPresentationStyle = UIModalPresentationFullScreen;
|
|
|
|
- [self.window.rootViewController presentViewController:navCon animated:YES completion:nil];
|
|
|
|
|
|
+ [self presentMovieViewController];
|
|
|
|
|
|
[vpc startPlayback];
|
|
[vpc startPlayback];
|
|
}
|
|
}
|
|
|
|
|
|
- (void)openMovieWithExternalSubtitleFromURL:(NSURL *)url externalSubURL:(NSString *)SubtitlePath
|
|
- (void)openMovieWithExternalSubtitleFromURL:(NSURL *)url externalSubURL:(NSString *)SubtitlePath
|
|
{
|
|
{
|
|
- if (!_movieViewController)
|
|
|
|
- _movieViewController = [[VLCMovieViewController alloc] initWithNibName:nil bundle:nil];
|
|
|
|
-
|
|
|
|
VLCPlaybackController *vpc = [VLCPlaybackController sharedInstance];
|
|
VLCPlaybackController *vpc = [VLCPlaybackController sharedInstance];
|
|
|
|
|
|
vpc.url = url;
|
|
vpc.url = url;
|
|
vpc.pathToExternalSubtitlesFile = SubtitlePath;
|
|
vpc.pathToExternalSubtitlesFile = SubtitlePath;
|
|
- vpc.delegate = _movieViewController;
|
|
|
|
|
|
|
|
- UINavigationController *navCon = [[VLCPlaybackNavigationController alloc] initWithRootViewController:_movieViewController];
|
|
|
|
- navCon.modalPresentationStyle = UIModalPresentationFullScreen;
|
|
|
|
- [self.window.rootViewController presentViewController:navCon animated:YES completion:nil];
|
|
|
|
|
|
+ [self presentMovieViewController];
|
|
|
|
|
|
[vpc startPlayback];
|
|
[vpc startPlayback];
|
|
}
|
|
}
|
|
@@ -669,12 +671,12 @@
|
|
if ([userInfo[@"name"] isEqualToString:@"getNowPlayingInfo"]) {
|
|
if ([userInfo[@"name"] isEqualToString:@"getNowPlayingInfo"]) {
|
|
responseDict = [self nowPlayingResponseDict];
|
|
responseDict = [self nowPlayingResponseDict];
|
|
} else if ([userInfo[@"name"] isEqualToString:@"playpause"]) {
|
|
} else if ([userInfo[@"name"] isEqualToString:@"playpause"]) {
|
|
- [_movieViewController playPause];
|
|
|
|
- responseDict = @{@"playing": @(_movieViewController.isPlaying)};
|
|
|
|
|
|
+ [[VLCPlaybackController sharedInstance] playPause];
|
|
|
|
+ responseDict = @{@"playing": @([VLCPlaybackController sharedInstance].isPlaying)};
|
|
} else if ([userInfo[@"name"] isEqualToString:@"skipForward"]) {
|
|
} else if ([userInfo[@"name"] isEqualToString:@"skipForward"]) {
|
|
- [_movieViewController forward:nil];
|
|
|
|
|
|
+ [[VLCPlaybackController sharedInstance] forward];
|
|
} else if ([userInfo[@"name"] isEqualToString:@"skipBackward"]) {
|
|
} else if ([userInfo[@"name"] isEqualToString:@"skipBackward"]) {
|
|
- [_movieViewController backward:nil];
|
|
|
|
|
|
+ [[VLCPlaybackController sharedInstance] backward];
|
|
} else if ([userInfo[@"name"] isEqualToString:@"playFile"]) {
|
|
} else if ([userInfo[@"name"] isEqualToString:@"playFile"]) {
|
|
[self playFileFromWatch:userInfo[@"userInfo"]];
|
|
[self playFileFromWatch:userInfo[@"userInfo"]];
|
|
} else {
|
|
} else {
|