Added public-facing calls to set whether to show [fullScreenButton] or [minimalFullScreenButton] in PlayerView calling PlayerControlView

This commit is contained in:
theskyblockman 2024-08-24 20:53:02 +02:00 committed by oceanjules
parent 47d45a82ca
commit 49af9228db
2 changed files with 24 additions and 3 deletions

View File

@ -1575,14 +1575,25 @@ public class PlayerControlView extends FrameLayout {
}
private void onFullScreenButtonClicked(View v) {
if (onFullScreenModeChangedListener == null) {
updateIsFullScreen(!isFullScreen);
}
/**
* Updates whether the controller is in full screen to its icon
* and reports it to to the listener.
* @param isFullScreen If the view is in full screen.
*/
public void updateIsFullScreen(boolean isFullScreen) {
boolean fullScreenModeChanged = this.isFullScreen != isFullScreen;
if(fullScreenModeChanged && onFullScreenModeChangedListener == null) {
return;
}
isFullScreen = !isFullScreen;
this.isFullScreen = isFullScreen;
updateFullScreenButtonForState(fullScreenButton, isFullScreen);
updateFullScreenButtonForState(minimalFullScreenButton, isFullScreen);
if (onFullScreenModeChangedListener != null) {
if(fullScreenModeChanged && onFullScreenModeChangedListener != null) {
onFullScreenModeChangedListener.onFullScreenModeChanged(isFullScreen);
}
}

View File

@ -1139,6 +1139,16 @@ public class PlayerView extends FrameLayout implements AdViewProvider {
controller.setOnFullScreenModeChangedListener(componentListener);
}
/**
* Sets whether the fullscreen button is fullScreenButton or minimalFullScreenButton.
*
* @param isFullscreen Whether the player is currently in fullscreen.
*/
public void setFullscreenButtonState(boolean isFullscreen) {
Assertions.checkStateNotNull(controller);
controller.updateIsFullScreen(isFullscreen);
}
/**
* Sets the {@link PlayerControlView.OnFullScreenModeChangedListener}.
*