Revert "Always assign leftover pixels to last weighted child"

This reverts commit cc26636f08da89f9750f550d66aa213f1ae24f7f.

Bug: 27690033
Change-Id: Ib7084dd8961cd486de4e6b13e36da7be887b1835
diff --git a/core/java/android/widget/LinearLayout.java b/core/java/android/widget/LinearLayout.java
index 0b73afb65..f75b74b 100644
--- a/core/java/android/widget/LinearLayout.java
+++ b/core/java/android/widget/LinearLayout.java
@@ -708,7 +708,6 @@
         final int baselineChildIndex = mBaselineAlignedChildIndex;        
         final boolean useLargestChild = mUseLargestChild;
 
-        int lastWeightedChildIndex = -1;
         int largestChildHeight = Integer.MIN_VALUE;
         int consumedExcessSpace = 0;
 
@@ -730,10 +729,8 @@
             }
 
             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 @@
                 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 @@
         
         final boolean isExactly = widthMode == MeasureSpec.EXACTLY;
 
-        int lastWeightedChildIndex = -1;
         int largestChildWidth = Integer.MIN_VALUE;
         int usedExcessSpace = 0;
 
@@ -1077,10 +1067,8 @@
             }
 
             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 @@
                 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;