diff options
| author | 2022-10-05 21:37:13 +0000 | |
|---|---|---|
| committer | 2022-10-10 16:49:34 +0000 | |
| commit | 7099112bd34d4ff4da7a25a9adafd39ee9ecb4cc (patch) | |
| tree | ad4a9fde9667948d17f47bfac23e8715c4d1fe8a | |
| parent | 9eef24a570409f1a4a786c236c0ce6ac234639f7 (diff) | |
Add CONTENT_CHANGE_TYPE_ENABLED flag
Bug: 191884508
Test: ran cts tests and verified on talkback_tests
Change-Id: I38b56c034e3291b4c11b79066be694c962c48e97
| -rw-r--r-- | core/api/current.txt | 1 | ||||
| -rw-r--r-- | core/java/android/view/View.java | 2 | ||||
| -rw-r--r-- | core/java/android/view/accessibility/AccessibilityEvent.java | 14 |
3 files changed, 17 insertions, 0 deletions
diff --git a/core/api/current.txt b/core/api/current.txt index 00a28f2a8cf4..680a3dbc1174 100644 --- a/core/api/current.txt +++ b/core/api/current.txt @@ -51754,6 +51754,7 @@ package android.view.accessibility { field public static final int CONTENT_CHANGE_TYPE_DRAG_CANCELLED = 512; // 0x200 field public static final int CONTENT_CHANGE_TYPE_DRAG_DROPPED = 256; // 0x100 field public static final int CONTENT_CHANGE_TYPE_DRAG_STARTED = 128; // 0x80 + field public static final int CONTENT_CHANGE_TYPE_ENABLED = 4096; // 0x1000 field public static final int CONTENT_CHANGE_TYPE_ERROR = 2048; // 0x800 field public static final int CONTENT_CHANGE_TYPE_PANE_APPEARED = 16; // 0x10 field public static final int CONTENT_CHANGE_TYPE_PANE_DISAPPEARED = 32; // 0x20 diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index 48937770eddb..ab1758640c7d 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -12454,6 +12454,8 @@ public class View implements Drawable.Callback, KeyEvent.Callback, if (!enabled) { cancelPendingInputEvents(); } + notifyViewAccessibilityStateChangedIfNeeded( + AccessibilityEvent.CONTENT_CHANGE_TYPE_ENABLED); } /** diff --git a/core/java/android/view/accessibility/AccessibilityEvent.java b/core/java/android/view/accessibility/AccessibilityEvent.java index 1d4af51fc4dd..7dd512369e7c 100644 --- a/core/java/android/view/accessibility/AccessibilityEvent.java +++ b/core/java/android/view/accessibility/AccessibilityEvent.java @@ -707,6 +707,18 @@ public final class AccessibilityEvent extends AccessibilityRecord implements Par */ public static final int CONTENT_CHANGE_TYPE_ERROR = 0x0000800; + /** + * Change type for {@link #TYPE_WINDOW_CONTENT_CHANGED} event: + * The source node changed its ability to interact returned by + * {@link AccessibilityNodeInfo#isEnabled}. + * The view changing content's ability to interact should call + * {@link AccessibilityNodeInfo#setEnabled} and then send this event. + * + * @see AccessibilityNodeInfo#isEnabled + * @see AccessibilityNodeInfo#setEnabled + */ + public static final int CONTENT_CHANGE_TYPE_ENABLED = 1 << 12; + /** Change type for {@link #TYPE_SPEECH_STATE_CHANGE} event: another service is speaking. */ public static final int SPEECH_STATE_SPEAKING_START = 0x00000001; @@ -834,6 +846,7 @@ public final class AccessibilityEvent extends AccessibilityRecord implements Par CONTENT_CHANGE_TYPE_DRAG_CANCELLED, CONTENT_CHANGE_TYPE_CONTENT_INVALID, CONTENT_CHANGE_TYPE_ERROR, + CONTENT_CHANGE_TYPE_ENABLED, }) public @interface ContentChangeTypes {} @@ -1103,6 +1116,7 @@ public final class AccessibilityEvent extends AccessibilityRecord implements Par case CONTENT_CHANGE_TYPE_CONTENT_INVALID: return "CONTENT_CHANGE_TYPE_CONTENT_INVALID"; case CONTENT_CHANGE_TYPE_ERROR: return "CONTENT_CHANGE_TYPE_ERROR"; + case CONTENT_CHANGE_TYPE_ENABLED: return "CONTENT_CHANGE_TYPE_ENABLED"; default: return Integer.toHexString(type); } } |