History log of /frameworks/base/core/tests/coretests/src/android/widget/focus/RequestFocusTest.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
b36a0ac9709e9e1c7098559c0435cfbdc09e6c46 15-Feb-2012 Svetoslav Ganov <svetoslavganov@google.com> Incorrect behavior of View clear focus v2.0.

The framework tries to have a focused view all the time. For
that purpose when a view's focus is cleared the focus is given
to the first focusable found from the top. The implementation
of this behavior was causing the following issues:

1. If the fist focusable View tries to clear its focus it
was getting focus but the onFocusChange callbacks were not
properly invoked. Specifically, the onFocusChange for
gaining focus was called first and then the same
callback for clearing focus. Note that the callback
for clearing focus is called when the View is already
focused.

2. If not the first focusable View tries to clear focus,
the focus is given to another one but the callback
for getting focus was called before the one for clearing,
so client code may be mislead that there is more than
one focused view at a time.

3. (Nit) The implementaion of clearFocus and unFocus in ViewGroup
was calling the super implementaion when there is a
focused child. Since there could be only one focused View,
having a focused child means that the group is not focused
and the call to the super implementation is not needed.

4. Added unit tests that verify the correct behavior, i.e.
the focus of the first focused view cannot be cleared
which means that no focus change callbacks are invoked.
The callbacks should be called in expected order.
Now the view focus clear precedes the view focus gain
callback. However, in between is invoked the global
focus change callback with the correct values. We may
want to call that one after the View callbacks. If
needed we can revisit this.

Change-Id: I8cfb141c948141703093cf6fa2037be60861cee0
/frameworks/base/core/tests/coretests/src/android/widget/focus/RequestFocusTest.java
73eb97f628b298c7bd032aa9db11dadf05f5b539 15-Feb-2012 Amith Yamasani <yamasani@google.com> Revert "Incorrect behavior of View clear focus."

This reverts commit c6fd88e213703a581fe4680259981f09ae0444f2
/frameworks/base/core/tests/coretests/src/android/widget/focus/RequestFocusTest.java
c6fd88e213703a581fe4680259981f09ae0444f2 26-Jan-2012 Svetoslav Ganov <svetoslavganov@google.com> Incorrect behavior of View clear focus.

The framework tries to have a focused view all the time. For
that purpose when a view's focus is cleared the focus is given
to the first focusable found from the top. The implementation
of this behavior was causing the following issues:

1. If the fist focusable View tries to clear its focus it
was getting focus but the onFocusChange callbacks were not
properly invoked. Specifically, the onFocusChange for
gaining focus was called first and then the same
callback for clearing focus. Note that the callback
for clearing focus is called when the View is already
focused. Also note that at the end the View did not
clear its focus, hence no focus change callbacks
should be invoked.

2. If not the first focusable View tries to clear focus,
the focus is given to another one but the callback
for getting focus was called before the one for clearing,
so client code may be mislead that there is more than
one focused view at a time.

3. (Nit) The implementaion of clearFocus and unFocus in ViewGroup
was calling the super implementaion when there is a
focused child. Since there could be only one focused View,
having a focused child means that the group is not focused
and the call to the super implementation is not needed.

4. Added unit tests that verify the correct behavior, i.e.
the focus of the first focused view cannot be cleared
which means that no focus change callbacks are invoked.
The callbacks should be called in expected order.
Now the view focus clear precedes the view focus gain
callback. However, in between is invoked the global
focus change callback with the correct values. We may
want to call that one after the View callbacks. If
needed we can revisit this.

Change-Id: Iee80baf5c75c82d3cda09679e4949483cad475f1
/frameworks/base/core/tests/coretests/src/android/widget/focus/RequestFocusTest.java
36a561b4ee35911fd6594c1592aab134be22f0f7 26-Jan-2012 Svetoslav Ganov <svetoslavganov@google.com> Fixing failing focus tests

Change-Id: I3df6a72f6340cbf2e42ce4913e28471e9358088b
/frameworks/base/core/tests/coretests/src/android/widget/focus/RequestFocusTest.java
c6cc0f8c19d9eccf408a443fa2bf668af261dcd0 12-Apr-2011 Joe Onorato <joeo@google.com> Rename ViewRoot to ViewAncestor.

ViewRoot is about to be a new public class for poking at ViewAncestor.

Change-Id: Ie95d707c6d8bbb48f78d093d7b2667851812a7d5
/frameworks/base/core/tests/coretests/src/android/widget/focus/RequestFocusTest.java
1d3165f10b12165f02b7015ac1a817c5f60e6399 12-Jan-2010 Neal Nguyen <tommyn@google.com> Phase 2 of test file cleanup: relocating test files from FrameworkTest closer to their sources in core.

In addition to the file moves, the package names of the tests have been updated and adjusted to match their new locations.
/frameworks/base/core/tests/coretests/src/android/widget/focus/RequestFocusTest.java