The existing implementation started the ActionMode even when knowing
a drag would start. Moved this logic to once the drag is complete,
to avoid the toolbar popping up while the user is still dragging.
Since the existing method selected the initial word when no other
selection existed, refactored that logic so it is also performed at
the start of the drag. Otherwise, the user sees no selection until
he drags over 2 or more words.
Bug: 21144634
Change-Id: I97cf89b1c4c3ebdbbd1af50bd1ce5aa4af72164b
StaticLayout.Builder used "setTextDir" as a shorthand, but it's not
as clear as spelling it out. So, setTextDirection.
Bug: 21572282
Change-Id: Ia94476562d70678f963196b87bb63511d30836b6
Previously this value was only updated when interacting with the
selection handles, so if you started a selection, entered by-char mode,
and then started another selection you would still be in by-char mode.
This resulted in incorrect behavior.
This CL alters the logic to update the handle state whenever the cursor
is placed which will included the initial long press to select a word.
Bug: 21301589
Change-Id: I15dbe6f2b76c7edd8ea4b3ba53e7107c47bc48fa
1. If a view has a node provider, then the latter takes over
representation of the view tree. Hence, find by accessibility
id should not return children of a view with a provider.
2. Views can change their importantce for accessibility, so an
accessibility service may get a node and try to act on it
but the node became not important in the meantime. Hence,
find by accessibility id should respect importance.
Change-Id: Ib4d738c00f46c91300605a2928550f40705ea47b
CarrierService is supposed to filter intents in onBind and only accept
valid actions. The logic was off so that it rejected all bind attempts.
This was tricky to track down because clients get no clear signal that
onBind is returning null.
Bug: 21571360
Change-Id: Id82fce8dfa73a75fae1ce69f73b922addc7daa3e
Fix an incorrect unparceling of the previous saved state in
HorizontalScrollView. Remove an unneeded field in the saved state by
storing scroll offset from start instead of scrollX + isRtl.
Bug 20666194
Change-Id: I1ec45b3e3bd0846b5f659356df7ff94f42e61055
Outsets are used during measure/layout pass, but this can be called on a
view that is not currently attached.
Bug: 21602590
Change-Id: I23e3acc45ca4bf7684d8913f839e29e8e9e94d78
ListView caches transient state views for reuse during layout, which calls
dispatchStartTemporaryDetach() before caching the view. This should always
be followed by a corresponding dispatchFinishTemporaryDetach() before
removing the view from the cache and returning it for reuse. While this
was the case for other types of cached views, we missed this call for
views placed in one of the two transient view caches.
Bug: 17387206
Change-Id: I360945006558b2783c098183a7cc9bc28d05d9ab
CarrierService is supposed to filter intents in onBind and only accept
valid actions. The logic was off so that it rejected all bind attempts.
This was tricky to track down because clients get no clear signal that
onBind is returning null.
Bug: 21571360
Change-Id: If37a52e30d0c7fd0205f23595f39be3d55db69d4
-The position of the toolbar was forced to the left side in an attempt
to fix an RTL bug. This led to wrong positioning in LTR.
This is now fixed by using a dynamic "show" animation that takes into
consideration already set positions.
-The correct position of the toolbar wasn't recalculated on updates
for RTL. This is now fixed.
Bug:21455067
Change-Id: I0b31a8fd3c95549f5f10133a47a4d3ef27689010