Binder APIs which wish to consume Bitmaps *and* drawable
resources can now do so by using Icon, a kind of union type
that accommodates each of these. Icon also accepts byte
arrays holding compressed Bitmaps (PNG, JPEG, etc), which
saves clients the additional memory cost of decoding and
sending full uncompressed bitmaps through Binder interfaces.
Receiving clients can call loadDrawable{,Async} and then
getDrawable to start immediately using the image in an
ImageView or other Drawable-hosting container.
Bug: 19609468
Change-Id: Ic1343711c2ac0b15876b46f0b6008b0108a49470
This has caused a lot of grief, confusion and outright broken
behaviour due to the fact that the Posix spec and the Java spec
define conflicting interpretations of "custom" timezones like
GMT+5:30 (eastern hemisphere for java, western for posix).
bug: 19987403
bug: 19106773
Change-Id: Ia9b007067bb175b0805d4262f17390a0bd98d927
The ConnectivityManager documentation uses {@link requestNetwork}
without specifying which version of that method it refers to.
This results in javadoc incorrectly linking to the version of the
method that takes a PendingIntent instead of the version that
takes a callback.
Change-Id: Ia914ec88005a6401b6391c5b4fc92f988baa3922
Refactor app movement code into the normal install flow as a new
flavor of InstallArgs. It copies both app code and data during the
copy step, and just updates paths during the rename step.
Measure free space before kicking off a move. Spawn a thread to
derive a hacky progress estimate based on free disk space counting
down.
Remove checkFreeStorage() and getLegacyNativeLibraryPath() which
nobody was calling. Fix deadlocks around package broadcasts, and fix
wrong lock ordering when loading packages.
Bug: 19993667, 20275578, 20370140
Change-Id: I7bbf14c924a724d6ebb8a41a02434750fa3302bc
Switch a few places to using android::canvas
instead of SkCanvas as well which eliminated
some JNI
Change-Id: I8f98b56442a06362b82b984cd1bd3a92398d8dbc
This converts KM_ERROR_CALLER_NONCE_PROHIBITED into
InvalidAlgorithmParameterSpec, as expected by the contract of JCA
Cipher.
Bug: 18088752
Change-Id: I6a01e2d7118c478b27a0d7a5a14a127de8913755
FingerprintManager internally creates a Handler which needs to be
bound to a Looper thread. Prior to this CL the Handler was bound to
the Looper of the current thread. This caused issues:
* Different instances of FingerprintManager could be bound to
different Looper threads.
* Callbacks from FingerprintManager were invoked on arbitrary
threads (or not at all if the Looper was there but wasn't running).
* FingerprintManager couldn't be obtained by apps on most non-main
threads leading to java.lang.RuntimeException: Can't create handler
inside thread that has not called Looper.prepare().
This CL fixes the issue by binding the FingerprintManager's Handler to
the Looper running on the main thread.
Bug: 20725228
Change-Id: I4a0382d6e11df9f23b8db9f0deec77369af31b5e