From 8c8600cea5c00246b4f41be4ce522ed460219ac1 Mon Sep 17 00:00:00 2001 From: vijay Date: Mon, 2 Nov 2020 14:30:23 -0800 Subject: [PATCH 1/2] fix(ios): fix default value of property pictureInPictureEnabled --- apidoc/Titanium/Media/VideoPlayer.yml | 3 ++- iphone/Classes/TiMediaVideoPlayerProxy.m | 12 ++++++++++-- tests/Resources/ti.media.videoplayer.test.js | 2 +- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/apidoc/Titanium/Media/VideoPlayer.yml b/apidoc/Titanium/Media/VideoPlayer.yml index b865b96d0eb..b0d9613b9f2 100644 --- a/apidoc/Titanium/Media/VideoPlayer.yml +++ b/apidoc/Titanium/Media/VideoPlayer.yml @@ -576,6 +576,7 @@ properties: summary: The type of media in the player's current item first track. exclude-platforms: [android] type: String + permission: read-only default: constants: Titanium.Media.VIDEO_MEDIA_TYPE_* @@ -625,7 +626,7 @@ properties: summary: Whether or not the receiver allows Picture in Picture playback. platforms: [iphone, ipad, macos] type: Boolean - default: false + default: true osver: {ios: {min: "9.0"}} - name: playableDuration diff --git a/iphone/Classes/TiMediaVideoPlayerProxy.m b/iphone/Classes/TiMediaVideoPlayerProxy.m index 07d722b8ac1..ab10c2b0638 100644 --- a/iphone/Classes/TiMediaVideoPlayerProxy.m +++ b/iphone/Classes/TiMediaVideoPlayerProxy.m @@ -446,12 +446,20 @@ - (void)requestThumbnailImagesAtTimes:(id)args - (NSNumber *)pictureInPictureEnabled { - return @([movie allowsPictureInPicturePlayback]); + if (movie) { + return @(movie.allowsPictureInPicturePlayback); + } else { + RETURN_FROM_LOAD_PROPERTIES(@"pictureInPictureEnabled", @YES); + } } - (void)setPictureInPictureEnabled:(NSNumber *)value { - [movie setAllowsPictureInPicturePlayback:[TiUtils boolValue:value]]; + if (movie) { + movie.allowsPictureInPicturePlayback = [TiUtils boolValue:value def:YES]; + } else { + [loadProperties setValue:value forKey:@"pictureInPictureEnabled"]; + } } - (NSNumber *)showsControls diff --git a/tests/Resources/ti.media.videoplayer.test.js b/tests/Resources/ti.media.videoplayer.test.js index e0d141daa81..ebef07113d8 100644 --- a/tests/Resources/ti.media.videoplayer.test.js +++ b/tests/Resources/ti.media.videoplayer.test.js @@ -189,7 +189,7 @@ describe('Titanium.Media.VideoPlayer', () => { }); it('defaults to false', () => { // eslint-disable-line mocha/no-identical-title - should(player.pictureInPictureEnabled).be.false(); + should(player.pictureInPictureEnabled).be.true(); }); }); From 6686addd651ffdfd31e04f5a8ba7742e1d85862f Mon Sep 17 00:00:00 2001 From: vijay Date: Tue, 3 Nov 2020 10:20:46 -0800 Subject: [PATCH 2/2] test(ios): updated mediaTypes to readonly --- tests/Resources/ti.media.videoplayer.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/Resources/ti.media.videoplayer.test.js b/tests/Resources/ti.media.videoplayer.test.js index ebef07113d8..c923a611cda 100644 --- a/tests/Resources/ti.media.videoplayer.test.js +++ b/tests/Resources/ti.media.videoplayer.test.js @@ -133,7 +133,7 @@ describe('Titanium.Media.VideoPlayer', () => { describe.ios('.mediaTypes', () => { it('is a String', () => { - should(player).have.a.property('mediaTypes').which.is.a.String(); + should(player).have.a.readOnlyProperty('mediaTypes').which.is.a.String(); }); it('is one of Ti.Media.VIDEO_MEDIA_TYPE_*', () => {