History log of /frameworks/base/core/java/android/widget/TimePicker.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
d88e3054d08b1f821bb2e27b2647aa16a60d8742 21-Sep-2012 Fabrice Di Meglio <fdimeglio@google.com> Fix bug #7206086 NumberPicker widget should use locale digits

- fix for having the TwoDigitFormatter being able to be recreated if the locale is changed
- accept now also the Arabic and Persian digits

Change-Id: Ifbf7e274d971008f4a5782402d4b76d9472b68fc
/frameworks/base/core/java/android/widget/TimePicker.java
4c359b76f9a030f92a302ba74a528faa170bad4e 25-Jul-2012 Scott Main <smain@google.com> docs: fix a bunch of links from javadocs to api guides
and add some attributes to Spinner and Switch

Change-Id: If015ad000c1a36e19904c132e98ebff1ceaf718b
/frameworks/base/core/java/android/widget/TimePicker.java
4213804541a8b05cd0587b138a2fd9a3b7fd9350 20-Mar-2012 Svetoslav Ganov <svetoslavganov@google.com> Accessibility focus - framework

Usefulness: Keep track of the current user location in the screen when
traversing the it. Enabling structural and directional
navigation over all elements on the screen. This enables
blind users that know the application layout to efficiently
locate desired elements as opposed to try touch exploring the
region where the the element should be - very tedious.

Rationale: There are two ways to implement accessibility focus One is
to let accessibility services keep track of it since they
have access to the screen content, and another to let the view
hierarchy keep track of it. While the first approach would
require almost no work on our part it poses several challenges
which make it a sub-optimal choice. Having the accessibility focus
in the accessibility service would require that service to scrape
the window content every time it changes to sync the view tree
state and the accessibility focus location. Pretty much the service
will have to keep an off screen model of the screen content. This
could be quite challenging to get right and would incur performance
cost for the multiple IPCs to repeatedly fetch the screen content.
Further, keeping virtual accessibility focus (i.e. in the service)
would require sync of the input and accessibility focus. This could
be challenging to implement right as well. Also, having an unlimited
number of accessibility services we cannot guarantee that they will
have a proper implementation, if any, to allow users to perform structural
navigation of the screen content. Assuming two accessibility
services implement structural navigation via accessibility focus,
there is not guarantee that they will behave similarly by default,
i.e. provide some standard way to navigate the screen content.
Also feedback from experienced accessibility researchers, specifically
T.V Raman, provides evidence that having virtual accessibility focus
creates many issues and it is very hard to get right.
Therefore, keeping accessibility focus in the system will avoid
keeping an off-screen model in accessibility services, it will always
be in sync with the state of the view hierarchy and the input focus.
Also this will allow having a default behavior for traversing the
screen via this accessibility focus that is consistent in all
accessibility services. We provide accessibility services with APIs to
override this behavior but all of them will perform screen traversal
in a consistent way by default.

Behavior: If accessibility is enabled the accessibility focus is the leading one
and the input follows it. Putting accessibility focus on a view moves
the input focus there. Clearing the accessibility focus of a view, clears
the input focus of this view. If accessibility focus is on a view that
cannot take input focus, then no other view should have input focus.
In accessibility mode we initially give accessibility focus to the topmost
view and no view has input focus. This ensures consistent behavior accross
all apps. Note that accessibility focus can move hierarchically in the
view tree and having it at the root is better than putting it where the
input focus would be - at the first input focusable which could be at
an arbitrary depth in the view tree. By default not all views are reported
for accessibility, only the important ones. A view may be explicitly labeled
as important or not for accessibility, or the system determines which one
is such - default. Important views for accessibility are all views that are
not dumb layout managers used only to arrange their chidren. Since the same
content arrangement can be obtained via different combintation of layout
managers, such managers cannot be used to reliably determine the application
structure. For example, a user should see a list as a list view with several
list items and each list item as a text view and a button as opposed to seeing
all the layout managers used to arrange the list item's content.
By default only important for accessibility views are regared for accessibility
purposes. View not regarded for accessibility neither fire accessibility events,
nor are reported being on the screen. An accessibility service may request the
system to regard all views. If the target SDK of an accessibility services is
less than JellyBean, then all views are regarded for accessibility.
Note that an accessibility service that requires all view to be ragarded for
accessibility may put accessibility focus on any view. Hence, it may implement
any navigational paradigm if desired. Especially considering the fact that
the system is detecting some standard gestures and delegates their processing
to an accessibility service. The default implementation of an accessibility
services performs the defualt navigation.

