Allow multiple emulated storages at the same time.

Only do multiuser mapping for primary emulated storage as per google docs.
Allow all non-primary emulated storage to have id other than 0 so that
it could be distinguished from the primary volume.

Change-Id: I7b70b9067fd6211055fb9074710f48107d7b0e8e
Don't enable GPS if the requesting app is blacklisted.

This is transparent to the app, it just sees no location callbacks as
before. It just avoids the additional unneeded battery drain.

Change-Id: Iff98bcc3a4ff724aea8763e08b687441bda9ede0
Framework: AF Translations

Change-Id: Idd7d65589ef07c58f6cbbe43fc32d99dcd43eaef
Profile: Filter on NETWORK_STATE_CHANGED instead of SUPPLICANT_STATE_CHANGED

For more reliable network change detection use NETWORK_STATE_CHANGED
instead of SUPPLICANT_STATE_CHANGED

Only set profile when profile actually changed.
Use getWifiSsid instead of getSSID so we dont have to strip double
quotes ourselves, add null pointer exception check because function can
now be called when WiFi is off.

Change-Id: I2b4ea65fdb484edb39a14725c648d9ab0d5d36fb
Merge "Don't enable GPS if the requesting app is blacklisted." into cm-10.1
Merge "Profile: Filter on NETWORK_STATE_CHANGED instead of SUPPLICANT_STATE_CHANGED" into cm-10.1
nightly Merge remote-tracking branch 'upstream/cm-10.1' into cm-10.1