From 1d2d6c08212a9527c2ec8dc4268099a22311dc55 Mon Sep 17 00:00:00 2001 From: Roland Kakonyi Date: Wed, 22 Nov 2023 13:40:28 +0100 Subject: [PATCH 1/6] chore: fix tvOS UI --- example/src/screens/BasicPictureInPicture.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/example/src/screens/BasicPictureInPicture.tsx b/example/src/screens/BasicPictureInPicture.tsx index 2b2b6975..85a1a56c 100644 --- a/example/src/screens/BasicPictureInPicture.tsx +++ b/example/src/screens/BasicPictureInPicture.tsx @@ -118,7 +118,7 @@ export default function BasicPictureInPicture({ return ( Date: Fri, 24 Nov 2023 11:31:57 +0100 Subject: [PATCH 2/6] fix(tvospictureinpicture): fix picture in picture sample screen on tvOS --- CHANGELOG.md | 1 + example/src/screens/BasicPictureInPicture.tsx | 12 ++++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4768d96b..abaff3c5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ ### Fixed - Android: `PlayerView` destroys attached `Player` instance on destroy. `Player` lifecycle must be handled on the creation side +- tvOS: Picture in Picture sample screen has unwanted padding ## [0.14.0] (2023-11-14) diff --git a/example/src/screens/BasicPictureInPicture.tsx b/example/src/screens/BasicPictureInPicture.tsx index 85a1a56c..d1fa44f0 100644 --- a/example/src/screens/BasicPictureInPicture.tsx +++ b/example/src/screens/BasicPictureInPicture.tsx @@ -1,5 +1,5 @@ import React, { useCallback, useEffect, useState } from 'react'; -import { Button, Platform, StyleSheet } from 'react-native'; +import { Button, Platform, StyleSheet, View, ViewProps } from 'react-native'; import { useFocusEffect } from '@react-navigation/native'; import { Event, @@ -116,9 +116,9 @@ export default function BasicPictureInPicture({ [] ); + const ContainerView = Platform.isTV ? View : SafeAreaContainer; return ( - - + ); } +function SafeAreaContainer(props: ViewProps): JSX.Element { + return ; +} + const styles = StyleSheet.create({ container: { flex: 1, From 094c4f100ebc4f1dce22fc3e711ca5fc8c852004 Mon Sep 17 00:00:00 2001 From: Roland Kakonyi Date: Fri, 24 Nov 2023 11:43:17 +0100 Subject: [PATCH 3/6] chore: fix changelog entry --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8d1ebb2f..2bf1e369 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,13 +6,13 @@ - Android: `onEvent` callback not being called on `PlayerView` - iOS: `onEvent` on iOS has incomplete payload information +- tvOS: Picture in Picture sample screen has unwanted padding ## [0.14.1] (2023-11-16) ### Fixed - Android: `PlayerView` destroys attached `Player` instance on destroy. `Player` lifecycle must be handled on the creation side -- tvOS: Picture in Picture sample screen has unwanted padding ## [0.14.0] (2023-11-14) From ba2bc0e99778b54427e08cc39f503e0c00d0e819 Mon Sep 17 00:00:00 2001 From: Roland Kakonyi Date: Mon, 27 Nov 2023 12:31:00 +0100 Subject: [PATCH 4/6] feat(hidehomeindicatorios): hide home indicator on iOS when entering fullscreen --- example/src/screens/BasicFullscreenHandling.tsx | 1 + example/src/screens/LandscapeFullscreenHandling.tsx | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/example/src/screens/BasicFullscreenHandling.tsx b/example/src/screens/BasicFullscreenHandling.tsx index a87d1e5e..dd5bb206 100644 --- a/example/src/screens/BasicFullscreenHandling.tsx +++ b/example/src/screens/BasicFullscreenHandling.tsx @@ -78,6 +78,7 @@ export default function BasicFullscreenHandling({ setFullscreenMode(isFullscreen); navigation.setOptions({ headerShown: !isFullscreen, // show/hide top bar + autoHideHomeIndicator: isFullscreen, // show/hide home indicator on iOS }); }) ).current; diff --git a/example/src/screens/LandscapeFullscreenHandling.tsx b/example/src/screens/LandscapeFullscreenHandling.tsx index 5e027e3d..ef3272bd 100644 --- a/example/src/screens/LandscapeFullscreenHandling.tsx +++ b/example/src/screens/LandscapeFullscreenHandling.tsx @@ -84,7 +84,10 @@ export default function LandscapeFullscreenHandling({ new SampleFullscreenHandler(fullscreenMode, (isFullscreen: boolean) => { console.log('on fullscreen change'); setFullscreenMode(isFullscreen); - navigation.setOptions({ headerShown: !isFullscreen }); + navigation.setOptions({ + headerShown: !isFullscreen, // show/hide top bar + autoHideHomeIndicator: isFullscreen, // show/hide home indicator on iOS + }); }) ).current; useFocusEffect( From 5c5522098cb1f641365e7771e33de132693ee75b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roland=20K=C3=A1konyi?= Date: Mon, 27 Nov 2023 12:33:22 +0100 Subject: [PATCH 5/6] chore: add CHANGELOG entry --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index cf62d831..314f5b74 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ - Android: `onEvent` callback not being called on `PlayerView` - iOS: `onEvent` on iOS has incomplete payload information +- iOS: hide home indicator when entering fullscreen mode in the example application ## [0.14.1] (2023-11-16) From 8f3af8831164adde78f0055bac5b3e2393d6288e Mon Sep 17 00:00:00 2001 From: Bitmovin Release Automation Date: Mon, 27 Nov 2023 14:51:51 +0000 Subject: [PATCH 6/6] chore: prepare release 0.14.2 --- CHANGELOG.md | 2 +- example/ios/Podfile.lock | 6 +++--- package.json | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b905af86..ab4c10c3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## [Unreleased] +## [0.14.2] (2023-11-27) ### Fixed diff --git a/example/ios/Podfile.lock b/example/ios/Podfile.lock index 44e61cd5..22405c3f 100644 --- a/example/ios/Podfile.lock +++ b/example/ios/Podfile.lock @@ -345,7 +345,7 @@ PODS: - React-jsi (= 0.69.6-2) - React-logger (= 0.69.6-2) - React-perflogger (= 0.69.6-2) - - RNBitmovinPlayer (0.14.1): + - RNBitmovinPlayer (0.14.2): - BitmovinPlayer (= 3.49.0) - GoogleAds-IMA-iOS-SDK (= 3.18.4) - GoogleAds-IMA-tvOS-SDK (= 4.8.2) @@ -574,7 +574,7 @@ SPEC CHECKSUMS: React-RCTText: f72442f7436fd8624494963af4906000a5465ce6 React-runtimeexecutor: f1383f6460ea3d66ed122b4defb0b5ba664ee441 ReactCommon: 7857ab475239c5ba044b7ed946ba564f2e7f1626 - RNBitmovinPlayer: 29822e8853cfc97c179ab24cda7902ecf6f3f1e0 + RNBitmovinPlayer: 020d9bcad225ddee065212cbba660673e456f391 RNCPicker: 0250e95ad170569a96f5b0555cdd5e65b9084dca RNScreens: 4a1af06327774490d97342c00aee0c2bafb497b7 SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17 @@ -583,4 +583,4 @@ SPEC CHECKSUMS: PODFILE CHECKSUM: 253d54be44299ecb3c274fb9bf8415c9c99cd6c6 -COCOAPODS: 1.14.2 +COCOAPODS: 1.12.1 diff --git a/package.json b/package.json index c5d839ce..3cf6baa6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "bitmovin-player-react-native", - "version": "0.14.1", + "version": "0.14.2", "description": "Official React Native bindings for Bitmovin's mobile Player SDKs.", "main": "lib/index.js", "module": "lib/index.mjs",