MultiUser Support cleanup
base: Fix screen on stats after a boot

Prior to this change, the following sequence:

  * Turn the display off
  * Issue a reboot via adb
  * Unlock the device (after rebooting) before the screen turns off

results in the screen being on but the battery stats not reflecting
this fact.

In general, the mismatch occurs when either there is no serialized
battery stats state or when it is serialized in a state where the
screen is off.

Change-Id: I17374553fae6a08a1be8fdf445967509474177a9
Base: fix MultiSelectListPreference NPE

Error AndroidRuntime 25851  Caused by: java.lang.NullPointerException
Error AndroidRuntime 25851         at android.preference.MultiSelectListPreference.onGetDefaultValue(MultiSelectListPreference.java:212)
Error AndroidRuntime 25851         at android.preference.Preference.<init>(Preference.java:268)
Error AndroidRuntime 25851         at android.preference.DialogPreference.<init>(DialogPreference.java:69)
Error AndroidRuntime 25851         at android.preference.DialogPreference.<init>(DialogPreference.java:90)
Error AndroidRuntime 25851         at android.preference.MultiSelectListPreference.<init>

also Cleanup whitespace :/

Change-Id: I3f0a1fba8f6651522e4f0c4e4750b2ce0042314f

Conflicts:
	core/java/android/preference/MultiSelectListPreference.java
Parallel shutdown

Decrease shutdown time by doing some shutdown tasks in parallel.

There are two threads executing during the shut down: the ShutdownThread
and a separate thread for the radio shutdown. However, the execution is
done in serial, as the ShutdownThread immediately joins on the radio
thread.

This commit will move the shutdown of the radio to the beginning of
shutdown and execute it in parallel to the shutdown of the rest of the
system.

The flow of the two threads during shutdown is now:

Radio Thread
  * Start shutdown of the radio
  * Wait for radio off or time out
  * Notify that the radio is done
