Only announce for accessibility if accessibility is enabled
am: 791f1ddaa3
Change-Id: I587f67173f3c78914e77997359a11a3255b3b088
This commit is contained in:
@@ -39,6 +39,7 @@ import android.view.View;
|
|||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.view.WindowManager;
|
import android.view.WindowManager;
|
||||||
import android.view.accessibility.AccessibilityEvent;
|
import android.view.accessibility.AccessibilityEvent;
|
||||||
|
import android.view.accessibility.AccessibilityManager;
|
||||||
import android.view.animation.Interpolator;
|
import android.view.animation.Interpolator;
|
||||||
import android.widget.Button;
|
import android.widget.Button;
|
||||||
import android.widget.ImageView;
|
import android.widget.ImageView;
|
||||||
@@ -75,6 +76,7 @@ public abstract class BiometricDialogView extends LinearLayout {
|
|||||||
protected static final int STATE_PENDING_CONFIRMATION = 3;
|
protected static final int STATE_PENDING_CONFIRMATION = 3;
|
||||||
protected static final int STATE_AUTHENTICATED = 4;
|
protected static final int STATE_AUTHENTICATED = 4;
|
||||||
|
|
||||||
|
private final AccessibilityManager mAccessibilityManager;
|
||||||
private final IBinder mWindowToken = new Binder();
|
private final IBinder mWindowToken = new Binder();
|
||||||
private final Interpolator mLinearOutSlowIn;
|
private final Interpolator mLinearOutSlowIn;
|
||||||
private final WindowManager mWindowManager;
|
private final WindowManager mWindowManager;
|
||||||
@@ -153,6 +155,7 @@ public abstract class BiometricDialogView extends LinearLayout {
|
|||||||
super(context);
|
super(context);
|
||||||
mCallback = callback;
|
mCallback = callback;
|
||||||
mLinearOutSlowIn = Interpolators.LINEAR_OUT_SLOW_IN;
|
mLinearOutSlowIn = Interpolators.LINEAR_OUT_SLOW_IN;
|
||||||
|
mAccessibilityManager = mContext.getSystemService(AccessibilityManager.class);
|
||||||
mWindowManager = mContext.getSystemService(WindowManager.class);
|
mWindowManager = mContext.getSystemService(WindowManager.class);
|
||||||
mUserManager = mContext.getSystemService(UserManager.class);
|
mUserManager = mContext.getSystemService(UserManager.class);
|
||||||
mDevicePolicyManager = mContext.getSystemService(DevicePolicyManager.class);
|
mDevicePolicyManager = mContext.getSystemService(DevicePolicyManager.class);
|
||||||
@@ -522,12 +525,14 @@ public abstract class BiometricDialogView extends LinearLayout {
|
|||||||
// Every time a view becomes invisible we need to announce an accessibility event.
|
// Every time a view becomes invisible we need to announce an accessibility event.
|
||||||
// This is due to an issue in the framework, b/132298701 recommended this workaround.
|
// This is due to an issue in the framework, b/132298701 recommended this workaround.
|
||||||
protected void announceAccessibilityEvent() {
|
protected void announceAccessibilityEvent() {
|
||||||
|
if (!mAccessibilityManager.isEnabled()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
AccessibilityEvent event = AccessibilityEvent.obtain();
|
AccessibilityEvent event = AccessibilityEvent.obtain();
|
||||||
event.setEventType(AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED);
|
event.setEventType(AccessibilityEvent.TYPE_WINDOW_CONTENT_CHANGED);
|
||||||
event.setContentChangeTypes(CONTENT_CHANGE_TYPE_SUBTREE);
|
event.setContentChangeTypes(CONTENT_CHANGE_TYPE_SUBTREE);
|
||||||
mDialog.sendAccessibilityEventUnchecked(event);
|
mDialog.sendAccessibilityEventUnchecked(event);
|
||||||
mDialog.notifySubtreeAccessibilityStateChanged(mDialog, mDialog,
|
mDialog.notifySubtreeAccessibilityStateChanged(mDialog, mDialog,
|
||||||
CONTENT_CHANGE_TYPE_SUBTREE);
|
CONTENT_CHANGE_TYPE_SUBTREE);
|
||||||
event.recycle();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user