Merge CM

Add block suspend capability to system server to allow
system server to hold wake locks in more recent Linux
kernels.

Change-Id: If37e6b3db43cde6b185e699926a940f6717aa05b

Reduce total number of background apps for low memory devices

Due to memory constraints, we anyway cannot fit the default number
of BG apps. So instead of killing background apps to
free up memory when launching, start with an already
reduced background set of apps.

Another side-effect is that launch latencies also improve.
This change is for low memory devices. (512MB RAM or less)

Change-Id: I9de0cb1734c0a386fc47cde71723e5c16825f5a3

frameworks/base: Update timelapse quality check

Updated timelapse quality check to include WQVGA

Change-Id: Ic2ef9ad78cbbc2daa14ff5e95ff3cfb6e10a7529

libmediaplayer: update MIME types to include DASH support

Update MIME types to include DASH support

CRs-Fixed: 539815
Change-Id: I300e3bec1425ec1e1170bd489097237218c52baf

When mInputText isn't on focus, hide the soft keyboard

Flash english keyboard quickly when press selected the
number of the date of each month in data usage

Change-Id: I0d2cbde1a72a575b009a2d84d2e020ad101ce5a3

Make sure that items are visible

Sometimes item is not visible in messaging recipient in landscape mode.

Change-Id: Icc96fe25fdba0d52aa3d4a62009b8a2e8b68a0be

SystemUI (MSIM): Fix Airplane mode toggle issue using Quick Access menu.

onAirplaneModeChanged() in QuickSettingsModel class needs to be called from
MSimNetworkController class (for MSIM) to update Airplane widget in Quick
Access menu. Same code is missing in MSimNetworkController class.
Add notifySignalsChangedCallbacks() at MSimNetworkController class.

Change-Id: I214f679b377f26fb58b6165a52c5e12c860f5111
CRs-Fixed: 543170

framework/base: Create surface based on the panel orientation.

  - Create Surface for boot animation based on panel orientation
  - Set the display projection values based on panel orientation.

Change-Id: Iaf66ac13cc44cf7910ff150b3a104eb52bcefdbf

DialogFragement: Add null pointer check for mDialog for protection

DialogFragement can be dissmissed just after the Dialog is
established. This will cause NullPointerException.

Add null pointer check for mDialog for protection

CRs-fixed: 549689

Change-Id: If57f81d03a8ec2906598363b681ea38806fb2a90

ChooseTypeAndAccountActivity: Fix the Null pointer Exception of monkey test

ChooseTypeAndAccountActivity crashed during monkey test, due to Null
pointer exception occurred.

To fix this issue, Add Null pointer check before we use it.

CRs-Fixed: 478250

Change-Id: Iae3e331edfda238ecb0c6d5d32b15329b1dfee0b

Bluetooth: Fix to avoid object leaks during BT OFF

A case where script is running to do BT ON/OFF 2000 times,
Each time while turning off BT FULL_CONNECTED_ASYNC_CHANNEL
is disconnected by Pan Service. HALF_CONNECTED_ASYNC_CHANNEL
is not disconnected, which leads memory leak in Pan Service
object as messenger passed by PanService & ASYNC Channel object.
which are still referred from BT tethering framework code. So GC
does not claim for these objects. HALF_CONNECTED_ASYNC_CHANNEL
should be disconnected, once FULL_CONNECTED_ASYNC_CHANNEL
is disconnected to solve this issue.

Change-Id: I5a7a2beb0169a755cf4f3f37fd0a0ab7d08fd9e5
CRs-Fixed: 591180

 Audio: SetForceUse config check in AudioService

 - Audio is routed to headset when BT is turned off while audio is
   played on speaker
 - Mediarouter does not have setForce device information when app forces
   audio to speaker. So while disconnecting BT, MediaRouter is routing
   audio to headset instead of speaker.
 - Added check for setforce config in AudioService.

 CRs-Fixed: 578316

Change-Id: Ie929f407bfa12eacd29cf36031024a4a6a979b63

Mms: Fix FC issue that when tapping contact icon many times

