SystemUI: fix msim signal cluster text label spacing

When WiFi is on and mobile data is active with msim device, the first
mobile text label (e.g. 1) was too close to the WiFi icon. Show the
spacer as necessary.

Change-Id: I2fc4c77f448647d79d81cfa02373da477556c6b0
Signed-off-by: Roman Birg <roman@cyngn.com>
SystemUI: hide msim no-sim icons

Simply hide the SIM mobile indicator group when a no SIM icon is
requested.

Change-Id: I074b8e486ab35f57daa1f1eaee7e5b696835b3b8
Signed-off-by: Roman Birg <roman@cyngn.com>
Revert "Themes: Build icon cache when applying icons"

This reverts commit 7bb802a478faaac295ccd8b98a3573701edd9b1e.

This is not thread safe.  It is possible for an icon to be in the
middle of being composed when another process requests it.  That
process would not be able to load the image.  In Trebuchet, the
icon would be displayed as the standard "android" icon since it
would not be able to load the icon.

Change-Id: Id9bc38296cc02c376f9ea66565babc00e8dbf634
Protect windowNoTitle and windowActionBar attributes

This patch creates a new method to define "protected" attributes. These
are attributes like windowActionBar which should not be modified by
a theme.

Some apps (eg gmail) use the appcompat library which
has its own Actionbar classes. When an app uses its own
Actionbar it must not include the default actionbar which is
achieved through the windowActionBar attribute.

Some themes may try to change these attributes, which can will cause
the app to crash.

Change-Id: Ie3bb7285eed09f3f13facf9d142ea9eb83796eec
SystemUI : Improve heads up display logic

- Add ticker as a condition for high priority (based on upstream L patch http://goo.gl/Kofy4V)
- Make sure non high priority don't get shown if screen is off or dreaming

Change-Id: I527ac55c641ac45848715a1baae5c44df1381644
Factory reset: Allow passing wipe_media to recovery

Change-Id: I3b6e224064055b2eef8c2909c7d36f9a76014d70
Fix build, RecoverySystem.

Change-Id: I8c7fd35e1f352990c3d8e65cf8a0a30ab0a06297