Navigation Bar: Ability to enable on every device 1/2

This adds a new Menu item Settings -> System -> Navigation Bar

Patch Set 5 : Just a rebase
Patch Set 6: Rebase
Patch Set 8: Rebase
Patch Set 9: Rebase

Change-Id: I23a508fa3268e63fbbc9a8305d011db3ca7722a0
Realtime change of Nav Bar Height
Merge branch 'mr1-staging' of git://github.com/CyanogenMod/android_frameworks_base into mr1-staging
Add Center Clock-Framework Part

Patch Set 5: Rebase
Patch Set 6: Rebase and changed copyright message
Patch Set 7: Rebase and added null check

Change-Id: I80cfef86d556a468925ec22f42dd1638f7c90565
(cherry picked from commit ea82da80e3c2d25517730fbdb1a85dad2d048cc9)

Conflicts:

	packages/SystemUI/res/layout/status_bar.xml
	packages/SystemUI/res/layout/status_bar_expanded_header.xml
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
	packages/SystemUI/src/com/android/systemui/statusbar/tablet/TabletStatusBar.java
Hardware key custom rebinding (1/2)

Framework changes to allow rebinding of the actions performed on the following
key press events: Home long-press, menu press, menu long-press, search press,
search long-press, app-switch press and app-switch long-press.

The available actions are: Nothing, open/close menu, recent apps switcher,
search assistant, voice search and in-app search.

Patch Set 1: Initial port from ICS [done by Konstantin Koslowski]
Patch Set 2: Added 'assist' (search) key customisation
             Option for ICS-style in-app search, in addition to jellybean-style
             search assistant.
             Fixed double haptic feedback on virtual key press.
Patch Set 3: Checkbox to enable/disable all custom bindings.
             Home long-press defaults to no action on devices with
             an app-switch key.
Patch Set 4: The recent apps list will be preloaded on the initial down press
             of whichever key to which it is bound.
Patch Set 5: Fixed menu virtual key press sometimes performing the custom
             action bound to the menu key instead of just opening or closing
             the menu as it should.

Conflicts:
	core/res/res/values/public.xml
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java

Change-Id: I72c0d220a09d79230bfa299e0521ed693e5c25f1

Conflicts:

	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
Merge branch 'mr1-staging' of git://github.com/CyanogenMod/android_frameworks_base into mr1-staging

Conflicts:
	policy/src/com/android/internal/policy/impl/PhoneWindowManager.java
Fix derp
Revert "Add Center Clock-Framework Part"

This reverts commit 3bbb46cbed86f0f39a9feb0c8d6fef191193585f.
Merge branch 'mr1-staging' of git://github.com/CyanogenMod/android_frameworks_base into mr1-staging
Merge branch 'cm-10.1' of git://github.com/CyanogenMod/android_frameworks_base into cm-10.1
NavigationBar : Customization

Includes:

- Allows user to customize navigation bar.
  Features :
   - Choose from 1-6 # of buttons
   - Re-arrange / assign buttons
  Id: Idc9f5f401f15d207504e49de47666bb5510a06ca

- Navbar : Rework logic for determining orientation
  This patch introduces better checks for hybrid ui's.
  This should fix issues of small buttons due to incorrect ui determination
  Thanks Rolf Arne Schulze for testing :)
  Id: If5b61dc4764a98deedb5b801d11451fed2488cba

Change-Id: I8903b85b6ee8581f8564d9dc7b0d40f645d7647a
Merge branch 'cm-10.1' of git://github.com/CyanogenMod/android_frameworks_base into cm-10.1
Merge branch 'cm-10.1' of git://github.com/CyanogenMod/android_frameworks_base into cm-10.1
Merge branch 'cm-10.1' of git://github.com/CyanogenMod/android_frameworks_base into cm-10.1
Merge branch 'cm-10.1' of git://github.com/CyanogenMod/android_frameworks_base into cm-10.1
Merge branch 'cm-10.1' of git://github.com/CyanogenMod/android_frameworks_base into cm-10.1
UMS support with any volume, not only primary (2/3)

This patch enables UMS support when any volume supports it, even when the
primary storage doesn't.

1. Vold: assign lun_numbers sequentially to the volumes being added to the
   VolumeManager.
2. Fix portions of code which assume that the device has UMS support iff the
   primary storage supports UMS.
   Instead, determine whether the device supports UMS by checking each volume.
3. Display the UMS option in Settings.apk when any volume supports it.

Change-Id: I00a8338abe566f5fa20653733d13503064183c7e
Signed-off-by: Oran Avraham <oranav@gmail.com>

Conflicts:

	services/java/com/android/server/MountService.java
	services/java/com/android/server/usb/LegacyUsbDeviceManager.java
	services/java/com/android/server/usb/UsbDeviceManager.java
Revert "UMS support with any volume, not only primary (2/3)"

This reverts commit 90ce2a4cbd1cabb8254d2facfd5cef07f8d6f01b.
Merge branch 'cm-10.1' of git://github.com/CyanogenMod/android_frameworks_base into cm-10.1
Merge branch 'cm-10.1' of git://github.com/CyanogenMod/android_frameworks_base into cm-10.1