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

Commit 8842f0bd authored by Romain Guy's avatar Romain Guy
Browse files

Calling setItemChecked(p, true) twice would toggle the selection in ListView.

This fixes a bug in ListView#setItemChecked(int, boolean). Calling the method
twice would cause the checked state to be toggled instead of remaining the
same.
parent 6f8e5923
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -3264,9 +3264,13 @@ public class ListView extends AbsListView {
        if (mChoiceMode == CHOICE_MODE_MULTIPLE) {
            mCheckStates.put(position, value);
        } else {
            boolean oldValue = mCheckStates.get(position, false);
            // Clear the old value: if something was selected and value == false
            // then it is unselected
            mCheckStates.clear();
            if (!oldValue) {
            // If value == true, select the appropriate position
            // this may end up selecting the value we just cleared but this way
            // we don't have to first to a get(position)
            if (value) {
                mCheckStates.put(position, true);
            }
        }