part 1 of LTE toggle support

Change-Id: I2e1cf08b4a6d49492eec63d4106c857b3905addd

Conflicts:
	telephony/java/com/android/internal/telephony/ITelephony.aidl
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

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
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
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
Framework: Add Advanced reboot [1/2]

This commit responds to a setting in Development settings for including
options in the power menu for rebooting into recovery and bootloader.

It has three settings:
- Disabled [Default]
- Enable when unlocked
- Always show

Enhanced by : kufikugel

PS 2-3 : Add advanced features
PS 5   : Cleanup

Change-Id: Ie130e398aa55857509fddcc49a846cd0390c33e8

Conflicts:
	core/java/android/provider/Settings.java
	core/res/res/values/slim_symbols.xml
	services/java/com/android/server/power/ShutdownThread.java
fb: actually fix LTE toggle (1/2)

I accidentally pushed the LTE toggle patch although it was not ready.
Whatever here the fix for it. This commit does:

- do not assume that on boot ITelephony service is already up. This
  results in a FC on boot up
- handle like before most things in LTETile itself and call only
  the toggle action to prevend above mentioned
- I thought about it to give as parameter current network state
  to the toggle method to prevend to fetch 2 times the actual mode
  (saves 4 lines of code). But based on the idea that we maybe later
  use other shortcuts as well we will not do it.
- cleanup & codestyle

Sorry again

cheers

kufi

Change-Id: I33a694358cc47973c4a75dccae15ccc7062fdc22
clean-up to allow new commits
Framework: Glowpad Torch (1/3)

PS2: Torch active? Keep screen on.

Change-Id: I39c319b28e31470925f3b3764043c63ce9d3557b

Conflicts:
	core/java/android/provider/Settings.java
	packages/Keyguard/src/com/android/keyguard/KeyguardSelectorView.java
WiFi label is not a Quote!

Cleanup the damn quotes around the WiFi label in the
notification panel. This only removes the quotes from the first
and last positions of the string.

PS 2 : WiFi name can have quotes!

Change-Id: I90badb7b2d8160e41da2632dac79042c4be37f2a
Fix preference puts with "null" values.

Null values were being written out as <null /> elements in the
XML prefs file (as expected). This allowed the getFoo() functions
to work correctly because they treated null values as missing mappings
but containsKey would fail.

bug: https://code.google.com/p/android/issues/detail?id=64563
Change-Id: I1f466d01db96bf26e208d4fed3a6f257228bea5d
MountService listeners can not be unregistered

When unregistering MountService listeners, their Binder proxy
objects were compared to registered listeners instead of their
backing objects.

Change-Id: Ie98a686b1d17544f1eda59fb3eb0dc02d836c1b2
Add NULL check in updateProxyConfig

If the exclusionList was null in updateProxyConfig the VM would
crash when converting it to a UTF8 string. Avoid this by adding a
null check.

Change-Id: I0d8106fd54385bd9ae9c652a6c67d459a119cf2b
Before requerying a cursor, check if it is closed.

Before updating a cursor,
it needs to be checked if it is valid.
Currently a defence code only checks
if it is not null.
But in case of "Cursor", it is not valid,
if it is closed.
So just like in CursorAdapter.onContentChanged(),
add the additional defence code to check validation.

Change-Id: I1302f1b6d009897815d4bdb2f20f625688cf9901
Before requerying a cursor, check if it is closed.

Before updating a cursor,
it needs to be checked if it is valid.
Currently a defence code only checks
if it is not null.
But in case of "Cursor", it is not valid,
if it is closed.
So just like in CursorAdapter.onContentChanged(),
add the additional defence code to check validation.

Change-Id: I1302f1b6d009897815d4bdb2f20f625688cf9901
fb: clean up our and AOSP code for wifi and carrier label animation

we introduced with this AOSP commit

https://github.com/SlimRoms/frameworks_base/commit/288e3ec70e866105ba61f9ebf259cad29786ad9c

the ability to keep wifi and carrier label up to date on every network
change which happens. The big advantage of this change is that all the
calls for updating the label which are present in PhoneStatusBar are not
needed anymore. We can reduce it to call only when we have animations in progress
or if notifications update and we must decide if the label is still visible or not.
This are way less animation calls then before and on clean AOSP

As well clean up some of our old code which workaround all this calls.

This commit fixes two present minor issues
- carrier label was visible behind notifications (AOSP behaviour but conflicts with our transparency settings)
- due of new updatehandling it happened sometimes that on switching to QS the label was a bit to long visible
- animations are now completly always in sync

PS:
- animate from qs to notification drawer a bit later

PS:
- simplify it more
- fix direct pulldown QS shows sometimes carrier label

Change-Id: I74b80b8b72817da460703635a027f57bb4858f32

Conflicts:
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
fb: add bottom margin to stock default battery icon

We set the layout parameters programmatically so the fix from
google does not take effect. To solve set the bottom margin
programmatically based on the current display density

Change-Id: I9caa0e729afa19eb7cb852a1df6ad036a2839d1b

Conflicts:
	packages/SystemUI/src/com/android/systemui/BatteryMeterView.java
Frameworks: Fix 0% battery QS tile

when tile is recreated. Fetch the values from
BatteryController

Change-Id: Id0539016e1c479ac1f75535647d91a26f69a76b5

Conflicts:
	packages/SystemUI/src/com/android/systemui/quicksettings/BatteryTile.java
	packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryController.java