Add clock styles and Clock color picker

This commit is a combination of CM, AOKP and SlimROMs work

features:

- Clock and date enable/disable
- Clock and date position
- AM/PM styles multilang support
- Fully customizable date in style and format
- Fully dynamic settings

Change-Id: Ied13570361e532374183b71998b50e15a0158d8c
[Framework] Port BatteryBar (2/2)

- Adds Battery bar with following features
- location set
- color
- aligment
- thickness
- animation

- dynamic slim settings

Change-Id: Iacb3e38505b0ab30bb3f9df54231aeb2c79c20f1
Decrease lag generated by autorotation on

There are different issues from what I understand:

1) Discarding of events too close to each others is broken
as mAccelerationTimestampNanos is conditionned by isAccelerating()
on TF101 no events are discarded anymore, and so it creates an update every ~50ms
filing up the android notification message queue quite a bit for nothing and so generating lag.
2) isAccelerating seems incorrect to me too, the code means more that it's accelerating "out of range" and should be discarded in that case.

=> Discard the sample if outOfRange and don't condition the update of mAccelerationTimestampNanos that way next time we come back "too soon"
the sample will be properly discarded.

3) with events being discarded properly on the WindowOrientationListener
the SensorManager can now update every 20ms instead of 50ms
but that is definitely overkill.
=> add SystemProperty sensor.loop.minms with a default value of 50ms to throttle the notifications.
That way the thread sleeps properly instead of sending events as fast as it can.

(increasing up to 100ms can be ok depending if you want faster response or not.)
This can be positionned on a per device prop too.

4) Add 2 SystemProperties:
one on the SystemSensor side: sensor.magnitude.threshold with a default 0 value(doesn't change the behavior)
one on the WindowOrientationListener: orientation.magnitude.threshold with a 200 (0.2G) default value
These allows to discard the sample if it is too close to STANDARD_GRAVITY (ie not accelerating much)
These can be set on a per device or use the default values.
On the TF101 200 works most of the time. But weirdly when docked the reported gravity seems to have an additionnal offsert of -0.2
maybe some magnetic interference from the dock...

For the moment the 0.2G threshold is positionned on the Orientation code.
Once the cpp sensor poll crazy loop is solved it could be better to use the sensor.magnitude.threshold instead.

That should take care of most of the lag generated by autorotation.

PatchSet2: position default SystemProperties values to do nothing.

Change-Id: I093227f539050a6bad8e6e8d9f533eff7bddd0d6
add Fastcharge QS tile and PowerWidget (ported from Slim)

Conflicts:

	packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickSettingsController.java

Change-Id: Ia5e527467eedd98168d24f51d4cb596e63d19f3e
Cleanup the FastCharge power widget code and add proper icons
Fix update am/pm style on statusbar

- change works now on the fly not only after reboot

Change-Id: I2c202c35086878008ae23303ed07abc28614ffca
Update translations

Change-Id: Idc09818a7f777988c0c677fef14c0fa6d297353b
framework: add RAM Bar to Recents

Conflicts:

	core/java/android/provider/Settings.java

Change-Id: If1f3026404b6e77e8e8700bc0d3b4d65a2b0be97
Framework: Recents RAM bar (1/2)

due that the old rambar was resource consuming and as the settings rambar not really
right in showing the truth of real RAM usage in android, I decided to go new ways.

This commit changes our rambar (or better add a total new one) in following points:

- we do not use any longer ther permanent observed RunningState machine
- instead we read out /proc/meminfo (thanks steven for that idea)
- rambar shows now the real memory usage
- ppl have the possibility to show applications, cache and other ram usage as they like
- deeper explanations I add how android mem managment works.
- color picker for all rambar states
- reset to default
- updates only on actions on recents so that it is making sense
- and a lot other

cheers

Change-Id: I2cb29655f92fcdacd8a71d6192224ec8964acc17

Conflicts:

	core/java/android/provider/Settings.java
Update translations

Change-Id: Ice466faa596138dba89ee15e2b7a35b0c3bee422
Update RAM calculations

Originates from kufikugel

Change-Id: I04633a32728f479e961209f8ae6c9d4be071d1bc
fix statusbar clock click and longclick events
SystemUI: Option to display Quick Settings when there are no ongoing notificaions

Added member function hasClearableNotifications to class
PhoneStatusBar. This function returns true when clearable
notifications are present on the status bar. Also, onTouchEvent in
NotificaionPanelView now flips to Quick Settings if there are no
ongoing notifications, and the QS_QUICK_PULLDOWN is set accordingly.

Change-Id: Ia77f90b19c7b408b7fc9376b6914e3173b734655
SystemUI: option to toggle dimming of the notification shade (1/2)

Allow the user to enable/disable dimming of the notification shade
pulldown. Check isHighEndGfx() to respect the default setting that
the device currently supports.

Users on low-end device may want to have this feature, while users
on high-end devices may want to disable it (possible battery life
savings and what not).

Change-Id: Id62d924dd9e0efea3849ef52eabafb7dd3d94e03

Conflicts:

	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java
	packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java
SystemUI: allow update Mobile Network Type tile display

For the moment, this tile is only updated when clicking on it.
With these changes we have the same behavior as the other tiles:
if setting is changed in system settings or by another application,
Mobile Network Type tile display is updated.

Change-Id: I6cadadf4b9e3c9f478a4286e26d657da4f3ff015
policy: always use hardware acceleration for keyguard

Without hardware acceleration, keyguard widget will appear aliased
and choppy (especially at the end of the scroll).

Change-Id: I1bfb6fbcba6306edf366e8ea752d6919936c3ab6