Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 25fdf10a authored by Mady Mellor's avatar Mady Mellor
Browse files

Fix an issue where the pointer could be invisible

Add setBackgroundAlpha and use that to change the alpha of the
expanded view background and pointer.

Test: manual - have a bunch of bubbles, expand them, dismiss the
               selected one
               => verify that the arrow is visible for the next bubble
	     - turn on home animation, swipe up to collapse a bubble
               => verify pointer looks fine
Bug: 234739591
Change-Id: If5823840d148e2031312c54eba9c0132b8aa3a4c
parent 0c8bb60c
Loading
Loading
Loading
Loading
+22 −0
Original line number Original line Diff line number Diff line
@@ -106,6 +106,20 @@ public class BubbleExpandedView extends LinearLayout {
                }
                }
            };
            };


    /** {@link FloatProperty} for updating background and pointer alpha */
    public static final FloatProperty<BubbleExpandedView> BACKGROUND_ALPHA =
            new FloatProperty<BubbleExpandedView>("backgroundAlpha") {
                @Override
                public void setValue(BubbleExpandedView expandedView, float value) {
                    expandedView.setBackgroundAlpha(value);
                }

                @Override
                public Float get(BubbleExpandedView expandedView) {
                    return expandedView.getAlpha();
                }
            };

    /** {@link FloatProperty} for updating manage button alpha */
    /** {@link FloatProperty} for updating manage button alpha */
    public static final FloatProperty<BubbleExpandedView> MANAGE_BUTTON_ALPHA =
    public static final FloatProperty<BubbleExpandedView> MANAGE_BUTTON_ALPHA =
            new FloatProperty<BubbleExpandedView>("manageButtonAlpha") {
            new FloatProperty<BubbleExpandedView>("manageButtonAlpha") {
@@ -602,6 +616,14 @@ public class BubbleExpandedView extends LinearLayout {
        }
        }
    }
    }


    /**
     * Sets the alpha of the background and the pointer view.
     */
    public void setBackgroundAlpha(float alpha) {
        mPointerView.setAlpha(alpha);
        setAlpha(alpha);
    }

    /**
    /**
     * Set translation Y for the expanded view content.
     * Set translation Y for the expanded view content.
     * Excludes manage button and pointer.
     * Excludes manage button and pointer.
+2 −2
Original line number Original line Diff line number Diff line
@@ -1079,7 +1079,7 @@ public class BubbleStackView extends FrameLayout
            if (mExpandedBubble != null && mExpandedBubble.getExpandedView() != null) {
            if (mExpandedBubble != null && mExpandedBubble.getExpandedView() != null) {
                float alpha = (float) valueAnimator.getAnimatedValue();
                float alpha = (float) valueAnimator.getAnimatedValue();
                mExpandedBubble.getExpandedView().setContentAlpha(alpha);
                mExpandedBubble.getExpandedView().setContentAlpha(alpha);
                mExpandedBubble.getExpandedView().setAlpha(alpha);
                mExpandedBubble.getExpandedView().setBackgroundAlpha(alpha);
            }
            }
        });
        });


@@ -2215,7 +2215,7 @@ public class BubbleStackView extends FrameLayout


        if (mExpandedBubble.getExpandedView() != null) {
        if (mExpandedBubble.getExpandedView() != null) {
            mExpandedBubble.getExpandedView().setContentAlpha(0f);
            mExpandedBubble.getExpandedView().setContentAlpha(0f);
            mExpandedBubble.getExpandedView().setAlpha(0f);
            mExpandedBubble.getExpandedView().setBackgroundAlpha(0f);


            // We'll be starting the alpha animation after a slight delay, so set this flag early
            // We'll be starting the alpha animation after a slight delay, so set this flag early
            // here.
            // here.
+3 −4
Original line number Original line Diff line number Diff line
@@ -15,12 +15,11 @@
 */
 */
package com.android.wm.shell.bubbles.animation;
package com.android.wm.shell.bubbles.animation;


import static android.view.View.ALPHA;

