diff options
author | Adam Powell <adamp@google.com> | 2011-08-26 18:29:58 -0700 |
---|---|---|
committer | Adam Powell <adamp@google.com> | 2011-08-26 18:31:47 -0700 |
commit | 7bc3ca0dc52be52ecad1c0de8c62a6a4bf8141ca (patch) | |
tree | 7071a6bbbb2a8b635334cfb5291c17d1faeeeb2f /core/java/com/android/internal/widget/ActionBarView.java | |
parent | fdfbbf62e61020b6b6170862eaabd72b43bca4ea (diff) | |
download | frameworks_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.java | 25 |
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); |