Alarm: ignore less than 2 mins upcomming power off alarm

2 minutes is our define for enough boot up time for a power off alarm.
For current design, it can only afford upcoming power off alarm which
is later than 2 minutes. Kernel alarm driver only take care the power
off alarm which is 2 minutes later. And the framework only pass the
first power off alarm to kernel. So we need to find the first 2
minutes later upcomming power off alarm to kernel, otherwise it will
be no power off alarm from kernel's perspective. Fix the bug by
ignoring less than 2 mins upcomming alarm as power off alarm, and
only treat it as a normal alarm.

CRs-Fixed: 624561
Change-Id: I91379ecb2b378441ac2edb36212531ba6f203d8a
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
Avoid SystemUI crash due to NPE

BaseStatusBar.createNotificationViews() returns null
when it reports handleNotificationError(), leading to
a forced crash of the misbehaving app. However, it
should not add a null object of Notification.Entry
since it will also crash SystemUI (crashing at compare).

Change-Id: I86678c8024e931420b0fbab1f36b330e7e75d581
SystemServer: Do not start Atlas Service on lowram devices.

Provide an on/off switch to control atlas service at start-up. This
service is disabled by default on lowram devices to save memory.

Atlas service is responsible for pre-loading drawables which
can be shareable among the applications. Found that the probability
of using same drawables in different apps concurrently is very less.
However it allocates fixed size of ion buffer based on config.
So by disabling it this memory overhead can be avoided. We are safe
to disable this service as it does not block any functionality.

Change-Id: I3c73111be71ff6a39f87d711e6dc9382637fd537
Merge "Alarm: ignore less than 2 mins upcomming power off alarm" into du44
Merge "P2P : Wait for the terminate events on all the open interfaces" into du44
Merge "Avoid SystemUI crash due to NPE" into du44
Merge "SystemServer: Do not start Atlas Service on lowram devices." into du44