最近在改Android13最近任务的一些功能,其中一个需求是把长按图标弹出菜单的功能屏蔽掉。
涉及到的类
quickstep\src\com\android\quickstep\views\TaskView.java
最近任务里面每一个任务对应的是一个TaskView
长按图标后,会调用showTaskMenu方法,弹出菜单,菜单类为TaskMenuView,如下:
java
private boolean showTaskMenu(IconView iconView) {
if (!getRecentsView().canLaunchFullscreenTask()) {
// Don't show menu when selecting second split screen app
return true;
}
if (!mActivity.getDeviceProfile().isTablet
&& !getRecentsView().isClearAllHidden()) {
getRecentsView().snapToPage(getRecentsView().indexOfChild(this));
return false;
} else {
mActivity.getStatsLogManager().logger().withItemInfo(getItemInfo())
.log(LAUNCHER_TASK_ICON_TAP_OR_LONGPRESS);
return showTaskMenuWithContainer(iconView);
}
}
在平板上,会去调用showTaskMenuWithContainer方法,弹出菜单
如果想不显示这个菜单,直接不调用这个方法就行了,直接访问true
java
private boolean showTaskMenu(IconView iconView) {
if (!getRecentsView().canLaunchFullscreenTask()) {
// Don't show menu when selecting second split screen app
return true;
}
if (!mActivity.getDeviceProfile().isTablet
&& !getRecentsView().isClearAllHidden()) {
getRecentsView().snapToPage(getRecentsView().indexOfChild(this));
return false;
} else {
mActivity.getStatsLogManager().logger().withItemInfo(getItemInfo())
.log(LAUNCHER_TASK_ICON_TAP_OR_LONGPRESS);
// return showTaskMenuWithContainer(iconView);
return true;
}
}