Use up-to-date hover tooltip text for recents.

Flag: EXEMPT bugfix
Fix: 402776493
Test: go/testedequals
Change-Id: I6f438ce8b3cd51beaece0cf6734876f21719bf3d
This commit is contained in:
Brian Isganitis
2025-03-19 14:04:23 -04:00
parent ddc72547d4
commit e8b7cd7b2e
4 changed files with 34 additions and 18 deletions
@@ -26,6 +26,7 @@ import static com.android.launcher3.taskbar.TaskbarAutohideSuspendController.FLA
import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
import android.graphics.Rect;
import android.text.TextUtils;
import android.view.ContextThemeWrapper;
import android.view.MotionEvent;
import android.view.View;
@@ -50,7 +51,6 @@ public class TaskbarHoverToolTipController implements View.OnHoverListener {
private final TaskbarView mTaskbarView;
private final View mHoverView;
private final ArrowTipView mHoverToolTipView;
private final String mToolTipText;
private final int mYOffset;
public TaskbarHoverToolTipController(TaskbarActivityContext activity, TaskbarView taskbarView,
@@ -59,17 +59,6 @@ public class TaskbarHoverToolTipController implements View.OnHoverListener {
mTaskbarView = taskbarView;
mHoverView = hoverView;
if (mHoverView instanceof BubbleTextView) {
mToolTipText = ((BubbleTextView) mHoverView).getText().toString();
} 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;
}
ContextThemeWrapper arrowContextWrapper = new ContextThemeWrapper(mActivity,
R.style.ArrowTipTaskbarStyle);
mHoverToolTipView = new ArrowTipView(arrowContextWrapper, /* isPointingUp = */ false,
@@ -111,9 +100,15 @@ public class TaskbarHoverToolTipController implements View.OnHoverListener {
}
private void maybeRevealHoverToolTip() {
if (mHoverView == null || mToolTipText == null) {
if (mHoverView == null) {
return;
}
final String toolTipText = getToolTipText();
if (TextUtils.isEmpty(toolTipText)) {
return;
}
// Do not show tooltip if taskbar icons are transitioning to hotseat.
if (mActivity.isIconAlignedWithHotseat()) {
return;
@@ -128,7 +123,19 @@ public class TaskbarHoverToolTipController implements View.OnHoverListener {
}
Rect iconViewBounds = Utilities.getViewBounds(mHoverView);
mHoverToolTipView.showAtLocation(mToolTipText, iconViewBounds.centerX(),
mHoverToolTipView.showAtLocation(toolTipText, iconViewBounds.centerX(),
mTaskbarView.getTop() - mYOffset, /* shouldAutoClose= */ false);
}
private String getToolTipText() {
if (mHoverView instanceof BubbleTextView btv) {
return btv.getText().toString();
} else if (mHoverView instanceof FolderIcon icon && icon.mInfo.title != null) {
return icon.mInfo.title.toString();
} else if (mHoverView instanceof AppPairIcon icon) {
return icon.getTitleTextView().getText().toString();
} else {
return null;
}
}
}
@@ -736,7 +736,7 @@ public class TaskbarView extends FrameLayout implements FolderIcon.FolderIconPar
if (taskIcon != null) {
taskIcon = taskIcon.getConstantState().newDrawable().mutate();
}
btv.applyIconAndLabel(taskIcon, task.titleDescription);
btv.applyIconAndLabel(taskIcon, task.title, task.titleDescription);
btv.setTag(singleTask);
}