diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java index 21a826870e..5a8a1a32ca 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarActivityContext.java @@ -1649,6 +1649,10 @@ public class TaskbarActivityContext extends BaseTaskbarContext { return mControllers.uiController.canToggleHomeAllApps(); } + boolean isIconAlignedWithHotseat() { + return mControllers.uiController.isIconAlignedWithHotseat(); + } + @VisibleForTesting public TaskbarControllers getControllers() { return mControllers; diff --git a/quickstep/src/com/android/launcher3/taskbar/TaskbarHoverToolTipController.java b/quickstep/src/com/android/launcher3/taskbar/TaskbarHoverToolTipController.java index abd5fae1f3..dd141098c6 100644 --- a/quickstep/src/com/android/launcher3/taskbar/TaskbarHoverToolTipController.java +++ b/quickstep/src/com/android/launcher3/taskbar/TaskbarHoverToolTipController.java @@ -159,6 +159,10 @@ public class TaskbarHoverToolTipController implements View.OnHoverListener { if (mHoverView == null || mToolTipText == null) { return; } + // Do not show tooltip if taskbar icons are transitioning to hotseat. + if (mActivity.isIconAlignedWithHotseat()) { + return; + } if (mHoverView instanceof FolderIcon && !((FolderIcon) mHoverView).getIconVisible()) { return; } diff --git a/quickstep/tests/src/com/android/launcher3/taskbar/TaskbarHoverToolTipControllerTest.java b/quickstep/tests/src/com/android/launcher3/taskbar/TaskbarHoverToolTipControllerTest.java index 3232bdb4e0..ef3a833856 100644 --- a/quickstep/tests/src/com/android/launcher3/taskbar/TaskbarHoverToolTipControllerTest.java +++ b/quickstep/tests/src/com/android/launcher3/taskbar/TaskbarHoverToolTipControllerTest.java @@ -87,6 +87,7 @@ public class TaskbarHoverToolTipControllerTest extends TaskbarBaseTestCase { when(taskbarActivityContext.getDragLayer()).thenReturn(mTaskbarDragLayer); when(taskbarActivityContext.getMainLooper()).thenReturn(context.getMainLooper()); when(taskbarActivityContext.getDisplay()).thenReturn(mDisplay); + when(taskbarActivityContext.isIconAlignedWithHotseat()).thenReturn(false); when(mTaskbarDragLayer.getChildCount()).thenReturn(1); mSpyFolderView = spy(new Folder(new ActivityContextWrapper(context), null)); @@ -243,6 +244,21 @@ public class TaskbarHoverToolTipControllerTest extends TaskbarBaseTestCase { false); } + @Test + public void onHover_hoverEnterIconAlignedWithHotseat_noReveal() { + when(mMotionEvent.getAction()).thenReturn(MotionEvent.ACTION_HOVER_ENTER); + when(mMotionEvent.getActionMasked()).thenReturn(MotionEvent.ACTION_HOVER_ENTER); + when(taskbarActivityContext.isIconAlignedWithHotseat()).thenReturn(true); + + boolean hoverHandled = + mTaskbarHoverToolTipController.onHover(mHoverBubbleTextView, mMotionEvent); + waitForIdleSync(); + + assertThat(hoverHandled).isTrue(); + verify(taskbarActivityContext).setAutohideSuspendFlag(FLAG_AUTOHIDE_SUSPEND_HOVERING_ICONS, + true); + } + private void waitForIdleSync() { mTestableLooper.processAllMessages(); }