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

Commit a6578207 authored by Phil Weaver's avatar Phil Weaver Committed by android-build-merger
Browse files

Make a11y node info parceling more robust am: 487d8697

am: 27e1f88a

Change-Id: Ic602da1e45e4e906d9e3475a229886913e5dec16
parents 6b888668 27e1f88a
Loading
Loading
Loading
Loading
+12 −11
Original line number Diff line number Diff line
@@ -3073,16 +3073,19 @@ public class AccessibilityNodeInfo implements Parcelable {

        if (mActions != null && !mActions.isEmpty()) {
            final int actionCount = mActions.size();
            parcel.writeInt(actionCount);

            int nonLegacyActionCount = 0;
            int defaultLegacyStandardActions = 0;
            for (int i = 0; i < actionCount; i++) {
                AccessibilityAction action = mActions.get(i);
                if (isDefaultLegacyStandardAction(action)) {
                    defaultLegacyStandardActions |= action.getId();
                } else {
                    nonLegacyActionCount++;
                }
            }
            parcel.writeInt(defaultLegacyStandardActions);
            parcel.writeInt(nonLegacyActionCount);

            for (int i = 0; i < actionCount; i++) {
                AccessibilityAction action = mActions.get(i);
@@ -3093,6 +3096,7 @@ public class AccessibilityNodeInfo implements Parcelable {
            }
        } else {
            parcel.writeInt(0);
            parcel.writeInt(0);
        }

        parcel.writeInt(mMaxTextLength);
@@ -3270,17 +3274,14 @@ public class AccessibilityNodeInfo implements Parcelable {
        mBoundsInScreen.left = parcel.readInt();
        mBoundsInScreen.right = parcel.readInt();

        final int actionCount = parcel.readInt();
        if (actionCount > 0) {
        final int legacyStandardActions = parcel.readInt();
        addLegacyStandardActions(legacyStandardActions);
            final int nonLegacyActionCount = actionCount - Integer.bitCount(legacyStandardActions);
        final int nonLegacyActionCount = parcel.readInt();
        for (int i = 0; i < nonLegacyActionCount; i++) {
            final AccessibilityAction action = new AccessibilityAction(
                    parcel.readInt(), parcel.readCharSequence());
            addActionUnchecked(action);
        }
        }

        mMaxTextLength = parcel.readInt();
        mMovementGranularities = parcel.readInt();