Move 'start music player on headset connection' option out of DSPManager
(1/2)

This option isn't related to DSP manager at all, so it shouldn't be
implemented there.

Change-Id: Ibe35c9739ccb4f4587ee71f514d16fb317bf4034
Revert "platform: Remove mapping of android.permission.CAMERA to camera group"

This reverts commit de1e404d570dd03529c1e4e8ffbbce432e8be4a2.

Change-Id: Ibc62cb0fc9992e6676ed2af9f1718d28257f65d0
Rework thumbnail handling

Since ids of media file are usually not continuous, the original file of thumbnail are
sparse. When there are big numbers files on ex\
ternal storage, the size of this file will be horrible.
Ex, when the id is 20000, then the .thumbnails/.thumbdata3-xx file will be 50000*10k = 488.28M.
Can refer http://stackoverflow.com/questions/12396715/android-huge-thumbdata4-file-in-dcim-folder
Because after 4.0, MediaProvider will scan any files, this will be a big problem. So I modify MiniThumbFile.java to avoid this.
According to the id, we now produce an index file. In this index file, one id will use BYTES_PER_MINTHUMB_INDEX(8) bytes in offset (i\
d+1)*BYTES_PER_MINTHUMB_INDEX. The data of these 8 bytes is the index of thumbnail file. The first BYTES_PER_MINTHUMB_INDEX bytes kee\
p next available index. And when you need insert a thumbnail, the index increase by 1. In this way, the block data in thumbnail file \
will be continuous. And thus unnecessary zero paddings will not be saved.

Change-Id: I66005dd69b0a5c8f4353bd7a8225d163a654fd2d