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

Commit e921a7b1 authored by Tony Wickham's avatar Tony Wickham Committed by Android Build Coastguard Worker
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
(cherry picked from commit c4df8c2e)
(cherry picked from https://googleplex-android-review.googlesource.com/q/commit:c5f03fd1bcfc24ec63bdd62b0606452f28d15664)
Merged-In: I1f26436de3081fd00f75a5921010e361e9a9f34e
Change-Id: I1f26436de3081fd00f75a5921010e361e9a9f34e
parent a95f4704
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -149,7 +149,7 @@ public class StashedHandleViewController implements TaskbarControllers.LoggableT
        });
        initRegionSampler();
        if (isPhoneGestureNavMode(deviceProfile)) {
            onIsStashedChanged();
            onIsStashedChanged(true);
        }
    }

@@ -236,8 +236,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;
        updateRegionSamplingWindowVisibility();
        if (mIsStashed) {
            mStashedHandleView.updateSampledRegion(mStashedHandleBounds);
+5 −4
Original line number Diff line number Diff line
@@ -600,7 +600,7 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba
            mAnimator.addListener(AnimatorListeners.forEndCallback(() -> {
                mAnimator = null;
                mIsStashed = isStashed;
                onIsStashedChanged();
                onIsStashedChanged(mIsStashed);
            }));
            return;
        }
@@ -615,7 +615,7 @@ public class TaskbarStashController implements TaskbarControllers.LoggableTaskba
            @Override
            public void onAnimationStart(Animator animation) {
                mIsStashed = isStashed;
                onIsStashedChanged();
                onIsStashedChanged(mIsStashed);

                cancelTimeoutIfExists();
            }
@@ -840,9 +840,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();
        });
    }