bug:5932640
bug:5605641

Change-Id: Ieac461d480579d706a847b9325720cb254736ebe
/frameworks/base/core/java/android/widget/TimePicker.java
d11e6151fe88314505fa7adca6278de2e772b11c 20-Mar-2012 Svetoslav Ganov <svetoslavganov@google.com> Revamp of the NumberPicker widget.

1. The number picker no longer shows up and down arrows, it
has only three touch targets which are the currently selected number
in the middle with a lesser one above and greater below, now what
you touch is what you get, flingability and long press are still
supported.

2. Removed the restriction for a View with an AccessibilityNodeProvider
to not have any concrete children. If the View has a provider, then
this provider is responsible for creating the AccessibilityNodeInfos
for all its descendants, concrete and virtual. The number picker is
a good example for such a case - it has a concrete input view and
two virtual buttons as its children. This is a safe change since
this behavior has not been released.

3. This patch also fixes bug where the number picker is stretched too
much in the Theme theme.

bug:6177794
bug:5728294

Change-Id: I5fb370fe0b864a156f5f2aaf2de5f55f6b6d4e84
/frameworks/base/core/java/android/widget/TimePicker.java
53b948d3aec62e886bd10da664a07bdaab916b48 02-Mar-2012 Svetoslav Ganov <svetoslavganov@google.com> Sync of the TimePicker attributes with the public Java APIs.

1. Renamed an attribute which is not mean to be public so
its name is not the same as that of an already public one.

bug:6094713

Change-Id: I3f8b3f3840b88265069d3474be7db04056d219c1
/frameworks/base/core/java/android/widget/TimePicker.java
812c6235635023ee68f57594f651607339160ad5 23-Feb-2012 Jean-Baptiste Queru <jbq@google.com> am ad3102d0: am f3d94b44: am a91b052e: am fc24982a: Merge "Call onTimeChanged when AM/PM changed."

* commit 'ad3102d06bc6060f739e0803d0e45dec8020703b':
Call onTimeChanged when AM/PM changed.
f821ce7522ad99dc30e59e0266165f5eba79b1e2 17-Jan-2012 SeongJae Park <sj38.park@gmail.com> Call onTimeChanged when AM/PM changed.

Commit for issue http://code.google.com/p/android/issues/detail?id=24388

[Problem]
TimePicker doesn't call handler's onTimeChanged when AM/PM changed on
ICS althou it does on Gingerbread.

[Solution]
Call onTimeChanged as like as Hour/Minutes does.

Change-Id: I9911c351874168001b69c186f012836fc51285f5
Signed-off-by: SeongJae Park <sj38.park@gmail.com>
/frameworks/base/core/java/android/widget/TimePicker.java
8a78fd4d9572dff95432fcc4ba0e87563415b728 17-Jan-2012 Svetoslav Ganov <svetoslavganov@google.com> AccessibilityEvent/AccessibilityNodeInfo class name property should be set to only framework classes.

AccessibilityEvent and AccessibilityNodeInfo have a property className which is set to the source
Java class. This is problematic since leads to leaking private classes which would allow an
accessibility service to load classes from other packages. This is strongly undesirable since
not trusted code can be loaded, and hence executed, in the accessibility service. To address
that the class name is set to the most concrete framework class extended by the info/event
source.

bug:5878943

Change-Id: I7b3114ece8772ea2773f5151e21b8a6f2006882a
/frameworks/base/core/java/android/widget/TimePicker.java
6304b0d58e74509a9f21b67b5227b2fee2f1b60f 20-Oct-2011 Svetoslav Ganov <svetoslavganov@google.com> DatePicker crashes when going from 2036 to 2035 via ▼

