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
diff --git a/quickstep/src/com/android/launcher3/taskbar/StashedHandleViewController.java b/quickstep/src/com/android/launcher3/taskbar/StashedHandleViewController.java
index fd0d655..f258b47 100644
--- a/quickstep/src/com/android/launcher3/taskbar/StashedHandleViewController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/StashedHandleViewController.java
@@ -155,7 +155,7 @@
         });
         initRegionSampler();
         if (mActivity.isPhoneGestureNavMode()) {
-            onIsStashedChanged();
+            onIsStashedChanged(true);
         }
     }
 
@@ -238,8 +238,8 @@
     }
 
     /** Called when taskbar is stashed or unstashed. */
-    public void onIsStashedChanged() {
-        mIsStashed = isStashedHandleVisible();
+    public void onIsStashedChanged(boolean isStashed) {
+        mIsStashed = isStashed;
         updateSamplingState();
     }
 
diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java
index eced202..c883759 100644
--- a/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java
+++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarStashController.java
@@ -590,7 +590,7 @@
             mAnimator.addListener(AnimatorListeners.forEndCallback(() -> {
                 mAnimator = null;
                 mIsStashed = isStashed;
-                onIsStashedChanged();
+                onIsStashedChanged(mIsStashed);
             }));
             return;
         }
@@ -605,7 +605,7 @@
             @Override
             public void onAnimationStart(Animator animation) {
                 mIsStashed = isStashed;
-                onIsStashedChanged();
+                onIsStashedChanged(mIsStashed);
 
                 cancelTimeoutIfExists();
             }
@@ -830,9 +830,10 @@
                 .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();
         });
     }