From ae9ee2dbeaba9ab050a0cbe8bb2637d64b09a9d5 Mon Sep 17 00:00:00 2001 From: MarcaDian Date: Fri, 21 Feb 2025 23:02:18 +0200 Subject: [PATCH] fix placeholder --- .../videoplayer/PlayerControlButton.java | 38 ++++++++++++++----- 1 file changed, 28 insertions(+), 10 deletions(-) diff --git a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/PlayerControlButton.java b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/PlayerControlButton.java index 2324f66416..35b3a811f1 100644 --- a/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/PlayerControlButton.java +++ b/extensions/youtube/src/main/java/app/revanced/extension/youtube/videoplayer/PlayerControlButton.java @@ -87,7 +87,15 @@ protected void setVisibility(boolean visible, boolean animated) { private void private_setVisibility(boolean visible, boolean animated) { try { - if (isVisible == visible) return; + if (isVisible == visible) { + if (!visible && !visibilityCheck.shouldBeShown()) { + View placeholder = placeHolderRef.get(); + if (placeholder != null && placeholder.getVisibility() == View.VISIBLE) { + placeholder.setVisibility(View.GONE); + } + } + return; + } isVisible = visible; View button = buttonRef.get(); @@ -101,19 +109,23 @@ private void private_setVisibility(boolean visible, boolean animated) { button.startAnimation(PlayerControlButton.fadeInAnimation); } button.setVisibility(View.VISIBLE); - if (placeholder != null) { placeholder.setVisibility(View.GONE); } - } else if (button.getVisibility() == View.VISIBLE) { - button.clearAnimation(); - if (animated) { - button.startAnimation(PlayerControlButton.fadeOutAnimation); + } else { + if (button.getVisibility() == View.VISIBLE) { + button.clearAnimation(); + if (animated) { + button.startAnimation(PlayerControlButton.fadeOutAnimation); + } + button.setVisibility(View.GONE); } - button.setVisibility(View.GONE); - if (placeholder != null) { - placeholder.setVisibility(View.VISIBLE); + if (visibilityCheck.shouldBeShown()) { + placeholder.setVisibility(View.VISIBLE); + } else { + placeholder.setVisibility(View.GONE); + } } } } catch (Exception ex) { @@ -130,7 +142,13 @@ public void hide() { view.setVisibility(View.GONE); view = placeHolderRef.get(); - if (view != null) view.setVisibility(View.VISIBLE); + if (view != null) { + if (visibilityCheck.shouldBeShown()) { + view.setVisibility(View.VISIBLE); + } else { + view.setVisibility(View.GONE); + } + } isVisible = false; } } \ No newline at end of file