diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java index fc717c9387..ce06c6e1fd 100644 --- a/src/com/android/launcher3/Workspace.java +++ b/src/com/android/launcher3/Workspace.java @@ -329,6 +329,7 @@ public class Workspace extends PagedView } updateWorkspaceScreensPadding(); + updateWorkspaceWidgetsSizes(); } private void updateWorkspaceScreensPadding() { @@ -360,6 +361,25 @@ public class Workspace extends PagedView } } + private void updateWorkspaceWidgetsSizes() { + int numberOfScreens = mScreenOrder.size(); + for (int i = 0; i < numberOfScreens; i++) { + ShortcutAndWidgetContainer shortcutAndWidgetContainer = + mWorkspaceScreens.get(mScreenOrder.get(i)).getShortcutsAndWidgets(); + int shortcutsAndWidgetCount = shortcutAndWidgetContainer.getChildCount(); + for (int j = 0; j < shortcutsAndWidgetCount; j++) { + View view = shortcutAndWidgetContainer.getChildAt(j); + if (view instanceof LauncherAppWidgetHostView + && view.getTag() instanceof LauncherAppWidgetInfo) { + LauncherAppWidgetInfo launcherAppWidgetInfo = + (LauncherAppWidgetInfo) view.getTag(); + WidgetSizes.updateWidgetSizeRanges((LauncherAppWidgetHostView) view, + mLauncher, launcherAppWidgetInfo.spanX, launcherAppWidgetInfo.spanY); + } + } + } + } + /** * Estimates the size of an item using spans: hSpan, vSpan. *