summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Alan Viverette <alanv@google.com> 2016-05-05 17:52:10 +0000
committer Alan Viverette <alanv@google.com> 2016-05-05 17:54:36 +0000
commit61c41bf6175222c265973b5fb0063b3e3c5d02c8 (patch)
treeda8179107e0d7101f792e4358b92fc202cec5022
parentcc26636f08da89f9750f550d66aa213f1ae24f7f (diff)
Revert "Always assign leftover pixels to last weighted child"
This reverts commit cc26636f08da89f9750f550d66aa213f1ae24f7f. Bug: 27690033 Change-Id: Ib7084dd8961cd486de4e6b13e36da7be887b1835
-rw-r--r--core/java/android/widget/LinearLayout.java30
1 files changed, 6 insertions, 24 deletions
diff --git a/core/java/android/widget/LinearLayout.java b/core/java/android/widget/LinearLayout.java
index 0b73afb657f7..f75b74bb9a14 100644
--- a/core/java/android/widget/LinearLayout.java
+++ b/core/java/android/widget/LinearLayout.java
@@ -708,7 +708,6 @@ public class LinearLayout extends ViewGroup {
final int baselineChildIndex = mBaselineAlignedChildIndex;
final boolean useLargestChild = mUseLargestChild;
- int lastWeightedChildIndex = -1;
int largestChildHeight = Integer.MIN_VALUE;
int consumedExcessSpace = 0;
@@ -730,10 +729,8 @@ public class LinearLayout extends ViewGroup {
}
final LayoutParams lp = (LayoutParams) child.getLayoutParams();
- if (lp.weight > 0) {
- totalWeight += lp.weight;
- lastWeightedChildIndex = i;
- }
+
+ totalWeight += lp.weight;
final boolean useExcessSpace = lp.height == 0 && lp.weight > 0;
if (heightMode == MeasureSpec.EXACTLY && useExcessSpace) {
@@ -888,13 +885,7 @@ public class LinearLayout extends ViewGroup {
final LayoutParams lp = (LayoutParams) child.getLayoutParams();
final float childWeight = lp.weight;
if (childWeight > 0) {
- final int share;
- if (i == lastWeightedChildIndex) {
- share = remainingExcess;
- } else {
- share = (int) (childWeight * remainingExcess / remainingWeightSum);
- }
-
+ final int share = (int) (childWeight * remainingExcess / remainingWeightSum);
remainingExcess -= share;
remainingWeightSum -= childWeight;
@@ -1055,7 +1046,6 @@ public class LinearLayout extends ViewGroup {
final boolean isExactly = widthMode == MeasureSpec.EXACTLY;
- int lastWeightedChildIndex = -1;
int largestChildWidth = Integer.MIN_VALUE;
int usedExcessSpace = 0;
@@ -1077,10 +1067,8 @@ public class LinearLayout extends ViewGroup {
}
final LayoutParams lp = (LayoutParams) child.getLayoutParams();
- if (lp.weight > 0) {
- totalWeight += lp.weight;
- lastWeightedChildIndex = i;
- }
+
+ totalWeight += lp.weight;
final boolean useExcessSpace = lp.width == 0 && lp.weight > 0;
if (widthMode == MeasureSpec.EXACTLY && useExcessSpace) {
@@ -1279,13 +1267,7 @@ public class LinearLayout extends ViewGroup {
final LayoutParams lp = (LayoutParams) child.getLayoutParams();
final float childWeight = lp.weight;
if (childWeight > 0) {
- final int share;
- if (i == lastWeightedChildIndex) {
- share = remainingExcess;
- } else {
- share = (int) (childWeight * remainingExcess / remainingWeightSum);
- }
-
+ final int share = (int) (childWeight * remainingExcess / remainingWeightSum);
remainingExcess -= share;
remainingWeightSum -= childWeight;