ShutdownThread
  * Broadcast ACTION_SHUTDOWN as a parallel broadcast. (The receivers
    will get as much time to handle onReceive as it takes execute the
    rest of the tasks in the shut down flow. If they are not done in
    that time, we don't care.)
  * Shutdown ActivityManager
  * Shutdown MountService
  * Wait for MountService and radio to notify done
  * Vibrate
  * Low level shutdown

Change-Id: Ifdd8a9c75337fd9d00148a0d2b9917e10fa60634

Conflicts:
	services/java/com/android/server/power/ShutdownThread.java
Combo Provider: Get the package name from resource

Get the package name for combo provider from resouce
instead of hardcoding the name. Also, geofence services
provider is renamed to differentiate from the hal
geofence provider

CRs-fixed: 608477

Change-Id: I84739e440d688d6e1784aa5ab4e2074eaa740bab
Combo Provider: Specific location screening

Only screen network locations if Combo provider is
the connected network location provider.

CRs-fixed: 608477

Change-Id: I513bddae9cff493dd9aac4460168864548e4bfb4
Fix for crash in LocationManagerService

Resolved issue where MockProvider was being cast to
LocationProviderProxy and would cause a fatal exception.

Change-Id: I7c8c83961dd03d59292e773b01995ed6b3ac04c7
CRs-fixed: 619882
Sometimes property service is slow to respond.

Upon boot-up, telephony service will update the system property for
timezone and send out broadcast.The property service won’t handle
the update immediately if the init process was doing something
time-consuming. Meanwhile StatusBar(one broadcast register) may get
the outdated value by reading from system property, because the
update is not handled yet. Then wrong time will be displayed on
status bar.

Change-Id: Ic29b7940b58e01651da4e0bafa7a88b902164bd0
Signed-off-by: Gao,KunX <kunx.gao@intel.com>
Signed-off-by: Guobin Zhang <guobin.zhang@intel.com>
Don't make isSafeMode a field on the Zygote class.

This field is written and read exclusively by the system server,
and should therefore belong to the SystemServer class.

Change-Id: I2708a9a45c0c9cd1a6f563e8cc5844bd8c424bf7
Improve detail message for X509TrustManagerExtensions argument validation

Bug: 13728564
Change-Id: I03d08babcdc0d11baff5e76a339b4285e92edee8
GC: Improve the string parsing for GC parameter setting

Improve the string parsing for GC parameter system property.
Previously we only recoganize plain number for dalvik.vm.heapminfree
and dalvik.vm.heapconcurrentstart, while users tend to use format as
2m.  Improve the string parse to cover such cases.

Change-Id: Iaf0152bc4d77e1caabc307a9a7b0e5b261f8e441
Set some GC parameters only for dalvik

ART currently doesn't support setting heapminfree and heapconcurrentstart

Change-Id: I09e60802685acbec04598646e9f7700f33b53b4c
Signed-off-by: Dirk Rettschlag <dirk.rettschlag@gmail.com>
utils: contants: introduce FlashLightConstants

contains constants for use with our torch app.

Change-Id: I64c349d062eff7ff24180bf7e5b9dcac57f5e4b3
Proper flashlight name

Change-Id: Idaec56cd8f2c75aca5dc461df0b64ddab757935b
Revert "Base: On-The-Go: Turn stop and start service if screen turns off and on"

This reverts commit 20f5d5c7190ffce6795b92d60d94ab2a2777b28d.
Base: On-The-Go: Toggle flashlight when shaking

Change-Id: I42c75ef17640ea6485ee57240abee8582036d60d
Base: On-The-Go: Turn stop and start service if screen turns off and on

Change-Id: I46cbc6a59ab5489ab0fad2b6df355c60599f4cc0
server: start cne service

Connectivity Engine (CnE) provides advanced network selection per socket,
reduced signalling traffic, and increased power savings.
The service implements the interface defined by CNEManager which Android
applications may use.

Change-Id: I9ffd1f5d60f5e9e185ab482a35b3b07f29a4124c
(cherry picked from commit 3a4e3ba1bc67c460ec3c2fd4ef169ae25e3e69b1)
(cherry picked from commit 1bb0036652318ac8bbecf3e6c810bbc779387c61)
(cherry picked from commit 3c8af4a2546d9b71d113072d680107cb56651e71)
(cherry picked from commit 861a4b062196020bf24a5b3731c717b5b95a7d77)
(cherry picked from commit e3dba9799892f13c5bc2376b81cf5dceae17492c)

Add Connectivity Engine (CnE) WQE support

Enhanced connectivity features viz. Wifi Quality Estimation.
Supports dual network mode - wifi & mobile simultaneously.
Use QcConnectivityService when CnE is enabled for all CnE features.

Change-Id: I14b02e21515bfc1b5fd2fc4f28e5190fa80f83f8

server: Initialize ConnectivityService on low memory device

Skip initialization of QcConnectivityService and
use ConnectivityService.java for a low memory device

CRs-Fixed: 531430

Change-Id: I2111ec32f6e40ca79b7fc91ec4cef97ac27f3b3a

Update CNE feature values.

Start QcConnectivityServices for the new
application traffic profiling feature too.

Change-Id: I52ae76420ebd098d43fe0663f41ce622a407b90e

connectivity: allow inheritance to subclass

set modifier to protected in order to allow
subclass to use the same data and avoid redefinition.

Change-Id: I2dc688d3e433775cb073ec6faae3981807212cc9

Change visibility of methods

Change the visibility of some methods so that
they are accessible to the child class.

Change-Id: Ie1a45978b42742cac0aaedba29fb2375882c0ae4
CRs-Fixed: 611347

Conflicts:
	services/java/com/android/server/SystemServer.java
add VoiceWakeup Settings value

Change-Id: I798d1ed9b2bda0fe8a36b8fa2bd17d74d2a09cab
Keyguard: allow keyguard to be dismissed via intent

Requires system permission "android.permission.CONTROL_KEYGUARD"

Change-Id: I9f8f5ca90a65b949d43fac33ce3e9e39ffdf9254
Signed-off-by: Roman Birg <roman@cyngn.com>