summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Zeyin Wu <zeyinwu@google.com> 2022-10-05 21:37:13 +0000
committer Zeyin Wu <zeyinwu@google.com> 2022-10-10 16:49:34 +0000
commit7099112bd34d4ff4da7a25a9adafd39ee9ecb4cc (patch)
treead4a9fde9667948d17f47bfac23e8715c4d1fe8a
parent9eef24a570409f1a4a786c236c0ce6ac234639f7 (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.txt1
-rw-r--r--core/java/android/view/View.java2
-rw-r--r--core/java/android/view/accessibility/AccessibilityEvent.java14
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);
}
}