Fixes a bug where windows below the lock screen
could become visible if a SHOW_WHEN_LOCKED activity
hides the status bar.
Bug: 21450145
Change-Id: Ie660394cb96d7e6839bd4fb7c2729133bac2dfc5
Previously, the selected item data could become inconsistent between a
call to Adapter.notifyDataSetChanged()/Invalidated() and the subsequent
layout pass.
Bug: 21614294
Change-Id: I45c9c98b2f6a8d8b8fb17de2065efa505cbf3c92
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
Making a member field final would be beneficial not
only for the readability but also for the initialization
safety.
Leaving SpellCheckerSession#mSpellCheckerSessionListener
non-final does not make sense not only because we never
change that member field once SpellCheckerSession object
is created and but also because SpellCheckerSession
instance is designed to be accessed from multiple threads
at the same time, no matter if it has something to do
with Bug 18945456 or not.
Change-Id: I1a7ebb54a5d0beddee8799fc5b0800c6e1059099
This change adds an option to enforce Man-in-the-middle protection
for the authentication process. This feature is needed for the Sim
Access Profile.
Change-Id: Ia3ef0caeb750f88608c9fa6bf6367d1c77de4cf3
Signed-off-by: Casper Bonde <c.bonde@samsung.com>
On Android, "tl" is a historic hack for what should really
be "fil". Now that we properly support 3-letter language codes,
we should be using "fil" throughout. Given this historical usage,
IMEs that really want to support Tagalog (and not Filipino)
should use the ISO-639-3 code for Tagalog, which is "tgl".
For backward compatibility reasons, this CL uses the similar
approach to I26e3aa0333aa3c76c80a3c1c9090cc2b368c8e10.
InputMethodSubtype.getLocale() continues to return the "locale"
string parameter passed to the constructor as is, but in the
Android framework we do normalizations/conversions whenever
we need a valid ISO-639-3 code.
In I26e3aa0333aa3c76c80a3c1c9090cc2b368c8e10, we rely on the
conversion in the Locale constructor. In this CL, we do replace
"tl" with "fil" by ourselves.
This CL also adds InputMethodSubtype#getLocaleObject() a hidden
API so that we can start relying on the Locale object at least
in the framework.
This CL is based on the investigation by Narayan Kamath and his
patch.
Bug: 20696126
Change-Id: I94f203bddceb9c87710cb187cc3cc0ee6d9092a5
Don't try to change focus at all on exit from touch mode. The old
behavior might have been useful for very old apps with a TabHost as
their primary UI, but that's not a modern app structure.
Bug: 21417491
Change-Id: I3db2ab42c90b6c82f23216244a8183c4290eb7d7