Loading core/java/android/view/accessibility/AccessibilityEvent.java +25 −35 Original line number Diff line number Diff line Loading @@ -1244,42 +1244,32 @@ public final class AccessibilityEvent extends AccessibilityRecord implements Par builder.append("EventType: ").append(eventTypeToString(mEventType)); builder.append("; EventTime: ").append(mEventTime); builder.append("; PackageName: ").append(mPackageName); if (!DEBUG_CONCISE_TOSTRING || mMovementGranularity != 0) { builder.append("; MovementGranularity: ").append(mMovementGranularity); } if (!DEBUG_CONCISE_TOSTRING || mAction != 0) { builder.append("; Action: ").append(mAction); } if (!DEBUG_CONCISE_TOSTRING || mContentChangeTypes != 0) { builder.append("; ContentChangeTypes: ").append( contentChangeTypesToString(mContentChangeTypes)); } if (!DEBUG_CONCISE_TOSTRING || mWindowChangeTypes != 0) { builder.append("; WindowChangeTypes: ").append( windowChangeTypesToString(mWindowChangeTypes)); builder.append(super.toString()); if (DEBUG) { contentChangeTypesToString(mWindowChangeTypes)); } super.appendTo(builder); if (DEBUG || DEBUG_CONCISE_TOSTRING) { if (!DEBUG_CONCISE_TOSTRING) { builder.append("\n"); builder.append("; sourceWindowId: ").append(mSourceWindowId); builder.append("; mSourceNodeId: ").append(mSourceNodeId); } if (DEBUG) { builder.append("; SourceWindowId: ").append(mSourceWindowId); builder.append("; SourceNodeId: ").append(mSourceNodeId); } for (int i = 0; i < getRecordCount(); i++) { final AccessibilityRecord record = getRecord(i); builder.append(" Record "); builder.append(i); builder.append(":"); builder.append(" [ ClassName: " + record.mClassName); builder.append("; Text: " + record.mText); builder.append("; ContentDescription: " + record.mContentDescription); builder.append("; ItemCount: " + record.mItemCount); builder.append("; CurrentItemIndex: " + record.mCurrentItemIndex); builder.append("; IsEnabled: " + record.isEnabled()); builder.append("; IsPassword: " + record.isPassword()); builder.append("; IsChecked: " + record.isChecked()); builder.append("; IsFullScreen: " + record.isFullScreen()); builder.append("; Scrollable: " + record.isScrollable()); builder.append("; BeforeText: " + record.mBeforeText); builder.append("; FromIndex: " + record.mFromIndex); builder.append("; ToIndex: " + record.mToIndex); builder.append("; ScrollX: " + record.mScrollX); builder.append("; ScrollY: " + record.mScrollY); builder.append("; AddedCount: " + record.mAddedCount); builder.append("; RemovedCount: " + record.mRemovedCount); builder.append("; ParcelableData: " + record.mParcelableData); builder.append(" ]"); builder.append("\n"); builder.append(" Record ").append(i).append(":"); getRecord(i).appendTo(builder).append("\n"); } } else { builder.append("; recordCount: ").append(getRecordCount()); Loading core/java/android/view/accessibility/AccessibilityRecord.java +67 −22 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package android.view.accessibility; import static com.android.internal.util.CollectionUtils.isEmpty; import android.annotation.Nullable; import android.os.Parcelable; import android.view.View; Loading Loading @@ -55,6 +57,8 @@ import java.util.List; * @see AccessibilityNodeInfo */ public class AccessibilityRecord { /** @hide */ protected static final boolean DEBUG_CONCISE_TOSTRING = false; private static final int UNDEFINED = -1; Loading Loading @@ -888,28 +892,69 @@ public class AccessibilityRecord { @Override public String toString() { StringBuilder builder = new StringBuilder(); builder.append(" [ ClassName: " + mClassName); builder.append("; Text: " + mText); builder.append("; ContentDescription: " + mContentDescription); builder.append("; ItemCount: " + mItemCount); builder.append("; CurrentItemIndex: " + mCurrentItemIndex); builder.append("; IsEnabled: " + getBooleanProperty(PROPERTY_ENABLED)); builder.append("; IsPassword: " + getBooleanProperty(PROPERTY_PASSWORD)); builder.append("; IsChecked: " + getBooleanProperty(PROPERTY_CHECKED)); builder.append("; IsFullScreen: " + getBooleanProperty(PROPERTY_FULL_SCREEN)); builder.append("; Scrollable: " + getBooleanProperty(PROPERTY_SCROLLABLE)); builder.append("; BeforeText: " + mBeforeText); builder.append("; FromIndex: " + mFromIndex); builder.append("; ToIndex: " + mToIndex); builder.append("; ScrollX: " + mScrollX); builder.append("; ScrollY: " + mScrollY); builder.append("; MaxScrollX: " + mMaxScrollX); builder.append("; MaxScrollY: " + mMaxScrollY); builder.append("; AddedCount: " + mAddedCount); builder.append("; RemovedCount: " + mRemovedCount); builder.append("; ParcelableData: " + mParcelableData); return appendTo(new StringBuilder()).toString(); } StringBuilder appendTo(StringBuilder builder) { builder.append(" [ ClassName: ").append(mClassName); if (!DEBUG_CONCISE_TOSTRING || !isEmpty(mText)) { appendPropName(builder, "Text").append(mText); } append(builder, "ContentDescription", mContentDescription); append(builder, "ItemCount", mItemCount); append(builder, "CurrentItemIndex", mCurrentItemIndex); appendUnless(true, PROPERTY_ENABLED, builder); appendUnless(false, PROPERTY_PASSWORD, builder); appendUnless(false, PROPERTY_CHECKED, builder); appendUnless(false, PROPERTY_FULL_SCREEN, builder); appendUnless(false, PROPERTY_SCROLLABLE, builder); append(builder, "BeforeText", mBeforeText); append(builder, "FromIndex", mFromIndex); append(builder, "ToIndex", mToIndex); append(builder, "ScrollX", mScrollX); append(builder, "ScrollY", mScrollY); append(builder, "MaxScrollX", mMaxScrollX); append(builder, "MaxScrollY", mMaxScrollY); append(builder, "AddedCount", mAddedCount); append(builder, "RemovedCount", mRemovedCount); append(builder, "ParcelableData", mParcelableData); builder.append(" ]"); return builder.toString(); return builder; } private void appendUnless(boolean defValue, int prop, StringBuilder builder) { boolean value = getBooleanProperty(prop); if (DEBUG_CONCISE_TOSTRING && value == defValue) return; appendPropName(builder, singleBooleanPropertyToString(prop)) .append(value); } private static String singleBooleanPropertyToString(int prop) { switch (prop) { case PROPERTY_CHECKED: return "Checked"; case PROPERTY_ENABLED: return "Enabled"; case PROPERTY_PASSWORD: return "Password"; case PROPERTY_FULL_SCREEN: return "FullScreen"; case PROPERTY_SCROLLABLE: return "Scrollable"; case PROPERTY_IMPORTANT_FOR_ACCESSIBILITY: return "ImportantForAccessibility"; default: return Integer.toHexString(prop); } } private void append(StringBuilder builder, String propName, int propValue) { if (DEBUG_CONCISE_TOSTRING && propValue == UNDEFINED) return; appendPropName(builder, propName).append(propValue); } private void append(StringBuilder builder, String propName, Object propValue) { if (DEBUG_CONCISE_TOSTRING && propValue == null) return; appendPropName(builder, propName).append(propValue); } private StringBuilder appendPropName(StringBuilder builder, String propName) { return builder.append("; ").append(propName).append(": "); } } core/java/com/android/internal/util/CollectionUtils.java +8 −3 Original line number Diff line number Diff line Loading @@ -16,8 +16,6 @@ package com.android.internal.util; import static com.android.internal.util.ArrayUtils.isEmpty; import android.annotation.NonNull; import android.annotation.Nullable; import android.util.ArraySet; Loading Loading @@ -173,12 +171,19 @@ public class CollectionUtils { } /** * Returns the size of the given list, or 0 if the list is null * Returns the size of the given collection, or 0 if null */ public static int size(@Nullable Collection<?> cur) { return cur != null ? cur.size() : 0; } /** * Returns whether the given collection {@link Collection#isEmpty is empty} or {@code null} */ public static boolean isEmpty(@Nullable Collection<?> cur) { return size(cur) == 0; } /** * Returns the elements of the given list that are of type {@code c} */ Loading Loading
core/java/android/view/accessibility/AccessibilityEvent.java +25 −35 Original line number Diff line number Diff line Loading @@ -1244,42 +1244,32 @@ public final class AccessibilityEvent extends AccessibilityRecord implements Par builder.append("EventType: ").append(eventTypeToString(mEventType)); builder.append("; EventTime: ").append(mEventTime); builder.append("; PackageName: ").append(mPackageName); if (!DEBUG_CONCISE_TOSTRING || mMovementGranularity != 0) { builder.append("; MovementGranularity: ").append(mMovementGranularity); } if (!DEBUG_CONCISE_TOSTRING || mAction != 0) { builder.append("; Action: ").append(mAction); } if (!DEBUG_CONCISE_TOSTRING || mContentChangeTypes != 0) { builder.append("; ContentChangeTypes: ").append( contentChangeTypesToString(mContentChangeTypes)); } if (!DEBUG_CONCISE_TOSTRING || mWindowChangeTypes != 0) { builder.append("; WindowChangeTypes: ").append( windowChangeTypesToString(mWindowChangeTypes)); builder.append(super.toString()); if (DEBUG) { contentChangeTypesToString(mWindowChangeTypes)); } super.appendTo(builder); if (DEBUG || DEBUG_CONCISE_TOSTRING) { if (!DEBUG_CONCISE_TOSTRING) { builder.append("\n"); builder.append("; sourceWindowId: ").append(mSourceWindowId); builder.append("; mSourceNodeId: ").append(mSourceNodeId); } if (DEBUG) { builder.append("; SourceWindowId: ").append(mSourceWindowId); builder.append("; SourceNodeId: ").append(mSourceNodeId); } for (int i = 0; i < getRecordCount(); i++) { final AccessibilityRecord record = getRecord(i); builder.append(" Record "); builder.append(i); builder.append(":"); builder.append(" [ ClassName: " + record.mClassName); builder.append("; Text: " + record.mText); builder.append("; ContentDescription: " + record.mContentDescription); builder.append("; ItemCount: " + record.mItemCount); builder.append("; CurrentItemIndex: " + record.mCurrentItemIndex); builder.append("; IsEnabled: " + record.isEnabled()); builder.append("; IsPassword: " + record.isPassword()); builder.append("; IsChecked: " + record.isChecked()); builder.append("; IsFullScreen: " + record.isFullScreen()); builder.append("; Scrollable: " + record.isScrollable()); builder.append("; BeforeText: " + record.mBeforeText); builder.append("; FromIndex: " + record.mFromIndex); builder.append("; ToIndex: " + record.mToIndex); builder.append("; ScrollX: " + record.mScrollX); builder.append("; ScrollY: " + record.mScrollY); builder.append("; AddedCount: " + record.mAddedCount); builder.append("; RemovedCount: " + record.mRemovedCount); builder.append("; ParcelableData: " + record.mParcelableData); builder.append(" ]"); builder.append("\n"); builder.append(" Record ").append(i).append(":"); getRecord(i).appendTo(builder).append("\n"); } } else { builder.append("; recordCount: ").append(getRecordCount()); Loading
core/java/android/view/accessibility/AccessibilityRecord.java +67 −22 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package android.view.accessibility; import static com.android.internal.util.CollectionUtils.isEmpty; import android.annotation.Nullable; import android.os.Parcelable; import android.view.View; Loading Loading @@ -55,6 +57,8 @@ import java.util.List; * @see AccessibilityNodeInfo */ public class AccessibilityRecord { /** @hide */ protected static final boolean DEBUG_CONCISE_TOSTRING = false; private static final int UNDEFINED = -1; Loading Loading @@ -888,28 +892,69 @@ public class AccessibilityRecord { @Override public String toString() { StringBuilder builder = new StringBuilder(); builder.append(" [ ClassName: " + mClassName); builder.append("; Text: " + mText); builder.append("; ContentDescription: " + mContentDescription); builder.append("; ItemCount: " + mItemCount); builder.append("; CurrentItemIndex: " + mCurrentItemIndex); builder.append("; IsEnabled: " + getBooleanProperty(PROPERTY_ENABLED)); builder.append("; IsPassword: " + getBooleanProperty(PROPERTY_PASSWORD)); builder.append("; IsChecked: " + getBooleanProperty(PROPERTY_CHECKED)); builder.append("; IsFullScreen: " + getBooleanProperty(PROPERTY_FULL_SCREEN)); builder.append("; Scrollable: " + getBooleanProperty(PROPERTY_SCROLLABLE)); builder.append("; BeforeText: " + mBeforeText); builder.append("; FromIndex: " + mFromIndex); builder.append("; ToIndex: " + mToIndex); builder.append("; ScrollX: " + mScrollX); builder.append("; ScrollY: " + mScrollY); builder.append("; MaxScrollX: " + mMaxScrollX); builder.append("; MaxScrollY: " + mMaxScrollY); builder.append("; AddedCount: " + mAddedCount); builder.append("; RemovedCount: " + mRemovedCount); builder.append("; ParcelableData: " + mParcelableData); return appendTo(new StringBuilder()).toString(); } StringBuilder appendTo(StringBuilder builder) { builder.append(" [ ClassName: ").append(mClassName); if (!DEBUG_CONCISE_TOSTRING || !isEmpty(mText)) { appendPropName(builder, "Text").append(mText); } append(builder, "ContentDescription", mContentDescription); append(builder, "ItemCount", mItemCount); append(builder, "CurrentItemIndex", mCurrentItemIndex); appendUnless(true, PROPERTY_ENABLED, builder); appendUnless(false, PROPERTY_PASSWORD, builder); appendUnless(false, PROPERTY_CHECKED, builder); appendUnless(false, PROPERTY_FULL_SCREEN, builder); appendUnless(false, PROPERTY_SCROLLABLE, builder); append(builder, "BeforeText", mBeforeText); append(builder, "FromIndex", mFromIndex); append(builder, "ToIndex", mToIndex); append(builder, "ScrollX", mScrollX); append(builder, "ScrollY", mScrollY); append(builder, "MaxScrollX", mMaxScrollX); append(builder, "MaxScrollY", mMaxScrollY); append(builder, "AddedCount", mAddedCount); append(builder, "RemovedCount", mRemovedCount); append(builder, "ParcelableData", mParcelableData); builder.append(" ]"); return builder.toString(); return builder; } private void appendUnless(boolean defValue, int prop, StringBuilder builder) { boolean value = getBooleanProperty(prop); if (DEBUG_CONCISE_TOSTRING && value == defValue) return; appendPropName(builder, singleBooleanPropertyToString(prop)) .append(value); } private static String singleBooleanPropertyToString(int prop) { switch (prop) { case PROPERTY_CHECKED: return "Checked"; case PROPERTY_ENABLED: return "Enabled"; case PROPERTY_PASSWORD: return "Password"; case PROPERTY_FULL_SCREEN: return "FullScreen"; case PROPERTY_SCROLLABLE: return "Scrollable"; case PROPERTY_IMPORTANT_FOR_ACCESSIBILITY: return "ImportantForAccessibility"; default: return Integer.toHexString(prop); } } private void append(StringBuilder builder, String propName, int propValue) { if (DEBUG_CONCISE_TOSTRING && propValue == UNDEFINED) return; appendPropName(builder, propName).append(propValue); } private void append(StringBuilder builder, String propName, Object propValue) { if (DEBUG_CONCISE_TOSTRING && propValue == null) return; appendPropName(builder, propName).append(propValue); } private StringBuilder appendPropName(StringBuilder builder, String propName) { return builder.append("; ").append(propName).append(": "); } }
core/java/com/android/internal/util/CollectionUtils.java +8 −3 Original line number Diff line number Diff line Loading @@ -16,8 +16,6 @@ package com.android.internal.util; import static com.android.internal.util.ArrayUtils.isEmpty; import android.annotation.NonNull; import android.annotation.Nullable; import android.util.ArraySet; Loading Loading @@ -173,12 +171,19 @@ public class CollectionUtils { } /** * Returns the size of the given list, or 0 if the list is null * Returns the size of the given collection, or 0 if null */ public static int size(@Nullable Collection<?> cur) { return cur != null ? cur.size() : 0; } /** * Returns whether the given collection {@link Collection#isEmpty is empty} or {@code null} */ public static boolean isEmpty(@Nullable Collection<?> cur) { return size(cur) == 0; } /** * Returns the elements of the given list that are of type {@code c} */ Loading