Symptom:
Assume a foreground broadcast FG and a background BG.
If a recevier registers both FG and BG. When sending
BG and FG to the receiver, and the receiver BG receiver
completes first, its finishReceiver will trigger next FG
receiver rather than BG, and also deliver wrong result
code/data to the next.
More detail and sample:
https://code.google.com/p/android/issues/detail?id=92917
Root cause:
Due to BroadcastQueue:getMatchingOrderedReceiver will match
by receiver(IBinder), so the caller ActivityManagerService:
broadcastRecordForReceiverLocked will always match the first
queue(fg) if a receiver is both receiving fg and bg.
Solution:
Add a parameter flags to finishReceiver, then server side
could know the finished receiver should belong to which queue.
Another general solution but with bigger scope:
I60dce4a48e20c1002a61a979e4d78b9b0a8b94a0
Change-Id: I913ca6f101ac8ec6c7a8e42754e6781f80247b7f
getHTMLColor is not aware of ARGB color format which is commonly used in
android xml files. This causes problem with coloring spans in resources.
Instead of above it should be changed to parseColor() with supported
formats: #RRGGBB #AARRGGBB
Bug: https://code.google.com/p/android/issues/detail?id=58192
Change-Id: I16bdf4c5c2a3b5e216b44e5c1955cac0104b3e12
With the recent introduction of AssetManager::appendPathToResTable,
overlay packages were not properly added to the AssetManager, and once
added, were not properly inserted into the ResTable.
Bug: 17765434
Change-Id: Ie21f227c654c98730f74a687d0e16ee2b80e747e
When restoring hundreds of apps on low-DPI devices, we end up sending
icon Bitmaps inline in the response instead of splitting into ashmem
regions. To avoid triggering TransactionTooLargeException, switch to
using ParceledListSlice under the hood.
Bug: 17926122
Change-Id: Ib4da6775e79d2fcb4aaea15f58ed998df203a5f9
This is a squashed commit of the following changes:
1. Order apps by priority when performing boot dexopt.
(cherry picked from commit 65cde7d42d)
2. Improve priority ordering of apps when performing boot dexopt.
Added core apps and updated system apps.
(cherry picked from commit 272bf3a274)
3. Stop boot dexopt when low on memory.
(cherry picked from commit 1d892dcb6b)
Bug: 17641843
Change-Id: Ie32f1c21047d3462aaf728f7633fecf647ba2b47
When we added scan paths, we forgot to bring them along through
Parcel and copy constructor.
Bug: 17900178
Change-Id: I0ee9374f909d375768045976fd88cee7431f7d4d
When performing a restore during initial device setup, we could be
installing hundreds of packages. Currently, we're writing all
metadata (including heavy icons) for every session mutation! Because
we're holding the mSessions lock while writing all this heavy data,
we end up causing ANRs when apps call other PackageInstaller APIs.
This patch mitigates by moving the heavy icon data into separate
per-session PNG files, which we only persist when changed.
Bug: 17881962, 17567794
Change-Id: I4dee15d4a65a8eb65c381e6bb7477728b6cc30d2
Keep around GET_TASKS as a permission available to apps, so apps still
think they have it and don't get all uppity because they don't.
Add a new REAL_GET_TASKS that is the actual permission now.
Plus some temporary compatibility code until everyone can transition
fromn GET_TASKS to REAL_GET_TASKS.
Change-Id: I12c1102eed24844685dcbd2fa3b612811603958f
Had already marked the API itself as system api, just not
the Context.BLAH id. Also update the javadoc as it doesn't
return an FD anymore.
Change-Id: Ic8a5b8c75b0ba0bdf4ad26cf33d5f87eea568376
Traverse into both EXTRA_INTENT and any EXTRA_INITIAL_INTENTS when
migrating extras to ClipData. Also, we don't need to promote these
ClipData into the parent, since the platform ChooserActivity will
issue any required permission grants for the final user-selected
Intent. Even if we wanted to, we can't combine the various child
Intent flags into anything meaningful at the ACTION_CHOOSER level.
Bug: 17580604
Change-Id: I6b5a1f572a7edf8135e059c67a2643d3736e40ab
The documentation implied that you could override
Resources.getDrawable(int) to load custom drawables, which is
not the case.
BUG: 16635905
Change-Id: I06c0febe2d6d4194ef5a31f167b378fe311b7a2d
...to the primary user, even if it was not whitelisted to be forwarded.
The path where getActivityInfo is called for the ResolverActivity
would not correctly apply the requested user ID to the result, so
it wouldn't run under the correct user.
Change-Id: I1da47c54bbed26091832a28236d0b06762c92437
Improves bounds checking to restrict category matches to within the
category(...) item. Fixes CTS failure in IntentTest.testGetIntentOld().
BUG: 17557490
Change-Id: I1859fe18eaa881b771bab373d705d8fbeb6406c4
Eliminates several field and method accesses by making the TypedArray
pool local to a single Resources object. Removes an unnecessary
synchronization.
ReadXmlAttrs averaged 0.069 ms/op before, 0.064 ms/op after.
BUG: 17484798
Change-Id: If790a5ba6596b47a04f117c8912974798a592052
- Changing package from android.telecomm to android.telecom
- Changing package from com.android.telecomm to
com.android.server.telecomm.
- Renaming TelecommManager to TelecomManager.
Bug: 17364651
Change-Id: I192cb5d189f55db012ea72ee82ccc5aedbc21638
Activity aliases do not pick up values in the PackageParser. The
actual values should come from the target activity instead.
Also ActivityInfo now propagates maxRecents in copy constructor
and across Binder calls (via parcelling).
Fixes bug 17391328.
Change-Id: I35d248032eca7557528c9d499b3b38f27c713d09
When META-INF/MANIFEST.MF is missing, treat as NO_CERTIFICATES
instead of CERTIFICATE_ENCODING. Also remove redundant layer of
debugging details when wrapping exceptions.
Bug: 15667982
Change-Id: I6e8216d5bf6e42da1feb70c89f991001380305be
There was a race where ActivityManager would return null
for getCurrentUser() when switching between guest accounts.
This is because the Guest account was marked for deletion
while it was still active.
Bug:17290209
Change-Id: I224fb4b6836380e5acb7dbeb8f3343d74505f88a
This allows micro-consoles or other devices to signify that there's a
game controller in the box, even if the user hasn't connected it.
Change-Id: Ie5e2cf69f777ebe84abb83f34c9ed63d9555deff