Skip to content

fix(android): controls always show in fullscreen #4813

Open
robertert wants to merge 1 commit intoTheWidlarzGroup:support/6.x.xfrom
robertert:fix/6.x.x/fullscreen-controls
Open

fix(android): controls always show in fullscreen #4813
robertert wants to merge 1 commit intoTheWidlarzGroup:support/6.x.xfrom
robertert:fix/6.x.x/fullscreen-controls

Conversation

@robertert
Copy link

Fixes: #4751

Resolves an issue where player controls were not visible in Fullscreen mode when controls={false} on Android

Changes:

  • Fixed the logic to ensure controls are always enabled when the player is in Fullscreen mode, regardless of the controls prop value.
  • Simplified and refactored the controller visibility logic in ReactExoplayerView.java

@Okelm
Copy link
Contributor

Okelm commented Jan 8, 2026

Thanks for the PR!
it should fix the issue that you face @gkueny

@janpe
Copy link

janpe commented Feb 11, 2026

@robertert could this be merged?

private void updateControllerConfig() {
if (exoPlayerView == null) return;

// Extra configuration for proper touch handling
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you delete this comment?

private void refreshControlsStyles() {
if (exoPlayerView == null || player == null || !controls) return;
if (exoPlayerView == null || player == null) return;
// Always update controller visibility to ensure it matches current state
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you delete this comment?

Comment on lines +2644 to +2646
if (exoPlayerView != null) {
exoPlayerView.showController();
}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it necessary?

Comment on lines +2709 to +2711
boolean shouldShowControls = controls || isFullscreen;
if (shouldShowControls) {
updateControllerConfig();
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What about the configuration we deleted?

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes a bug where player controls were not visible in fullscreen mode when controls={false} on Android (version >= 6.16.0). The fix ensures controls are always shown in fullscreen mode regardless of the controls prop value, which aligns with the documented behavior.

Changes:

  • Updated controller visibility logic to use controls || isFullscreen instead of controls && !controlsConfig.getHideFullscreen()
  • Refactored and simplified controller visibility management by removing redundant code
  • Added explicit controller show/hide calls when entering/exiting fullscreen mode

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: To Triage

Development

Successfully merging this pull request may close these issues.

5 participants