diff options
author | Adam Cohen <adamcohen@google.com> | 2012-10-05 18:14:31 -0700 |
---|---|---|
committer | Adam Cohen <adamcohen@google.com> | 2012-10-05 18:14:31 -0700 |
commit | aaa5c21ee2e03def644fb6ba8eadbb59873ddd45 (patch) | |
tree | c592b21457aaea1a37c3790dff5eecc850365d63 /src/com | |
parent | 28b3e10fdea4d719b46d2e0da9a916bacc238fd1 (diff) | |
download | packages_apps_trebuchet-aaa5c21ee2e03def644fb6ba8eadbb59873ddd45.zip packages_apps_trebuchet-aaa5c21ee2e03def644fb6ba8eadbb59873ddd45.tar.gz packages_apps_trebuchet-aaa5c21ee2e03def644fb6ba8eadbb59873ddd45.tar.bz2 |
Fix to ensure default widgets get size callbacks (issue 7287744)
Change-Id: I46b329db247a0b450493530ab619576c45418b01
Diffstat (limited to 'src/com')
-rw-r--r-- | src/com/android/launcher2/AppsCustomizePagedView.java | 19 | ||||
-rw-r--r-- | src/com/android/launcher2/Launcher.java | 5 | ||||
-rw-r--r-- | src/com/android/launcher2/LauncherAppWidgetInfo.java | 3 | ||||
-rw-r--r-- | src/com/android/launcher2/Workspace.java | 8 |
4 files changed, 21 insertions, 14 deletions
diff --git a/src/com/android/launcher2/AppsCustomizePagedView.java b/src/com/android/launcher2/AppsCustomizePagedView.java index 609bb6d..b717261 100644 --- a/src/com/android/launcher2/AppsCustomizePagedView.java +++ b/src/com/android/launcher2/AppsCustomizePagedView.java @@ -617,11 +617,22 @@ public class AppsCustomizePagedView extends PagedViewWithDraggableItems implemen Bundle options = null; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { AppWidgetResizeFrame.getWidgetSizeRanges(mLauncher, info.spanX, info.spanY, mTmpRect); + Rect padding = AppWidgetHostView.getDefaultPaddingForWidget(mLauncher, + info.componentName, null); + + float density = getResources().getDisplayMetrics().density; + int xPaddingDips = (int) ((padding.left + padding.right) / density); + int yPaddingDips = (int) ((padding.top + padding.bottom) / density); + options = new Bundle(); - options.putInt(AppWidgetManager.OPTION_APPWIDGET_MIN_WIDTH, mTmpRect.left); - options.putInt(AppWidgetManager.OPTION_APPWIDGET_MIN_HEIGHT, mTmpRect.top); - options.putInt(AppWidgetManager.OPTION_APPWIDGET_MAX_WIDTH, mTmpRect.right); - options.putInt(AppWidgetManager.OPTION_APPWIDGET_MAX_HEIGHT, mTmpRect.bottom); + options.putInt(AppWidgetManager.OPTION_APPWIDGET_MIN_WIDTH, + mTmpRect.left - xPaddingDips); + options.putInt(AppWidgetManager.OPTION_APPWIDGET_MIN_HEIGHT, + mTmpRect.top - yPaddingDips); + options.putInt(AppWidgetManager.OPTION_APPWIDGET_MAX_WIDTH, + mTmpRect.right - xPaddingDips); + options.putInt(AppWidgetManager.OPTION_APPWIDGET_MAX_HEIGHT, + mTmpRect.bottom - yPaddingDips); } return options; } diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java index 3fdf5c3..e31df56 100644 --- a/src/com/android/launcher2/Launcher.java +++ b/src/com/android/launcher2/Launcher.java @@ -1191,9 +1191,8 @@ public final class Launcher extends Activity launcherInfo.hostView.setTag(launcherInfo); launcherInfo.hostView.setVisibility(View.VISIBLE); - if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR1) { - launcherInfo.notifyWidgetSizeChanged(this); - } + launcherInfo.notifyWidgetSizeChanged(this); + mWorkspace.addInScreen(launcherInfo.hostView, container, screen, cellXY[0], cellXY[1], launcherInfo.spanX, launcherInfo.spanY, isWorkspaceLocked()); diff --git a/src/com/android/launcher2/LauncherAppWidgetInfo.java b/src/com/android/launcher2/LauncherAppWidgetInfo.java index 5c8fb38..602695a 100644 --- a/src/com/android/launcher2/LauncherAppWidgetInfo.java +++ b/src/com/android/launcher2/LauncherAppWidgetInfo.java @@ -73,8 +73,7 @@ class LauncherAppWidgetInfo extends ItemInfo { * done so already (only really for default workspace widgets). */ void onBindAppWidget(Launcher launcher) { - if (!mHasNotifiedInitialWidgetSizeChanged && - Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR1) { + if (!mHasNotifiedInitialWidgetSizeChanged) { notifyWidgetSizeChanged(launcher); } } diff --git a/src/com/android/launcher2/Workspace.java b/src/com/android/launcher2/Workspace.java index 77cb467..6350c84 100644 --- a/src/com/android/launcher2/Workspace.java +++ b/src/com/android/launcher2/Workspace.java @@ -2232,11 +2232,9 @@ public class Workspace extends SmoothPagedView boolean foundCell = mTargetCell[0] >= 0 && mTargetCell[1] >= 0; - // if the widget resizes on drop, or the sdk level is less than JBMR1, then we - // need to update the size. + // if the widget resizes on drop if (foundCell && (cell instanceof AppWidgetHostView) && - (resultSpan[0] != item.spanX || resultSpan[1] != item.spanY || - Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR1)) { + (resultSpan[0] != item.spanX || resultSpan[1] != item.spanY)) { resizeOnDrop = true; item.spanX = resultSpan[0]; item.spanY = resultSpan[1]; @@ -3045,7 +3043,7 @@ public class Workspace extends SmoothPagedView } final ItemInfo item = (ItemInfo) d.dragInfo; - boolean updateWidgetSize = Build.VERSION.SDK_INT <= Build.VERSION_CODES.JELLY_BEAN; + boolean updateWidgetSize = false; if (findNearestVacantCell) { int minSpanX = item.spanX; int minSpanY = item.spanY; |