import static com.android.wm.shell.bubbles.BubbleDebugConfig.DEBUG_COLLAPSE_ANIMATOR;
import static com.android.wm.shell.bubbles.BubbleDebugConfig.DEBUG_COLLAPSE_ANIMATOR;
import static com.android.wm.shell.bubbles.BubbleDebugConfig.DEBUG_EXPANDED_VIEW_DRAGGING;
import static com.android.wm.shell.bubbles.BubbleDebugConfig.DEBUG_EXPANDED_VIEW_DRAGGING;
import static com.android.wm.shell.bubbles.BubbleDebugConfig.TAG_BUBBLES;
import static com.android.wm.shell.bubbles.BubbleDebugConfig.TAG_BUBBLES;
import static com.android.wm.shell.bubbles.BubbleDebugConfig.TAG_WITH_CLASS_NAME;
import static com.android.wm.shell.bubbles.BubbleDebugConfig.TAG_WITH_CLASS_NAME;
import static com.android.wm.shell.bubbles.BubbleExpandedView.BACKGROUND_ALPHA;
import static com.android.wm.shell.bubbles.BubbleExpandedView.BOTTOM_CLIP_PROPERTY;
import static com.android.wm.shell.bubbles.BubbleExpandedView.BOTTOM_CLIP_PROPERTY;
import static com.android.wm.shell.bubbles.BubbleExpandedView.CONTENT_ALPHA;
import static com.android.wm.shell.bubbles.BubbleExpandedView.CONTENT_ALPHA;
import static com.android.wm.shell.bubbles.BubbleExpandedView.MANAGE_BUTTON_ALPHA;
import static com.android.wm.shell.bubbles.BubbleExpandedView.MANAGE_BUTTON_ALPHA;
@@ -314,7 +313,7 @@ public class ExpandedViewAnimationControllerImpl implements ExpandedViewAnimatio
            mBackToExpandedAnimation.cancel();
            mBackToExpandedAnimation.cancel();
        }
        }
        mExpandedView.setContentAlpha(1);
        mExpandedView.setContentAlpha(1);
        mExpandedView.setAlpha(1);
        mExpandedView.setBackgroundAlpha(1);
        mExpandedView.setManageButtonAlpha(1);
        mExpandedView.setManageButtonAlpha(1);
        setCollapsedAmount(0);
        setCollapsedAmount(0);
        mExpandedView.setBottomClip(0);
        mExpandedView.setBottomClip(0);
@@ -416,7 +415,7 @@ public class ExpandedViewAnimationControllerImpl implements ExpandedViewAnimatio
    }
    }


    private ObjectAnimator createBackgroundAlphaAnimation() {
    private ObjectAnimator createBackgroundAlphaAnimation() {
        ObjectAnimator animator = ObjectAnimator.ofFloat(mExpandedView, ALPHA, 0f);
        ObjectAnimator animator = ObjectAnimator.ofFloat(mExpandedView, BACKGROUND_ALPHA, 0f);
        animator.setDuration(BACKGROUND_OPACITY_ANIM_DURATION_MS);
        animator.setDuration(BACKGROUND_OPACITY_ANIM_DURATION_MS);
        animator.setInterpolator(Interpolators.LINEAR);
        animator.setInterpolator(Interpolators.LINEAR);
        animator.setStartDelay(BACKGROUND_OPACITY_ANIM_DELAY_MS);
        animator.setStartDelay(BACKGROUND_OPACITY_ANIM_DELAY_MS);
+1 −1
Original line number Original line Diff line number Diff line
@@ -156,7 +156,7 @@ public class ExpandedViewAnimationControllerTest extends ShellTestCase {
        mController.reset();
        mController.reset();
        verify(mMockExpandedView, atLeastOnce()).setAnimating(false);
        verify(mMockExpandedView, atLeastOnce()).setAnimating(false);
        verify(mMockExpandedView).setContentAlpha(1);
        verify(mMockExpandedView).setContentAlpha(1);
        verify(mMockExpandedView).setAlpha(1);
        verify(mMockExpandedView).setBackgroundAlpha(1);
        verify(mMockExpandedView).setManageButtonAlpha(1);
        verify(mMockExpandedView).setManageButtonAlpha(1);
        verify(mMockExpandedView).setManageButtonAlpha(1);
        verify(mMockExpandedView).setManageButtonAlpha(1);
        verify(mMockExpandedView).setTopClip(0);
        verify(mMockExpandedView).setTopClip(0);