framework/base : Fix for Wi-Fi grayed out issue

During the initialization WiFiMonitor shall try to open the
control / monitor socket interface with the supplicant.On a
failed attempt to open the control interface WiFiMonitor
thread shall trigger an event SUP_DISCONNECTION_EVENT to
WiFiStateMachine with the expectation that the connection
attempt is restarted.In addition , it shall also remove the
interface from the mIfaceMap. During the restart , WiFiMonitor
shall not proceed to open the control interface with the
supplicant if the mIfaceMap does not point to the interface.
  Thus , do not remove the interface from mIfaceMap on a failed
attempt to create a control interface with the supplicant to
provision a reinitialization attempt.

Change-Id: Ia571a386c22e860b3e31f5153ae33f622b5d5973
CRs-Fixed: 642586
lowmemorykiller: Overwrite LMK parameters for low-tier devices

LMK parameters calculated by default algorithm were not optimal for
low-tier devices. Values mentioned here were well tested and
evaluated w.r.t memory and performance for such setups.

Change-Id: I40ed92d204aae6e758028ea1e9bd4ec7226dbe2b
[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
Display: Initialize mRotation to panel orientation.

    - Fixes the homescreen layout to be prepared based on the panel
      orientation.
    - Disables the rotation animation from 0 to panel orientation after
      bootup.

Conflicts:
    core/java/com/android/internal/view/RotationPolicy.java

Change-Id: Ie77e53ade087df05e102c45bf9d12bdaf09583f7
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
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
P2P : Wait for the terminate events on all the open interfaces

On a stop supplicant request from the framework , supplicant
shall issue TERMINATE event for per interface created and
thus WiFiMonotor shall kill the supplicant on the TERMINATE
event obtained on wlan0 interface.This would end up in not
deleting the other interfaces and thus they would be seen
as an active interfaces. Thus wait for the number of
TERMINATE events obtained corresponding to the number
of WiFiMonitor instances registered before killing
the supplicant.

Change-Id: I2d36d85d00073cf9a200dc92f94beefa4efe6087
CRs-Fixed: 601759
WIFI: Fix wifi auto-connect to other saved APs during WPS PIN scanning.

During WPS PIN scanning and AP side not enter the PIN, continuously
turn off/on screen will sometimes cause the phone auto-connect to
other saved APs.

WifiStateMachine accepts screenOn event, and sometimes will enable
all networks.

This change will NOT enable all networks in screenOn event While wps
is running.

Change-Id: I539ee6020a8e2b2fa6892c88569c302f89e8f5ed
CRs-Fixed: 646433
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
Wifi: Add a feature to control wifi auto connect.

If wifi connection type and gsm to wifi connection type is auto connect,
auto connect wifi.
CRs-Fixed: 507965

Change-Id: Icbfc58c93f13e97a2b6c6526d154153031e4b77c
WIFI: FIX wifi not auto-connect issue.

If the active network type is wifi, wifi connection type is auto,
auto connect to wifi.

This allows Wifi to auto-connect while wifi disconnected
for unexpected reason.

CRs-Fixed: 633648

Change-Id: I9f7f125cd7ffba18cbf5052e683cb31c6f71c573