Merge "Fix CellLayout cast exception when drag is canceled" into sc-dev am: 76f5572648

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

Change-Id: I4d23a6d0cc1806761bf9655ba8d823813ec8b630
diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java
index fdc69a7..bcddf34 100644
--- a/src/com/android/launcher3/Workspace.java
+++ b/src/com/android/launcher3/Workspace.java
@@ -1926,6 +1926,11 @@
                     CellLayout layout = (CellLayout) cell.getParent().getParent();
                     layout.markCellsAsOccupiedForView(cell);
                 }
+            } else {
+                // When drag is cancelled, reattach content view back to its original parent.
+                if (mDragInfo.cell instanceof LauncherAppWidgetHostView) {
+                    d.dragView.detachContentView(/* reattachToPreviousParent= */ true);
+                }
             }
 
             final CellLayout parent = (CellLayout) cell.getParent().getParent();