[2/2] Add bluetooth triggers to profiles

Change-Id: I374cc93364c88b8b29c88345deccf297234ff624
QS: Don't assume observers are registered when dealing with changes

Not all uri activity has an associated content observer. Poking
the content://settings/system provider manually, for example,
would result in the following NPE:

AndroidRuntime: FATAL EXCEPTION: main
AndroidRuntime: java.lang.NullPointerException
AndroidRuntime:        at com.android.systemui.statusbar.phone.QuickSettingsController$QuickSettingsObserver.onChange(QuickSettingsController.java:354)
AndroidRuntime:        at android.database.ContentObserver$NotificationRunnable.run(ContentObserver.java:180)
AndroidRuntime:        at android.os.Handler.handleCallback(Handler.java:725)

Change-Id: I7034d261804aa972fe9020dd9b602348d249cb33
WebSettings: Move CM tag to the end of the user-agent

Append it at the end of everything to make it less obtrusive to
agent parsers, and append the CM device identifier so we can present
smarter choices when our sites are accessed.

Change-Id: I1e60d13be4cca9043e434a31bfc4fa08e01a12c0
Fix DateUtils.formatElapsedTime, again

Remove extraneous "hours" argument in the <10 minutes case

Change-Id: I5a5913d2e0744f5783f8422cddc30603c7bd703f
Ringtones: Fix ANDROID_LOOP=true for ArgoNavis and Perseus ringtones

Add ANDROID_LOOP metatag to ArgoNavis and Perseus ringtones, removed in commit
https://github.com/CyanogenMod/android_frameworks_base/commit/5d7c089cabe599c3c5614c53f5a94c8c2357340f

Change-Id: I2fd05e73d68758867a17d2c3369cfeefc203ac5a
JIRA: CYAN-1434
Issue: https://jira.cyanogenmod.org/browse/CYAN-1434
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
Merge "[2/2] Add bluetooth triggers to profiles" into cm-10.1
Fix multi-user behaviour for system UI settings (1/2)

Change-Id: I0e434b989c16f5871ce56c7e3041ff3c7a436c73
Make navigation bar ready for per-user configuration.

Also clean it up a bit.

Change-Id: Ic10bd161fce53bf30048a0cb927dcf1e2bfa7774
framework: Privacy Guard

 * Introduce a new privacy feature which allows the user to run an
   application with reduced visibility into his or her personal data.
 * Adds a per-application flag and simple API to determine if this flag
   is enabled for the current or calling process.
 * This flag can be used by content providers to decide if they should
   return a limited/empty dataset.

Change-Id: Id7c54d728e63acb2b02a2a9322930b54949f6c5d
Profiles: Fix turning bluetooth on/off when its in intermediate state

Change-Id: I09213c987580f47a6c3618edb469edabda96230c
Merge "Profiles: Fix turning bluetooth on/off when its in intermediate state" into cm-10.1
Merge "Fix multi-user behaviour for system UI settings (1/2)" into cm-10.1
Merge "Make navigation bar ready for per-user configuration." into cm-10.1
Add missing @hide annotations for Privacy Guard

Change-Id: I6072ed2d3ac05382f9cabbada0c42cea6cbe2422
Navbar : Reverse order in landscape

Reverse the order of buttons in landscape
Also fixes force close when editing in landscape

Change-Id: I570bb20df3ec7c6d7430d66c6ce74b6c740b1552
Merge "Navbar : Reverse order in landscape" into cm-10.1
Profiles: Add a profile picker activity

Patchset 2: Add CM Copyright
Patchset 3+4: Rebase
Patchset 5: Some optimizations

Change-Id: Ic8281e4c6fef6d2f4c56fc01acfe6e54b4c8f51c
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
Pie controls: Fix multi-user handling

This commit adds multi user support for pie controls:
* React on user changes
* Respect per user expanded desktop settings

Change-Id: I513b00f2745f309bf21b971f96276da40003b224
privacy guard: Use LocationBlacklist for location filtering

 * Google has built a per-package blacklist into the location service.
 * Let's use this to handle Privacy Guard instead of our one-off code
   which has a bunch of edge cases and can leave apps in a weird state.

Change-Id: I2f2ecd0b75ff51b44b1a6035189355d7bd63eaf4
Merge "Profiles: Add a profile picker activity" into cm-10.1