Loading libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleController.java +3 −0 Original line number Diff line number Diff line Loading @@ -1319,6 +1319,7 @@ public class BubbleController { * Updates the visibility of the bubbles based on current state. * Does not un-bubble, just hides or un-hides. * Updates stack description for TalkBack focus. * Updates bubbles' icon views clickable states */ public void updateStack() { if (mStackView == null) { Loading @@ -1336,6 +1337,8 @@ public class BubbleController { } mStackView.updateContentDescription(); mStackView.updateBubblesClickableStates(); } @VisibleForTesting Loading libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleStackView.java +19 −0 Original line number Diff line number Diff line Loading @@ -1485,6 +1485,25 @@ public class BubbleStackView extends FrameLayout } } /** * Update bubbles' icon views clickable states. */ public void updateBubblesClickableStates() { for (int i = 0; i < mBubbleData.getBubbles().size(); i++) { final Bubble bubble = mBubbleData.getBubbles().get(i); if (bubble.getIconView() != null) { if (mIsExpanded) { // when stack is expanded all bubbles are clickable bubble.getIconView().setClickable(true); } else { // when stack is collapsed, only the top bubble needs to be clickable, // so that a11y ignores all the inaccessible bubbles in the stack bubble.getIconView().setClickable(i == 0); } } } } private void updateSystemGestureExcludeRects() { // Exclude the region occupied by the first BubbleView in the stack Rect excludeZone = mSystemGestureExclusionRects.get(0); Loading Loading
libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleController.java +3 −0 Original line number Diff line number Diff line Loading @@ -1319,6 +1319,7 @@ public class BubbleController { * Updates the visibility of the bubbles based on current state. * Does not un-bubble, just hides or un-hides. * Updates stack description for TalkBack focus. * Updates bubbles' icon views clickable states */ public void updateStack() { if (mStackView == null) { Loading @@ -1336,6 +1337,8 @@ public class BubbleController { } mStackView.updateContentDescription(); mStackView.updateBubblesClickableStates(); } @VisibleForTesting Loading
libs/WindowManager/Shell/src/com/android/wm/shell/bubbles/BubbleStackView.java +19 −0 Original line number Diff line number Diff line Loading @@ -1485,6 +1485,25 @@ public class BubbleStackView extends FrameLayout } } /** * Update bubbles' icon views clickable states. */ public void updateBubblesClickableStates() { for (int i = 0; i < mBubbleData.getBubbles().size(); i++) { final Bubble bubble = mBubbleData.getBubbles().get(i); if (bubble.getIconView() != null) { if (mIsExpanded) { // when stack is expanded all bubbles are clickable bubble.getIconView().setClickable(true); } else { // when stack is collapsed, only the top bubble needs to be clickable, // so that a11y ignores all the inaccessible bubbles in the stack bubble.getIconView().setClickable(i == 0); } } } } private void updateSystemGestureExcludeRects() { // Exclude the region occupied by the first BubbleView in the stack Rect excludeZone = mSystemGestureExclusionRects.get(0); Loading