1. Some obsolte logic was placing invalid index in the array of
scroll wheel items which was resulting in failure to look its
string representation from the cache causing a NPE.

2. While editing the current value via the IME the middle item
of the scroll wheel was partially visible i.e. the user was
able to see a dimmed version of the old value intermixed with
the new one.

3. The logic for hiding the IME while poking a button i.e. starting
to use another way of changing the current value, was incorrect.

bug:5480205

Change-Id: I1c2c96402bd38bac1dec64ccc6b550410332b9d7
/frameworks/base/core/java/android/widget/TimePicker.java
2cdedffcfa5594f9d516fa235d5edf4d4f92c21d 03-Oct-2011 Svetoslav Ganov <svetoslavganov@google.com> Accessibility services cannot obtain the source of an event coming from a root namespace descendant.

1. The user can touch the screen at an arbitrary location potentially crossing the root namespace
bounday which will send an accessibility event to accessibility services and they should be able
to obtain the event source. Also accessibility ids are guaranteed to be unique in the window.
Added a package scoped findViewByAccessibilityId method that dives into nested root namespaces.

2. Added accessibility support to the AnalogClock.

bug:5405934

Change-Id: I84edcb554bae41aafcbbc2723c5e62c1ef8a6ddf
/frameworks/base/core/java/android/widget/TimePicker.java
11c91328185c017e65930f137e69191ddef7e111 15-Sep-2011 Svetoslav Ganov <svetoslavganov@google.com> TimePicker CTS test failing.

TimePicker code for setting the IME options was not taking into
account the old style of the UI where the AmPm spinner can be
null.

bug:5318844

Change-Id: I58b1781ef95398d11ecf0ca5bb49817cbba97b54
/frameworks/base/core/java/android/widget/TimePicker.java
a53efe9923bedab4fe5d578f32eaff308e5b9e76 09-Sep-2011 Svetoslav Ganov <svetoslavganov@google.com> The time and data pickers did not support IME editor action correctly.

1. Updated TextView to traverse all focusable items. It was searching focus
down and up and was missing right and left focusabled. Updated the focus
seach to use FOCUS_FORWARD and FOCUS_BACKWARD - now all focusable views
are visited.

2. TimePicker and DatePicker were not specifying the IME options for
the next and done editor actions.

bug:5264046

Change-Id: Ief80863fc312582f2f76928bf6e915f620c427e5
/frameworks/base/core/java/android/widget/TimePicker.java
3fec3fe0e3a83c5e0d1264f34bcc55b158537bc6 01-Sep-2011 Svetoslav Ganov <svetoslavganov@google.com> Polish of the accessibility feedback of Date and Time pickers

bug:5228006
bug:5228004

Change-Id: I927e3a6dcbf4f81eab6f506fc38842d8e7a37aa1
/frameworks/base/core/java/android/widget/TimePicker.java
f5926962cc665d4a2e6464f9ba9e3e9788496a6f 12-Jul-2011 Svetoslav Ganov <svetoslavganov@google.com> Date/time pickers and calendar view not handling locale change.

1. The data/time pickers and calendar view do not handle locale
change properly since they use cached Calendar instances to
limit the GC but fail to update them when the local changes.

Change-Id: I2a92d7f4e0f2798422843123e5aa483f8044bbed
/frameworks/base/core/java/android/widget/TimePicker.java
736c2756bf3c14ae9fef7255c119057f7a2be1ed 23-Apr-2011 Svetoslav Ganov <svetoslavganov@google.com> Touch exploration feature, event bubling, refactor

1. Added an Input Filter that interprets the touch screen motion
events to perfrom accessibility exploration. One finger explores.
Tapping within a given time and distance slop on the last exlopred
location does click and long press, respectively. Two fingers close
and in the same diretion drag. Multiple finglers or two fingers in
different directions or two fingers too far away are delegated to
the view hierarchy. Non moving fingers "accidentally grabbed the
device for the scrren" are ignored.

