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

Commit c4df8c2e authored by Tony Wickham's avatar Tony Wickham
Browse files

Revert to passing mIsStashed to StashedHandleViewController again

- Fixes case where handle is initially invisible but will be stashed
  and visible, e.g. when launching an app from home screen
- To fix the original issue of sampling happening unnecessarily for
  three button nav, also check supportsVisualStashing()

Fixes: 321257120
Flag: None
Test: Launch an app from home in gesture nav mode
Test: testThreeButtonsTaskbarBoundsAfterConfigChangeDuringIme
Change-Id: I1f26436de3081fd00f75a5921010e361e9a9f34e
parent f00c59e2
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -155,7 +155,7 @@ public class StashedHandleViewController implements TaskbarControllers.LoggableT
        });
        initRegionSampler();
        if (mActivity.isPhoneGestureNavMode()) {
            onIsStashedChanged();
            onIsStashedChanged(true);
        }
    }

@@ -238,8 +238,8 @@ public class StashedHandleViewController implements TaskbarControllers.LoggableT
    }

    /** Called when taskbar is stashed or unstashed. */
    public void onIsStashedChanged() {
        mIsStashed = isStashedHandleVisible();
    public void onIsStashedChanged(boolean isStashed) {
        mIsStashed = isStashed;
        updateSamplingState();
    }

+5 −4
Original line number Diff line number Diff line
@@ -590,7 +590,7 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba
            mAnimator.addListener(AnimatorListeners.forEndCallback(() -> {
                mAnimator = null;
                mIsStashed = isStashed;
                onIsStashedChanged();
                onIsStashedChanged(mIsStashed);
            }));
            return;
        }
@@ -605,7 +605,7 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba
            @Override
            public void onAnimationStart(Animator animation) {
                mIsStashed = isStashed;
                onIsStashedChanged();
                onIsStashedChanged(mIsStashed);

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

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