Also backup profiles file via backup manager.

Change-Id: Id70cb1bce15b7de127e4291e9482ab3fd7270f9f
QuickSettings: FavContact & UserTile: Open full contact page

QuickContact popup can only be used for phoning/messaging/emailing,
which doesn't make sense when you're opening your own contact.

Opening the full contact directly makes it easier to beam or share
with other (one less click)

Also added this change to include FavContact

Change-Id: Ifd31b8c14ccb9f07e10e5bb2079bbc2f1296414b
Signed-off-by: Rohan Mathur <rohanmathur34@gmail.com>
Signed-off-by: Brandon McAnsh <brandon.mcansh@gmail.com>
Revert "PackageInfo class incorrectly referenced as a struct."

This reverts commit b9b5d8c32e738d3607eec61e5d5bd95ca1521c2e.
Fixes for clang:
PackageInfo is a class, not a struct.
String16 is contained in the android namespace. Do not namespace prefix it
within the android namespace.
Explicitly specify which std classes are necessary to prevent ambiguous
type errors. (map, set)

Change-Id: I0d01477a976e770821ebae8847f8d11b132a15d6
Fix occasionally flickering music control widget.

The problem was seemingly related to the player abandoning audio focus
while the playback state was still set to 'playing'. In that case, the
transport control was removed from the keyguard host because it had no
listener anymore, but later was re-added due to isMusicPlaying() still
returning true. Re-adding it lead to it re-registering with audio
service, which cleared the display due to nothing being connected, which
lead to the detachment listener being called again, which in turned
closed the loop.

While this may be a sign of a buggy player app (it should stop its
playback prior to abandoning audio focus), this situation still should
be handled gracefully. Fix the problem by simply reporting no music
being played while no remote control client is connected.

Change-Id: Id6834d38bc6faa3b6455ac66b413443f85606785
systemui: Add CONNECTIVITY_INTERNAL permission

 * SystemUI needs to be able to list interfaces if tethering is in use
   and we ask for a second tethering path to be set up (BT+USB, etc).
 * Add permission to stop exceptions in the framework and enable
   tethering thru multiple paths.

Change-Id: If7a65c31557dc2f0451f0612fb109f61e8056368

Conflicts:
	packages/SystemUI/AndroidManifest.xml
PreferenceActivity should not leave message in looper when destroyed

When a PreferenceActivity is destroyed as soon as created,
there is a problematic case that messages for the activity are
sometimes left in the looper even after the activity is destroyed.
For example, by clearing user data of the selecting IME on
Settings apk, com.android.settings.Settings is re-launched
2 times successively. (Destory->Create->Destroy->Create)
Due to the left message, application crash can happen.
(NullPointerException at BackStackRecord.getBreadCrumbTitle())

Two cases have been found to observe this issue.
[Case 1]
 1,Launch IME in advance.
 2,Go to Settings >Apps > All and choose the IME package.
 3,Click "Clear data"
 4,Application crash occurs on com.android.settings.
[Case 2]
 1,Go to Settings > Language&input > Language.
 2,ListView dialog to choose language is shown.
 3,Rotate the tablet 180 degree so that 90 degree rotation occurs twice.
 4,Application crash occurs on com.android.settings.

Change-Id: I5ce36ea7a40ab7bc7737b7dca6641a4c3d77a480
FastScroller: Fix to use appropriate index

Fix FastScroller to use appropriate index to determine the
the position of a section while calculating the y coordinates
of thumb. In case of last section, use totalItemCount to determine
next section position.

Change-Id: I89bfd483949b5c14f85303b50380a73b4a4e635e
Fix typo in AlertController.java

If whichButtons is BIT_BUTTON_NEGATIVE, the negative button should be centered.

Change-Id: Ia34daf8c80704204a4f1cf71c642114005559d5d
Signed-off-by: Sangkyu Lee <sk82.lee@lge.com>
Fix torch state for QS/Power Widget
systemui: Add CONNECTIVITY_INTERNAL permission

 * SystemUI needs to be able to list interfaces if tethering is in use
   and we ask for a second tethering path to be set up (BT+USB, etc).
 * Add permission to stop exceptions in the framework and enable
   tethering thru multiple paths.

Change-Id: If7a65c31557dc2f0451f0612fb109f61e8056368

Conflicts:
	packages/SystemUI/AndroidManifest.xml
QuietHours: Change Logic (2/2)

Makes sense to me that turning QuietHours
    on should TURN QUIET HOURS ON with
    default time constraints applied.
I.E. QuietHours between 12:00am && 12:00am
    means QuietHours all day.  Having to
    adjust end time to 11:59 is redundant
    and not exactly the clearest implementation.
    Especially when we have a QuickToggle that
    directly toggles the setting on/off.

PS2: Vibrations as well.

Change-Id: Ib4893f9b47cf60fc0c55bf01b5453579385039b5