2. Added accessibility events for hover enter, hover exit, touch
exoloration gesture start, and end. Accessibility hover events
are fired by the hover pipeline. An accessibility event is
dispatched up the view tree and the topmost view fires it.
Thus predecessors can augment the fired event. An accessibility
event has several records and a predecessor can optionally
modify, delete, and add such to the event.

3. Added onPopulateAccessibilityEvent and refactored the existing
accessibility code to use it.

4. Added API for querying the currently enabled accessibility services
by feedback type.

Change-Id: Iea2258c07ffae9491071825d966dc453b07e5134
/frameworks/base/core/java/android/widget/TimePicker.java
3fb3d7c4e756bd32d5abde0abca9ab52d559bc84 23-Apr-2011 Adam Powell <adamp@google.com> Revert "Touch exploration feature, event bubling, refactor"

This reverts commit ac84d3ba81f08036308b17e1ab919e43987a3df5.

There seems to be a problem with this API change. Reverting for now to
fix the build.

Change-Id: Ifa7426b080651b59afbcec2d3ede09a3ec49644c
/frameworks/base/core/java/android/widget/TimePicker.java
ac84d3ba81f08036308b17e1ab919e43987a3df5 05-Apr-2011 Svetoslav Ganov <svetoslavganov@google.com> Touch exploration feature, event bubling, refactor

1. Added an Input Filter that interprets the touch screen motion
events to perfrom accessibility exploration. One finger explores.
Tapping within a given time and distance slop on the last exlopred
location does click and long press, respectively. Two fingers close
and in the same diretion drag. Multiple finglers or two fingers in
different directions or two fingers too far away are delegated to
the view hierarchy. Non moving fingers "accidentally grabbed the
device for the scrren" are ignored.

2. Added accessibility events for hover enter, hover exit, touch
exoloration gesture start, and end. Accessibility hover events
are fired by the hover pipeline. An accessibility event is
dispatched up the view tree and the topmost view fires it.
Thus predecessors can augment the fired event. An accessibility
event has several records and a predecessor can optionally
modify, delete, and add such to the event.

3. Added onPopulateAccessibilityEvent and refactored the existing
accessibility code to use it.

4. Added API for querying the currently enabled accessibility services
by feedback type.

Change-Id: Iec03c6c3fe298de3f14cb6efdbb9b198cd531a0c
/frameworks/base/core/java/android/widget/TimePicker.java
13033ea52714d48d754c6bc8fccb18514c645a47 15-Feb-2011 Scott Main <smain@google.com> docs: fix misc broken links

Change-Id: Id7d0ee36398aca452ceb2c3d15982397f58a06c6
/frameworks/base/core/java/android/widget/TimePicker.java
be17a7f269479ed91b6fe8a80966d4605c805a0a 31-Jan-2011 Svetoslav Ganov <svetoslavganov@google.com> Set time dialog display changes AM/PM at 1 instead of 12

bug:3408128

Change-Id: Ifb17cbc0f448281cebb20296dcc58766cde02965
/frameworks/base/core/java/android/widget/TimePicker.java
8a2a89588c3889b999a8fffa2d7c7a5c3ce25eb8 28-Jan-2011 Svetoslav Ganov <svetoslavganov@google.com> Accessibility support to NumberPicker, DatePicker, and TimePicker

bug:3400707

Change-Id: I0d4b10e9c744e7221a9a7a74081bcee351abbaf2
/frameworks/base/core/java/android/widget/TimePicker.java
cedc446684e94c9971c38c3206f1f224314bda2a 20-Jan-2011 Svetoslav Ganov <svetoslavganov@google.com> API REVIEW: android.widget.NumberPicker.OnValueChangedListener

Change-Id: I1e739553ab6b99b2768e42cf379a0b155dced81a
/frameworks/base/core/java/android/widget/TimePicker.java
4243dc394d89a93cb207efa36e9755c2424d688b 19-Jan-2011 Svetoslav Ganov <svetoslavganov@google.com> Updated the Time/Date pickers to be backwards compatible

