Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 61c41bf6 authored by Alan Viverette's avatar Alan Viverette
Browse files

Revert "Always assign leftover pixels to last weighted child"

This reverts commit cc26636f.

Bug: 27690033
Change-Id: Ib7084dd8961cd486de4e6b13e36da7be887b1835
parent cc26636f
Loading
Loading
Loading
Loading
+6 −24
Original line number Diff line number Diff line
@@ -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;
            }

            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;
            }

            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;