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

Commit a19ab347 authored by Alan Viverette's avatar Alan Viverette
Browse files

Update cached child enabled state before selector state

We reference the cached enabled state from the selector state update
code, so we need to ensure it is accurate first.

Bug: 20121334
Change-Id: I5859e9e8c594e1ba64ec9f001f47c2a6ea311c4f
parent beda8613
Loading
Loading
Loading
Loading
+7 −9
Original line number Diff line number Diff line
@@ -2568,7 +2568,13 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
        selectorRect.right += mSelectionRightPadding;
        selectorRect.bottom += mSelectionBottomPadding;

        // Update the selector drawable.
        // Update the child enabled state prior to updating the selector.
        final boolean isChildViewEnabled = sel.isEnabled();
        if (mIsChildViewEnabled != isChildViewEnabled) {
            mIsChildViewEnabled = isChildViewEnabled;
        }

        // Update the selector drawable's state and position.
        final Drawable selector = mSelector;
        if (selector != null) {
            if (positionChanged) {
@@ -2588,14 +2594,6 @@ public abstract class AbsListView extends AdapterView<ListAdapter> implements Te
                selector.setHotspot(x, y);
            }
        }

        final boolean isChildViewEnabled = mIsChildViewEnabled;
        if (sel.isEnabled() != isChildViewEnabled) {
            mIsChildViewEnabled = !isChildViewEnabled;
            if (getSelectedItemPosition() != INVALID_POSITION) {
                refreshDrawableState();
            }
        }
    }

    @Override