summaryrefslogtreecommitdiffstats
path: root/core/java/com/android/internal/widget/ActionBarView.java
diff options
context:
space:
mode:
authorAdam Powell <adamp@google.com>2011-08-26 18:29:58 -0700
committerAdam Powell <adamp@google.com>2011-08-26 18:31:47 -0700
commit7bc3ca0dc52be52ecad1c0de8c62a6a4bf8141ca (patch)
tree7071a6bbbb2a8b635334cfb5291c17d1faeeeb2f /core/java/com/android/internal/widget/ActionBarView.java
parentfdfbbf62e61020b6b6170862eaabd72b43bca4ea (diff)
downloadframeworks_base-7bc3ca0dc52be52ecad1c0de8c62a6a4bf8141ca.zip
frameworks_base-7bc3ca0dc52be52ecad1c0de8c62a6a4bf8141ca.tar.gz
frameworks_base-7bc3ca0dc52be52ecad1c0de8c62a6a4bf8141ca.tar.bz2
Accessibility fixes for action bars
Fix bug 5220543 - fix accessibility events for action buttons Fix bug 5224260 - fix accessibility events for home/up Change-Id: I7d55b4819862e1eda0809da92c52ec2d97f36af0
Diffstat (limited to 'core/java/com/android/internal/widget/ActionBarView.java')
-rw-r--r--core/java/com/android/internal/widget/ActionBarView.java25
1 files changed, 25 insertions, 0 deletions
diff --git a/core/java/com/android/internal/widget/ActionBarView.java b/core/java/com/android/internal/widget/ActionBarView.java
index 8988c9f..a0f6259 100644
--- a/core/java/com/android/internal/widget/ActionBarView.java
+++ b/core/java/com/android/internal/widget/ActionBarView.java
@@ -46,10 +46,12 @@ import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
+import android.view.MotionEvent;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewParent;
import android.view.Window;
+import android.view.accessibility.AccessibilityEvent;
import android.widget.AdapterView;
import android.widget.FrameLayout;
import android.widget.ImageView;
@@ -220,6 +222,8 @@ public class ActionBarView extends AbsActionBarView {
mExpandedHomeLayout = (HomeView) inflater.inflate(homeResId, this, false);
mExpandedHomeLayout.setUp(true);
mExpandedHomeLayout.setOnClickListener(mExpandedActionViewUpListener);
+ mExpandedHomeLayout.setContentDescription(getResources().getText(
+ R.string.action_bar_up_description));
mTitleStyleRes = a.getResourceId(R.styleable.ActionBar_titleTextStyle, 0);
mSubtitleStyleRes = a.getResourceId(R.styleable.ActionBar_subtitleTextStyle, 0);
@@ -1191,6 +1195,27 @@ public class ActionBarView extends AbsActionBarView {
}
@Override
+ public boolean dispatchPopulateAccessibilityEvent(AccessibilityEvent event) {
+ onPopulateAccessibilityEvent(event);
+ return true;
+ }
+
+ @Override
+ public void onPopulateAccessibilityEvent(AccessibilityEvent event) {
+ super.onPopulateAccessibilityEvent(event);
+ final CharSequence cdesc = getContentDescription();
+ if (!TextUtils.isEmpty(cdesc)) {
+ event.getText().add(cdesc);
+ }
+ }
+
+ @Override
+ public boolean dispatchHoverEvent(MotionEvent event) {
+ // Don't allow children to hover; we want this to be treated as a single component.
+ return onHoverEvent(event);
+ }
+
+ @Override
protected void onFinishInflate() {
mUpView = findViewById(com.android.internal.R.id.up);
mIconView = (ImageView) findViewById(com.android.internal.R.id.home);