Commit cac614ab authored by Weidong Guo's avatar Weidong Guo Committed by Commit Bot

Reland "Fix page slip issue after dragging"

This is a reland of 05e6d611

Original change's description:
> Fix page slip issue after dragging
>
> Changes:
> Update the selected page to be the target page of dragged item at the
> end of dragging.
>
> Bug: 893832
> Change-Id: I91dcf8e03f62eab1597e3899bdbcafdad1fec2df
> Reviewed-on: https://chromium-review.googlesource.com/c/1324851
> Commit-Queue: Weidong Guo <weidongg@chromium.org>
> Reviewed-by: Alex Newcomer <newcomer@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#606585}

Bug: 893832
Change-Id: I51c2d7d5d2a9a7ed4e752d71f3f6bee083ac84e0
Reviewed-on: https://chromium-review.googlesource.com/c/1329894Reviewed-by: default avatarAlex Newcomer <newcomer@chromium.org>
Commit-Queue: Weidong Guo <weidongg@chromium.org>
Cr-Commit-Position: refs/heads/master@{#606946}
parent 7762ab84
...@@ -738,6 +738,16 @@ void AppsGridView::EndDrag(bool cancel) { ...@@ -738,6 +738,16 @@ void AppsGridView::EndDrag(bool cancel) {
drag_source_bounds); drag_source_bounds);
} }
if (!cancel) {
// Select the page where dragged item is dropped. Avoid doing so when the
// dragged item ends up in a folder.
const int model_index = GetModelIndexOfItem(drag_item);
if (model_index < view_model_.view_size()) {
pagination_model_.SelectPage(GetIndexFromModelIndex(model_index).page,
false /* animate */);
}
}
StopPageFlipTimer(); StopPageFlipTimer();
} }
...@@ -2201,9 +2211,6 @@ void AppsGridView::MoveItemInModel(AppListItemView* item_view, ...@@ -2201,9 +2211,6 @@ void AppsGridView::MoveItemInModel(AppListItemView* item_view,
view_model_.Move(current_model_index, target_model_index); view_model_.Move(current_model_index, target_model_index);
item_list_->AddObserver(this); item_list_->AddObserver(this);
if (pagination_model_.selected_page() != target.page)
pagination_model_.SelectPage(target.page, false);
RecordAppMovingTypeMetrics(folder_delegate_ ? kReorderInFolder RecordAppMovingTypeMetrics(folder_delegate_ ? kReorderInFolder
: kReorderInTopLevel); : kReorderInTopLevel);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment