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

Commit dd1cc21b authored by Automerger Merge Worker's avatar Automerger Merge Worker Committed by Android (Google) Code Review
Browse files

Merge "Merge "Fix crash when opening overflow after dismissing stack" into...

Merge "Merge "Fix crash when opening overflow after dismissing stack" into rvc-dev am: 552c77d5 am: f329d674" into rvc-d1-dev-plus-aosp
parents ecd70d54 c8e82ae6
Loading
Loading
Loading
Loading
+7 −1
Original line number Original line Diff line number Diff line
@@ -657,7 +657,13 @@ public class BubbleController implements ConfigurationController.ConfigurationLi


        try {
        try {
            mAddedToWindowManager = false;
            mAddedToWindowManager = false;
            if (mStackView != null) {
                mWindowManager.removeView(mStackView);
                mWindowManager.removeView(mStackView);
                mStackView.removeView(mBubbleScrim);
                mStackView = null;
            } else {
                Log.w(TAG, "StackView added to WindowManager, but was null when removing!");
            }
        } catch (IllegalArgumentException e) {
        } catch (IllegalArgumentException e) {
            // This means the stack has already been removed - it shouldn't happen, but ignore if it
            // This means the stack has already been removed - it shouldn't happen, but ignore if it
            // does, since we wanted it removed anyway.
            // does, since we wanted it removed anyway.
+3 −1
Original line number Original line Diff line number Diff line
@@ -306,8 +306,10 @@ public class BubbleExpandedView extends LinearLayout {
     * if a view has been added or removed from on top of the ActivityView, such as the manage menu.
     * if a view has been added or removed from on top of the ActivityView, such as the manage menu.
     */
     */
    void updateObscuredTouchableRegion() {
    void updateObscuredTouchableRegion() {
        if (mActivityView != null) {
            mActivityView.onLocationChanged();
            mActivityView.onLocationChanged();
        }
        }
    }


    void applyThemeAttrs() {
    void applyThemeAttrs() {
        final TypedArray ta = mContext.obtainStyledAttributes(
        final TypedArray ta = mContext.obtainStyledAttributes(
+1 −1
Original line number Original line Diff line number Diff line
@@ -129,7 +129,7 @@ public class BubbleOverflow implements BubbleViewProvider {
        return mOverflowBtn;
        return mOverflowBtn;
    }
    }


    void setBtnVisible(int visible) {
    void setVisible(int visible) {
        mOverflowBtn.setVisibility(visible);
        mOverflowBtn.setVisibility(visible);
    }
    }


+9 −15
Original line number Original line Diff line number Diff line
@@ -1117,6 +1117,9 @@ public class BubbleStackView extends FrameLayout
        super.onDetachedFromWindow();
        super.onDetachedFromWindow();
        getViewTreeObserver().removeOnPreDrawListener(mViewUpdater);
        getViewTreeObserver().removeOnPreDrawListener(mViewUpdater);
        getViewTreeObserver().removeOnComputeInternalInsetsListener(this);
        getViewTreeObserver().removeOnComputeInternalInsetsListener(this);
        if (mBubbleOverflow != null && mBubbleOverflow.getExpandedView() != null) {
            mBubbleOverflow.getExpandedView().cleanUpExpandedState();
        }
    }
    }


    @Override
    @Override
@@ -1334,21 +1337,12 @@ public class BubbleStackView extends FrameLayout
        Log.d(TAG, "was asked to remove Bubble, but didn't find the view! " + bubble);
        Log.d(TAG, "was asked to remove Bubble, but didn't find the view! " + bubble);
    }
    }


    private void updateOverflowBtnVisibility() {
    private void updateOverflowVisibility() {
        if (!BubbleExperimentConfig.allowBubbleOverflow(mContext)) {
        if (!BubbleExperimentConfig.allowBubbleOverflow(mContext)
                || mBubbleOverflow == null) {
            return;
            return;
        }
        }
        if (mIsExpanded) {
        mBubbleOverflow.setVisible(mIsExpanded ? VISIBLE : GONE);
            if (DEBUG_BUBBLE_STACK_VIEW) {
                Log.d(TAG, "Show overflow button.");
            }
            mBubbleOverflow.setBtnVisible(VISIBLE);
        } else {
            if (DEBUG_BUBBLE_STACK_VIEW) {
                Log.d(TAG, "Collapsed. Hide overflow button.");
            }
            mBubbleOverflow.setBtnVisible(GONE);
        }
    }
    }


    // via BubbleData.Listener
    // via BubbleData.Listener
@@ -1602,7 +1596,7 @@ public class BubbleStackView extends FrameLayout
            Log.d(TAG, BubbleDebugConfig.formatBubblesString(getBubblesOnScreen(),
            Log.d(TAG, BubbleDebugConfig.formatBubblesString(getBubblesOnScreen(),
                    mExpandedBubble));
                    mExpandedBubble));
        }
        }
        updateOverflowBtnVisibility();
        updateOverflowVisibility();
        mBubbleContainer.cancelAllAnimations();
        mBubbleContainer.cancelAllAnimations();
        mExpandedAnimationController.collapseBackToStack(
        mExpandedAnimationController.collapseBackToStack(
                mStackAnimationController.getStackPositionAlongNearestHorizontalEdge()
                mStackAnimationController.getStackPositionAlongNearestHorizontalEdge()
@@ -1626,7 +1620,7 @@ public class BubbleStackView extends FrameLayout
        beforeExpandedViewAnimation();
        beforeExpandedViewAnimation();


        mBubbleContainer.setActiveController(mExpandedAnimationController);
        mBubbleContainer.setActiveController(mExpandedAnimationController);
        updateOverflowBtnVisibility();
        updateOverflowVisibility();
        mExpandedAnimationController.expandFromStack(() -> {
        mExpandedAnimationController.expandFromStack(() -> {
            updatePointerPosition();
            updatePointerPosition();
            afterExpandedViewAnimation();
            afterExpandedViewAnimation();