Skip to content

Commit b7d81c1

Browse files
committed
Merge branch 'release/0.2.13'
2 parents ff2235e + d7b9d5b commit b7d81c1

7 files changed

+43
-14
lines changed

ios/RNJWPlayer.podspec

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Pod::Spec.new do |s|
1212
s.platform = :ios, "10.0"
1313
s.source = { :git => "https://github.com/chaimPaneth/react-native-jw-media-player.git", :tag => "v#{s.version}" }
1414
s.source_files = "RNJWPlayer/*.{h,m}"
15-
s.dependency 'JWPlayerKit', '~> 4.5.0'
15+
s.dependency 'JWPlayerKit', '~> 4.5.1'
1616
s.dependency 'google-cast-sdk', '~> 4.7.0'
1717
s.dependency 'React'
1818
# s.static_framework = true

ios/RNJWPlayer/RNJWPlayerView.h

+1
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@
9898
- (NSArray <JWCastingDevice *>*)availableDevices;
9999

100100
/* Methods */
101+
-(void)setLicense:(id)license;
101102
-(void)toggleUIGroup:(UIView*)view :(NSString*)name :(NSString*)ofSubview :(BOOL)show;
102103

103104
@end

ios/RNJWPlayer/RNJWPlayerView.m

+10-11
Original file line numberDiff line numberDiff line change
@@ -69,14 +69,19 @@ -(BOOL)shouldAutorotate {
6969

7070
#pragma mark - RNJWPlayer props
7171

72-
-(void)setConfig:(NSDictionary*)config
72+
-(void)setLicense:(id)license
7373
{
74-
id license = config[@"license"];
7574
if ((license != nil) && (license != (id)[NSNull null])) {
7675
[JWPlayerKitLicense setLicenseKey:license];
7776
} else {
7877
NSLog(@"JW SDK License key not set.");
7978
}
79+
}
80+
81+
-(void)setConfig:(NSDictionary*)config
82+
{
83+
id license = config[@"license"];
84+
[self setLicense:license];
8085

8186
_backgroundAudioEnabled = config[@"backgroundAudioEnabled"];
8287
_pipEnabled = config[@"pipEnabled"];
@@ -664,9 +669,10 @@ -(void)setupPlayerViewController:config :(JWPlayerConfiguration*)playerConfig
664669
-(void)dismissPlayerViewController
665670
{
666671
if (_playerViewController != nil) {
667-
[_playerViewController willMoveToParentViewController:nil];
672+
[_playerViewController.player stop];
668673
[_playerViewController.view removeFromSuperview];
669674
[_playerViewController removeFromParentViewController];
675+
[_playerViewController willMoveToParentViewController:nil];
670676
_playerViewController = nil;
671677
}
672678
}
@@ -689,14 +695,6 @@ -(void)presentPlayerViewController:(JWPlayerConfiguration*)configuration
689695
}
690696

691697
[_playerViewController setDelegates];
692-
693-
// _playerViewController.delegate = self;
694-
// _playerViewController.playerView.delegate = self;
695-
// _playerViewController.player.delegate = self;
696-
// _playerViewController.player.playbackStateDelegate = self;
697-
// _playerViewController.player.adDelegate = self;
698-
// _playerViewController.player.avDelegate = self;
699-
// _playerViewController.player.contentKeyDataSource = self;
700698
}
701699

702700
#pragma mark - JWPlayer View helpers
@@ -727,6 +725,7 @@ -(void)setupPlayerView:config :(JWPlayerConfiguration*)playerConfig
727725
-(void)removePlayerView
728726
{
729727
if (_playerView != nil) {
728+
[_playerView.player stop];
730729
[_playerView removeFromSuperview];
731730
_playerView = nil;
732731
}

ios/RNJWPlayer/RNJWPlayerViewController.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020

2121
@class RNJWPlayerView;
2222

23-
@interface RNJWPlayerViewController : JWPlayerObjCViewController <JWPlayerDelegate, JWPlayerStateDelegate, JWAdDelegate, JWCastDelegate, JWAVDelegate, JWPlayerViewDelegate, JWPlayerViewControllerDelegate, AVPictureInPictureControllerDelegate>
23+
@interface RNJWPlayerViewController : JWPlayerObjCViewController <JWPlayerDelegate, JWPlayerStateDelegate, JWAdDelegate, JWCastDelegate, JWAVDelegate, JWPlayerViewDelegate, JWPlayerViewControllerDelegate, JWDRMContentKeyDataSource, AVPictureInPictureControllerDelegate>
2424

2525
@property(nonatomic, strong)RNJWPlayerView *parentView;
2626

ios/RNJWPlayer/RNJWPlayerViewController.m

+18
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,24 @@ -(void)setDelegates
1717
self.player.playbackStateDelegate = self;
1818
self.player.adDelegate = self;
1919
self.player.avDelegate = self;
20+
self.player.contentKeyDataSource = self;
21+
}
22+
23+
- (void)removeFromParentViewController
24+
{
25+
[self reset];
26+
}
27+
28+
- (void)dealloc
29+
{
30+
[self reset];
31+
}
32+
33+
-(void)reset
34+
{
35+
[self.player stop];
36+
[self.view removeFromSuperview];
37+
[self willMoveToParentViewController:nil];
2038
}
2139

2240
#pragma mark - JWPlayer Delegate

ios/RNJWPlayer/RNJWPlayerViewManager.m

+11
Original file line numberDiff line numberDiff line change
@@ -506,4 +506,15 @@ - (UIView*)view
506506
}];
507507
}
508508

509+
RCT_EXPORT_METHOD(setLicenseKey: (nonnull NSNumber *)reactTag: (nonnull NSString *)license) {
510+
[self.bridge.uiManager addUIBlock:^(__unused RCTUIManager *uiManager, NSDictionary<NSNumber *, RNJWPlayerView *> *viewRegistry) {
511+
RNJWPlayerView *view = viewRegistry[reactTag];
512+
if (![view isKindOfClass:[RNJWPlayerView class]]) {
513+
RCTLogError(@"Invalid view returned from registry, expecting RNJWPlayerView, got: %@", view);
514+
} else {
515+
[view setLicense:license];
516+
}
517+
}];
518+
}
519+
509520
@end

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "react-native-jw-media-player",
3-
"version": "0.2.12",
3+
"version": "0.2.13",
44
"description": "React-native Android/iOS plugin for JWPlayer SDK (https://www.jwplayer.com/)",
55
"main": "index.js",
66
"types": "./index.d.ts",

0 commit comments

Comments
 (0)