Making sure launcher doesn't show keyguard-only widgets (issue 7550090)

Change-Id: I5d0675f0c03677e06371a6730209c3466c6b0f15
Fix "keyguard unresponsive" bug

This fixes a bug where the code would pop up SearchPanelView and never
close it.  The result is that the overlapping window would absorb all input
events and effectively prevent the user from entering their pin/pattern/password.

The fix is to replace ImageView with KeyButtonView to make the behavior consistent
with how it's handle in home screen.

Fixes bug 7520075

Change-Id: I461bf2844c023fd7a2dffca1177cc5951f30dba0
Add xxhdpi version of default activity icon

Bug: 7400295
Settings shows it is connected to A2DP, though the device is not actually connected

the root cause is the A2dp and Pbap service need receive STATE_TURNING_OFF intent
to shutdown cleanly. So we need send completely state transition intents
in user switch handler.

bug7403171

Change-Id: Ic92bc85c2b74ae7c95440b237ea8851771ee9f04
Resolve LocationManager + ActivityManager conflict

LocationManagerService was serially stuffing the same Location into
multiple Intents, which it would immediately hand off to
ActivityManagerService, running as a different thread in the same
process. LocationManager would continue to work with that Location
while ActivityManagerService worked with a Parceled version of it.

However, Location.mExtras is also a Bundle, and both
ActivityManagerService and LocationManagerService ended up working
with references to the same Bundle. ActivityManagerService needs
it in Parceled form (ie mParceledData != null), but
LocationManagerService was triggering Bundle.unparcel() when
referencing the data contained within.

As a result, LocationManagerService was able to trigger NPE (or
worse) in ActivityManagerService by manipulating the mExtras
member of a Location that was in the process of being reported to
listeners.

To resolve this issue, I copy-construct a new Location to report to
each listener. This should prevent ActivityManagerService and
LocationManagerService from referencing the same Bundle data, as
Location's copy constructor also copyconstructs the mExtras member,
rather than simply share references.

Bug: 7518371
Change-Id: I1a92615cba361831494447d5de085a8d910b6b2c