MSIM: Support operator MCC querying in MSimTelephonyManager

Change-Id: I273ae11790af96c2a0a174914fb288dba4d6724c
USB notification: Always show USB storage notification

from https://github.com/der-koenig/android_frameworks_base/commit/ae05551261e630b0d4608bde8f8a66b67c29331d
UMS: Fix handling of manually unshared volumes, enable UI to unshare all currently shared UMS volumes

Change-Id: Ifb0367789c0db87856c5ecb5cefcfcba73e19c91
MSIM: Use -1 for unspecified SMS subscription

Change-Id: I828dedad55e6358287edcf865bd3c76a93b1fe7e
Change "No SIM" icon for MDPI

Change-Id: I414e2c999b340ca76a2ccc9d48eb4a446070fc16
CallLog/CallerInfo: Add subscription field

from https://github.com/der-koenig/android_frameworks_base/commit/730ddb2ed2b111780fb2b16518fffceb05ab669c
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
fix double