From 17839d5f62dd05c19da727d072caa22f31a76ba7 Mon Sep 17 00:00:00 2001 From: Vadim Tryshev Date: Wed, 23 May 2018 14:45:56 -0700 Subject: Removing discovery bouncer from accessibility It was obstructing views under it. Solves both Talkback and Switch Access issues. Bug: 80192025 Test: Manual Change-Id: Ia7fad91e1fcb857afbf68f879550c670279cee68 --- src/com/android/launcher3/AbstractFloatingView.java | 11 ++++++++--- src/com/android/launcher3/allapps/DiscoveryBounce.java | 2 +- src/com/android/launcher3/dragndrop/DragLayer.java | 3 ++- src/com/android/launcher3/views/BaseDragLayer.java | 10 ++++++---- 4 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/com/android/launcher3/AbstractFloatingView.java b/src/com/android/launcher3/AbstractFloatingView.java index c75509eab..daf20323d 100644 --- a/src/com/android/launcher3/AbstractFloatingView.java +++ b/src/com/android/launcher3/AbstractFloatingView.java @@ -51,6 +51,7 @@ public abstract class AbstractFloatingView extends LinearLayout implements Touch TYPE_WIDGET_RESIZE_FRAME, TYPE_WIDGETS_FULL_SHEET, TYPE_ON_BOARD_POPUP, + TYPE_DISCOVERY_BOUNCE, TYPE_QUICKSTEP_PREVIEW, TYPE_TASK_MENU, @@ -64,6 +65,7 @@ public abstract class AbstractFloatingView extends LinearLayout implements Touch public static final int TYPE_WIDGET_RESIZE_FRAME = 1 << 3; public static final int TYPE_WIDGETS_FULL_SHEET = 1 << 4; public static final int TYPE_ON_BOARD_POPUP = 1 << 5; + public static final int TYPE_DISCOVERY_BOUNCE = 1 << 6; // Popups related to quickstep UI public static final int TYPE_QUICKSTEP_PREVIEW = 1 << 6; @@ -72,14 +74,17 @@ public abstract class AbstractFloatingView extends LinearLayout implements Touch public static final int TYPE_ALL = TYPE_FOLDER | TYPE_ACTION_POPUP | TYPE_WIDGETS_BOTTOM_SHEET | TYPE_WIDGET_RESIZE_FRAME | TYPE_WIDGETS_FULL_SHEET - | TYPE_QUICKSTEP_PREVIEW | TYPE_ON_BOARD_POPUP | TYPE_TASK_MENU | TYPE_OPTIONS_POPUP; + | TYPE_QUICKSTEP_PREVIEW | TYPE_ON_BOARD_POPUP | TYPE_DISCOVERY_BOUNCE | TYPE_TASK_MENU + | TYPE_OPTIONS_POPUP; // Type of popups which should be kept open during launcher rebind public static final int TYPE_REBIND_SAFE = TYPE_WIDGETS_FULL_SHEET - | TYPE_QUICKSTEP_PREVIEW | TYPE_ON_BOARD_POPUP; + | TYPE_QUICKSTEP_PREVIEW | TYPE_ON_BOARD_POPUP | TYPE_DISCOVERY_BOUNCE; // Usually we show the back button when a floating view is open. Instead, hide for these types. - public static final int TYPE_HIDE_BACK_BUTTON = TYPE_ON_BOARD_POPUP; + public static final int TYPE_HIDE_BACK_BUTTON = TYPE_ON_BOARD_POPUP | TYPE_DISCOVERY_BOUNCE; + + public static final int TYPE_ACCESSIBLE = TYPE_ALL & ~TYPE_DISCOVERY_BOUNCE; protected boolean mIsOpen; diff --git a/src/com/android/launcher3/allapps/DiscoveryBounce.java b/src/com/android/launcher3/allapps/DiscoveryBounce.java index a0a79c87d..3c3c4066d 100644 --- a/src/com/android/launcher3/allapps/DiscoveryBounce.java +++ b/src/com/android/launcher3/allapps/DiscoveryBounce.java @@ -110,7 +110,7 @@ public class DiscoveryBounce extends AbstractFloatingView { @Override protected boolean isOfType(int type) { - return (type & TYPE_ON_BOARD_POPUP) != 0; + return (type & TYPE_DISCOVERY_BOUNCE) != 0; } private void show(int containerType) { diff --git a/src/com/android/launcher3/dragndrop/DragLayer.java b/src/com/android/launcher3/dragndrop/DragLayer.java index 53e9e2dac..6d2d3cb44 100644 --- a/src/com/android/launcher3/dragndrop/DragLayer.java +++ b/src/com/android/launcher3/dragndrop/DragLayer.java @@ -218,7 +218,8 @@ public class DragLayer extends BaseDragLayer { @Override public void addChildrenForAccessibility(ArrayList childrenForAccessibility) { - View topView = AbstractFloatingView.getTopOpenView(mActivity); + View topView = AbstractFloatingView.getTopOpenViewWithType(mActivity, + AbstractFloatingView.TYPE_ACCESSIBLE); if (topView != null) { addAccessibleChildToList(topView, childrenForAccessibility); if (isInAccessibleDrag()) { diff --git a/src/com/android/launcher3/views/BaseDragLayer.java b/src/com/android/launcher3/views/BaseDragLayer.java index 2f142acc9..8457b2bcd 100644 --- a/src/com/android/launcher3/views/BaseDragLayer.java +++ b/src/com/android/launcher3/views/BaseDragLayer.java @@ -16,6 +16,8 @@ package com.android.launcher3.views; +import static com.android.launcher3.Utilities.SINGLE_FRAME_MS; + import android.content.Context; import android.graphics.Rect; import android.util.AttributeSet; @@ -36,8 +38,6 @@ import com.android.launcher3.util.TouchController; import java.util.ArrayList; -import static com.android.launcher3.Utilities.SINGLE_FRAME_MS; - /** * A viewgroup with utility methods for drag-n-drop and touch interception */ @@ -100,7 +100,8 @@ public abstract class BaseDragLayer extends Inse @Override public boolean onRequestSendAccessibilityEvent(View child, AccessibilityEvent event) { // Shortcuts can appear above folder - View topView = AbstractFloatingView.getTopOpenView(mActivity); + View topView = AbstractFloatingView.getTopOpenViewWithType(mActivity, + AbstractFloatingView.TYPE_ACCESSIBLE); if (topView != null) { if (child == topView) { return super.onRequestSendAccessibilityEvent(child, event); @@ -114,7 +115,8 @@ public abstract class BaseDragLayer extends Inse @Override public void addChildrenForAccessibility(ArrayList childrenForAccessibility) { - View topView = AbstractFloatingView.getTopOpenView(mActivity); + View topView = AbstractFloatingView.getTopOpenViewWithType(mActivity, + AbstractFloatingView.TYPE_ACCESSIBLE); if (topView != null) { // Only add the top view as a child for accessibility when it is open addAccessibleChildToList(topView, childrenForAccessibility); -- cgit v1.2.3