libstagefright: Enable hardware thumbnail generation

Hardware video decoder will be used to generate
thumbnails if the software decoder fails.

- Enabled for 8660 and 8960
- Add property to disable use of sw decoders for thumbnail creation
- Additional debug logs in metadata retriever

Change-Id: I249d7be146b5d07468826f28f7843a208ed39c1b
libstagefright: Add HW thumbnail support for 8x55.

 Adding changes to support HW Thumbnail generation for 8x55
target.

Change-Id: If43ff1cd7764407890a86c555f3baebec8e99ae4
libstagefright: use hw codec only for thumbnail mode

     - Makes sure StagefrightMetadataRetriever use hw only codecs
       for thumbnail mode.
     - In cases where hw codec fails and exits without fully starting
       SFMetadataRetriever may allocate sw codecs further down the
       list
     - Attempting to start thumbnail mode for SW codecs will result
       in assertion fail

Change-Id: I6190d8c3190703ead44d20f4a988110fdb549ec7
(cherry picked from commit 798e5085870ed79764324fb9b22b0b1cfeeead7e)
libstagefright: Software decoder is the first choice for thumbnail generation

Set the flag to use software decoder only for the
first call to extract video thumbnail.

Change-Id: I09b3b3da5bfe57f21b0fecfbcc5aff7337bb91a2
CRs-Fixed: 323190
StagefrightMetadataRetriever - fixed source start assertion failure on MPEG4Source

 - OMXCodec calls start on MPEG4Source
 - in occasional cases during thumbnail generation when buffers cannot be allocated
   by OMXCodec, init() will fail along with start() with MPEG4Source still started.
   StagefrightMetadataRetriever will then attempt to start OMXCodec again which calls
   start on MPEG4Source, causing mStarted assertion failure in MPEG4Source start()
 - this patch calls stop on MPEG4Source in case when decoder->start() fails by calling
   destructor of MPEG4Source (which stops the source safely) and remaking the source
   using the getTrack() call in Extractor

CRs-Fixed: 326063, 325461, 323538
Change-Id: Ib16444f6d3a0589fdb26e79d8323ae1edf90a5a1
StagefrightMetadataRetriever: use cm platform naming

Change-Id: I8bd00396c6ba34237a4b6217e8a37f62a331df9d
ActivityManagerService: stay away from zombie content providers

When the lowmemorykiller kills a content provider in an unfortunate
moment, an innocent client app can become attached to a zombie provider
and be unconditionally killed moments after, when the dead provider is
being removed.
Prevent this race by addition of isAlive function to Process.java that
determines whether a process is still running and is not only a zombie,
add a check of the state of the provider process to getContentProviderImpl.

Change-Id: Id753b8dab103e4b447c4138468938ca9f5cb857d
Added Long Press App Switch and Long Press Home alternative
Removed white space

Change-Id: I1ac4daa0797922ed6e440f40adb9a5196eafbd69
Merge commit 'refs/changes/72/18272/2' of http://review.cyanogenmod.com/CyanogenMod/android_frameworks_base into ics
Merge commit 'refs/changes/54/18954/2' of http://review.cyanogenmod.com/CyanogenMod/android_frameworks_base into ics
Merge commit 'refs/changes/37/18637/1' of http://review.cyanogenmod.com/CyanogenMod/android_frameworks_base into ics
Merge commit 'refs/changes/38/18638/1' of http://review.cyanogenmod.com/CyanogenMod/android_frameworks_base into ics
Merge commit 'refs/changes/39/18639/1' of http://review.cyanogenmod.com/CyanogenMod/android_frameworks_base into ics
Merge commit 'refs/changes/40/18640/1' of http://review.cyanogenmod.com/CyanogenMod/android_frameworks_base into ics