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

Commit 58f5d08d authored by Treehugger Robot's avatar Treehugger Robot Committed by Android (Google) Code Review
Browse files

Merge "Show tooltip for AppPairs in taskbar on hover." into main

parents 4179538f 0e89070e
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();
    }