From a4b997362a5fffd2092f29eaf526b2f994151cbd Mon Sep 17 00:00:00 2001 From: Calin-Teodor Date: Mon, 4 Jul 2022 14:44:35 +0300 Subject: [PATCH] feat(conference): disabled pip if we are not in conference room --- .../components/native/Conference.js | 22 +++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/react/features/conference/components/native/Conference.js b/react/features/conference/components/native/Conference.js index b5cfaf4b7..044063058 100644 --- a/react/features/conference/components/native/Conference.js +++ b/react/features/conference/components/native/Conference.js @@ -1,6 +1,7 @@ // @flow -import React from 'react'; +import { useIsFocused } from '@react-navigation/native'; +import React, { useEffect } from 'react'; import { BackHandler, NativeModules, SafeAreaView, StatusBar, View } from 'react-native'; import { withSafeAreaInsets } from 'react-native-safe-area-context'; @@ -192,7 +193,6 @@ class Conference extends AbstractConference { */ componentDidMount() { BackHandler.addEventListener('hardwareBackPress', this._onHardwareBackPress); - setPictureInPictureEnabled(true); } /** @@ -233,7 +233,6 @@ class Conference extends AbstractConference { BackHandler.removeEventListener('hardwareBackPress', this._onHardwareBackPress); clearTimeout(this._expandedLabelTimeout.current); - setPictureInPictureEnabled(false); } /** @@ -561,4 +560,19 @@ function _mapStateToProps(state) { }; } -export default withSafeAreaInsets(connect(_mapStateToProps)(Conference)); +export default withSafeAreaInsets(connect(_mapStateToProps)(props => { + const isFocused = useIsFocused(); + + useEffect(() => { + if (isFocused) { + setPictureInPictureEnabled(true); + } else { + setPictureInPictureEnabled(false); + } + }, [ isFocused ]); + + return ( + + ); +}));