Merge "Show resize handle on cancel widget drop" into tm-qpr-dev am: 3906192135

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/19500455

Change-Id: Id1bceaaaf70f5f4e225c1ed58d110d41d481ecc4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Thales Lima
2022-08-16 19:56:08 +00:00
committed by Automerger Merge Worker
+27 -13
View File
@@ -2063,20 +2063,11 @@ public class Workspace<T extends View & PageIndicator> extends PagedView<T>
if (container != LauncherSettings.Favorites.CONTAINER_HOTSEAT &&
cell instanceof LauncherAppWidgetHostView) {
final CellLayout cellLayout = dropTargetLayout;
// We post this call so that the widget has a chance to be placed
// in its final location
final LauncherAppWidgetHostView hostView = (LauncherAppWidgetHostView) cell;
AppWidgetProviderInfo pInfo = hostView.getAppWidgetInfo();
if (pInfo != null && pInfo.resizeMode != AppWidgetProviderInfo.RESIZE_NONE
&& !options.isAccessibleDrag) {
onCompleteRunnable = () -> {
if (!isPageInTransition()) {
AppWidgetResizeFrame.showForWidget(hostView, cellLayout);
}
};
}
onCompleteRunnable = getWidgetResizeFrameRunnable(options,
(LauncherAppWidgetHostView) cell, dropTargetLayout);
}
mLauncher.getModelWriter().modifyItemInDatabase(info, container, screenId,
lp.cellX, lp.cellY, item.spanX, item.spanY);
@@ -2097,8 +2088,16 @@ public class Workspace<T extends View & PageIndicator> extends PagedView<T>
}
} else {
// When drag is cancelled, reattach content view back to its original parent.
if (mDragInfo.cell instanceof LauncherAppWidgetHostView) {
if (cell instanceof LauncherAppWidgetHostView) {
d.dragView.detachContentView(/* reattachToPreviousParent= */ true);
final CellLayout cellLayout = getParentCellLayoutForView(cell);
boolean pageIsVisible = isVisible(cellLayout);
if (pageIsVisible) {
onCompleteRunnable = getWidgetResizeFrameRunnable(options,
(LauncherAppWidgetHostView) cell, cellLayout);
}
}
}
@@ -2151,6 +2150,21 @@ public class Workspace<T extends View & PageIndicator> extends PagedView<T>
}
}
@Nullable
private Runnable getWidgetResizeFrameRunnable(DragOptions options,
LauncherAppWidgetHostView hostView, CellLayout cellLayout) {
AppWidgetProviderInfo pInfo = hostView.getAppWidgetInfo();
if (pInfo != null && pInfo.resizeMode != AppWidgetProviderInfo.RESIZE_NONE
&& !options.isAccessibleDrag) {
return () -> {
if (!isPageInTransition()) {
AppWidgetResizeFrame.showForWidget(hostView, cellLayout);
}
};
}
return null;
}
public void onNoCellFound(
View dropTargetLayout, ItemInfo itemInfo, @Nullable InstanceId logInstanceId) {
int strId = mLauncher.isHotseatLayout(dropTargetLayout)