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

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

Merge "Fix header and footer dividers to match docs"

parents 3042d269 20cc605b
Loading
Loading
Loading
Loading
+16 −16
Original line number Diff line number Diff line
@@ -266,6 +266,7 @@ public class ListView extends AbsListView {
        info.data = data;
        info.isSelectable = isSelectable;
        mHeaderViewInfos.add(info);
        mAreAllItemsSelectable &= isSelectable;

        // Wrap the adapter if it wasn't already wrapped.
        if (mAdapter != null) {
@@ -359,6 +360,7 @@ public class ListView extends AbsListView {
        info.data = data;
        info.isSelectable = isSelectable;
        mFooterViewInfos.add(info);
        mAreAllItemsSelectable &= isSelectable;

        // Wrap the adapter if it wasn't already wrapped.
        if (mAdapter != null) {
@@ -3241,14 +3243,13 @@ public class ListView extends AbsListView {
                        if (drawDividers && (bottom < listBottom)
                                && !(drawOverscrollFooter && isLastItem)) {
                            final int nextIndex = (itemIndex + 1);
                            // Draw dividers between enabled items, headers and/or
                            // footers when enabled, and the end of the list.
                            if (areAllItemsSelectable || ((adapter.isEnabled(itemIndex)
                                    || (headerDividers && isHeader)
                                    || (footerDividers && isFooter)) && (isLastItem
                                    || adapter.isEnabled(nextIndex)
                                    || (headerDividers && (nextIndex < headerCount))
                                    || (footerDividers && (nextIndex >= footerLimit))))) {
                            // Draw dividers between enabled items, headers
                            // and/or footers when enabled and requested, and
                            // after the last enabled item.
                            if (adapter.isEnabled(itemIndex) && (headerDividers || !isHeader
                                    && (nextIndex >= headerCount)) && (isLastItem
                                    || adapter.isEnabled(nextIndex) && (footerDividers || !isFooter
                                            && (nextIndex < footerLimit)))) {
                                bounds.top = bottom;
                                bounds.bottom = bottom + dividerHeight;
                                drawDivider(canvas, bounds, i);
@@ -3290,14 +3291,13 @@ public class ListView extends AbsListView {
                        if (drawDividers && (top > effectivePaddingTop)) {
                            final boolean isFirstItem = (i == start);
                            final int previousIndex = (itemIndex - 1);
                            // Draw dividers between enabled items, headers and/or
                            // footers when enabled, and the end of the list.
                            if (areAllItemsSelectable || ((adapter.isEnabled(itemIndex)
                                    || (headerDividers && isHeader)
                                    || (footerDividers && isFooter)) && (isFirstItem
                                    || adapter.isEnabled(previousIndex)
                                    || (headerDividers && (previousIndex < headerCount))
                                    || (footerDividers && (previousIndex >= footerLimit))))) {
                            // Draw dividers between enabled items, headers
                            // and/or footers when enabled and requested, and
                            // before the first enabled item.
                            if (adapter.isEnabled(itemIndex) && (headerDividers || !isHeader
                                    && (previousIndex >= headerCount)) && (isFirstItem ||
                                    adapter.isEnabled(previousIndex) && (footerDividers || !isFooter
                                            && (previousIndex < footerLimit)))) {
                                bounds.top = top - dividerHeight;
                                bounds.bottom = top;
                                // Give the method the child ABOVE the divider,