Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6e79d68e authored by Sally Yuen's avatar Sally Yuen Committed by Automerger Merge Worker
Browse files

Merge "Make pane logic consistent with documentation" into tm-dev am: 9178d29c

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/16943020

Change-Id: Ia7a39d3b996ddebdd92b7c0f3965e3665ffce5e0
parents c06ff0e9 9178d29c
Loading
Loading
Loading
Loading
+23 −4
Original line number Diff line number Diff line
@@ -8226,11 +8226,27 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
     */
    public void setAccessibilityPaneTitle(@Nullable CharSequence accessibilityPaneTitle) {
        if (!TextUtils.equals(accessibilityPaneTitle, mAccessibilityPaneTitle)) {
            boolean currentPaneTitleEmpty = mAccessibilityPaneTitle == null;
            boolean newPaneTitleEmpty =  accessibilityPaneTitle == null;
            mAccessibilityPaneTitle = accessibilityPaneTitle;
            // Make explicitly important as nulled titles need to be important for DISAPPEARED
            // events.
            if (mAccessibilityPaneTitle != null
                    && getImportantForAccessibility() == IMPORTANT_FOR_ACCESSIBILITY_AUTO) {
                setImportantForAccessibility(IMPORTANT_FOR_ACCESSIBILITY_YES);
            }
            if (currentPaneTitleEmpty) {
                notifyViewAccessibilityStateChangedIfNeeded(
                        AccessibilityEvent.CONTENT_CHANGE_TYPE_PANE_APPEARED);
            } else if (newPaneTitleEmpty) {
                notifyViewAccessibilityStateChangedIfNeeded(
                        AccessibilityEvent.CONTENT_CHANGE_TYPE_PANE_DISAPPEARED);
            } else {
                notifyViewAccessibilityStateChangedIfNeeded(
                        AccessibilityEvent.CONTENT_CHANGE_TYPE_PANE_TITLE);
            }
        }
    }
    /**
     * Get the title of the pane for purposes of accessibility.
@@ -14168,9 +14184,12 @@ public class View implements Drawable.Callback, KeyEvent.Callback,
        }
        // Changes to views with a pane title count as window state changes, as the pane title
        // marks them as significant parts of the UI.
        // marks them as significant parts of the UI. A visible view with a nulled title may send
        // a disappeared event.
        if ((changeType != AccessibilityEvent.CONTENT_CHANGE_TYPE_SUBTREE)
                && isAccessibilityPane()) {
                && (isAccessibilityPane()
                || (changeType == AccessibilityEvent.CONTENT_CHANGE_TYPE_PANE_DISAPPEARED)
                && isAggregatedVisible())) {
            // If the pane isn't visible, content changed events are sufficient unless we're
            // reporting that the view just disappeared
            if ((isAggregatedVisible())
+5 −0
Original line number Diff line number Diff line
@@ -592,6 +592,11 @@ public final class AccessibilityEvent extends AccessibilityRecord implements Par
    /**
     * Change type for {@link #TYPE_WINDOW_STATE_CHANGED} event:
     * The node's pane title changed.
     * <p>
     * If this makes the pane appear, {@link #CONTENT_CHANGE_TYPE_PANE_APPEARED} is sent
     * instead. If this makes the pane disappear, {@link #CONTENT_CHANGE_TYPE_PANE_DISAPPEARED}
     * is sent.
     *
     */
    public static final int CONTENT_CHANGE_TYPE_PANE_TITLE = 0x00000008;