New algo is:
1) if view width < MIN_WIDTH (currently 300px), clip glow and edge to fit
2) else stretch glow and edge to fill width
3) make alpha and height of edge and glow 30% "more intense"
Change-Id: I8f121bb165a8fb835bc33950dbedd1bc80c5df65
Between the animation system, ListView, and this, we can now account
for the large majority of animations in-flight at any point and annotate
StrictMode violations accordingly.
Note that StrictMode.Span goes out of its way to not allocate memory
and is very light-weight, especially on user builds where it's a
no-op.
I've tested this with the LOG_V debugging in StrictMode and I think
I've gotten all the entry/exit cases of ScrollView's animations. At
least, I'm not able to get it out-of-sync at least, even with
orientation changes during scroll/fling, etc. It's possible I missed
a path, but that should show up as excessive false positives during
dropbox uploads if so.
Change-Id: I3b0545111a775d9fa8e171f2a190031f1b56c4c0
Bug:3085564
In order to treat the selection handles properly, the text in
WebTextView needs to line up with the text in webkit. Use the
line spacing style, or the paint if none provided, to determine
the spacing for WebTextView's Layout. When no line spacing is
provided, use the floating point values of ascent and descent,
rather than the rounded result, to determine spacing.
Requires a change in external/webkit:
https://android-git.corp.google.com/g/#change,80641
Change-Id: I51081835e128a0e938028c7c7aeb5111aa5f072c
When transitioning from a fling to a touch the mode was being set
to idle instead of ending up in scroll. This corrects the
notifications to get sent in the correct order.
Change-Id: Ideed6e4064b2be62788307f4232015fa88e101b4
Noticed after logs showed a ton of false positives, I went back and
looked at the history. During the review of the previous CL, I
accidentally moved the finish() of the fling animation tracking inside
the PROFILE_FLINGING block, which is normally off.
Re-tested this CL with StrictMode debugging enabled and it now always
propertly resets to 0 animations in flight when no animations are
running.
Change-Id: Ie9746df36e2ec3f82679b20e91e3d93c05b863d4
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