Chore/rework fullscreen configuration (#4142)
* feat(android): handle navigation bar status in full-screen mode * chore: update default value of prop * chore(android): rework fullscreen configuration --------- Co-authored-by: mostafahasani <seyedmostafahassani@gmail.com>
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
'use strict';
|
||||
|
||||
import React, {type FC, useCallback, useRef, useState} from 'react';
|
||||
import React, {type FC, useCallback, useRef, useState, useEffect} from 'react';
|
||||
|
||||
import {Platform, TouchableOpacity, View} from 'react-native';
|
||||
import {Platform, TouchableOpacity, View, StatusBar} from 'react-native';
|
||||
|
||||
import Video, {
|
||||
VideoRef,
|
||||
@@ -36,6 +36,7 @@ import styles from './styles';
|
||||
import {type AdditionalSourceInfo} from './types';
|
||||
import {bufferConfig, srcList, textTracksSelectionBy} from './constants';
|
||||
import {Overlay, toast, VideoLoader} from './components';
|
||||
import * as NavigationBar from 'expo-navigation-bar';
|
||||
|
||||
type Props = NonNullable<unknown>;
|
||||
|
||||
@@ -104,6 +105,10 @@ const VideoPlayer: FC<Props> = ({}) => {
|
||||
goToChannel((srcListId + srcList.length - 1) % srcList.length);
|
||||
}, [goToChannel, srcListId]);
|
||||
|
||||
useEffect(() => {
|
||||
NavigationBar.setVisibilityAsync('visible');
|
||||
}, []);
|
||||
|
||||
const onAudioTracks = (data: OnAudioTracksData) => {
|
||||
const selectedTrack = data.audioTracks?.find((x: AudioTrack) => {
|
||||
return x.selected;
|
||||
@@ -226,6 +231,8 @@ const VideoPlayer: FC<Props> = ({}) => {
|
||||
|
||||
return (
|
||||
<View style={styles.container}>
|
||||
<StatusBar animated={true} backgroundColor="black" hidden={false} />
|
||||
|
||||
{(srcList[srcListId] as AdditionalSourceInfo)?.noView ? null : (
|
||||
<TouchableOpacity style={viewStyle}>
|
||||
<Video
|
||||
@@ -276,6 +283,7 @@ const VideoPlayer: FC<Props> = ({}) => {
|
||||
bufferingStrategy={BufferingStrategyType.DEFAULT}
|
||||
debug={{enable: true, thread: true}}
|
||||
subtitleStyle={{subtitlesFollowVideo: true}}
|
||||
controlsStyles={{hideNavigationBarOnFullScreenMode: true, hideNotificationBarOnFullScreenMode: true}}
|
||||
/>
|
||||
</TouchableOpacity>
|
||||
)}
|
||||
|
Reference in New Issue
Block a user