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

Commit 438e6c90 authored by Tony Wickham's avatar Tony Wickham
Browse files

Fix onIsStashedChanged() not called in 3 button mode

Calling this ensures we update touchableRegion accordingly.

Since this will also start the stashed handle region sampling,
which we don't need for 3 button mode, also adjust logic to
check that the StashedHandleView is actually visible.

Flag: None
Test: Lock screen, run `adb shell cmd uimode night yes`, unlock
Test: Lock screen, rotate, unlock
  In both cases, verify touchableRegion is accurate
Fixes: 315393203
Change-Id: I951af6b97cad0ee0f362dc22f3996cfd9286a21e
parent 710634b1
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -149,7 +149,7 @@ public class StashedHandleViewController implements TaskbarControllers.LoggableT
        });
        initRegionSampler();
        if (mActivity.isPhoneGestureNavMode()) {
            onIsStashedChanged(true);
            onIsStashedChanged();
        }
    }

@@ -232,10 +232,10 @@ public class StashedHandleViewController implements TaskbarControllers.LoggableT
    }

    /** Called when taskbar is stashed or unstashed. */
    public void onIsStashedChanged(boolean isStashed) {
        mIsStashed = isStashed;
    public void onIsStashedChanged() {
        mIsStashed = isStashedHandleVisible();
        updateRegionSamplingWindowVisibility();
        if (isStashed) {
        if (mIsStashed) {
            mStashedHandleView.updateSampledRegion(mStashedHandleBounds);
            mRegionSamplingHelper.start(mStashedHandleView.getSampledRegion());
        } else {
+4 −3
Original line number Diff line number Diff line
@@ -590,6 +590,7 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba
            mAnimator.addListener(AnimatorListeners.forEndCallback(() -> {
                mAnimator = null;
                mIsStashed = isStashed;
                onIsStashedChanged();
            }));
            return;
        }
@@ -604,7 +605,7 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba
            @Override
            public void onAnimationStart(Animator animation) {
                mIsStashed = isStashed;
                onIsStashedChanged(mIsStashed);
                onIsStashedChanged();

                cancelTimeoutIfExists();
            }
@@ -829,9 +830,9 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba
                .setDuration(TASKBAR_HINT_STASH_DURATION).start();
    }

    private void onIsStashedChanged(boolean isStashed) {
    private void onIsStashedChanged() {
        mControllers.runAfterInit(() -> {
            mControllers.stashedHandleViewController.onIsStashedChanged(isStashed);
            mControllers.stashedHandleViewController.onIsStashedChanged();
            mControllers.taskbarInsetsController.onTaskbarOrBubblebarWindowHeightOrInsetsChanged();
        });
    }