Squashed merge with cm-10.2

Summary:
Squashed merge of the following:
Squashed commit of installd changes

commit 28d7796cef6dfb1c892b736fc89c5bd9d919ff29
Author: rpcraig <rpcraig@tycho.ncsc.mil>
Date:   Wed Nov 28 09:23:18 2012 -0500

    Proper security labeling of multi-user data directories.

    This patch covers 2 cases. When an app is installed
    and the resulting data directory is created for all
    existing users. And when a new user is created and
    all existing app data directories are created for
    the new user.

    Signed-off-by: rpcraig <rpcraig@tycho.ncsc.mil>

    Change-Id: I01f2a9084dfe7886087b1497070b0d7f2ad8478e

    Conflicts:
        cmds/installd/commands.c
        services/java/com/android/server/pm/Installer.java
        services/java/com/android/server/pm/PackageManagerService.java
        services/java/com/android/server/pm/Settings.java

commit 91dfb0045a0026b185fa66c5c95289335bd2d543
Author: Pawit Pornkitprasan <p.pawit@gmail.com>
Date:   Sun Dec 25 17:37:53 2011 +0700

    installd: Delete cache properly for devices using datadata partition

    The java side already checks /data/data for free space but installd
    still checks /data causing it to never reap the cache (because it
    thinks that enough free space is available.)

    Change-Id: I736af6ff7ea0c8ae07900168f6b8ac2f7a4dbe0b

commit 777c17568851e1dc8b02213b2a77a3d7b456fc7d
Author: ctso <ctsoyars@gmail.com>
Date:   Thu Jun 24 02:03:47 2010 +0000

    DexOpt anything on /system in /cache/dalvik-cache

    Change-Id: Id41d37047f2fcb90d513ac091dfcb85492473689

    Allow property to disable dexopt on /cache

    Change-Id: Ic74707c4bead387bbf82e4c6d5037efc2d2ebeaf

Change-Id: Ic74707c4bead387bbf82e4c6d5037efc2d2ebeaf

hwui: Update configuration for 2GB/1080p devices

Change-Id: I73357a35bee22d76d3fe8a98ece91c5c9d19371d

Revert "Rework BOARD_EGL_NEEDS_LEGACY_FB implementation"

This reverts commit 1c01d2b237a8bad651be594b8e67db6abd24c57f, it's
not reliable on Mali

libgui: Bring back support for mHeap-based screenshots

Older graphics libraries throw a hissy fit when trying to lock
buffers for Surface-based screenshots, on at least Tegra2/3 and
Exynos4 hardware.

This patch depends on the BOARD_EGL_NEEDS_LEGACY_FB board flag
and requires the ro.bq.gpu_to_cpu_unsupported property set to 1
in order to work

Change-Id: I7db955e2cdd120018e349c14290e975788e70ed3

hax: Split the exynos4/tegra legacy code paths

They hang up at different places, and require different fixes.
Tested on t3 and e4

Change-Id: I46257a7e9e6b6e093a5cb92eaaaef4bdd0435a12

Merge "Squashed commit of installd changes" into cm-10.2

Surface: Fix gralloc flags conflicting values.

Due to some custom code, unwanted flags (HW) got added with SW flags.
Restrict the flags to custom ones.

Change-Id: I2ab1c75eef4d6d16f0dd7d43aff3c7377486801a

sf: virtual display clean up

  Since HAL allows Virtual devices, remove virtual display id
  check during setup of virtual display.

Change-Id: I6ec93c0f06842b69e6677f05ae8b45fb1f4225f6

libgui: Fix building with QCOM_BSP + CAF display

Change-Id: Iaf0eb69fa7f409144a266ada683fceb835f62aff

Merge branch 'cm-10.2' of git://github.com/CyanogenMod/android_frameworks_native into jb-devel-mr2-release-topic-merger

Test Plan: win

Reviewers: randall.rushing, michyprima, synergy

Reviewed By: synergy

Differential Revision: http://review.codefirex.com/D338