1. Leftover code was setting the state to configuring
before initialization is complete.
2. We were not cancelling the print job if cancelled
when initializing.
3. The remote print document was cancelled even if
doing nothing.
bug:17451600
Change-Id: I79a80b723af8537da260012470748b4e8831fd9e
...can lead to launching of un-exported activities
We now validate the array map after unparcelling to make sure there
are no duplicate keys.
And to make up for the performance overhead this introduces, I switched
the parcelling/unparcelling code to write keys as explicit string
objects rather than generic values. There was no reason to use generic
values since the write method itself only accepts an array map with
String keys.
Change-Id: I57bda9eb79ceaaa9c1b94ad49d9e462b52102149
(cherry picked from commit cee4cdad307071a8ff9a3e2189bf9e6fcc417222)
Complex animated vector drawables can be expensive to load due to
sub-optimal parsing of the String-based pathData. Suffering that penalty
every time the same drawable is loaded (such as material-themed
ProgressBars) is painful.
The new approach caches constant state of both the VectorDrawable (including
the pathData geometry) and the animators (which includes potentially expensive
path-based interpolators).
issue #17366831 Material ProgressBar taking 200+ms to inflate
Change-Id: Iba3b541e24cfce8c07f5aa9fe6aa7d7b92b2fe1c
Equivalent behavior, improves performance since
Object.hashCode has a fast path in the java side that does not
require JNI.
According to traceview sampling profiler:
Calendar had 6.8% time in System.identityHashCode during launch.
0.4% time in System.identityHashCode after the change.
Bug: 16828525
Change-Id: I1ed1d1283a990f990b0d4352cc1f4822b1dadf7b
Future HTTP requests could use an old socket that's bound to a different Network
causing unexpected results. DNS results could also not be appropriate.
bug:17283566
bug:17432215
Change-Id: I88b40b723c7b442000cafe8ce8b9d989d8995991
The paste action contained some logic to automatically insert or remove
spaces, basically to emulate the semantics of the text being a sequence
of space-separated words. This was never universally loved, and gives
particularly unexpected behavior with a hardware keyboard.
This patch simply removes the logic to automatically adjust spaces on
paste, so what gets pasted is simply the literal buffer contents.
Bug: 16900326
Bug: 3304489
Change-Id: I5cdf9c43d98a17aa708883b47245aa7929a124d2
BUG: 17359770
Reuse the Manifest.permission.ACCOUNT_MANAGER to protect this receiver,
because when this intent lands it kicks off a sync for every account/provider
on the device.
Semantically this means "if you can't talk to an authenticator to do things like
get a token or add an account, then you can't send an intent to the SyncManager
that the accounts on the device have changed in some drastic way"
Change-Id: I7eccc38e135cb00ebb0aafc69afc802fe1c4f219
Network Factories are allowed to go below, but networks need to be
constrained. Allowing the network to go below 0 meant that -1 could
sometimes leak through and foul the logic.
The core of 17361330 will be fixed when we stop sending scores for
listens to NetworkFactories, but it exposed this issue too. Summary:
1 - add a network listener. This isn't a request so it's not sent
to networks.
2 - alter your score (ethernet sets score to -1 when the link goes
down) (16:07:39.782)
3 - a bug in ConnectivityService causes score changes to get sent for
all network requests and network listeners causing NetworkFactories
to no see 2 entities. This bug will be fixed by a pending change
(https://googleplex-android-review.googlesource.com/#/c/540840/).
This causes the ethernet NetworkFactory to see two entities, both
served by networks of score -1. (16:07:39.989)
4 - disconnect Ethernet - this only sends 0 scores for known
requests, not network listeners. Had it been sent for both entities
they both would have evaluated that the networkfactory score (-1)
was lower than the request score (0) and both released their
refcount. (16:08:03.147)
5 - this means the listener is tracked by the EthernetNetworkFactory
with a score of -1 while the factory itself has a score of -1 so the
network release isn't called.
bug:17361330
Change-Id: Ife34ca0f9c233dd3c3df80f6fea580af43afcdeb
Defer the boot process in ActivityManagerService,
WindowManagerService and PowerManagerService until the boot
animation has completed.
Fixes bug 16309312.
Change-Id: Ic5e0d627ca4ded3e211c5d2afece89da40d34642