diff options
author | Svetoslav <svetoslavganov@google.com> | 2015-01-23 22:22:17 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2015-01-23 22:22:18 +0000 |
commit | 42a13865a4527aaf907a6ced96f726b49b2cbbed (patch) | |
tree | 15e20b5c4e4215cec98a0e0990699ef46b6a1242 /core/java | |
parent | 56c119abde951146951e3887796eb64ee05d25d3 (diff) | |
parent | 41fceb462b6eefbaa3a4d4e56b962fdb2910a6f5 (diff) | |
download | frameworks_base-42a13865a4527aaf907a6ced96f726b49b2cbbed.zip frameworks_base-42a13865a4527aaf907a6ced96f726b49b2cbbed.tar.gz frameworks_base-42a13865a4527aaf907a6ced96f726b49b2cbbed.tar.bz2 |
Merge "Accessibilty: Cannot click on views in a scrollable container covered by the toolbar." into lmp-mr1-dev
Diffstat (limited to 'core/java')
-rw-r--r-- | core/java/android/view/ViewGroup.java | 4 | ||||
-rw-r--r-- | core/java/android/widget/Toolbar.java | 13 | ||||
-rw-r--r-- | core/java/com/android/internal/widget/ActionBarContainer.java | 15 |
3 files changed, 30 insertions, 2 deletions
diff --git a/core/java/android/view/ViewGroup.java b/core/java/android/view/ViewGroup.java index 6678ff2..a09837d 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<View> iterator = obtainOrderedChildIterator(); while (iterator.hasNext()) { diff --git a/core/java/android/widget/Toolbar.java b/core/java/android/widget/Toolbar.java index f90d64a..0f35e0d 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; @@ -1100,6 +1101,18 @@ public class Toolbar extends ViewGroup { * @hide */ @Override + public void addClickableRectsForAccessibility(List<RectF> 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 + */ + @Override protected void onSetLayoutParams(View child, ViewGroup.LayoutParams lp) { /* * Apps may set ActionBar.LayoutParams on their action bar custom views when diff --git a/core/java/com/android/internal/widget/ActionBarContainer.java b/core/java/com/android/internal/widget/ActionBarContainer.java index 847a47d..e8e2c8d 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<RectF> 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); |