We can't rely on ListPopupWindow.dismiss() to get called before the popup
is removed, for example when the activity hosting the popup is finished,
but we can easily ensure that the popup is still attached to a window.
Bug: 20831507
Change-Id: I9dcaa46e68df3f2b301cf299fa64d460c7e177fd
Bug 19290065
When a transition was interrupted, if a View was not in the start
state, but in the end state, then any animator on that View was
not canceled. This detects that situation and allows canceling
the animator on that View.
Change-Id: Ib1d0579bb6b211782c40c6327be59b0c59682731
QS Grid visibility
Tiles that are visibile in the grid
Taps on tiles
Detail visibility for DND, Users, and Data
Bug: 20264417
Change-Id: I95e65484a9be0a53a071bc12ce8195120582621e
In addition to ensuring that process exists, we also need to
check that it's the right state. Because crashed foreground
activity can still get started as background service.
Bug: 20899208
Change-Id: I101e556ce757af1afb66686827c5851dd6fda620
KeyGenerator.init is supposed to check whether all provided parameters
are OK. This is because KeyGenerator.generateKey cannot throw checked
exceptions. This CL makes AndroidKeyStore KeyGenerator implementation
do just that. Unfortunately, keymaster/kestore doesn't provide a way
to check whether all the parameters are OK without actually generating
a key. Thus, this KeyGenerator does its best inside init method
(before Keymaster is called), and then surfaces any remaining issues
(flagged by Keymaster/keystore) as unchecked IllegalStateException.
Bug: 18088752
Change-Id: I9a04da880dcbe26c37f41d1477e41bdc74db04c9
Merges the translate and clip reveal so that we can adjust the clip
position based on the current translate position. This ensures the
clip appears to expand from the center of the translated popup and
never extends outside the window bounds.
Change-Id: I8bbb9c0e2293a25f7807d71d9b8779bb782d4784
This CL fixed the issue where scroll offset was ignored when shared
elements are added to the ghost view and when they are laid out.
Bug: 20349408
Change-Id: Ifaeb821bffe6fcfe303221a1732125bf1c4a91b7
The Javadoc incorrectly stated that:
* 0 means authentication required for every use.
* -1 means that timeout is not specified and the key can be any time.
Bug: 18088752
Change-Id: Ie5f37e74dc207f23443527ac1725ae8a37213d75
When the synthesizer returns LANG_AVAILABLE or LANG_COUNTRY_AVAILABLE
for a certain locale, we strip the country and variant from the locale
before asking the synthesizer for the default voice name for this
locale.
This can prevent the synthesizer from picking the right locale. For
instance it prevents the synthesizer from picking en-gb if en-au is
requested, now it can only have a single preferred voice for all English
countries.
The solution is not to strip the country and variant from the locale.
This is not likely to break anything, because the input to
onGetDefaultVoiceNameFor was never expected to be a subset of all
supported language-country-variant combinations. The default
implementation handles this correctly.
Change-Id: I017f69d321039c7aa7a3ef5a09ba138e35b66670
(cherry picked from commit 4758e99783493fc546e6819b5fe9d44e1ef8c318)
This avoids an NPE that could occur when:
1. disconnect() is called
2. sendMessage() is called but encounters a RemoteException
3. replyDisconnected() will attempt to dereference mSrcHandler
There does not appear to be any callers that rely on the NPE.
All callers erase their reference to the AsyncChannel after
calling disconnect(), except for NetworkAgentInfo which can
cause ConnectivityService to crash. This fix addresses that.
bug:20647016
Change-Id: I89864885dc3371941407a036b7b7647e0ec037b8