Fix Task Icon menu behavior.
Tapping task icon will now show the scrim for rest of thumbnail and not snap to page that is already snapped to. Pressing task icon from clear all will scroll to the page. Link: https://drive.google.com/file/d/1I90rd6ELPZNIje2_VZ3CamWWeFN8ywhL/view?usp=sharing Bug: 158004853 Change-Id: I9ac8229a603190ea09a74e1cfb70a6bb6e1e65b7
This commit is contained in:
parent
236f40d97e
commit
b64b59d025
|
@ -607,6 +607,17 @@ public abstract class RecentsView<T extends BaseActivity> extends PagedView impl
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Whether the Clear All button is hidden or fully visible. Used to determine if center
|
||||
* displayed page is a task or the Clear All button.
|
||||
*
|
||||
* @return True = Clear All button not fully visible, center page is a task. False = Clear All
|
||||
* button fully visible, center page is Clear All button.
|
||||
*/
|
||||
public boolean isClearAllHidden() {
|
||||
return mClearAllButton.getAlpha() != 1f;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPageBeginTransition() {
|
||||
super.onPageBeginTransition();
|
||||
|
@ -616,7 +627,7 @@ public abstract class RecentsView<T extends BaseActivity> extends PagedView impl
|
|||
@Override
|
||||
protected void onPageEndTransition() {
|
||||
super.onPageEndTransition();
|
||||
if (getScrollX() == getScrollForPage(getPageNearestToCenterOfScreen())) {
|
||||
if (isClearAllHidden()) {
|
||||
LayoutUtils.setViewEnabled(mActionsView, true);
|
||||
}
|
||||
if (getNextPage() > 0) {
|
||||
|
|
|
@ -425,13 +425,16 @@ public class TaskView extends FrameLayout implements PageCallbacks, Reusable {
|
|||
}
|
||||
|
||||
private boolean showTaskMenu(int action) {
|
||||
getRecentsView().snapToPage(getRecentsView().indexOfChild(this));
|
||||
mMenuView = TaskMenuView.showForTask(this);
|
||||
mActivity.getStatsLogManager().log(LAUNCHER_TASK_ICON_TAP_OR_LONGPRESS, buildProto());
|
||||
UserEventDispatcher.newInstance(getContext()).logActionOnItem(action, Direction.NONE,
|
||||
LauncherLogProto.ItemType.TASK_ICON);
|
||||
if (mMenuView != null) {
|
||||
mMenuView.addOnAttachStateChangeListener(mTaskMenuStateListener);
|
||||
if (!getRecentsView().isClearAllHidden()) {
|
||||
getRecentsView().snapToPage(getRecentsView().indexOfChild(this));
|
||||
} else {
|
||||
mMenuView = TaskMenuView.showForTask(this);
|
||||
mActivity.getStatsLogManager().log(LAUNCHER_TASK_ICON_TAP_OR_LONGPRESS, buildProto());
|
||||
UserEventDispatcher.newInstance(getContext()).logActionOnItem(action, Direction.NONE,
|
||||
LauncherLogProto.ItemType.TASK_ICON);
|
||||
if (mMenuView != null) {
|
||||
mMenuView.addOnAttachStateChangeListener(mTaskMenuStateListener);
|
||||
}
|
||||
}
|
||||
return mMenuView != null;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue