Settings : Add hooks for device specific features

Add support for :

Devices with bluetooth input peripherals
Devices with screen gesture support
Devices with a back touchpad

Conflicts:
	res/xml/language_settings.xml
	src/com/android/settings/cyanogenmod/ButtonSettings.java
	src/com/android/settings/cyanogenmod/SystemUiSettings.java
	src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java

Change-Id: Ia4835c69a8ba8fb76597e0ab0540f8ef1ed6e322

Conflicts:

	res/xml/system_ui_settings.xml
	src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java
Add option for switching between UMS and MTP/PTP mode. (2/2)

This adds support for switching between UMS and MTP/PTP.
Settings part (this part) adds option in USB settings (statusbar/notification drawer) for enabling UMS,
and adds setting in Storage menu to enable / disable UMS, this since the USB settings page disappears when enabling UMS.

Forward port from cm-10.2, adjusted for 4.4

Change-Id: I6cf50a41a9a82e40e702f5231ce663636c149613

Conflicts:

	res/values/cm_strings.xml
Fix: Ensure lockscreen see through setting persists after reboot

If see through was enabled and the device was rebooted,
the user had to toggle the setting off and on again to activate.

Change-Id: Ic743986d9b0abae138e2291864ce527c4f9ff864
Merge branch 'kitkat' of https://github.com/AOSPA/android_packages_apps_Settings into kitkat
Bluetooth: Fix to show internet access as marked when pan is connected

isPrefered is always true for PAN. So internet access menu checkbox
is always marked on. Marking internet access menu checkbox based on
pan connection status should solve this issue.

Change-Id: I4343cc6f1b46377caa54aa3d39c08489ff14adac
CRs-Fixed: 550731
Bluetooth: Set alias name only through Rename option

Set the alias name only when user is trying to change the
name using the Rename option of paired device.

CRs-Fixed: 539420
Change-Id: I415b6a962d8e7884b67d37b94c04df19e2c23012
Bluetooth: Not allow Blank BT device name.

Add empty string check for BT device name
and not enable ok button until entered
device name is not empty.

Change-Id: Ib7c460bee5c8d86d13acd66d228279dd1a240c25
CRs-fixed: 471158
Bluetooth: Remove remote device from trust list on BOND change

A special case where remote device is paired & authorized by
DUT. Remote device is unpaired by itself & try to connect again.
In this scenario Link key is deleted from remote device. So
SSP is performed again. & remote device bond state is changed
to BOND_BONDING from BOND_BONDED on DUT while SSP, As it was
in DUT BONDED list. So permission/trust info for all profile
need to be false when it's moved to BOND_BONDING to solve the
issue.

Change-Id: I37e8d92feef3c2d4d18c014a5d9092a9469335cb
CRs-Fixed: 578523
Bluetooth: GAP: Cancel the previous visibilty alarms if already set

Cancel the previous visibility alarms set for 2 mins/5 mins/
1 hour if visibility change happens from the limited discoverable
to unlimited discoverable.

Change-Id: I01797b771c271498372f15b545233a73baf60ca9
CRs-fixed: 582492
Bluetooth: GAP: Cancel the pairing notification on bond state change

Cancel the pairing notification on bond state change happens from
BOND_BONDING to BOND_NONE.  Otherwise it will present in the
notification area until it gets cancelled by opening it and press
cancel on pairing dialog.

Change-Id: I96f673e29e612cd748165a1323a5b4a4276a843c
CRs-Fixed: 569534
Bluetooth: GAP: don't update autoconnect on bonding state

This patch fixes regression caused by commit
I37e8d92feef3c2d4d18c014a5d9092a9469335cb where it was not possible
to autoconnect supported profiles of remote device from DUT after
pairing is completed.

Change-Id: Ied8e0dcfd1f6b9c98a89929f05257957c13a95fe
CRs-Fixed: 584889
Bluetooth: Destroy BT Dialog on BT power off.

Check for Bluetooth off Broadcast to destroy disconnect
dialog when Bluetooth is turned off from power widget.

Change-Id: Ie556a17c7d574f77da5181c08705648ebf5733cc
CRs-Fixed: 579028
Merge remote-tracking branch 'legacy/kitkat' into kitkat

Conflicts:
	res/xml/language_settings.xml
	res/xml/more_device_settings.xml
	src/com/android/settings/cyanogenmod/MoreDeviceSettings.java
	src/com/android/settings/inputmethod/InputMethodAndLanguageSettings.java