Bluetooth: Add SDK apis for Wipower and Peripheral feature

changes needed for Wipower and Periferal features.

CRs-fixed: 587811

Change-Id: Ibe73124daf78c79498fd1a6cbbcd75a88006c688
Bluetooth: Handle exceptions for bluetoot socket read

Handled IO exception in read function of BluetootSocket,
and also introduced a null check for mSocketIS.

CRs-Fixed: 605606
Change-Id: Ic948c72269e0de486a8f49163830528b002198ff
Bluetooth: Add Power apply enable event handling

Add Wipower Power apply enable related event handling
in frameworks

CRs-fixed: 612628

Change-Id: Iceb0cf8297ad0ab7080c0c494c1404127ff0258a
Merge branch 'kitkat' of https://github.com/LiquidSmooth/android_frameworks_base into kitkat
Add 2 APIs (suspend/resume) in MediaPlayer

- API:suspend() will just pause the player and release all the decoders
  to replace release() which will release the whole player
- API:resume() will just init the decoders again,
  then start() will be called to start to play the streaming

Change-Id: I3e2ffeb50dfe6d156b18416fa8964ff4a3d56a2c
VideoView: Implement the suspend/resume operation in VideoView

- To use the new APIs (suspend/resume) of MediaPlayer
- Add a new status "SUSPENDED"

Change-Id: I7a829b116e5df698fd4b0a5708f06927571d198c
MediaRecorder: Add pause interface

- add pause in java level
- add pause in jni level

Change-Id: I19372d496870f3729aa28464326995a71aa72299
CRs-Fixed: 587051
[1/2] Speed up booting on multicore devices.

1. Add multithreading support to Installer/installd.
2. Parallelize package scanning.
3. Parallelize boot dexopt.

Change-Id: Id42b2bf4a737f93f9ecd9b5819344adbb735f0fb

Conflicts:
	services/java/com/android/server/pm/PackageManagerService.java
Fix for multicore bootup
Add native java screen recorder [1/2]
Toast Animations [1/2]

Change-Id: Ib6b5aa94237207ada78c512997c8fc9765d68d1f

Conflicts:
	core/java/android/provider/Settings.java
	core/java/android/widget/Toast.java
	core/res/res/values/symbols.xml

Conflicts:
	core/res/res/values/symbols.xml
Revert "Fix for multicore bootup"

This reverts commit 7f04f4b104bd75a953dbbafec464ce5df2053605.
Revert "[1/2] Speed up booting on multicore devices."

This reverts commit 22df67b011aa97142365effbd27f727ac06cbf6b.
[1/2] Speed up booting on multicore devices.

1. Add multithreading support to Installer/installd.
2. Parallelize package scanning.
3. Parallelize boot dexopt.

Change-Id: Id42b2bf4a737f93f9ecd9b5819344adbb735f0fb

Conflicts:
	services/java/com/android/server/pm/PackageManagerService.java
changes needed for art with new boot code
Make bootanimation smooth
Revert "AOSB Recent App iPhoney UI"

This reverts commit 9d80f5f9b45737ad29791e6cb2595daf119e9aec.

Conflicts:
	packages/SystemUI/res/menu/recent_popup_menu.xml
	packages/SystemUI/res/values/liquid_strings.xml
	packages/SystemUI/src/com/android/systemui/recent/RecentsPanelView.java
Fixing Recents (WIP)
Frameworks: Slim recent app screen

One of the parts on AOSP google missed to update/improve in the last
couple of releases is the recent app screen to allow better and faster
multitasking. I had always a special vision how it could/should look
and gives the user a faster workflow.

This commit is now our new recent screen. It is a complete new implementation
and replaces googles AOSP recent app screen. The code changes in the base itself
are quiet miniml to call the new recent screen.

Some notes:

1. This patch needs a new repo: frameworks_opt_cards which is a central repo
   to get any kind of googles cards style. Thanks Gabrielle Mariotti a ton who
   made the base for this library and hellped a lot out.  We just fixed together with him some parts
   and mad it useable as AOSP central library. So we can use it later for other
   changes as well

2. Preload needs to work 100%. So it is needed to check that the calling parts
   (like hw key rebinding, pie, navigation bar) do a proper preload. If they do not
   recent screen will just not show up. To follow what they are doing you can enable
   debug in RecentController.java which exactly shows what was called.

Some notes to the patch itself:

- Recent app  screen slides from the right edge into the screen

- Show recent apps in new google card style. Most recent apps show
  expanded with the app screenshot. Other are collapsed. Of course
  the user can change expanded/collapse of each app during the session where the state
  will be restored on next access.

- Compared to AOSP recents we do a 3 stage loading
  1. step: preload the task list and build or update the cards (does not load any content at this point)
  2. step: User actually toggled the recent screen....icons, text and screenshot thumbnail which will get visible are loaded now
  3. step: Recent screen is fully animated in. All other non visible content at this time are loaded now.
  This allows a smooth experience for the user and a minimal load on the first 2 steps. Especially important due that we handle
  a lot animations which are very picky when it comes to background loads. last 2 steps are async multithreaded loading tasks.

- We are using for the app icons and thumbnails a bitmap LRU cache controller to have fast access to the bitmaps we need. This improves especially
  the scrolling and as well the loading time due that allready loaded app icons are holded in the LRU cache.

- Theme support is included as well for all items the recent screen has

- Most important point: Way faster workflow now. The recent screen neither freezes the underlaying app nor it does interrupt the current process the
  user is in. It just slides over the current app about 40% of the screen. Back button as well just an outside touch (which will be passed trough to the app)
  allows to immediatelly go ahead in your workflow.

- Normal click opens an app, longpress opens app detail screen (note: we have only one hidden action on our current recents. If we later decide there could be
  other actions as well...showing a google card menu button on the top right is a very easy task and allready provided from the frameworks_opt_cards lib)
  swipe left or right removes the app from the current tasks

- Pinch to zoom out gesture provides the ability to remove all tasks with a big red warning!!

- All above mentioned actions are animated.

- As usual it is multiDpi compatible

- A lot work went into the optimizing especially for low end non gfx devices where animations
  as well listview scrolling is not that easy. We got the maximum out of optimization here which
  gives acceptable results on low end devices and amazing one on the gfx capable devices.

- A small side note this patch contains as well a fix on navigation bar preload.

Thats the short description.....user need to see it to get the real benefits of this new way.

cheers

kufi

Change-Id: I1925cd9ea37f2239585445142bd37370f137eabd

Conflicts:
	core/res/res/values/slim_symbols.xml
	packages/SystemUI/res/values/dimens.xml
	packages/SystemUI/src/com/android/systemui/statusbar/BaseStatusBar.java
Frameworks: SlimRecents - add TRDS

replaced xml drawable with 9patch drawable to remove the overdraw

moved opt cards drawables into opt cards repo

Change-Id: I8ca379337298dcfc33b9ea288ea15440a2e0b0b4