Revert "Don't generate irrelevant a11y events - framework"
This reverts commit 8ddfb4794f.
Test: presubmit
Bug: 69975306
Change-Id: I05cb545eb0adc77298dddf2dea2997ef36b58a5f
This commit is contained in:
@@ -16,8 +16,6 @@
|
||||
|
||||
package android.accessibilityservice;
|
||||
|
||||
import static android.content.pm.PackageManager.FEATURE_FINGERPRINT;
|
||||
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.pm.PackageManager;
|
||||
@@ -49,6 +47,8 @@ import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
|
||||
import static android.content.pm.PackageManager.FEATURE_FINGERPRINT;
|
||||
|
||||
/**
|
||||
* This class describes an {@link AccessibilityService}. The system notifies an
|
||||
* {@link AccessibilityService} for {@link android.view.accessibility.AccessibilityEvent}s
|
||||
@@ -554,7 +554,7 @@ public class AccessibilityServiceInfo implements Parcelable {
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates the properties that an AccessibilityService can change dynamically.
|
||||
* Updates the properties that an AccessibilitySerivice can change dynamically.
|
||||
*
|
||||
* @param other The info from which to update the properties.
|
||||
*
|
||||
|
||||
@@ -21,16 +21,18 @@ import android.content.res.TypedArray;
|
||||
import android.graphics.Bitmap;
|
||||
import android.graphics.Canvas;
|
||||
import android.graphics.Paint;
|
||||
import android.graphics.Paint.Align;
|
||||
import android.graphics.PorterDuff;
|
||||
import android.graphics.Rect;
|
||||
import android.graphics.Region.Op;
|
||||
import android.graphics.Typeface;
|
||||
import android.graphics.Paint.Align;
|
||||
import android.graphics.Region.Op;
|
||||
import android.graphics.drawable.Drawable;
|
||||
import android.inputmethodservice.Keyboard.Key;
|
||||
import android.media.AudioManager;
|
||||
import android.os.Handler;
|
||||
import android.os.Message;
|
||||
import android.os.UserHandle;
|
||||
import android.provider.Settings;
|
||||
import android.util.AttributeSet;
|
||||
import android.util.TypedValue;
|
||||
import android.view.GestureDetector;
|
||||
@@ -984,9 +986,6 @@ public class KeyboardView extends View implements View.OnClickListener {
|
||||
|
||||
private void sendAccessibilityEventForUnicodeCharacter(int eventType, int code) {
|
||||
if (mAccessibilityManager.isEnabled()) {
|
||||
if (!mAccessibilityManager.isObservedEventType(eventType)) {
|
||||
return;
|
||||
}
|
||||
AccessibilityEvent event = AccessibilityEvent.obtain(eventType);
|
||||
onInitializeAccessibilityEvent(event);
|
||||
final String text;
|
||||
|
||||
@@ -7196,8 +7196,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
|
||||
* @param text The announcement text.
|
||||
*/
|
||||
public void announceForAccessibility(CharSequence text) {
|
||||
if (AccessibilityManager.getInstance(mContext).isObservedEventType(
|
||||
AccessibilityEvent.TYPE_ANNOUNCEMENT) && mParent != null) {
|
||||
if (AccessibilityManager.getInstance(mContext).isEnabled() && mParent != null) {
|
||||
AccessibilityEvent event = AccessibilityEvent.obtain(
|
||||
AccessibilityEvent.TYPE_ANNOUNCEMENT);
|
||||
onInitializeAccessibilityEvent(event);
|
||||
@@ -10916,8 +10915,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
|
||||
if ((mPrivateFlags2 & PFLAG2_ACCESSIBILITY_FOCUSED) != 0) {
|
||||
mPrivateFlags2 &= ~PFLAG2_ACCESSIBILITY_FOCUSED;
|
||||
invalidate();
|
||||
if (AccessibilityManager.getInstance(mContext).isObservedEventType(
|
||||
AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED)) {
|
||||
if (AccessibilityManager.getInstance(mContext).isEnabled()) {
|
||||
AccessibilityEvent event = AccessibilityEvent.obtain(
|
||||
AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED);
|
||||
event.setAction(action);
|
||||
@@ -11742,8 +11740,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
|
||||
|
||||
private void sendViewTextTraversedAtGranularityEvent(int action, int granularity,
|
||||
int fromIndex, int toIndex) {
|
||||
if (mParent == null || !AccessibilityManager.getInstance(mContext).isObservedEventType(
|
||||
AccessibilityEvent.TYPE_VIEW_TEXT_TRAVERSED_AT_MOVEMENT_GRANULARITY)) {
|
||||
if (mParent == null) {
|
||||
return;
|
||||
}
|
||||
AccessibilityEvent event = AccessibilityEvent.obtain(
|
||||
@@ -26133,8 +26130,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
if (AccessibilityManager.getInstance(mContext).isObservedEventType(
|
||||
AccessibilityEvent.TYPE_VIEW_SCROLLED)) {
|
||||
if (AccessibilityManager.getInstance(mContext).isEnabled()) {
|
||||
AccessibilityEvent event = AccessibilityEvent.obtain(
|
||||
AccessibilityEvent.TYPE_VIEW_SCROLLED);
|
||||
event.setScrollDeltaX(mDeltaX);
|
||||
|
||||
@@ -24,7 +24,6 @@ import android.annotation.NonNull;
|
||||
import android.annotation.Nullable;
|
||||
import android.annotation.SdkConstant;
|
||||
import android.annotation.SystemService;
|
||||
import android.annotation.TestApi;
|
||||
import android.content.ComponentName;
|
||||
import android.content.Context;
|
||||
import android.content.pm.PackageManager;
|
||||
@@ -188,7 +187,6 @@ public final class AccessibilityManager {
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@TestApi
|
||||
public interface AccessibilityServicesStateChangeListener {
|
||||
|
||||
/**
|
||||
@@ -453,18 +451,6 @@ public final class AccessibilityManager {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns whether there are observers registered for this event type. If
|
||||
* this method returns false you shuold not generate events of this type
|
||||
* to conserve resources.
|
||||
*
|
||||
* @param type The event type.
|
||||
* @return Whether the event is being observed.
|
||||
*/
|
||||
public boolean isObservedEventType(@AccessibilityEvent.EventType int type) {
|
||||
return mIsEnabled && (mRelevantEventTypes & type) != 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Requests feedback interruption from all accessibility services.
|
||||
*/
|
||||
@@ -697,7 +683,6 @@ public final class AccessibilityManager {
|
||||
* for a callback on the process's main handler.
|
||||
* @hide
|
||||
*/
|
||||
@TestApi
|
||||
public void addAccessibilityServicesStateChangeListener(
|
||||
@NonNull AccessibilityServicesStateChangeListener listener, @Nullable Handler handler) {
|
||||
synchronized (mLock) {
|
||||
@@ -713,7 +698,6 @@ public final class AccessibilityManager {
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
@TestApi
|
||||
public void removeAccessibilityServicesStateChangeListener(
|
||||
@NonNull AccessibilityServicesStateChangeListener listener) {
|
||||
// Final CopyOnWriteArrayList - no lock needed.
|
||||
|
||||
@@ -1952,8 +1952,7 @@ public class NumberPicker extends LinearLayout {
|
||||
CharSequence beforeText = mInputText.getText();
|
||||
if (!text.equals(beforeText.toString())) {
|
||||
mInputText.setText(text);
|
||||
if (AccessibilityManager.getInstance(mContext).isObservedEventType(
|
||||
AccessibilityEvent.TYPE_VIEW_TEXT_CHANGED)) {
|
||||
if (AccessibilityManager.getInstance(mContext).isEnabled()) {
|
||||
AccessibilityEvent event = AccessibilityEvent.obtain(
|
||||
AccessibilityEvent.TYPE_VIEW_TEXT_CHANGED);
|
||||
mInputText.onInitializeAccessibilityEvent(event);
|
||||
@@ -2613,7 +2612,7 @@ public class NumberPicker extends LinearLayout {
|
||||
}
|
||||
|
||||
private void sendAccessibilityEventForVirtualText(int eventType) {
|
||||
if (AccessibilityManager.getInstance(mContext).isObservedEventType(eventType)) {
|
||||
if (AccessibilityManager.getInstance(mContext).isEnabled()) {
|
||||
AccessibilityEvent event = AccessibilityEvent.obtain(eventType);
|
||||
mInputText.onInitializeAccessibilityEvent(event);
|
||||
mInputText.onPopulateAccessibilityEvent(event);
|
||||
@@ -2624,7 +2623,7 @@ public class NumberPicker extends LinearLayout {
|
||||
|
||||
private void sendAccessibilityEventForVirtualButton(int virtualViewId, int eventType,
|
||||
String text) {
|
||||
if (AccessibilityManager.getInstance(mContext).isObservedEventType(eventType)) {
|
||||
if (AccessibilityManager.getInstance(mContext).isEnabled()) {
|
||||
AccessibilityEvent event = AccessibilityEvent.obtain(eventType);
|
||||
event.setClassName(Button.class.getName());
|
||||
event.setPackageName(mContext.getPackageName());
|
||||
|
||||
@@ -10836,10 +10836,6 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener
|
||||
|
||||
void sendAccessibilityEventTypeViewTextChanged(CharSequence beforeText,
|
||||
int fromIndex, int removedCount, int addedCount) {
|
||||
if (!AccessibilityManager.getInstance(mContext).isObservedEventType(
|
||||
AccessibilityEvent.TYPE_VIEW_TEXT_CHANGED)) {
|
||||
return;
|
||||
}
|
||||
AccessibilityEvent event =
|
||||
AccessibilityEvent.obtain(AccessibilityEvent.TYPE_VIEW_TEXT_CHANGED);
|
||||
event.setFromIndex(fromIndex);
|
||||
|
||||
@@ -504,8 +504,7 @@ public class Toast {
|
||||
private void trySendAccessibilityEvent() {
|
||||
AccessibilityManager accessibilityManager =
|
||||
AccessibilityManager.getInstance(mView.getContext());
|
||||
if (!accessibilityManager.isObservedEventType(
|
||||
AccessibilityEvent.TYPE_NOTIFICATION_STATE_CHANGED)) {
|
||||
if (!accessibilityManager.isEnabled()) {
|
||||
return;
|
||||
}
|
||||
// treat toasts as notifications since they are used to
|
||||
|
||||
@@ -186,9 +186,6 @@ public abstract class ExploreByTouchHelper extends View.AccessibilityDelegate {
|
||||
}
|
||||
|
||||
final AccessibilityEvent event = createEvent(virtualViewId, eventType);
|
||||
if (event == null) {
|
||||
return false;
|
||||
}
|
||||
return parent.requestSendAccessibilityEvent(mView, event);
|
||||
}
|
||||
|
||||
@@ -243,9 +240,6 @@ public abstract class ExploreByTouchHelper extends View.AccessibilityDelegate {
|
||||
if (parent != null) {
|
||||
final AccessibilityEvent event = createEvent(virtualViewId,
|
||||
AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED);
|
||||
if (event == null) {
|
||||
return;
|
||||
}
|
||||
event.setContentChangeTypes(changeTypes);
|
||||
parent.requestSendAccessibilityEvent(mView, event);
|
||||
}
|
||||
@@ -311,9 +305,6 @@ public abstract class ExploreByTouchHelper extends View.AccessibilityDelegate {
|
||||
* the specified item.
|
||||
*/
|
||||
private AccessibilityEvent createEventForHost(int eventType) {
|
||||
if (!AccessibilityManager.getInstance(mContext).isObservedEventType(eventType)) {
|
||||
return null;
|
||||
}
|
||||
final AccessibilityEvent event = AccessibilityEvent.obtain(eventType);
|
||||
mView.onInitializeAccessibilityEvent(event);
|
||||
|
||||
@@ -334,9 +325,6 @@ public abstract class ExploreByTouchHelper extends View.AccessibilityDelegate {
|
||||
* the specified item.
|
||||
*/
|
||||
private AccessibilityEvent createEventForChild(int virtualViewId, int eventType) {
|
||||
if (!AccessibilityManager.getInstance(mContext).isObservedEventType(eventType)) {
|
||||
return null;
|
||||
}
|
||||
final AccessibilityEvent event = AccessibilityEvent.obtain(eventType);
|
||||
event.setEnabled(true);
|
||||
event.setClassName(DEFAULT_CLASS_NAME);
|
||||
|
||||
Reference in New Issue
Block a user