- the old DatePicker widget is still there for obvious layout compatibility reasons
- add a new delegate implementation for having a new UI
- use the new delegate only for the DatePickerDialog (which does not need to be
the same)
- added support for Theming and light/dark Themes
- added support for RTL
- added support for Accessibility
- verified support for Keyboard
- verified that CTS tests for DatePicker are passing (for both the legacy and the
new widgets)
Also added a new HapticFeedbackConstants.CALENDAR_DATE and its related code for
enabling day selection vibration
Change-Id: I256bd7c21edd8f3b910413ca15ce26d3a5ef7d9c
Also fixes switch animation during scrolling, unnecessary call to
requestLayout() on drawable invalidate, and potential NPE.
BUG: 16225972
BUG: 4312303
Change-Id: I015d1f03206dd2c812592b0abfa4214a3de73d3f
- use Alert Theme and make the TimePickerDialog show its done button
in the legacy mode
- if targetSdkVersion < L or if TV UI show the legacy TimePicker
Change-Id: I19ca6dbbcb50599c7e230262a23956c185f53a5c
This CL addresses feedbacks from internal customers for new
input method APIs that are mainly used for physical keyboard
support in L.
For performance reasons, #onUpdateCursorAnchorInfo is not called
back by default and each input method has to enable this
event notification explicitly whenever fine-grained character
locations are needed.
In L-preview, InputMethodSession#setCursorAnchorMonitorMode was
introduced for this purpose. However, we got several feedbacks
to be addressed.
- The effect of #setCursorAnchorMonitorMode is not preserved
during focus change. IMEs need to call
#setCursorAnchorMonitorMode every time when #onStartInput is
called. This is tricky and hard to understand.
- As #onUpdateCursorAnchorInfo is a new API, not all
applications/text editors have supported it. Therefore IMEs
can't always rely on it. However, there is no way to query
if the attached target is supporting this new API or not.
It would helpful for IME authors if we can provide a
reliable way to query if the attached input target is
supporting the new API or not.
In order to address these issues, the triggering method has
moved from InputMethodSession to InputConnection in this CL,
as an analogy of existing InputConnection#getExtractedText API,
which has provided similar functionality including optional
reactive event callbacks from the application to the IME.
BUG: 15812658
BUG: 16118603
Change-Id: I3c6b69bd9d79b199afe68d838f25effa6048e5cc
This CL allows application authors and input method authors to
communicate with each other more precisely on the visibility of
insertion marker and composing characters. Now we can describe
the situation where the coordinates of them are available but
they are overlapped by other UI elements.
This change is based on feedbacks from internal customers of
this preview API.
Change-Id: I82eba0e844a6f8b99ba11a68fad272399034cc24
BUG: 16118303
Fixed stuck dpad navigation when end of range is reached.
Adds theme attribute 'hideWheelUntilFocused'.
b/15194230
Change-Id: I9a77c6ad29a1fd930a8920d9944ad1eb15ca6b96
Add support for done button in LegacyTimePickerDelegate.
Provide leanback themed legacy time picker layout with buttons
on the side.
b/15194230
Change-Id: Ie05c1cf45b334e9642095d63c682aba314ff3c6b
Keep sign consistency for nested pre-scroll dispatch in AbsListView
with ScrollView. Also correctly invoke nested flings.
Bug 16015770
Change-Id: Ia8a82667ea548aafda66f04e32046c3b0a5c2314
The predraw listener was lost because the view was detached and reattached
after layout but before the first draw.
b/15376022
Change-Id: Idf38f7373df3c457f54b6e3f995b00256914f775
Adding this for L caused some fun issues with source compatibility.
Apps that previously passed another MarginLayoutParams subclass to
ActionBar.LayoutParams' constructor started statically linking to a
constructor overload that did not exist on older platform changes with
no other source changes. In the interests of avoiding these headaches
for developers, remove it.
Bug 15933193
Change-Id: I01cf8dfa2341b9d9629331639433b59352e7e15a
Use Choreographer animation callbacks to update the scrolling and
make the delta dependent on the time passed since the last update.
Change-Id: If6ce365014e8d32dadfc93bba0d4733050f673f7
Some of the code in ScrollBarDrawable automatically derefs
the horizontal and/or vertical thumb objects. The drawable can
sometimes be in a state where these objects are null, causing
a null deref. This fix simply avoids dereferencing null objects.
Also, fixed doc bug in attrs.xml for Transition tags.
Issue #13210554 Transition style documentation refers to 'move' instead of 'changeBounds'
Issue #15636059 ScrollBarDrawable crashes in setAlpha() and other methods when thumbs are null
Change-Id: I6664ba17dae0845de8a8658381ae6e9c9ef99214
This CL adds a new constructor of TextService so that spell
parcelable spans can be preserved in TextInfo. The primary usage
scenario is to provide locale information for spell checker
service.
BUG: 15869548
Change-Id: Ib58ece68dee4c6187d469049fca8c35a307c7a01
Bug 15744992
MoveImage used an overlay to transition ImageViews. This
caused strange problems when ImageViews were contained in
other Views. The new ChangeImageTransform does a smooth
transition for changes in scale type and bounds.
Change-Id: Ia5021f4828f8f818a8699b3bdd38437aeba1cfc8
Apps calling the View methods that accept TypedArray params have
always been wrong. There is no way to call these methods safely since
apps can't get at the correct filter array assumed in these methods'
implementations. Do the best we can with these calls anyway; ignore
whatever they did pass and just get the styled attributes from the
Context used to construct the view and its associated theme.
Bug 15792674
Change-Id: I6dfa1abf273b581e79a17a72f68c97ff9a9148c5
Client has to call recycle() on parcel object after its usage
otherwise native layer of binder won't clear the resources of
parcel which were allocated for IPC
Change-Id: Ib31ddcc92aa4ebd80bb66729922b9133692e9c9e