bug:3349400

Change-Id: I2a3dda82caf7de0ed203306c89ee774b94b7d82e
/frameworks/base/core/java/android/widget/TimePicker.java
25f84f323c607bbd9133432fd789ba29b2dcd4d4 30-Dec-2010 Svetoslav Ganov <svetoslavganov@google.com> 3316147 TimePicker and DatePicker is editable even after the first setEnabled(false).

Change-Id: If800b048973200d249b1f5c62af064392ed98d91
/frameworks/base/core/java/android/widget/TimePicker.java
51c52edad7d40697d7fb2a091f850506fa897643 28-Dec-2010 Svetoslav Ganov <svetoslavganov@google.com> 3313982 DatePicker/TimePicker allow users to scroll date/time even when disabled.

Change-Id: I8c28615bfc813dfdddf21c40d84cc7c36f1fd391
/frameworks/base/core/java/android/widget/TimePicker.java
e9730bf3d2dcbea1879f24c18aaf9810ac57084c 21-Dec-2010 Svetoslav Ganov <svetoslavganov@google.com> Adding APIs for setting whether to show week number and setting the start day of week. Cleaned up the code a bit.

Change-Id: Iaa7154c6912a68cd91df3ac881c324096394ea24
/frameworks/base/core/java/android/widget/TimePicker.java
4bfd794475e6fb34c9dfa83d4302e9db365a3709 08-Dec-2010 Svetoslav Ganov <svetoslavganov@google.com> Updated the NumberPicker for exposing it into the SDK

Change-Id: I3bd48d0210da8a202b6ff60deecb5d7776f1b73b
/frameworks/base/core/java/android/widget/TimePicker.java
3119fd426d0e975541b1b8207ff13e2cce443c73 08-Dec-2010 Svetoslav Ganov <svetoslavganov@google.com> Fixing the build breakage

Change-Id: I8589e5fcdeec127c84d2b419f6ef44d7011a5a6b
/frameworks/base/core/java/android/widget/TimePicker.java
50f34d14f6dd3411fdbdb6a7b8b285c2b8fdbf5c 04-Dec-2010 Svetoslav Ganov <svetoslavganov@google.com> Adding DatePciker widget based on the Calednar team code. Updated DatePciker and DatePickerDialog as the second part of the Time/Date pciker refresh feature.

Change-Id: Id32c614bcd799463ca33bf08fb7d5cf44f8326a6
/frameworks/base/core/java/android/widget/TimePicker.java
206316a61f904ea0a6b106137dd7715a2c246d4c 19-Nov-2010 Svetoslav Ganov <svetoslavganov@google.com> New Number picker widget

Change-Id: I834e725b58682e7a48cc3f3302c93c57b35d4e27
/frameworks/base/core/java/android/widget/TimePicker.java
41ec65355bd6ded652769725b276d47c54a0d913 20-Aug-2010 Scott Main <smain@google.com> docs: add links from widget classes to tutorials

Change-Id: I817e885524951853182b0458df4a32dea1614243
/frameworks/base/core/java/android/widget/TimePicker.java
68f2f547f56f239b60d13b2b62a08a65874f6662 13-Jan-2010 Paul Westbrook <pwestbro@google.com> Bug 2330111

Make NumberPicker public

Made setCurrent() more robust, as the value needs to be within the range
specified earlier. setCurrent() will now throw an exception
if the specified doesn't fall in the range
/frameworks/base/core/java/android/widget/TimePicker.java
7762d93621f508f4410fd37b5bbdfec0071b0420 11-Dec-2009 Paul Westbrook <pwestbro@google.com> Unbundling work

Moved AndroidHttpClient, Rfc822InputFilter, Rfc822Validator
NumberPicker, NumberPickerButton to android-common
---
/frameworks/base/core/java/android/widget/TimePicker.java
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/core/java/android/widget/TimePicker.java
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
/frameworks/base/core/java/android/widget/TimePicker.java
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
/frameworks/base/core/java/android/widget/TimePicker.java