Fixing broken add focusables behavior I have introduced.

bug:6344608

Change-Id: I1d241c02bc22c5ef3f4b4b69a756772e8b2ef902
This commit is contained in:
Svetoslav Ganov
2012-04-16 19:10:30 -07:00
parent 4213804541
commit 3cb889caa3

View File

@@ -5807,18 +5807,11 @@ public class View implements Drawable.Callback, Drawable.Callback2, KeyEvent.Cal
*
* @see #FOCUSABLES_ALL
* @see #FOCUSABLES_TOUCH_MODE
* @see #FOCUSABLES_ACCESSIBILITY
*/
public void addFocusables(ArrayList<View> views, int direction, int focusableMode) {
if (views == null) {
return;
}
if ((focusableMode & FOCUSABLE_IN_TOUCH_MODE) == FOCUSABLE_IN_TOUCH_MODE) {
if (isFocusable() && (!isInTouchMode() || isFocusableInTouchMode())) {
views.add(this);
return;
}
}
if ((focusableMode & FOCUSABLES_ACCESSIBILITY) == FOCUSABLES_ACCESSIBILITY) {
if (AccessibilityManager.getInstance(mContext).isEnabled()
&& includeForAccessibility()) {
@@ -5826,14 +5819,14 @@ public class View implements Drawable.Callback, Drawable.Callback2, KeyEvent.Cal
return;
}
}
if ((focusableMode & FOCUSABLES_ALL) == FOCUSABLES_ALL) {
if (isFocusable()) {
views.add(this);
return;
}
} else {
throw new IllegalArgumentException("Unknow focusable mode: " + focusableMode);
if (!isFocusable()) {
return;
}
if ((focusableMode & FOCUSABLES_TOUCH_MODE) == FOCUSABLES_TOUCH_MODE
&& isInTouchMode() && !isFocusableInTouchMode()) {
return;
}
views.add(this);
}
/**