* commit '76597552805f810ff7de15f6fad72a0a89ff5724': Fix HIDE_DESCENDANTS accessibility importance mode
This commit is contained in:
@@ -1738,47 +1738,41 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
|
||||
/**
|
||||
* Masks for mPrivateFlags2, as generated by dumpFlags():
|
||||
*
|
||||
* -------|-------|-------|-------|
|
||||
* PFLAG2_TEXT_ALIGNMENT_FLAGS[0]
|
||||
* PFLAG2_TEXT_DIRECTION_FLAGS[0]
|
||||
* 1 PFLAG2_DRAG_CAN_ACCEPT
|
||||
* 1 PFLAG2_DRAG_HOVERED
|
||||
* 1 PFLAG2_LAYOUT_DIRECTION_MASK_SHIFT
|
||||
* 11 PFLAG2_TEXT_DIRECTION_MASK_SHIFT
|
||||
* 1 1 PFLAG2_TEXT_DIRECTION_RESOLVED_MASK_SHIFT
|
||||
* 11 PFLAG2_LAYOUT_DIRECTION_MASK
|
||||
* 11 1 PFLAG2_TEXT_ALIGNMENT_MASK_SHIFT
|
||||
* 1 PFLAG2_LAYOUT_DIRECTION_RESOLVED_RTL
|
||||
* 1 1 PFLAG2_TEXT_ALIGNMENT_RESOLVED_MASK_SHIFT
|
||||
* 1 1 PFLAG2_IMPORTANT_FOR_ACCESSIBILITY_SHIFT
|
||||
* 1 PFLAG2_LAYOUT_DIRECTION_RESOLVED
|
||||
* 11 PFLAG2_LAYOUT_DIRECTION_RESOLVED_MASK
|
||||
* 1 PFLAG2_TEXT_DIRECTION_FLAGS[1]
|
||||
* 1 PFLAG2_TEXT_DIRECTION_FLAGS[2]
|
||||
* 11 PFLAG2_TEXT_DIRECTION_FLAGS[3]
|
||||
* 1 PFLAG2_TEXT_DIRECTION_FLAGS[4]
|
||||
* 1 1 PFLAG2_TEXT_DIRECTION_FLAGS[5]
|
||||
* 111 PFLAG2_TEXT_DIRECTION_MASK
|
||||
* 1 PFLAG2_TEXT_DIRECTION_RESOLVED
|
||||
* 1 PFLAG2_TEXT_DIRECTION_RESOLVED_DEFAULT
|
||||
* 111 PFLAG2_TEXT_DIRECTION_RESOLVED_MASK
|
||||
* 1 PFLAG2_TEXT_ALIGNMENT_FLAGS[1]
|
||||
* 1 PFLAG2_TEXT_ALIGNMENT_FLAGS[2]
|
||||
* 11 PFLAG2_TEXT_ALIGNMENT_FLAGS[3]
|
||||
* 1 PFLAG2_TEXT_ALIGNMENT_FLAGS[4]
|
||||
* 1 1 PFLAG2_TEXT_ALIGNMENT_FLAGS[5]
|
||||
* 11 PFLAG2_TEXT_ALIGNMENT_FLAGS[6]
|
||||
* 111 PFLAG2_TEXT_ALIGNMENT_MASK
|
||||
* 1 PFLAG2_TEXT_ALIGNMENT_RESOLVED
|
||||
* 1 PFLAG2_TEXT_ALIGNMENT_RESOLVED_DEFAULT
|
||||
* 111 PFLAG2_TEXT_ALIGNMENT_RESOLVED_MASK
|
||||
* 11 PFLAG2_IMPORTANT_FOR_ACCESSIBILITY_MASK
|
||||
* 1 PFLAG2_HAS_TRANSIENT_STATE
|
||||
* 1 PFLAG2_ACCESSIBILITY_FOCUSED
|
||||
* 1 PFLAG2_ACCESSIBILITY_STATE_CHANGED
|
||||
* 1 PFLAG2_VIEW_QUICK_REJECTED
|
||||
* 1 PFLAG2_PADDING_RESOLVED
|
||||
* -------|-------|-------|-------|
|
||||
* |-------|-------|-------|-------|
|
||||
* 1 PFLAG2_DRAG_CAN_ACCEPT
|
||||
* 1 PFLAG2_DRAG_HOVERED
|
||||
* 11 PFLAG2_LAYOUT_DIRECTION_MASK
|
||||
* 1 PFLAG2_LAYOUT_DIRECTION_RESOLVED_RTL
|
||||
* 1 PFLAG2_LAYOUT_DIRECTION_RESOLVED
|
||||
* 11 PFLAG2_LAYOUT_DIRECTION_RESOLVED_MASK
|
||||
* 1 PFLAG2_TEXT_DIRECTION_FLAGS[1]
|
||||
* 1 PFLAG2_TEXT_DIRECTION_FLAGS[2]
|
||||
* 11 PFLAG2_TEXT_DIRECTION_FLAGS[3]
|
||||
* 1 PFLAG2_TEXT_DIRECTION_FLAGS[4]
|
||||
* 1 1 PFLAG2_TEXT_DIRECTION_FLAGS[5]
|
||||
* 111 PFLAG2_TEXT_DIRECTION_MASK
|
||||
* 1 PFLAG2_TEXT_DIRECTION_RESOLVED
|
||||
* 1 PFLAG2_TEXT_DIRECTION_RESOLVED_DEFAULT
|
||||
* 111 PFLAG2_TEXT_DIRECTION_RESOLVED_MASK
|
||||
* 1 PFLAG2_TEXT_ALIGNMENT_FLAGS[1]
|
||||
* 1 PFLAG2_TEXT_ALIGNMENT_FLAGS[2]
|
||||
* 11 PFLAG2_TEXT_ALIGNMENT_FLAGS[3]
|
||||
* 1 PFLAG2_TEXT_ALIGNMENT_FLAGS[4]
|
||||
* 1 1 PFLAG2_TEXT_ALIGNMENT_FLAGS[5]
|
||||
* 11 PFLAG2_TEXT_ALIGNMENT_FLAGS[6]
|
||||
* 111 PFLAG2_TEXT_ALIGNMENT_MASK
|
||||
* 1 PFLAG2_TEXT_ALIGNMENT_RESOLVED
|
||||
* 1 PFLAG2_TEXT_ALIGNMENT_RESOLVED_DEFAULT
|
||||
* 111 PFLAG2_TEXT_ALIGNMENT_RESOLVED_MASK
|
||||
* 111 PFLAG2_IMPORTANT_FOR_ACCESSIBILITY_MASK
|
||||
* 11 PFLAG2_ACCESSIBILITY_LIVE_REGION_MASK
|
||||
* 1 PFLAG2_ACCESSIBILITY_FOCUSED
|
||||
* 1 PFLAG2_SUBTREE_ACCESSIBILITY_STATE_CHANGED
|
||||
* 1 PFLAG2_VIEW_QUICK_REJECTED
|
||||
* 1 PFLAG2_PADDING_RESOLVED
|
||||
* 1 PFLAG2_DRAWABLE_RESOLVED
|
||||
* 1 PFLAG2_HAS_TRANSIENT_STATE
|
||||
* |-------|-------|-------|-------|
|
||||
*/
|
||||
|
||||
/**
|
||||
@@ -1875,15 +1869,6 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
|
||||
*/
|
||||
static final int LAYOUT_DIRECTION_RESOLVED_DEFAULT = LAYOUT_DIRECTION_LTR;
|
||||
|
||||
/**
|
||||
* Indicates that the view is tracking some sort of transient state
|
||||
* that the app should not need to be aware of, but that the framework
|
||||
* should take special care to preserve.
|
||||
*
|
||||
* @hide
|
||||
*/
|
||||
static final int PFLAG2_HAS_TRANSIENT_STATE = 0x1 << 22;
|
||||
|
||||
/**
|
||||
* Text direction is inherited thru {@link ViewGroup}
|
||||
*/
|
||||
@@ -2215,6 +2200,13 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
|
||||
*/
|
||||
static final int PFLAG2_DRAWABLE_RESOLVED = 0x40000000;
|
||||
|
||||
/**
|
||||
* Indicates that the view is tracking some sort of transient state
|
||||
* that the app should not need to be aware of, but that the framework
|
||||
* should take special care to preserve.
|
||||
*/
|
||||
static final int PFLAG2_HAS_TRANSIENT_STATE = 0x80000000;
|
||||
|
||||
/**
|
||||
* Group of bits indicating that RTL properties resolution is done.
|
||||
*/
|
||||
@@ -7090,12 +7082,18 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
|
||||
* @see #IMPORTANT_FOR_ACCESSIBILITY_AUTO
|
||||
*/
|
||||
public void setImportantForAccessibility(int mode) {
|
||||
final boolean oldIncludeForAccessibility = includeForAccessibility();
|
||||
if (mode != getImportantForAccessibility()) {
|
||||
final int oldMode = getImportantForAccessibility();
|
||||
if (mode != oldMode) {
|
||||
// If we're moving between AUTO and another state, we might not need
|
||||
// to send a subtree changed notification. We'll store the computed
|
||||
// importance, since we'll need to check it later to make sure.
|
||||
final boolean maySkipNotify = oldMode == IMPORTANT_FOR_ACCESSIBILITY_AUTO
|
||||
|| mode == IMPORTANT_FOR_ACCESSIBILITY_AUTO;
|
||||
final boolean oldIncludeForAccessibility = maySkipNotify && includeForAccessibility();
|
||||
mPrivateFlags2 &= ~PFLAG2_IMPORTANT_FOR_ACCESSIBILITY_MASK;
|
||||
mPrivateFlags2 |= (mode << PFLAG2_IMPORTANT_FOR_ACCESSIBILITY_SHIFT)
|
||||
& PFLAG2_IMPORTANT_FOR_ACCESSIBILITY_MASK;
|
||||
if (oldIncludeForAccessibility != includeForAccessibility()) {
|
||||
if (!maySkipNotify || oldIncludeForAccessibility != includeForAccessibility()) {
|
||||
notifySubtreeAccessibilityStateChangedIfNeeded();
|
||||
} else {
|
||||
notifyViewAccessibilityStateChangedIfNeeded(
|
||||
|
||||
Reference in New Issue
Block a user