part 1 of LTE toggle support

Change-Id: I2e1cf08b4a6d49492eec63d4106c857b3905addd
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
fb: Fix wrong IME state handlings on keyboard switches

this change introduced some slim keyboard features

https://github.com/SlimRoms/frameworks_base/commit/d51b14e667fe0dfed02c5080fbea97c349a12889

We assumed that calling updateFromSettingsLocked(true) is in all value changes
a possible way to simplify the process. In reality this fails when the user
switches eg between 2 IME keyboards several times due that we call every
time

                        mIPackageManager.setApplicationEnabledSetting(imm.getPackageName(),
                                PackageManager.COMPONENT_ENABLED_STATE_DEFAULT,
                                PackageManager.DONT_KILL_APP, mSettings.getCurrentUserId(),
                                mContext.getBasePackageName());

which results in wrong mCurMethodId which ends in method calling which should not be called
and result in an NPE and hotreboot due of dieing service.

To fix it go only for showinputmethod feature the old way and restore for all other
value changes AOSP behaviour and check specifically if enabledChanged is true or not
based on the getEnabledInputMethodsStr() method during we lock on mMethodMap

Thanks for the detailed report to Natakranta

Change-Id: I2931ca5a65c56999ba9ce7a7f4f7e71437a4bec8
Keyguard: do not allow to delete the system widget if widgets are disabled

We overwrite the default widget with our own one. In this case it is detected
as a normal widget even though it widgets are disabled and starts listening to
longpress events

Whatever check if widgets are disabled. If this is the case do not allow any
longpress events

Change-Id: I471664bac6ca1f8e57efe4904a385904c40486db