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

Commit b1fb2061 authored by Alan Viverette's avatar Alan Viverette Committed by android-build-merger
Browse files

Merge "Revert linear layout weight distribution algorithm" into nyc-dev

am: 46b52581

* commit '46b52581':
  Revert linear layout weight distribution algorithm
parents 909befe2 46b52581
Loading
Loading
Loading
Loading
+18 −12
Original line number Diff line number Diff line
@@ -869,10 +869,10 @@ public class LinearLayout extends ViewGroup {
        // Either expand children with weight to take up available space or
        // shrink them if they extend beyond our current bounds. If we skipped
        // measurement on any children, we need to measure them now.
        final int delta = heightSize - mTotalLength
        int remainingExcess = heightSize - mTotalLength
                + (mAllowInconsistentMeasurement ? 0 : consumedExcessSpace);
        if (skippedMeasure || delta != 0 && totalWeight > 0.0f) {
            final float weightSum = mWeightSum > 0.0f ? mWeightSum : totalWeight;
        if (skippedMeasure || remainingExcess != 0 && totalWeight > 0.0f) {
            float remainingWeightSum = mWeightSum > 0.0f ? mWeightSum : totalWeight;

            mTotalLength = 0;

@@ -883,9 +883,12 @@ public class LinearLayout extends ViewGroup {
                }

                final LayoutParams lp = (LayoutParams) child.getLayoutParams();
                final float childExtra = lp.weight;
                if (childExtra > 0) {
                    final int share = (int) (childExtra * delta / weightSum);
                final float childWeight = lp.weight;
                if (childWeight > 0) {
                    final int share = (int) (childWeight * remainingExcess / remainingWeightSum);
                    remainingExcess -= share;
                    remainingWeightSum -= childWeight;

                    final int childHeight;
                    if (lp.height == 0 && (!mAllowInconsistentMeasurement
                            || heightMode == MeasureSpec.EXACTLY)) {
@@ -1244,10 +1247,10 @@ public class LinearLayout extends ViewGroup {
        // Either expand children with weight to take up available space or
        // shrink them if they extend beyond our current bounds. If we skipped
        // measurement on any children, we need to measure them now.
        final int delta = widthSize - mTotalLength
        int remainingExcess = widthSize - mTotalLength
                + (mAllowInconsistentMeasurement ? 0 : usedExcessSpace);
        if (skippedMeasure || delta != 0 && totalWeight > 0.0f) {
            final float weightSum = mWeightSum > 0.0f ? mWeightSum : totalWeight;
        if (skippedMeasure || remainingExcess != 0 && totalWeight > 0.0f) {
            float remainingWeightSum = mWeightSum > 0.0f ? mWeightSum : totalWeight;

            maxAscent[0] = maxAscent[1] = maxAscent[2] = maxAscent[3] = -1;
            maxDescent[0] = maxDescent[1] = maxDescent[2] = maxDescent[3] = -1;
@@ -1262,9 +1265,12 @@ public class LinearLayout extends ViewGroup {
                }

                final LayoutParams lp = (LayoutParams) child.getLayoutParams();
                final float childExtra = lp.weight;
                if (childExtra > 0) {
                    final int share = (int) (childExtra * delta / weightSum);
                final float childWeight = lp.weight;
                if (childWeight > 0) {
                    final int share = (int) (childWeight * remainingExcess / remainingWeightSum);
                    remainingExcess -= share;
                    remainingWeightSum -= childWeight;

                    final int childWidth;
                    if (lp.width == 0 && (!mAllowInconsistentMeasurement
                            || widthMode == MeasureSpec.EXACTLY)) {