Commits on Oct 26, 2013
  1. Support forcing all screenshots into a CPU consumer

    rmcc committed with akellar Oct 26, 2013
    Looks like a full GPU path is less efficient on some GPU
    drivers that we're still using, and CPU is reliably faster...
    (there's probably a locking condition going on somewhere, this
    needs to be looked into)
    Change-Id: I8878796a117d65bf2324507cf8755cadce49f6dc
Commits on Oct 1, 2013
  1. Surface: Initialize variable and add a defensive check.

    Rama Vaddula committed with Whitehawkx Sep 12, 2013
    Initialize buf variable and make sure to check for return
    value of dequeueBuffer() before sending to the client.
    Change-Id: I0569f2d45825fab0e5d0f38fc91a07990f57c7ab
  2. Check fence is not NULL before dereferencing it

    Lynus Vaz committed with Whitehawkx Jul 23, 2013
    If the fence obtained in dequeueBuffer is NULL, don't dereference it.
    This will avoid a crash in surfaceflinger.
    CRs-fixed: 516300
    Change-Id: I3054dc37087103f3addae7884bb03460484a1eec
  3. Reset the FrameNumber for dropped frame in async mode

    Naomi Luis committed with Whitehawkx Feb 25, 2013
    In Async, reset the framenumber of frames dropped by the BufferQueue.
    This allows the client to dequeue and use this frame before the other
    queued frames which may be with the MDP.
    CRs-fixed: 448606
    Change-Id: Icaabf77b55a7275dc98ba1fdfba89508feb92145
  4. make TARGET_QCOM_DISPLAY_VARIANT more parametric

    Kali- committed with Whitehawkx Sep 27, 2013
    Change-Id: I36bba3ba96e174b443d800fd79957a1f428899df
Commits on Sep 28, 2013
  1. Squashed commit of installd changes

    ctso committed with Whitehawkx Jun 24, 2010
    commit 28d7796cef6dfb1c892b736fc89c5bd9d919ff29
    Author: rpcraig <>
    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 <>
        Change-Id: I01f2a9084dfe7886087b1497070b0d7f2ad8478e
    commit 91dfb0045a0026b185fa66c5c95289335bd2d543
    Author: Pawit Pornkitprasan <>
    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 <>
    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
