GC triggering performance optimizations

Copy the correct starting heap size at process init.
Interfaces to set GC/managed heap parameters.

Change-Id: I0154d1523c3cfdb1214ed0315193cbb24704351f
frameworks/base: vectorize Bitmap operations

Enable gcc vectorizing optimizations for Bitmap operations within
libandroid_runtime.so.  Adds -ftree-vectorize -mvectorize-with-neon-quad
-fprefetch-loop-arrays to functions and compiles Bitmap.cpp in ARM mode
(necessary to enable vectorizing optimizations) for appropriate targets.

Change-Id: I12defef6f47adf41af849df6e750097f5906d92d

Conflicts:
	core/jni/Android.mk
fixed inconsistant define values with android_nfc.h

Change-Id: Idccd2de60caf7b72839d158b39d14e2cfcdd5fc7
Vectorize bitmap operations on A15 too

 * Commit a2e20761b5ad646ce3f08ed24995799dd81acee0 enables GCC
   vectorization for bitmap operations on Krait. Enable it on A15 also.

Change-Id: I1f733f5311376deb78782931ea2b83a8d12c2171
Power Menu: Update the Expanded Desktop drawable

Also add a proper "off" state.

Patch Set 2-4: Add to symbols.xml
Patch Set 5: Remove the useless extra sw600dp-xhdpi drawable

Change-Id: I111982a4985bba19353dd4f3872e5b21e73dd5f9
Fix SystemUI memory leaks on theme changes.

ContentObserver and BroadcastReceiver instances were dangling after the
status bar was recreated.

Change-Id: I0ef7ef134029e5deec066d405545b8d9ec58d76b

Conflicts:
	packages/SystemUI/src/com/android/systemui/quicksettings/AirplaneModeTile.java
	packages/SystemUI/src/com/android/systemui/quicksettings/BatteryTile.java
	packages/SystemUI/src/com/android/systemui/quicksettings/BluetoothTile.java
	packages/SystemUI/src/com/android/systemui/quicksettings/DockBatteryTile.java
	packages/SystemUI/src/com/android/systemui/quicksettings/MobileNetworkTile.java
	packages/SystemUI/src/com/android/systemui/quicksettings/MobileNetworkTypeTile.java
	packages/SystemUI/src/com/android/systemui/quicksettings/QuickSettingsTile.java
	packages/SystemUI/src/com/android/systemui/quicksettings/WiFiTile.java
	packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsController.java
	packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryController.java
	packages/SystemUI/src/com/android/systemui/statusbar/policy/CircleBattery.java
	packages/SystemUI/src/com/android/systemui/statusbar/policy/Clock.java
	packages/SystemUI/src/com/android/systemui/statusbar/policy/DockBatteryController.java
Reduce observers in SystemUI: StatusBarIconView

Currently, for each status bar icon view there is a observer that
listens for changes of STATUS_BAR_NOTIF_COUNT. With one
notification usually having one or more status bar icons
you may end up easily with 10+ more observers for ~5 notifications.

With this commit the internal observer class becomes a singleton.
This means there is now only one observer for all status bar icons
and additional binder calls on new notification are avoided.

See "dumpsys content"

Change-Id: I8c11b165b34b87e7363a8e96524ea70fe6b28342
ThemeUtils: Retain the original package name in themed UI context

In order for themes to reflect on system elements, we're changing
their context, including the package name.

This breaks anything that tries to identify system elements,
most notably any users of the uiautomator. Trying to do
'UiSelector().packageName("android")' to find, for example,
a force-close dialog will fail.

Fixes com.android.cts.uiautomatortest.CtsUiAutomatorTest#testUiWatcher

Change-Id: Ic05c3024b20ac3772ed5597846fbfa4a184ebb0d