frameworks/base: Add support for QCELP/EVRC formats

Change-Id: I82e4e2c23e6ed3e2421fe54ff8bd4f848768b8c6
ActivityThread: Avoid creating duplicate handlers and reuse mH

sMainThreadHandler is used for notification of changes in
SharedPreferences and refers to a new instance of Handler instead
of the existing instance, mH, of the ActivityThread. Fix to reuse
existing handlers associated with main looper.

Change-Id: I794a5802a9eacdb188bd0619db5e70e3ae89a07d
StorageManager: fix issue that GREF has increased to 2011 in system server with intel stress test.

Issue description:
When run ICS stress test, always meet GREF issue. one of contributor is MountService$MountServiceBinderListener.
log info
19:21:11.609   222 24316 W dalvikvm:        24 of com.android.server.am.ActivityManagerService$AppDeathRecipient (24 unique instances)
19:21:11.609   222 24316 W dalvikvm:       479 of com.android.server.MountService$MountServiceBinderListener (479 unique instances)
19:21:11.619   222 24316 W dalvikvm:         7 of com.android.server.accessibility.AccessibilityManagerService$6 (7 unique instances)
Note: PID 222 is system server.

Issue alaysis:
Everyone can call getSystemService(Context.STORAGE_SERVICE) to get service.
When other service get StorageManager, StorageManager will new MountServiceBinderLister and
register a listener in MountService, which won't be unregistered. It's easy to generate a lot of
instance of unused MountService$MountServiceBinderListener in system server.

Issue fix:
So change the policy to be:
1. Doesn't new MountServiceBinderLister in construction.
2. when other service needs to register listener in StorageManager,
StorageManager will register listener with MountService.
3. When other service needs to unregister listener in StorageManager,
if there is no more other listeners in StorageManager, StorageManager
will unregister listener in MountService.

Change-Id: Iaaf889f44a1a5f62b9f65b3ab1b486c9b7dcaf7f
Author: Chuanxiao Dong <chuanxiao.dong@intel.com>
Signed-off-by: Bo Huang <bo.b.huang@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Signed-off-by: Bruce Beare  <bruce.j.beare@intel.com>
Fix SurfaceView notifies on invalid surfaces.

SurfaceView notifies registered callbacks on invalid
Surfaces.

Change-Id: Iddc9a5cd073fb73a0e7e9b9ca64ff4fac0777ca7
Return early when checking divider before child zero.

Previously the `getChildAt` method would be called with an index of -1 which
would lead to an exception being thrown and caught. This is unnecessary since
we know there will never be a divider before the first child. It also avoids
additional object creation since this method can be invoked quite frequently.

Change-Id: Iab44520d5d52f96a829a009cdd1201696edbf9a4
Telephony: Add HSPAP to getTcpBufferSizesPropName

When device is camped on HSPAP TCP Buffer sizes need to be configured
properly to support higher data rates. Without this change, default TCP
buffer sizes will be used and throughput will be low.

Change-Id: Ica5884b35851a32e57c82c63b148df5be580ae83
Revert "ActivityThread: Avoid creating duplicate handlers and reuse mH"

This reverts commit 54ec46e0470f121d0c123b593958b940076626b4.
ProviderMap: remove hashmap when entire user specific entries are removed

User specific entries in  mProvidersByNamePerUser and mProvidersByClassPerUser
isn't cleared when entire user specific providers are removed. Fix is to remove
the user specific hashmap in such cases.

Change-Id: I6edf211ced873e59f3b89ffceb9eceec13ea8f3f
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
ContentProviderRecord: Remove external process reference when finalized

ContentProviderRecords is removed from provider map by activity manager service
when the process hosting the content providers terminates and this causes GC
to free the content provider records but the reference to external process
using the content provider isn't cleared. Fix is to clear the reference and
unlink for death notification.

Change-Id: I67fd10cee57b02257792d0c9b4569fe11dea7648
Added check of ActivityInfo launch mode when starting activity.

When starting a singleTop activity from a singleInstance activity,
the onNewIntent() callback was not called when expected. The
reason for this was that only the launchMode specified on the
intent was checked and not the launchMode specified in the manifest.

Fixes issue 17137.

Change-Id: I1a9bc1007d6f5145bf93a6161534732bf5214b7a
card emulation patch port to JB

Patch Set 2: Added missing @hide statements and rebased

Change-Id: I73fe9aa30830951ea5b9d44e9a9bf83cb720e567
wifi: don't avoid poor connections if mobile isn't connected and avoid
NPE on wifi only devices.

Change-Id: I7dcbbe682ee69bc23b8d9fe8cbed49cab7cea04b
CatService: Handle CAT timeout

Samsung STK sometimes sends CAT timeout message. Handle it to
prevent force close.

Change-Id: Ic80da420fc25b417aefd48bba05d03720c052461
Correct Change I32c89b82

Change I32c89b82 introduced a problem in compiling target FrameworksTelephonyTests.
Two functions were inserted in the wrong files.

Change-Id: I4b9903b64a00a327730c29bfa7d60ff77709534d
Fix SkBitmap::fPixels not being locked correctly

In some cases bitmap's pixels where freed during encoding, which
caused a null pointer dereference.
This fix makes sure that underlaying buffer is locked for the whole
process of compression.

Change-Id: I0ac56821f5d333072271dc2670fa30f1562adfa3
WebView: fix crash when moving cursor

Caused by http://review.cyanogenmod.com/20731 when the cursor is
moved while no text is selected.

Change-Id: I71d49f1a16271dd0b7a0b4930f04d33a64a69b49
frameworks/base: Increase the buffer size to hold the whole content of the file.

When we have more cpufreq steps and cpufreq's time_in_state stats file
can grow beyond 256.

This buffer size was not enough because the file has more than 300
characters. So it read part of the file and the parsing failed.
This runs from ActivityManager, so when the ActivityManager dies
framework reboots.Increasing the buffer size will help use to get
the whole file into the buffer.

Change-Id: I3f95dc7534fdaf5e139966c0d1be8d79d6413a0f
Fix for updating TCP buffer size when switching network type

When PDP connects in GSM network, the TCP buffer window size is
set to max 8760. If the phone swicthes to UMTS, the TCP buffer
size is not updated to UMTS, i.e. GPRS buffer size is still
used with limited data transfer spead as a result.
This fix makes sure the TCP buffer size is updated when
switching network type.

Based off of (varible name change): https://android-review.googlesource.com/#/c/41612/

Change-Id: Idf19bca0b2eca218899aba68002d652b65070916
RILs: Eliminate repeated overrides of responseOperatorInfos.

- Add mQANElements field, default to 4 in RIL, use in responseOperatorInfos.
  This may be set to 5 in subclassed RIL constructors.

- Remove repeated overrides of responseOperatorInfos by subclassed RILs, as
  there's no logic change, just a disagreement as to whether the
  QUERY_AVAILABLE_NETWORKS response is an array with 4 or 5 per-network
  elements.

- Size OperatorInfo ArrayList appropriately in SemcRIL and SonyQualcommRIL.

Change-Id: I1254a670d8611f76aad13a6f197c67012c7d4c47

Conflicts:
	telephony/java/com/android/internal/telephony/QualcommSharedRIL.java
	telephony/java/com/android/internal/telephony/SamsungQualcommUiccRIL.java
	telephony/java/com/android/internal/telephony/SemcRIL.java
	telephony/java/com/android/internal/telephony/SonyQualcommRIL.java