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

Commit d9a874a4 authored by Android (Google) Code Review's avatar Android (Google) Code Review
Browse files

Merge change 2397 into donut

* changes:
  Fixes NPE in ListViews with non-selectable items. This was caused by a weird initialization issue in ListView and AbsListView: a private final field instanciated in the declaration in ListView was used in AbsListView<init> via an overriden method and that field was somehow null at this time. This fix moves the instanciation at a later point.
parents 270e87f7 a02903fb
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -134,7 +134,7 @@ public class ListView extends AbsListView {

    // used for temporary calculations.
    private final Rect mTempRect = new Rect();
    private final Paint mDividerPaint = new Paint();
    private Paint mDividerPaint;

    // the single allocated result per list view; kinda cheesey but avoids
    // allocating these thingies too often.
@@ -2824,6 +2824,9 @@ public class ListView extends AbsListView {
        final boolean opaque = (color >>> 24) == 0xFF;
        mIsCacheColorOpaque = opaque;
        if (opaque) {
            if (mDividerPaint == null) {
                mDividerPaint = new Paint();
            }
            mDividerPaint.setColor(color);
        }
        super.setCacheColorHint(color);
@@ -2849,6 +2852,9 @@ public class ListView extends AbsListView {
            final boolean areAllItemsSelectable = mAreAllItemsSelectable;
            final ListAdapter adapter = mAdapter;
            final boolean isOpaque = isOpaque();
            if (isOpaque && mDividerPaint == null) {
                mDividerPaint = new Paint();
            }
            final Paint paint = mDividerPaint;

            if (!mStackFromBottom) {