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
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
Only intercept when touching on the panel and not on the left or
right of the panel. Fixes a bug where the user couldn't dismiss the
panel by tapping outside.
Bug: 17437547
Change-Id: Ice484a301683fa2df1f2a21f13977023b48189f4
This was especially noticible when double tapping a notification
because of the staggered appearing.
Bug: 17287256
Change-Id: I8f39892fa122bb8b7b6f2a7b1e7be8a9570e661e