From e85da2bad5b80f4e2269a64255cbaf8c11efce61 Mon Sep 17 00:00:00 2001 From: Jorim Jaggi Date: Thu, 25 Jun 2015 17:26:10 -0700 Subject: Add accessibility event for assist disclosure Bug: 21568059 Change-Id: Ib51d4236fcc87acd54cb5d191197b9b2c6cc54ea --- api/current.txt | 1 + api/system-current.txt | 1 + core/java/android/view/accessibility/AccessibilityEvent.java | 12 ++++++++++++ core/res/res/values/attrs.xml | 2 ++ .../src/com/android/systemui/assist/AssistDisclosure.java | 2 ++ .../server/accessibility/AccessibilityManagerService.java | 2 ++ 6 files changed, 20 insertions(+) diff --git a/api/current.txt b/api/current.txt index 4f8938639e32..280206243382 100644 --- a/api/current.txt +++ b/api/current.txt @@ -37464,6 +37464,7 @@ package android.view.accessibility { field public static final deprecated int MAX_TEXT_LENGTH = 500; // 0x1f4 field public static final int TYPES_ALL_MASK = -1; // 0xffffffff field public static final int TYPE_ANNOUNCEMENT = 16384; // 0x4000 + field public static final int TYPE_ASSIST_READING_CONTEXT = 16777216; // 0x1000000 field public static final int TYPE_GESTURE_DETECTION_END = 524288; // 0x80000 field public static final int TYPE_GESTURE_DETECTION_START = 262144; // 0x40000 field public static final int TYPE_NOTIFICATION_STATE_CHANGED = 64; // 0x40 diff --git a/api/system-current.txt b/api/system-current.txt index 4a665dc3a21e..5713af21c413 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -39762,6 +39762,7 @@ package android.view.accessibility { field public static final deprecated int MAX_TEXT_LENGTH = 500; // 0x1f4 field public static final int TYPES_ALL_MASK = -1; // 0xffffffff field public static final int TYPE_ANNOUNCEMENT = 16384; // 0x4000 + field public static final int TYPE_ASSIST_READING_CONTEXT = 16777216; // 0x1000000 field public static final int TYPE_GESTURE_DETECTION_END = 524288; // 0x80000 field public static final int TYPE_GESTURE_DETECTION_START = 262144; // 0x40000 field public static final int TYPE_NOTIFICATION_STATE_CHANGED = 64; // 0x40 diff --git a/core/java/android/view/accessibility/AccessibilityEvent.java b/core/java/android/view/accessibility/AccessibilityEvent.java index 87706ef64a55..1464bb5cff97 100644 --- a/core/java/android/view/accessibility/AccessibilityEvent.java +++ b/core/java/android/view/accessibility/AccessibilityEvent.java @@ -688,6 +688,11 @@ public final class AccessibilityEvent extends AccessibilityRecord implements Par */ public static final int TYPE_VIEW_CONTEXT_CLICKED = 0x00800000; + /** + * Represents the event of the assistant currently reading the users screen context. + */ + public static final int TYPE_ASSIST_READING_CONTEXT = 0x01000000; + /** * Change type for {@link #TYPE_WINDOW_CONTENT_CHANGED} event: * The type of change is not defined. @@ -1413,6 +1418,13 @@ public final class AccessibilityEvent extends AccessibilityRecord implements Par } builder.append("TYPE_VIEW_CONTEXT_CLICKED"); eventTypeCount++; + } + case TYPE_ASSIST_READING_CONTEXT: { + if (eventTypeCount > 0) { + builder.append(", "); + } + builder.append("TYPE_ASSIST_READING_CONTEXT"); + eventTypeCount++; } break; } diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml index fd47d49df471..b1925ba2bc63 100644 --- a/core/res/res/values/attrs.xml +++ b/core/res/res/values/attrs.xml @@ -3124,6 +3124,8 @@ i + + diff --git a/packages/SystemUI/src/com/android/systemui/assist/AssistDisclosure.java b/packages/SystemUI/src/com/android/systemui/assist/AssistDisclosure.java index 585f9ba63fce..c3a8f2e73d78 100644 --- a/packages/SystemUI/src/com/android/systemui/assist/AssistDisclosure.java +++ b/packages/SystemUI/src/com/android/systemui/assist/AssistDisclosure.java @@ -32,6 +32,7 @@ import android.graphics.PorterDuffXfermode; import android.os.Handler; import android.view.View; import android.view.WindowManager; +import android.view.accessibility.AccessibilityEvent; import android.view.animation.AnimationUtils; /** @@ -166,6 +167,7 @@ public class AssistDisclosure { super.onAttachedToWindow(); startAnimation(); + sendAccessibilityEvent(AccessibilityEvent.TYPE_ASSIST_READING_CONTEXT); } @Override diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java index 7bcbcfb5427e..57769e709bc3 100644 --- a/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java +++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityManagerService.java @@ -3351,6 +3351,8 @@ public class AccessibilityManagerService extends IAccessibilityManager.Stub { case AccessibilityEvent.TYPE_TOUCH_INTERACTION_END: case AccessibilityEvent.TYPE_VIEW_HOVER_ENTER: case AccessibilityEvent.TYPE_VIEW_HOVER_EXIT: + // Also always dispatch the event that assist is reading context. + case AccessibilityEvent.TYPE_ASSIST_READING_CONTEXT: // Also windows changing should always be anounced. case AccessibilityEvent.TYPE_WINDOWS_CHANGED: { return true; -- cgit v1.2.3-59-g8ed1b