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

Commit 31c2ac78 authored by Alan Viverette's avatar Alan Viverette Committed by Android (Google) Code Review
Browse files

Merge "Handle null result from getVirtualChildAt()"

parents 36a832dd ad52693c
Loading
Loading
Loading
Loading
+7 −15
Original line number Diff line number Diff line
@@ -359,7 +359,6 @@ public class LinearLayout extends ViewGroup {
        final int count = getVirtualChildCount();
        for (int i = 0; i < count; i++) {
            final View child = getVirtualChildAt(i);

            if (child != null && child.getVisibility() != GONE) {
                if (hasDividerBeforeChildAt(i)) {
                    final LayoutParams lp = (LayoutParams) child.getLayoutParams();
@@ -388,7 +387,7 @@ public class LinearLayout extends ViewGroup {
     */
    private View getLastNonGoneChild() {
        for (int i = getVirtualChildCount() - 1; i >= 0; i--) {
            View child = getVirtualChildAt(i);
            final View child = getVirtualChildAt(i);
            if (child != null && child.getVisibility() != GONE) {
                return child;
            }
@@ -401,7 +400,6 @@ public class LinearLayout extends ViewGroup {
        final boolean isLayoutRtl = isLayoutRtl();
        for (int i = 0; i < count; i++) {
            final View child = getVirtualChildAt(i);

            if (child != null && child.getVisibility() != GONE) {
                if (hasDividerBeforeChildAt(i)) {
                    final LayoutParams lp = (LayoutParams) child.getLayoutParams();
@@ -588,8 +586,9 @@ public class LinearLayout extends ViewGroup {
     * for an example.</p>
     *
     * @param index the child's index
     * @return the child at the specified index
     * @return the child at the specified index, may be {@code null}
     */
    @Nullable
    View getVirtualChildAt(int index) {
        return getChildAt(index);
    }
@@ -670,7 +669,7 @@ public class LinearLayout extends ViewGroup {
     */
    private boolean allViewsAreGoneBefore(int childIndex) {
        for (int i = childIndex - 1; i >= 0; i--) {
            View child = getVirtualChildAt(i);
            final View child = getVirtualChildAt(i);
            if (child != null && child.getVisibility() != GONE) {
                return false;
            }
@@ -715,7 +714,6 @@ public class LinearLayout extends ViewGroup {
        // See how tall everyone is. Also remember max width.
        for (int i = 0; i < count; ++i) {
            final View child = getVirtualChildAt(i);

            if (child == null) {
                mTotalLength += measureNullChild(i);
                continue;
@@ -837,7 +835,6 @@ public class LinearLayout extends ViewGroup {

            for (int i = 0; i < count; ++i) {
                final View child = getVirtualChildAt(i);

                if (child == null) {
                    mTotalLength += measureNullChild(i);
                    continue;
@@ -943,7 +940,6 @@ public class LinearLayout extends ViewGroup {
            if (useLargestChild && heightMode != MeasureSpec.EXACTLY) {
                for (int i = 0; i < count; i++) {
                    final View child = getVirtualChildAt(i);

                    if (child == null || child.getVisibility() == View.GONE) {
                        continue;
                    }
@@ -986,7 +982,7 @@ public class LinearLayout extends ViewGroup {
                MeasureSpec.EXACTLY);
        for (int i = 0; i< count; ++i) {
           final View child = getVirtualChildAt(i);
           if (child.getVisibility() != GONE) { 
           if (child != null && child.getVisibility() != GONE) {
               LinearLayout.LayoutParams lp = ((LinearLayout.LayoutParams)child.getLayoutParams());
               
               if (lp.width == LayoutParams.MATCH_PARENT) {
@@ -1053,7 +1049,6 @@ public class LinearLayout extends ViewGroup {
        // See how wide everyone is. Also remember max height.
        for (int i = 0; i < count; ++i) {
            final View child = getVirtualChildAt(i);

            if (child == null) {
                mTotalLength += measureNullChild(i);
                continue;
@@ -1211,7 +1206,6 @@ public class LinearLayout extends ViewGroup {

            for (int i = 0; i < count; ++i) {
                final View child = getVirtualChildAt(i);

                if (child == null) {
                    mTotalLength += measureNullChild(i);
                    continue;
@@ -1357,7 +1351,6 @@ public class LinearLayout extends ViewGroup {
            if (useLargestChild && widthMode != MeasureSpec.EXACTLY) {
                for (int i = 0; i < count; i++) {
                    final View child = getVirtualChildAt(i);

                    if (child == null || child.getVisibility() == View.GONE) {
                        continue;
                    }
@@ -1402,7 +1395,7 @@ public class LinearLayout extends ViewGroup {
                MeasureSpec.EXACTLY);
        for (int i = 0; i < count; ++i) {
           final View child = getVirtualChildAt(i);
           if (child.getVisibility() != GONE) { 
           if (child != null && child.getVisibility() != GONE) {
               LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) child.getLayoutParams();
               
               if (lp.height == LayoutParams.MATCH_PARENT) {
@@ -1662,9 +1655,8 @@ public class LinearLayout extends ViewGroup {
        }

        for (int i = 0; i < count; i++) {
            int childIndex = start + dir * i;
            final int childIndex = start + dir * i;
            final View child = getVirtualChildAt(childIndex);

            if (child == null) {
                childLeft += measureNullChild(childIndex);
            } else if (child.getVisibility() != GONE) {
+1 −1
Original line number Diff line number Diff line
@@ -98,7 +98,7 @@ public class TableRow extends LinearLayout {
     * {@hide}
     */
    void setColumnCollapsed(int columnIndex, boolean collapsed) {
        View child = getVirtualChildAt(columnIndex);
        final View child = getVirtualChildAt(columnIndex);
        if (child != null) {
            child.setVisibility(collapsed ? GONE : VISIBLE);
        }