BREAKING CHANGE: Redesigned the key character map format to
accomodate full keyboards with more comprehensive suite of modifiers.
Old key character maps will not work anymore and must be updated.
The new format is plain text only and it not compiled to a binary
file (so the "kcm" tool will be removed in a subsequent check-in).
Added FULL keyboard type to support full PC-style keyboards.
Added SPECIAL_FUNCTION keyboard type to support special function
keypads that do not have any printable keys suitable for typing
and only have keys like HOME and POWER
Added a special VIRTUAL_KEYBOARD device id convention that maps
to a virtual keyboard with a fixed known layout. This is designed
to work around issues injecting input events on devices whose
built-in keyboard does not have a useful key character map (ie.
when the built-in keyboard is a special function keyboard only.)
Modified several places where events were being synthesized
to use the virtual keyboard.
Removed support for the "qwerty" default layout.
The new default layout is "Generic". For the most part "qwerty"
was being used as a backstop in case the built-in keyboard did
not have a key character map (probably because it was a special
function keypad) and the framework needed to be able to inject
key events anyways. The latter issue is resolved by using the
special VIRTUAL_KEYBOARD device instead of BUILT_IN_KEYBOARD.
Added the concept of a key modifier behavior so that
MetaKeyKeyListener can distinguish between keyboards that use
chorded vs. toggled modifiers.
Wrote more robust key layout and key character map parsers
to enable support for new keyboard features and user installable
key maps.
Fixed a bug in InputReader generating key ups when keys
are released out of sequence.
Updated tons of documentation.
Currently QwertyKeyListener is being used for full keyboards
with autotext and capitalization disabled. This mostly works
but causes some problems with character pickers, etc.
These issues will be resolved in subsequent changes.
Change-Id: Ica48f6097a551141c215bc0d2c6f7b3fb634d354
for programmatic scrolls
Allow for onScrollStateChanged implementations that end up changing
scroll state again.
Change-Id: I53105f5be708bacc0d3ec8e76ba1cc22f4131467
DO NOT MERGE Fix bug 3121030 - Text handles erroneously appear over
extract mode IME window
Make the SelectionModifierCursorController track its show/hide state
more accurately in the presence of an extract mode IME.
Lazily initialize CursorControllers so that we don't end up creating
them for various TextViews where they are not needed.
Change-Id: I3dce7535db3a1bd25ed9899406de47b00058e665
The ICU CLDR data doesn't use the month abbreviations that are
appropriate for the DatePicker, so use the framework copy of the CLDR
data.
Bug: 2641810
Change-Id: Ic0f7b461b43c76dfa3f8b73a9479b79df230d7bd
Add support in ActionBar for activity-wide progress APIs.
Add ability for progress bars to set a target framerate rather than
the 5fps previously used.
Clean up some more dialog layouts using hardcoded styles rather than
theme attributes.
Change-Id: I8e88c7595e27c0b6f7829b598f2b084ac8501ae3
New default only applies to applications with targetSdkVersion >=
HONEYCOMB. Old applications default to no touch splitting for
their windows.
In addition, enabled split touch for various system windows.
Bug: 3049580
Change-Id: Idc8da9baa2cd8e1e4e76af8967d7b6a5ccb94427
Bug 3179062
Problem was introduced in CL 78854: changing the keyListener should not
change the transformation method.
mInputType changes are brittle. It is often reset to TYPE_CLASS_TEXT or to
mInput.getInputType(). The TYPE_TEXT_FLAG_MULTI_LINE and TYPE_TEXT_VARIATION_PASSWORD
variation are then added back based on the previous state. But this is not consistent,
and sometimes, only one of those is set.
This should be refactored if a bug is found in what seems to work correclty at the moment.
Change-Id: Ie251ec7db0ce0af4a07564b0dbb53465e6f361c6
Basic implementation. The finger is currently hiding the insertion position.
An offset has to be added in DragThumbnailBuilder to prevent this.
Change-Id: I4207c337a2a31162063fba191a5eb5d5856b24cf
Make transcript mode only scroll to the bottom if the last item is
already scrolled fully to the bottom when the change occurs Before
this, transcript mode would cause a list to scroll to the bottom as
long as the last item in the adapter was visible at all. Long items
would make this behave unexpectedly.
Change-Id: Ia6a52c969ea6d50653cf2b8cd4dc30ba517cf803
extract mode IME window
Make the SelectionModifierCursorController track its show/hide state
more accurately in the presence of an extract mode IME.
Lazily initialize CursorControllers so that we don't end up creating
them for various TextViews where they are not needed.
Change-Id: Ib76a95d9e7669016cf11b8b0add8843b438068ea
Addresses these bugs:
3061847 - With no headers, PreferenceActivity crashes
2888426 - minor typo in DevicePolicyManagerService.ActiveAdmin.writeToXml()
3159155 - IllegalStateException:"Can not perform this action after
onSaveInstanceState" while dismissing a DialogFragment
3155995 - PopupWindow.showAtLocation does not respect LayoutParams
Also tweak the new fragment APIs to use abstract classes instead of
interfaces as base classes.
Change-Id: I9c0b4337fe0e304b737b5f7c2762762372bb3020
ListPopupWindows will now move to fit within the screen, but will not
be constrained by their parent windows.
Change-Id: I2a19ef474926f328466db32874db4191beebf626