diff --git a/core/java/android/view/ViewGroup.java b/core/java/android/view/ViewGroup.java index 6678ff223b14d..a09837d42ea87 100644 --- a/core/java/android/view/ViewGroup.java +++ b/core/java/android/view/ViewGroup.java @@ -829,8 +829,8 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager // Clip the bounds by our bounds. bounds.left = Math.max(bounds.left, 0); bounds.top = Math.max(bounds.top, 0); - bounds.right = Math.min(bounds.right, mRight); - bounds.bottom = Math.min(bounds.bottom, mBottom); + bounds.right = Math.min(bounds.right, getWidth()); + bounds.bottom = Math.min(bounds.bottom, getHeight()); Iterator iterator = obtainOrderedChildIterator(); while (iterator.hasNext()) { diff --git a/core/java/android/widget/Toolbar.java b/core/java/android/widget/Toolbar.java index f90d64a248045..0f35e0dc09c83 100644 --- a/core/java/android/widget/Toolbar.java +++ b/core/java/android/widget/Toolbar.java @@ -21,6 +21,7 @@ import android.annotation.Nullable; import android.app.ActionBar; import android.content.Context; import android.content.res.TypedArray; +import android.graphics.RectF; import android.graphics.drawable.Drawable; import android.os.Parcel; import android.os.Parcelable; @@ -1096,6 +1097,18 @@ public class Toolbar extends ViewGroup { return true; } + /** + * @hide + */ + @Override + public void addClickableRectsForAccessibility(List outRects) { + // This class always consumes touch events, therefore if it + // covers a view we do not want to send a click over it. + RectF bounds = new RectF(); + bounds.set(0, 0, getWidth(), getHeight()); + outRects.add(bounds); + } + /** * @hide */ diff --git a/core/java/com/android/internal/widget/ActionBarContainer.java b/core/java/com/android/internal/widget/ActionBarContainer.java index 847a47d720401..e8e2c8d7493f8 100644 --- a/core/java/com/android/internal/widget/ActionBarContainer.java +++ b/core/java/com/android/internal/widget/ActionBarContainer.java @@ -23,6 +23,7 @@ import android.graphics.Canvas; import android.graphics.ColorFilter; import android.graphics.Outline; import android.graphics.PixelFormat; +import android.graphics.RectF; import android.graphics.drawable.Drawable; import android.util.AttributeSet; import android.view.ActionMode; @@ -31,6 +32,8 @@ import android.view.View; import android.view.ViewGroup; import android.widget.FrameLayout; +import java.util.List; + /** * This class acts as a container for the action bar view and action mode context views. * It applies special styles as needed to help handle animated transitions between them. @@ -224,6 +227,18 @@ public class ActionBarContainer extends FrameLayout { return true; } + /** + * @hide + */ + @Override + public void addClickableRectsForAccessibility(List outRects) { + // This class always consumes touch events, therefore if it + // covers a view we do not want to send a click over it. + RectF bounds = new RectF(); + bounds.set(0, 0, getWidth(), getHeight()); + outRects.add(bounds); + } + @Override public boolean onHoverEvent(MotionEvent ev) { super.onHoverEvent(ev);