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..90c39f6 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 @@ -14,6 +14,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 +318,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 +738,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 +1308,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,10 +1320,12 @@ class ReactExoplayerView extends FrameLayout implements } eventEmitter.fullscreenWillPresent(); decorView.setSystemUiVisibility(uiOptions); + fullscreenButton.setImageResource(R.drawable.exo_controls_fullscreen_exit); eventEmitter.fullscreenDidPresent(); } else { uiOptions = View.SYSTEM_UI_FLAG_VISIBLE; eventEmitter.fullscreenWillDismiss(); + fullscreenButton.setImageResource(R.drawable.exo_controls_fullscreen_enter); decorView.setSystemUiVisibility(uiOptions); 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..96cbfc9 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 @@ + + + + +