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
DockAudio: Route audio via dock for Samsung devices

This patch simply removes the audio routing checks for Samsung
devices and routes audio via the dock when the mobile is docked.

There is no option to disable audio routing out through the dock

Change-Id: Ie3f99101b051326913d06f1c78894d50035f6e62
When wifi wants ASCII lowercasing, it needs to ask for it.

http://elliotth.blogspot.com/2012/01/beware-convenience-methods.html

Bug: https://code.google.com/p/android/issues/detail?id=58359
Change-Id: Ibf25d0bbc76015cf8353ec01ab2b743cbc2bde67

Conflicts:

	wifi/java/android/net/wifi/WifiStateMachine.java

If frameworks wants ASCII casing, it should explicity ask for it.

http://elliotth.blogspot.com/2012/01/beware-convenience-methods.html

Bug: https://code.google.com/p/android/issues/detail?id=58359
Change-Id: Iaab02e718a7be7bda22e626dca05d79bfd2a8fc4

If graphics wants ASCII lowercasing, it needs to ask for it.

http://elliotth.blogspot.com/2012/01/beware-convenience-methods.html

Bug: https://code.google.com/p/android/issues/detail?id=58359
Change-Id: I13c106985302335dbb15bb9176d35ec6b4546d4e

If media wants ASCII lowercasing, it needs to ask for it.

http://elliotth.blogspot.com/2012/01/beware-convenience-methods.html

Use toLowerCase(Locale.ROOT) if you want ASCII for machine consumption,
and use toLowerCase(Locale.getDefault()) if you want the user's locale's
casing rules for human consumption.

Bug: https://code.google.com/p/android/issues/detail?id=58359
Change-Id: Id9005a17e34217a81bef3b40031b9e2e6272f45d
Core: PT-rPT translation

Change-Id: Ia9614c1162b60284f35f9677fb508a96d2a9694e
Merge "Core: PT-rPT translation" into cm-10.2
InputDevices: PT-rPT translations

Change-Id: Icd14302f78f0755c92a1a52be07737ba21c7bb54
SystemUI: PT-rPT translations

Change-Id: Ic2ef9611143b5c9adb2cb9ddef5e45ff3aff11a6
Hide GlowPadView warnings

Make message verbose and contingent on DEBUG. This has been spamming
my logs everytime I touch navbar or lockscreen targets.

Change-Id: Iea1a6db86055d4034405f0ee4e20282b6c493210
Merge "DockAudio: Route audio via dock for Samsung devices" into cm-10.2
Merge "When wifi wants ASCII lowercasing, it needs to ask for it." into cm-10.2
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
Merge "Revert "platform: Remove mapping of android.permission.CAMERA to camera group"" into cm-10.2
Merge "Move 'start music player on headset connection' option out of DSPManager (1/2)" into cm-10.2
Merge "Rework thumbnail handling" into cm-10.2
Merge "Hide GlowPadView warnings" into cm-10.2
Core & SystemUI: RU translation

PS1: Rephrased "lockscreen_discharging" and moved it to cm_strings.
     Brought back "lockscreen_plugged_in" from AOSP, to prevent merge conflicts.

PS2: Updated translation for Pie controls and Quick Settings.

PS3: Moved "lockscreen_discharging" back to strings.xml, like in original translation.
     Fixed a typo in "lockscreen_plugged_in", now it's identical to AOSP.

PS4: Updated and rephrased Permlabs. AOSP russian translation starts them with capital
     letter and uses nouns instead of verbs.

PS5: Added translation for Mock SMS permissions and "progress_nomediapresent" message.

PS6: Updated plurals to fix AOSP bug, where "1 item" was also displayed for 21, 31, ...
     Will be also proposed to AOSP Code Review.
     Original discussion here (translators only): http://goo.gl/tD5cBg

PS7: Rephrased "navbar_menu_" strings, more precise description now.

PS8: Made changes suggested by Marco: removed msgid in "lockscreen_plugged_in" and an
     unneeded comment for "progress_nomediapresent".

PS9: Reverted plurals' fix. Will create an AOSP bugtracker entry for this.

Change-Id: Ied3d421ba3f84eca3248b6afab4721aa623d528e
Merge "Core & SystemUI: RU translation" into cm-10.2
Merge branch 'cm-10.2' of github.com:CyanogenMod/android_frameworks_base into cm-10.2