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

Commit 0e89070e authored by Pat Manning's avatar Pat Manning
Browse files

Show tooltip for AppPairs in taskbar on hover.

Fix: 350744397
Test: TaskbarHoverToolTipControllerTest
Flag: EXEMPT bugfix
Change-Id: Ic2273f17d01d1068ceaddca8a5c115b551b35856
parent 38b9e143
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -40,6 +40,7 @@ import com.android.launcher3.AbstractFloatingView;
import com.android.launcher3.BubbleTextView;
import com.android.launcher3.R;
import com.android.launcher3.Utilities;
import com.android.launcher3.apppairs.AppPairIcon;
import com.android.launcher3.compat.AccessibilityManagerCompat;
import com.android.launcher3.folder.FolderIcon;
import com.android.launcher3.views.ArrowTipView;
@@ -73,6 +74,8 @@ public class TaskbarHoverToolTipController implements View.OnHoverListener {
        } else if (mHoverView instanceof FolderIcon
                && ((FolderIcon) mHoverView).mInfo.title != null) {
            mToolTipText = ((FolderIcon) mHoverView).mInfo.title.toString();
        } else if (mHoverView instanceof AppPairIcon) {
            mToolTipText = ((AppPairIcon) mHoverView).getTitleTextView().getText().toString();
        } else {
            mToolTipText = null;
        }
+30 −0
Original line number Diff line number Diff line
@@ -39,6 +39,7 @@ import android.view.MotionEvent;
import androidx.test.filters.SmallTest;

import com.android.launcher3.BubbleTextView;
import com.android.launcher3.apppairs.AppPairIcon;
import com.android.launcher3.folder.Folder;
import com.android.launcher3.folder.FolderIcon;
import com.android.launcher3.model.data.FolderInfo;
@@ -66,6 +67,7 @@ public class TaskbarHoverToolTipControllerTest extends TaskbarBaseTestCase {
    @Mock private MotionEvent mMotionEvent;
    @Mock private BubbleTextView mHoverBubbleTextView;
    @Mock private FolderIcon mHoverFolderIcon;
    @Mock private AppPairIcon mAppPairIcon;
    @Mock private Display mDisplay;
    @Mock private TaskbarDragLayer mTaskbarDragLayer;
    private Folder mSpyFolderView;
@@ -213,6 +215,34 @@ public class TaskbarHoverToolTipControllerTest extends TaskbarBaseTestCase {
        assertThat(hoverHandled).isFalse();
    }

    @Test
    public void onHover_hoverEnterAppPair_revealToolTip() {
        when(mMotionEvent.getAction()).thenReturn(MotionEvent.ACTION_HOVER_ENTER);
        when(mMotionEvent.getActionMasked()).thenReturn(MotionEvent.ACTION_HOVER_ENTER);

        boolean hoverHandled =
                mTaskbarHoverToolTipController.onHover(mAppPairIcon, mMotionEvent);
        waitForIdleSync();

        assertThat(hoverHandled).isTrue();
        verify(taskbarActivityContext).setAutohideSuspendFlag(FLAG_AUTOHIDE_SUSPEND_HOVERING_ICONS,
                true);
    }

    @Test
    public void onHover_hoverExitAppPair_closeToolTip() {
        when(mMotionEvent.getAction()).thenReturn(MotionEvent.ACTION_HOVER_EXIT);
        when(mMotionEvent.getActionMasked()).thenReturn(MotionEvent.ACTION_HOVER_EXIT);

        boolean hoverHandled =
                mTaskbarHoverToolTipController.onHover(mAppPairIcon, mMotionEvent);
        waitForIdleSync();

        assertThat(hoverHandled).isTrue();
        verify(taskbarActivityContext).setAutohideSuspendFlag(FLAG_AUTOHIDE_SUSPEND_HOVERING_ICONS,
                false);
    }

    private void waitForIdleSync() {
        mTestableLooper.processAllMessages();
    }