summaryrefslogtreecommitdiffstats
path: root/src/com/android
diff options
context:
space:
mode:
authorWinson Chung <winsonc@google.com>2013-09-26 16:07:17 -0700
committerWinson Chung <winsonc@google.com>2013-09-26 16:08:03 -0700
commitfe411c8e31f44a5a977d76885e9b20dece57962d (patch)
treefca2b4e262d3dead5bf04144272cdbbc71ae6f2f /src/com/android
parent88cc3f5aa2e9ac3ae0b24e563a44d320cc089cd8 (diff)
downloadandroid_packages_apps_Trebuchet-fe411c8e31f44a5a977d76885e9b20dece57962d.tar.gz
android_packages_apps_Trebuchet-fe411c8e31f44a5a977d76885e9b20dece57962d.tar.bz2
android_packages_apps_Trebuchet-fe411c8e31f44a5a977d76885e9b20dece57962d.zip
Fixing issue where incorrect min/max widths/heights were being reported to widgets. (Bug 10940505)
Diffstat (limited to 'src/com/android')
-rw-r--r--src/com/android/launcher3/CellLayout.java2
-rw-r--r--src/com/android/launcher3/DynamicGrid.java3
-rw-r--r--src/com/android/launcher3/Workspace.java22
3 files changed, 18 insertions, 9 deletions
diff --git a/src/com/android/launcher3/CellLayout.java b/src/com/android/launcher3/CellLayout.java
index 22492ac31..a114ec383 100644
--- a/src/com/android/launcher3/CellLayout.java
+++ b/src/com/android/launcher3/CellLayout.java
@@ -927,6 +927,8 @@ public class CellLayout extends ViewGroup {
return r;
}
+ /** Return a rect that has the cellWidth/cellHeight (left, top), and
+ * widthGap/heightGap (right, bottom) */
static void getMetrics(Rect metrics, int paddedMeasureWidth,
int paddedMeasureHeight, int countX, int countY) {
LauncherAppState app = LauncherAppState.getInstance();
diff --git a/src/com/android/launcher3/DynamicGrid.java b/src/com/android/launcher3/DynamicGrid.java
index 495e930f9..0756c88b7 100644
--- a/src/com/android/launcher3/DynamicGrid.java
+++ b/src/com/android/launcher3/DynamicGrid.java
@@ -290,7 +290,8 @@ class DeviceProfile {
Rect getWorkspacePadding(int orientation) {
Rect padding = new Rect();
- if (isVerticalBarLayout()) {
+ if (orientation == CellLayout.LANDSCAPE &&
+ transposeLayoutWithOrientation) {
// Pad the left and right of the workspace with search/hotseat bar sizes
padding.set(searchBarSpaceHeightPx, edgeMarginPx,
hotseatBarHeightPx, edgeMarginPx);
diff --git a/src/com/android/launcher3/Workspace.java b/src/com/android/launcher3/Workspace.java
index 1425f7ff5..0eca3af8b 100644
--- a/src/com/android/launcher3/Workspace.java
+++ b/src/com/android/launcher3/Workspace.java
@@ -2747,6 +2747,8 @@ public class Workspace extends SmoothPagedView
}
}
+ /** Return a rect that has the cellWidth/cellHeight (left, top), and
+ * widthGap/heightGap (right, bottom) */
static Rect getCellLayoutMetrics(Launcher launcher, int orientation) {
LauncherAppState app = LauncherAppState.getInstance();
DeviceProfile grid = app.getDynamicGrid().getDeviceProfile();
@@ -2758,24 +2760,28 @@ public class Workspace extends SmoothPagedView
display.getCurrentSizeRange(smallestSize, largestSize);
int countX = (int) grid.numColumns;
int countY = (int) grid.numRows;
+ int constrainedLongEdge = largestSize.y;
+ int constrainedShortEdge = smallestSize.y;
if (orientation == CellLayout.LANDSCAPE) {
if (mLandscapeCellLayoutMetrics == null) {
Rect padding = grid.getWorkspacePadding(CellLayout.LANDSCAPE);
- int width = largestSize.x - padding.left - padding.right;
- int height = smallestSize.y - padding.top - padding.bottom;
+ int width = constrainedLongEdge - padding.left - padding.right;
+ int height = constrainedShortEdge - padding.top - padding.bottom;
mLandscapeCellLayoutMetrics = new Rect();
- CellLayout.getMetrics(mLandscapeCellLayoutMetrics, width, height,
- countX, countY);
+ mLandscapeCellLayoutMetrics.set(
+ grid.calculateCellWidth(width, countX),
+ grid.calculateCellHeight(height, countY), 0, 0);
}
return mLandscapeCellLayoutMetrics;
} else if (orientation == CellLayout.PORTRAIT) {
if (mPortraitCellLayoutMetrics == null) {
Rect padding = grid.getWorkspacePadding(CellLayout.PORTRAIT);
- int width = smallestSize.x - padding.left - padding.right;
- int height = largestSize.y - padding.top - padding.bottom;
+ int width = constrainedShortEdge - padding.left - padding.right;
+ int height = constrainedLongEdge - padding.top - padding.bottom;
mPortraitCellLayoutMetrics = new Rect();
- CellLayout.getMetrics(mPortraitCellLayoutMetrics, width, height,
- countX, countY);
+ mPortraitCellLayoutMetrics.set(
+ grid.calculateCellWidth(width, countX),
+ grid.calculateCellHeight(height, countY), 0, 0);
}
return mPortraitCellLayoutMetrics;
}