diff --git a/node_modules/react-native-video/android-exoplayer/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java b/node_modules/react-native-video/android-exoplayer/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java index fe95fdf..1fd5d23 100644 --- a/node_modules/react-native-video/android-exoplayer/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java +++ b/node_modules/react-native-video/android-exoplayer/src/main/java/com/brentvatne/exoplayer/ReactExoplayerView.java @@ -3,6 +3,7 @@ package com.brentvatne.exoplayer; import android.annotation.SuppressLint; import android.app.Activity; import android.content.Context; +import android.graphics.Color; import android.media.AudioManager; import android.net.Uri; import android.os.Handler; @@ -14,6 +15,7 @@ import android.view.Window; import android.view.accessibility.CaptioningManager; import android.widget.FrameLayout; import android.widget.ImageButton; +import android.widget.ImageView; import com.brentvatne.react.R; import com.brentvatne.receiver.AudioBecomingNoisyReceiver; @@ -317,6 +319,7 @@ class ReactExoplayerView extends FrameLayout implements playerControlView.setPlayer(player); playerControlView.show(); playPauseControlContainer = playerControlView.findViewById(R.id.exo_play_pause_container); + playerControlView.findViewById(R.id.exo_fullscreen_button).setOnClickListener(v -> setFullscreen(!isFullscreen)); // Invoking onClick event for exoplayerView exoPlayerView.setOnClickListener(new OnClickListener() { @@ -736,6 +739,7 @@ class ReactExoplayerView extends FrameLayout implements @Override public void onPlayerStateChanged(boolean playWhenReady, int playbackState) { String text = "onStateChanged: playWhenReady=" + playWhenReady + ", playbackState="; + eventEmitter.playbackRateChange(playWhenReady && playbackState == com.google.android.exoplayer2.ExoPlayer.STATE_READY ? 1.0f : 0.0f); switch (playbackState) { case Player.STATE_IDLE: text += "idle"; @@ -1305,6 +1309,7 @@ class ReactExoplayerView extends FrameLayout implements Window window = activity.getWindow(); View decorView = window.getDecorView(); int uiOptions; + ImageView fullscreenButton = playerControlView.findViewById(R.id.exo_fullscreen_icon); if (isFullscreen) { if (Util.SDK_INT >= 19) { // 4.4+ uiOptions = SYSTEM_UI_FLAG_HIDE_NAVIGATION @@ -1316,11 +1321,14 @@ class ReactExoplayerView extends FrameLayout implements } eventEmitter.fullscreenWillPresent(); decorView.setSystemUiVisibility(uiOptions); + decorView.setBackgroundColor(Color.parseColor("#000000")); + fullscreenButton.setImageResource(R.drawable.exo_controls_fullscreen_exit); eventEmitter.fullscreenDidPresent(); } else { uiOptions = View.SYSTEM_UI_FLAG_VISIBLE; eventEmitter.fullscreenWillDismiss(); decorView.setSystemUiVisibility(uiOptions); + fullscreenButton.setImageResource(R.drawable.exo_controls_fullscreen_enter); eventEmitter.fullscreenDidDismiss(); } } diff --git a/node_modules/react-native-video/android-exoplayer/src/main/res/layout/exo_player_control_view.xml b/node_modules/react-native-video/android-exoplayer/src/main/res/layout/exo_player_control_view.xml index becee6a..5d4b2cd 100644 --- a/node_modules/react-native-video/android-exoplayer/src/main/res/layout/exo_player_control_view.xml +++ b/node_modules/react-native-video/android-exoplayer/src/main/res/layout/exo_player_control_view.xml @@ -1,5 +1,6 @@ + + + + +