summaryrefslogtreecommitdiff
path: root/core/java/android/widget/RelativeLayout.java
diff options
context:
space:
mode:
authorRomain Guy <romainguy@android.com>2009-06-29 14:28:29 -0700
committerRomain Guy <romainguy@android.com>2009-06-29 14:28:29 -0700
commitbaac46339da03aed166e8a4240ad063caad019ad (patch)
treeb66a9b317202c10fd4ebdf3ba1dbe0cbde0eb8e5 /core/java/android/widget/RelativeLayout.java
parentbd9aa793b19f7aa529ca4123492f8940b96486b8 (diff)
Fixes #1940605. MeasureSpec's mode and height were inverted in RelativeLayout.
Also bumps up the cache's number of Nodes.
Diffstat (limited to 'core/java/android/widget/RelativeLayout.java')
-rw-r--r--core/java/android/widget/RelativeLayout.java8
1 files changed, 5 insertions, 3 deletions
diff --git a/core/java/android/widget/RelativeLayout.java b/core/java/android/widget/RelativeLayout.java
index 12bb01c18b52..e62dda58ba42 100644
--- a/core/java/android/widget/RelativeLayout.java
+++ b/core/java/android/widget/RelativeLayout.java
@@ -558,9 +558,9 @@ public class RelativeLayout extends ViewGroup {
myWidth);
int childHeightMeasureSpec;
if (params.width == LayoutParams.FILL_PARENT) {
- childHeightMeasureSpec = MeasureSpec.makeMeasureSpec(MeasureSpec.EXACTLY, myHeight);
+ childHeightMeasureSpec = MeasureSpec.makeMeasureSpec(myHeight, MeasureSpec.EXACTLY);
} else {
- childHeightMeasureSpec = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED);
+ childHeightMeasureSpec = MeasureSpec.makeMeasureSpec(myHeight, MeasureSpec.AT_MOST);
}
child.measure(childWidthMeasureSpec, childHeightMeasureSpec);
}
@@ -1403,7 +1403,9 @@ public class RelativeLayout extends ViewGroup {
/*
* START POOL IMPLEMENTATION
*/
- private static final int POOL_LIMIT = 12;
+ // The pool is static, so all nodes instances are shared across
+ // activities, that's why we give it a rather high limit
+ private static final int POOL_LIMIT = 100;
private static final Pool<Node> sPool = Pools.synchronizedPool(
Pools.finitePool(new PoolableManager<Node>() {
public Node newInstance() {