Add protection to check the extra string info from bundle before making
the URI, to avoid null pointer exception.

CRs-Fixed: 534089

Change-Id: Ie8c78ca42c290e16afa1fefeb01ea67c8e963b06

QuickBoot: don't wake up screen when usb connected

Don't wake up screen in QuickBoot mode when usb connected.

Change-Id: If65936a0edbbc3b36a0768294e5c3bd7d741018a

framework/base: Handle P2P-REMOVE-AND-REFORM-GROUP event

Remove P2P group on receipt of P2P-REMOVE-AND-REFORM-GROUP event from
wpa supplicant and then reform new P2P group if autonomous group is
set to true.

Change-Id: Id6fbf2c2ebbebc06afc70cf56a7b434eb8ab2eea
CRs-fixed: 531882

wlan: Fix to handle the failure status on supplicant start.

WiFiController shall enter in to StaEnabledState state after the
request to start supplicant irrespective of status being success
or failure.Thus,any new attempts to turn on Wi-Fi later shall
fail as the controller statemachine is expected to be in
APStaDisabledState to start Wi-Fi.
Thus , start the supplicant on a command CMD_WIFI_TOGGLED in the
StaEnabledState if the current WiFi state is neither
WIFI_STATE_ENABLING nor WIFI_STATE_ENABLED.

Change-Id: If4c4913b608411bac334f9c201441aaf36d7675b
CRs-Fixed: 570305

Revert "Add support for BeiDou and Glonass"

This reverts commit 9c3c49b082916f83f4ced99ae81647e5c3fc1202
since it picked up the wrong patch for merge
CRs-fixed: 582614

Change-Id: I6e1d45856fa26d470209396980f46ea13e5041db

Add support for BeiDou and Glonass

Add masks for BeiDou amd Glonass
to delete aiding data
CRs-fixed: 582614

Change-Id: I651adcf4f5486c827bea8487e3437f15cd6d8013

framework/base: Do not kill the supplicant on a request to stop it

Supplicant is killed on obtaining the first TERMINATE event when
requested to stop from the framework. This shall result in improper
shutdown of the supplicant without proper cleanup of the resources
allocated for all the interfaces.
Moreover, there is no point in killing the supplicant when the
request itself is to to stop the same. Thus, do not kill the
supplicant on the TERMINATE event.

Change-Id: I954bb09faa94252eea53a14b090a6cff610c5964
CRs-Fixed: 601759

P2P : Flush P2P scan results on group fomation failed event

P2P group fomation failed event removes the target device entry
from peers list in framework.If Group negotiation request comes
from supplicant, framework will drop request due to entry removal
in peers list.
To handle this situation, framework has to send P2P flush command upon
device entry removal, so that supplicant and framework will be in sync
with device information.

Change-Id: I738ea50706d337bcc7e33d07bac53aa26b18ca7a
CRs-Fixed: 610632

[video] : added mime-type for mov files

- Added video/quicktime mime type for mov files in
  MediaFiles.Depend on the mime-type it decides
  to show either in gallery or music app

CRs-fixed: 515036

Change-Id: Ieab6c15d78d2d140158833905e8e387643f1157a

Show submenu from menu list on hardware MENU key press

Submenu is not shown when menu list is open by pressing
hardware MENU key. But it is shown properly when menu is
open from overflow button.
This change will unify the behavior of MENU key &
overflow button.

Crs-Fixed: 622050
Change-Id: I91e336df845febf048583989c8c6b831e04856b1

wifi: Disable the network based on the Deauth reason code.

Network connection failure shall happen due to various reasons
(VIZ assoc_reject, max supplicant loop iterations, authentication
failure due to wrong password, etc). For the cases apart from the
reason being assoc_reject there is no point continuing still
enabling the current profile and hence disable the same.

Change-Id: I9a0022d100dcfb1e1d1a9540ec6439ad140c06d1
CRs-fixed: 626680

IndexOutOfBoundsException observed in ProcessStats

