am 5c8a5d0f: am ce337493: am ef3f58e5: Merge "Make ResolverDrawerLayout look like a ScrollView to accessibility" into mnc-dev

* commit '5c8a5d0ff4493e32e9cd2127591a707637caf16a':
  Make ResolverDrawerLayout look like a ScrollView to accessibility
This commit is contained in:
Alan Viverette
2015-08-03 20:43:00 +00:00
committed by Android Git Automerger

View File

@@ -34,6 +34,7 @@ import android.view.ViewParent;
import android.view.ViewTreeObserver;
import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityNodeInfo;
import android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
import android.view.animation.AnimationUtils;
import android.widget.AbsListView;
import android.widget.OverScroller;
@@ -609,19 +610,37 @@ public class ResolverDrawerLayout extends ViewGroup {
}
@Override
public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {
super.onInitializeAccessibilityNodeInfo(info);
public CharSequence getAccessibilityClassName() {
// Since we support scrolling, make this ViewGroup look like a
// ScrollView. This is kind of a hack until we have support for
// specifying auto-scroll behavior.
return android.widget.ScrollView.class.getName();
}
@Override
public void onInitializeAccessibilityNodeInfoInternal(AccessibilityNodeInfo info) {
super.onInitializeAccessibilityNodeInfoInternal(info);
if (isEnabled()) {
if (mCollapseOffset != 0) {
info.addAction(AccessibilityNodeInfo.ACTION_SCROLL_FORWARD);
info.setScrollable(true);
}
}
// This view should never get accessibility focus, but it's interactive
// via nested scrolling, so we can't hide it completely.
info.removeAction(AccessibilityAction.ACTION_ACCESSIBILITY_FOCUS);
}
@Override
public boolean performAccessibilityAction(int action, Bundle arguments) {
if (super.performAccessibilityAction(action, arguments)) {
public boolean performAccessibilityActionInternal(int action, Bundle arguments) {
if (action == AccessibilityAction.ACTION_ACCESSIBILITY_FOCUS.getId()) {
// This view should never get accessibility focus.
return false;
}
if (super.performAccessibilityActionInternal(action, arguments)) {
return true;
}
@@ -629,6 +648,7 @@ public class ResolverDrawerLayout extends ViewGroup {
smoothScrollTo(0, 0);
return true;
}
return false;
}