From bbff2ee8e3f3a3b2a484003bed07b6d0eae53dd4 Mon Sep 17 00:00:00 2001 From: VancedOfficial Date: Wed, 26 Jan 2022 00:32:26 +0200 Subject: [PATCH] Button container, button gone fix --- .../libraries/youtube/ui/SlimButton.java | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/fi/vanced/libraries/youtube/ui/SlimButton.java b/app/src/main/java/fi/vanced/libraries/youtube/ui/SlimButton.java index 41164ff..40e881a 100644 --- a/app/src/main/java/fi/vanced/libraries/youtube/ui/SlimButton.java +++ b/app/src/main/java/fi/vanced/libraries/youtube/ui/SlimButton.java @@ -20,6 +20,7 @@ public abstract class SlimButton implements View.OnClickListener { private final ViewGroup container; protected final ImageView button_icon; protected final TextView button_text; + private boolean viewAdded = false; static { SLIM_METADATA_BUTTON_ID = VancedUtils.getIdentifier("slim_metadata_button", "layout"); @@ -36,14 +37,25 @@ public abstract class SlimButton implements View.OnClickListener { button_text = (TextView)view.findViewById(VancedUtils.getIdentifier("button_text", "id")); view.setOnClickListener(this); - setVisible(visible); - container.addView(view); + setVisible(visible); } public void setVisible(boolean visible) { - view.setVisibility(visible ? View.VISIBLE : View.GONE); - setContainerVisibility(); + try { + if (!viewAdded && visible) { + container.addView(view); + viewAdded = true; + } + else if (viewAdded && !visible) { + container.removeView(view); + viewAdded = false; + } + setContainerVisibility(); + } + catch (Exception ex) { + Log.e(TAG, "Error while changing button visibility", ex); + } } private void setContainerVisibility() {