SystemUI: Extra Slim Shortcuts && Cleanup

Some cleanup of slim shortcuts
	& implement method to allow
	user to toggle toggleable
	settings to the preferred state.
	Much easier to use with confidence
	knowing you'll be in the correct state.

Change-Id: I897ee4567426d0314952b9860a487ab445795dfc
Keyguard: don't refresh ui when screen off

KeyguardStatusView is doing refresh all the time,
which cause high power when screen off.

PatchSet:
- We turn of the refresh when screen is off which is a good
  idea. But we should force latest next refresh when screen turns
  on. Du that a timechanged refresh maybe comes a bit later.

Change-Id: Ifabdde4419a23e919cd52fe77e78ec3160575af1
ProcessList: use different polling interval when screen off

We are using the same time interval for both screen off and screen on.
For process on top: ActivityManager.PROCESS_STATE_TOP, we will poll PSS
information every 120 sec.
During polling PSS, we are grep /proc/%d/smaps which is a 10k lines file.
This cost quite a lot of CPU resource. But when screen off, we don't need to update
TOP process PSS so frequently since we are not operating it. Lower polling
circle to every 15min to reduce power.

Change-Id: Ia4cd26290d44d066f034d5270ce5523650a3c493
UI not updated correctly in expanded statusbar

Sometimes when getting status changes in expanded statusbar the
text disappear. Both NetworkController and PhoneStatusBar handles
UI updates and they are not in sync. This fix allows PhoneStatusBar
to update UI when NetworkController is updating the UI.

Change-Id: I46b8a24ecc732e441f836692c6584a78d8108dff
onAccountsUpdated shouldn't be called back after listener unregistered

There is a problem of AccountManager that onAccountsUpdated() is
called back even after the OnAccountsUpdatedListener is unregistered.
It may cause application crash.

For example, when rotating a tablet 180 degree with Settings apk
running, com.android.settings.Settings is re-launched 2 times
successively. (Destroy->Create->Destroy->Create)
It repeats adding&removing OnAccountUpdatedListener.

When dialog was being opened in the following cases,
NullPointerException at BackStackRecord.getBreadCrumbTitle()
was happened on 10 inch tablet which has 2 panes on Settings.
* Settings > Language&input > Language
* Settings > Language & input > Text-to-speech output > Speech rate
* Settings > Wi-Fi > Menu > Advanced > Keep Wi-Fi on during sleep
* Settings > Wi-Fi > Menu > Wi-Fi Direct > Rename device

This fix prevents the undesirable callback.

Change-Id: I081f69c90539cca821cf686b4587495135f375e4
Frameworks: Pimp up Notification Labels Hide [1/2]

This adds fine grain priorities to hide the labels in the notification
drawer in the following ways:

- Show all Labels
- Hide Carrier Label
- Hide WiFI Lable
- Hide all Labels

PS:
- fix codestyle

Change-Id: I8be92bdf27ba017b6aec3c2b311a83758cded6ff

Conflicts:
	core/java/android/provider/Settings.java