Sometime, IndexOutOfBoundsException is observed in ProcessStats
while allocating longs array. This could be due to synchronization.
This fix will return if array index is >= size.

Change-Id: Icd81d84607ca28c5f1b0f9a05e255037252239fd
CRs-Fixed: 638977

Tunning max allowed background services

The serialize running of background services feature
delay some services startup when system bootup, and
lead some abnormal behaivor at the early of system startup.
Tunning will be disabled after system complete bootup.

Change-Id: I834607d9156253bee13848586a8136e24760fdf4

Bluetooth: Avoid fd leak for Bluetooth server socket connections

-As the close function of local socket implementation is dependent
 on mFdCreatedInternally, it will not be set for bluetooth server
 sockets, this will lead to fd leak on bluetooth socket connection.

-Exposed the API to set mFdCreatedExternally flag to close fd which
 was opened externally, so that when the actual close request comes
 fd will be closed successfully based on flag check.

CRs-Fixed: 638042
Change-Id: I22c6a973b30531407148f9d9e50820422d4427b0

wifi: Support for AP with Chinese GBK Charset SSID

It doesn't support Chinese GBK Charset in original android.
But there are some APs with Chinese GBK Charset SSID, it will result
in that wifi can't display these APs nomally and connect to these APs.
Here make a conversion in wifi JNI layer. When "SCAN" or "GET_NETWORK"
command has the reply with Chinese GBK Charset SSID, convert GBK to UTF-8.

CRs-Fixed: 497995
Change-Id: If4d1d5bc3a98490db55c69ebcc0c78d526b7a563

Wifi: get rid of the log from Gbk2Utf

In android_net_wifi_Gbk2Utf.cpp, we set DBG as true,
this should be false in default.

Change-Id: Ib5673f0817677887d6b050191d96edb33fdb8799
CRs-Fixed: 690860

Frameworks: Fix ap list issue while wifi turns on

Decrease the sleep time to resolve the synchronization issue
which happens between wpa_supplicant and Wifimonitor thread
when wifi turns on.

CRs-Fixed: 673012

Change-Id: I4e2414301ace26a26351b6c1345e1ff6e7ab49a9

Bluetooth-OBEX: Fine tune OBEX Tx MTU for better performace/power

This will change improve Tx throughput and better power numbers
during operation.

CRs-Fixed: 625250
Change-Id: Ife61b1e48c633c3ea2f7bba7afce21c7c16ddd85

[HWUI]: fix residual line on FrameBuffer

Symptom: If app applies animation to enlarge a bitmap, there will be an residual
         line on the screen

Root Cause: On platform which has Tile Rendering implementation (ex. Qualcomm
            CPU), startTiling() call will restrict the framebuffer region which
            GPU can affect. So the expansion of clear region by 1 will not take
            effect if startTiling region is not expanded.

Solution: Expand the startTiling region by 1, too.

Reproduce steps: Apply animation to enlarge (and then shrink) a bitmap icon.

Change-Id: I7b4a59e180daa29dbe909d9e11f4093ae1d7396f

[HWUI] Fix invisible views are still shown in popup window

Symptom: Invisible views are still shown in popup window

Root Cause: glClear isn't called if there is no draw command

Solution: Even if there is no draw command, it still calls glClear
          by startFrame().

Reproduce steps: App set one view in a popup window to invisible,
                 it will be still visible.

Change-Id: I36bc7b752434ad388fbb80ea63341ac778f48d35

[Asset Manager] Fix memory leakage bug

Symptom: memory leakage
Root Cause: new SortedVector but not free it in native cpp
Solution: free the SortedVector
Project: AOSP
Note:

Change-Id: Iab5a7f2e8d8509631301e7231427927d4797c856

Revert "QuickBoot: don't wake up screen when usb connected"

Duplicated code

This reverts commit 9cf2a41749b0f9e732a14c62ac60e9bcf9e48a27.

Change-Id: Ib2274d4147115275fb0d947ee5a78646cc1f901c

SystemUI: Fix too long SK bluetooth string

Change-Id: Ib5202b27621e1668e1d4ab4ab09700d4698fcb05