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

Commit 079d53cc authored by Mady Mellor's avatar Mady Mellor
Browse files

Only do things if the window inset changed

Test: manual - expand the stack, select the overflow,
               collapse the stack
             => verify that there isn't a weird animation
Bug: 199781565
Change-Id: I408ae5e32a0f9f335fda6a6743134bc52e348d4e
parent 936f2884
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -69,6 +69,7 @@ import android.util.SparseArray;
import android.util.SparseSetArray;
import android.view.View;
import android.view.ViewGroup;
import android.view.WindowInsets;
import android.view.WindowManager;
import android.window.WindowContainerTransaction;

@@ -189,6 +190,9 @@ public class BubbleController {
    /** Saved direction, used to detect layout direction changes @link #onConfigChanged}. */
    private int mLayoutDirection = View.LAYOUT_DIRECTION_UNDEFINED;

    /** Saved insets, used to detect WindowInset changes. */
    private WindowInsets mWindowInsets;

    private boolean mInflateSynchronously;

    /** True when user is in status bar unlock shade. */
@@ -629,8 +633,11 @@ public class BubbleController {
            mBubbleData.getOverflow().initialize(this);
            mWindowManager.addView(mStackView, mWmLayoutParams);
            mStackView.setOnApplyWindowInsetsListener((view, windowInsets) -> {
                if (!windowInsets.equals(mWindowInsets)) {
                    mWindowInsets = windowInsets;
                    mBubblePositioner.update();
                    mStackView.onDisplaySizeChanged();
                }
                return windowInsets;
            });
        } catch (IllegalStateException e) {