watermark: Place watermark in the bottom-right when both deltax and deltaty are 0

The default behavior is to replicate the watermark all over the screen but this can
be too intrusive. The repetition is controlled by deltax and deltay and if they are
both 0 the watermark will actually be drawn off-screen and thus not shown.

We take advantage of this to add a special behavior when they are both 0 that simply
places them in the bottom right. This patch doesn't take UI elements into account and
may actually overlay soft-buttons and other chrome.

Change-Id: I4cff1326b8aaecdbc471eaf48e95bc2865181366
Optimize drawBitmapMesh using TRIANGLE_STRIP

Draw BitmapMesh using STRIP instead of TRIANGLES.
Depending on where the bottleneck is located in the pipeline,
there is a potential for saving two-thirds of the time spent rendering.
The speedup is due to avoiding redundant operations,
i.e., mapping each vertex four times to texture and color attribute,
sending each vertex twice to the GPU, vertex processing of GPU ...

In this patch:
1. Refactoring mesh using Strip.
2. Batch triangles by adding degenerate triangles.
3. Optimize computing positions of texture and color attribute.

Benchmark: Drawing Bitmap(1152x768 px) with 200x200 meshes
Performance is doubled (from 26.4 fps to 53 fps, Nexus10).
Memory footprint: only 17% of original method.
(from 240000 to 40401 vertices with xy, uv, rgba data.)

Change-Id: I08c5c20d981d88528ce7b02012feefae468d6ec4
Signed-off-by: kui.zheng <kui.zheng@arm.com>
DocumentsUI: Workaround for aapt warnings

* Now we should be completely free of aapt warnings

Change-Id: I8e6886f9ac93adb19c80887a1b7329ae9b942125
Bypass the lockscreen when the hardware keyboard is slid out and security mode is 'none'

Change-Id: Ie40bb33ea46b7e68bad9916a0073cdf07a42ff93
base: Fix margin layouts params of MobileNetworkTile

MobileNetworkTile use an internal frame, so we need to restrict frame margins instead of image margin

Change-Id: I1861866c814eece7911f6fc4a5671575173c12e0
Signed-off-by: Jorge Ruesga <jorge@ruesga.com>
Restored original autobrightness speed
The speed was changed from this commit:
https://github.com/CyanogenMod/android_frameworks_base/commit/e941b1e27f6aad

Change-Id: I0be1ebbafc20a067ec3c2c6f9851993182bfc994
Improved the minimum amount of time that must have elapsed for change the rotation

Change-Id: I36f27727bbd5d6d7a192ffb9222223ecda2be0eb
Frameworks: Lockscreen Blur

  If user selects "See through" under screen security,
  the locksceen background will now appear transparent
  with the content behind it blurred.

Modificaitons made to the orginal commit to support Hammerhead and Flo.
It seems full HD images causes rendering artifacts. To prevent this,
we scale the image size to something more manageable.

PS2: Reduce calls to System.Settngs
     Move bitmap scaling to DisplayPowerController
PS3: Fix styling
PS4: Fixes: 1. Black wallpaper after turning off see through
            2. Wallpaper flicker on unlock when blur is enabled
PS5: Ignore status bar and nav bar when capturing screenshots
PS6: 1. Remove content observer and unnecessary calls from viewManager
     2. Restructure the flow of setting the custom image
         * now closely follows setting album art as lockscreen image

Change-Id: I12abd661510ff398251cd404f5aea670f7710789
added FastCharge QS tile
adapted from the code of bigrushdog and kasperhettinga, thank you

Change-Id: I9f43768de609db8e2ded6c11b389696ae9982d80
storage: allow swapping primary storage for apps

Advanced storage settings patch series:
[1/4] vold: allow swapped storage paths at vold init
      http://review.cyanogenmod.org/56515
[2/4] Advanced storage: vold swap storage paths
      http://review.cyanogenmod.org/56516
[3/4] storage: allow swapping primary storage for apps
      http://review.cyanogenmod.org/56950
[4/4] Advanced storage: swap primary storage for apps
      http://review.cyanogenmod.org/56951

By setting the persistent system property
 persist.sys.env.switchexternal=1
the primary device for applications storage will be reported as
/storage/sdcard1. This method currently only works with non-emulated
storage. The path swapping will probably have to be relocated within
getExternalStorage() and other functions emulated storage swap to work.

Change-Id: Ie091eb632280c2dbfd00bbf5f9b0b09be0239234