Commits on Sep 16, 2013
  1. frameworks/native: Fix toroplus radio with CFLAGS

    something15525 committed with Whitehawkx Aug 6, 2013
    This is a commit to fix the LTE radio on toroplus,
    since the binaries contain a broken reference to
    an old no longer existent object. This fixes that
    with a CFLAGS to be enabled in the .mk files of the
    toroplus device files (like
    Credit for the original fix goes to
    Sean McClenaghan (
    PS 2-3: forgot some stuff in the commit message
    Change-Id: I2c0f05d1f70b96ad801971f23f6f9cf4e0fa7167
  2. surfaceflinger: don't handle EVENT_ORIENTATION when !HWC_DEVICE_API_V…

    tombriden committed with Whitehawkx Sep 6, 2013
    a184463 causes segfault on boot for the enrc2b (and probably others), this fixes it.
    Change-Id: Ic4a7a05b44c8cc44a0d25c56def4acdf5b0939df
  3. SurfaceFlinger: Dont show Animation on External Display

    Arun Kumar K.R committed with Whitehawkx Feb 16, 2013
    - With this change the animation effect will not be shown on
      external display.
    - It will change from portrait to landscape in one shot.
    - Primary would still continue the animation effect
    - set property sys.disable_ext_animation to disable animation
    Change-Id: Ibd94bf166f08eeab1d504afe69230f7c6a617eb6
    CRs-fixed: 453747
  4. surfaceflinger: enable EGL_NEEDS_FNW for qcom legacy

    mikeNG committed with Whitehawkx Aug 7, 2013
    Signed-off-by: Michael Bestas <>
    Change-Id: Ia6df94e8380062d646e29f293e5dc768e8a138e7
  5. Don't use fence sync for qcom legacy

    mikeNG committed with Whitehawkx Aug 6, 2013
    Signed-off-by: Michael Bestas <>
    Change-Id: Ifecc7af579bfde9d0a7daaaf528ea0773ce6ceb2
  6. Forward-port surface dithering from CM10.1

    steven676 committed with Whitehawkx Mar 30, 2013
    This allows the use of 16-bit color displays without excessive color
    Change-Id: Icb469b9cb4beb686516c60bb576dbd0a73f505e0
Commits on Aug 15, 2013
  1. Frameworks_native: TRDS 2.0 (2/3)

    kufikugel committed with tdm May 24, 2013
    After testing with huge success we discovered here
    and there small problems (like NFC beam animation is broken,
    TRDS was disabled on cardock etc) which mainly was caused
    due that we used the already from AOSP introduced uiModes
    qualifier which could cause in special conditions this
    conflicts. Beside that we want a bit more flexibility.
    Result: This commit introduces the inverted qualifier as
    complete own qualifier undependent of the already AOSP
    used ones.
    Beside that it fixes all known issues......features:
    - it is now completly working over the AOSP Configuration classes
      Means every app get notice of a change trough onConfiguratioChange
      and restarts it's activity if change was detected.
    - app can disable that like some other configuration values
      over AndroidMainfest.xml
    - beside "inverted" folder another "notinverted" folder is introduced
      for another themeing (eg white)
    - qualifier order is direct before the official uiMode qualifiers
      (see AOSP docs)
    - All usual Configuration actions can be used with the inverted BroadcastChange, direct read out from every
      app etc. etc. Note: Only system can change the uiInvertedMode
    So as you see a real own qualifier now
    NOTE: Apktool as well aapt need to be changed to fit the "new
    qualifier"....which means that we need to recompile our gapps
    that they react as well on this new behaviour. Think we will get them ready
    next 2 or 3 days.
    Change-Id: Ic538219fe86bb7a1f92c3eb9f44057cb249dcbe6
  2. Squash Dark UI commits from Slim

    kufikugel committed with tdm Mar 9, 2013
    Frameworks native: Add new configuration qualifier for UI change on the fly (2/3)
    last night I got an idea after 5 weeks of breaking stuff and
    doing to much complicated things. Together with mnazim we tried
    today to realize this idea. So another absolut new unique SlimBean
    feature is born.
    The aim we wanted at the end was to give a simple and resource friendly
    way to change the complete UI of a rom on the fly. So why not use
    the great fallback mechanism of AOSP and change/add a new
    qualifier into the AOSP core. To explain how it works.....if you want
    to add a new UI just add in /res folder of any app or framework you want
    folders with the qualifier "inverted". Eg. drawable-inverted-xhdpi
    or values-inverted or layout-port-inverted or whatever you want. Put in
    only the files you want to modify thats it.
    All qualifier in AOSP are following strict rules. You can read here.
    Do not forget the order of qualifier is important. The new "inverted"
    qualifier we added to the UIMode qualifier. To get more information
    about read here
    So what this commit does:
    - add new qualifier "inverted"
    - support for API level 13 and higher
    - change the custom UI on the fly
    - control default UI Mode over config.xml
    - working for all apps. They just need to include folders
      with the new qualifier name
    - resource resource wasting either programmticaly
      then source blow, because you just need to put in the files you
      want to change
    - cause of the qualifier structure compatible with every phone,
      language or whatever qualifier you want to use on top
    - 100% compatible to theme manager. If a theme misses drawables
      they are replaced with them from the current UIMode which is set.
    What is the benefit why not use just a theme? We started half year
    ago TRDS which was inverted gapps system base themed....means we
    morphed directly the changes into the framework. This methoed was
    on of the reasons why trds got so popular. Points for that are easy
    first the system is themed, means each theme you activate over
    theme engine works on top the themed system. So you have a base
    style and can modify more if you want. The other reason is easy
    a lot faster and resource friendly. Now this idea went to the
    rom to provide two core system based themes and user
    can do on top what they want or not without, like you have
    to roms in one.
    This commit just adds the support for this
    mnazim and kufikugel
    Change-Id: I8d6637f81f3a3263ebc43f67e824cfda910df9db
    Frameworks_native: TRDS new qualifier push up qualifier number (2/2)
    Hey guys,
    after this feature is working really well and a lot roms kanged
    it we got a hint to change one thing which is indeed a good
    idea to have less problems on AOSP updates and tools like
    Apktool can provide us better without doing major changes every
    AOSP update.
    We pushed the number up to 69.....should be enough for
    next years.
    Please note for the one who are using our gapps at the moment
    this will break actuall gapps till we published the new one
    which will be end this week as usual.
    After that we will begin to publish the apktool after we had
    now enough tests....and who knows maybe the "official" Apktool
    will provide us all now. So all in all a good time to change
    the qualifier now before it is getting more and more
    popular (we saw that first themes are providing us)
    Change-Id: I8253a8a2302032aac8f4b2ea3ca835a1ecf231a5
  3. libgui: Fix building with QCOM_BSP + CAF display

    rmcc committed with tdm Aug 10, 2013
    Change-Id: Iaf0eb69fa7f409144a266ada683fceb835f62aff
  4. sf: virtual display clean up

    Amara Venkata Mastan Manoj Kumar committed with tdm Aug 1, 2013
      Since HAL allows Virtual devices, remove virtual display id
      check during setup of virtual display.
    Change-Id: I6ec93c0f06842b69e6677f05ae8b45fb1f4225f6
  5. Surface: Fix gralloc flags conflicting values.

    Saurabh Shah committed with tdm Jul 19, 2013
    Due to some custom code, unwanted flags (HW) got added with SW flags.
    Restrict the flags to custom ones.
    Change-Id: I2ab1c75eef4d6d16f0dd7d43aff3c7377486801a
  6. hax: Split the exynos4/tegra legacy code paths

    rmcc committed with tdm Aug 6, 2013
    They hang up at different places, and require different fixes.
    Tested on t3 and e4
    Change-Id: I46257a7e9e6b6e093a5cb92eaaaef4bdd0435a12
  7. fix a possible deadlock when removing a layer and destroying a client

    Mathias Agopian committed with tdm Jun 5, 2013
    generally the last reference to a Layer is released in commitTransaction()
    with mStateLock held. Layer itself only holds weak references to Client,
    however, ~Layer() briefly promotes this weak reference -- during that time
    the all other strong references to that Client go away, ~Layer is left with
    the last one... then hell breaks loose as ~Client is called, which in turn
    needs to acquire mStateLock.
    We fix this by holding a temporary copy of the drawing state during
    the transaction so that the side-effects of copying the current
    state into the drawing state are seen only after mStateLock has
    been released.
    Bug: 9106453
    Change-Id: Ic5348ac12283500ead87286a37565e8da35f1db2
  8. libgui: Bring back support for mHeap-based screenshots

    rmcc committed with tdm Aug 6, 2013
    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 property set to 1
    in order to work
    Change-Id: I7db955e2cdd120018e349c14290e975788e70ed3
  9. Revert "Rework BOARD_EGL_NEEDS_LEGACY_FB implementation"

    rmcc committed with tdm Aug 6, 2013
    This reverts commit 1c01d2b, it's
    not reliable on Mali
  10. hwui: Update configuration for 2GB/1080p devices

    cyanogen committed with tdm Aug 6, 2013
    Change-Id: I73357a35bee22d76d3fe8a98ece91c5c9d19371d
  11. surfaceflinger: Fix building with display-caf + QCOM_BSP

    rmcc committed with tdm Aug 2, 2013
    We need the right gralloc header in here
    Change-Id: Iaef1a1b9e4b5c9a93ace0dfa2a427ee8ae026e7b
  12. Rework BOARD_EGL_NEEDS_LEGACY_FB implementation

    rmcc committed with tdm Jul 31, 2013
    The problem with the window format boils down to a circular
    dependency that makes service startup hang, so skip a round of
    queues-to-window-composer to avoid it but keep using regular
    Surface objects as windows, instead of replacing them with
    native windows.
    Change-Id: I6fed0fe04928df370c298c68ac1eb6d5b5cfb214
  13. libgui: Add pre-MR2-compatible symbol for setPosition

    rmcc committed with tdm Jul 29, 2013
    SurfaceControl::setPosition now takes floats instead of integers as
    arguments, which breaks linkability from pre-MR2 blobs. Add a direct
    compatibility wrapper, since the values are treated in the same
    Change-Id: I0fd0708faeb4495a2dbbb659997d6500f165ec98
  14. sf: Fix DISPLAY_VIRTUAL ifdef

    cyanogen committed with tdm Jul 27, 2013
    Change-Id: I3a0711c68532a0db5c2449652e49bff341511670
  15. libutils: refbase: jellybean mr1 compat

    codeworkx committed with tdm Jul 27, 2013
    Change-Id: Ideee0c3814a17b47f70fd612d27067fe19ae698d
  16. Add a missing QCOM_BSP ifdef

    cyanogen committed with tdm Jul 27, 2013
    Change-Id: I9667a7494f9f562e2fd6be1bc5e87443ea94768a
  17. surfaceflinger: Add QCOM_HARDWARE ifdefs

    cyanogen committed with tdm Jul 26, 2013
    Change-Id: I37e6600e316f9fa5dbf94db2c70faf602a70a85a
  18. surfaceflinger: Fix a couple of mergefails

    rmcc committed with tdm Jul 26, 2013
    Change-Id: I2ba25281bfd2c991f07623a200152df019b0b8c9
  19. surfaceflinger: Update support for hwc < 1.0

    rmcc committed with tdm Jul 25, 2013
    Add android::HWCLayerVersion0 implementations of the new methods
    Change-Id: Ic199c9b4262049b74632a57ad2b2cdf462a05b43
  20. samsung: add support for tvout and yamahaplayer services

    codeworkx committed with tdm Dec 30, 2011
    Change-Id: I653f9876b7fb83734abf3a0b9b9b5af1920b8112
  21. servicemanager: Allow tegra audio to register as a service

    rmcc committed with tdm Jul 2, 2012
    Change-Id: I6c792b6f5f586cf40d4a9b834e793a68c1e458a7
  22. provide overrides for hwui memory limits for xxhdpi phones

    cyanogen committed with tdm Jun 1, 2013
    Change-Id: I8b369619cd07530d0468a5449da30f338c13c7d2
  23. Abort surface composition if hw surface is invalid

    mchock-nv committed with tdm Mar 4, 2013
    If an invalid display device is detected during surface composition
    (e.g., a simulated secondary display is removed), abort the
    Change-Id: Ia6afb2e287882d8ae0614eb25463d3f85b687adf