summaryrefslogtreecommitdiffstats
path: root/core/java
diff options
context:
space:
mode:
authorSvetoslav <svetoslavganov@google.com>2015-01-23 22:22:17 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-01-23 22:22:18 +0000
commit42a13865a4527aaf907a6ced96f726b49b2cbbed (patch)
tree15e20b5c4e4215cec98a0e0990699ef46b6a1242 /core/java
parent56c119abde951146951e3887796eb64ee05d25d3 (diff)
parent41fceb462b6eefbaa3a4d4e56b962fdb2910a6f5 (diff)
downloadframeworks_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.java4
-rw-r--r--core/java/android/widget/Toolbar.java13
-rw-r--r--core/java/com/android/internal/widget/ActionBarContainer.java15
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);