)]}'
{
  "log": [
    {
      "commit": "c19ae02966b871e3b69946ca06a6f12c5fb532e1",
      "tree": "443efecb97c98fbf3bcd1cbfaf5186efd312c45b",
      "parents": [
        "0a63f543a8fa8ff7585773254aeb72cf1d5f2100",
        "111cb859f285cbcf47a68b58e4d2f8d6a0ec4d61"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Tue May 04 19:22:14 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Tue May 04 19:22:14 2021 +0000"
      },
      "message": "Merge \"Remove vr_hwc.\" am: 968098aff5 am: bbf0b8f29c am: 111cb859f2\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/native/+/1695065\n\nChange-Id: Ica2ad53b482b96d543e59ea8b145424c002f28b7\n"
    },
    {
      "commit": "e245a5b1de3f1cba35e592bc31949964e9e9bad0",
      "tree": "726bc38855a2015409d1497e5a15dff0b084f7ed",
      "parents": [
        "1488a15856a20ab3c0df3ecab1a14a8c4afc30d8"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Mon May 03 17:34:23 2021 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Mon May 03 17:34:35 2021 -0700"
      },
      "message": "Remove vr_hwc.\n\nBug: 170681929\nTest: builds\nChange-Id: I07185e03637507828566f548317a25a532dc0139\n"
    },
    {
      "commit": "f97654ebed04c091ae9ce8455cc7c2949eb0a6da",
      "tree": "68df9a3d4be99fb52dae6cd94f0e6c858324e8a1",
      "parents": [
        "2b5d2e8b2f1b9f13aeb7c19f5def46428d52e96a",
        "9cddd4a883ad33520153d76c8c1a4346cdec4b75"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Fri Apr 02 23:14:53 2021 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Fri Apr 02 23:14:53 2021 +0000"
      },
      "message": "Merge \"Disable vr_hwc module.\" am: ec0f7967e6 am: 542e555b49 am: 9cddd4a883\n\nOriginal change: https://android-review.googlesource.com/c/platform/frameworks/native/+/1661580\n\nChange-Id: Ib93edef025a213d79afb4149473aa3779fc5cf12\n"
    },
    {
      "commit": "ec0f7967e60b6342569fefc3fea86bf9990198dd",
      "tree": "95b4edb0c1a7b622749d95e16972eeefa2147eaa",
      "parents": [
        "badbf794546cb15cd48153b11bc58feda0a50741",
        "f5c48507515f0421c600ea6ffaa076a8f56f4508"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Fri Apr 02 21:53:19 2021 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 02 21:53:19 2021 +0000"
      },
      "message": "Merge \"Disable vr_hwc module.\""
    },
    {
      "commit": "f5c48507515f0421c600ea6ffaa076a8f56f4508",
      "tree": "dbb0cfc5873288fe18813728bb84121fe8982af7",
      "parents": [
        "1fe4c9f19e4355c0410d46abf339b4addb2b55c3"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Wed Mar 31 18:37:02 2021 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Wed Mar 31 18:37:16 2021 -0700"
      },
      "message": "Disable vr_hwc module.\n\nThe module is subject to deletion. Disable it to prevent it from\nbuilding.\n\nTest: TH\nBug: 170681929\nChange-Id: I748a7edb0be148036a6bb3d19bb40f5f5b42b599\n"
    },
    {
      "commit": "3306e497c5b6c85164713032de0c789d5a118f89",
      "tree": "49d03f9512073b8dd90e517e605d8d627d3aa26c",
      "parents": [
        "671994c80bad8c58d6b79ee94e0b1eae26423b2a"
      ],
      "author": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Thu Feb 25 15:35:37 2021 -0800"
      },
      "committer": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Thu Feb 25 15:35:37 2021 -0800"
      },
      "message": "[LSC] Add LOCAL_LICENSE_KINDS to frameworks/native\n\nAdded SPDX-license-identifier-Apache-2.0 to:\n  cmds/atrace/Android.bp\n  cmds/bugreport/Android.bp\n  cmds/bugreportz/Android.bp\n  cmds/cmd/Android.bp\n  cmds/dumpstate/Android.bp\n  cmds/dumpsys/Android.bp\n  cmds/dumpsys/tests/Android.bp\n  cmds/flatland/Android.mk\n  cmds/idlcli/Android.bp\n  cmds/installd/Android.bp\n  cmds/installd/tests/Android.bp\n  cmds/ip-up-vpn/Android.mk\n  cmds/lshal/Android.bp\n  cmds/lshal/libprocpartition/Android.bp\n  cmds/rawbu/Android.bp\n  cmds/rss_hwm_reset/Android.bp\n  cmds/service/Android.bp\n  cmds/servicemanager/Android.bp\n  cmds/surfacereplayer/Android.bp\n  cmds/surfacereplayer/proto/Android.bp\n  cmds/surfacereplayer/replayer/Android.bp\n  data/etc/Android.bp\n  libs/adbd_auth/Android.bp\n  libs/android_runtime_lazy/Android.bp\n  libs/arect/Android.bp\n  libs/attestation/Android.bp\n  libs/attestation/tests/Android.bp\n  libs/binder/Android.bp\n  libs/binder/ndk/Android.bp\n  libs/binder/ndk/tests/Android.bp\n  libs/binder/parcel_fuzzer/Android.bp\n  libs/binder/rust/Android.bp\n  libs/binder/rust/tests/Android.bp\n  libs/binder/tests/Android.bp\n  libs/binder/tests/fuzzers/Android.bp\n  libs/binderdebug/Android.bp\n  libs/binderdebug/tests/Android.bp\n  libs/binderthreadstate/1.0/Android.bp\n  libs/binderthreadstate/Android.bp\n  libs/bufferqueueconverter/Android.bp\n  libs/cputimeinstate/Android.bp\n  libs/diskusage/Android.bp\n  libs/dumputils/Android.bp\n  libs/fakeservicemanager/Android.bp\n  libs/ftl/Android.bp\n  libs/gralloc/types/Android.bp\n  libs/gralloc/types/fuzzer/Android.bp\n  libs/gralloc/types/tests/Android.bp\n  libs/graphicsenv/Android.bp\n  libs/gui/Android.bp\n  libs/gui/sysprop/Android.bp\n  libs/gui/tests/Android.bp\n  libs/incidentcompanion/Android.bp\n  libs/input/Android.bp\n  libs/input/tests/Android.bp\n  libs/math/Android.bp\n  libs/math/tests/Android.bp\n  libs/nativebase/Android.bp\n  libs/nativedisplay/Android.bp\n  libs/nativewindow/Android.bp\n  libs/nativewindow/tests/Android.bp\n  libs/renderengine/Android.bp\n  libs/renderengine/tests/Android.bp\n  libs/sensor/Android.bp\n  libs/sensor/tests/Android.bp\n  libs/sensorprivacy/Android.bp\n  libs/ui/Android.bp\n  libs/ui/tests/Android.bp\n  libs/ui/tools/Android.bp\n  libs/vibrator/Android.bp\n  libs/vibrator/fuzzer/Android.bp\n  libs/vr/libbroadcastring/Android.bp\n  libs/vr/libbufferhub/Android.bp\n  libs/vr/libbufferhubqueue/Android.bp\n  libs/vr/libbufferhubqueue/benchmarks/Android.bp\n  libs/vr/libbufferhubqueue/tests/Android.bp\n  libs/vr/libdisplay/Android.bp\n  libs/vr/libdvr/Android.bp\n  libs/vr/libdvr/tests/Android.bp\n  libs/vr/libdvrcommon/Android.bp\n  libs/vr/libpdx/Android.bp\n  libs/vr/libpdx/fuzz/Android.bp\n  libs/vr/libpdx_default_transport/Android.bp\n  libs/vr/libpdx_uds/Android.bp\n  libs/vr/libperformance/Android.bp\n  libs/vr/libvr_manager/Android.bp\n  libs/vr/libvrflinger/Android.bp\n  libs/vr/libvrflinger/tests/Android.bp\n  libs/vr/libvrsensor/Android.bp\n  opengl/libs/Android.bp\n  opengl/tests/EGLTest/Android.bp\n  opengl/tests/configdump/Android.bp\n  opengl/tests/fillrate/Android.bp\n  opengl/tests/filter/Android.bp\n  opengl/tests/finish/Android.bp\n  opengl/tests/gl2_basic/Android.bp\n  opengl/tests/gl2_cameraeye/Android.bp\n  opengl/tests/gl2_copyTexImage/Android.bp\n  opengl/tests/gl2_java/Android.bp\n  opengl/tests/gl2_jni/Android.bp\n  opengl/tests/gl2_yuvtex/Android.bp\n  opengl/tests/gl_basic/Android.bp\n  opengl/tests/gl_jni/Android.bp\n  opengl/tests/gl_perf/Android.bp\n  opengl/tests/gl_perfapp/Android.bp\n  opengl/tests/gl_yuvtex/Android.bp\n  opengl/tests/gldual/Android.bp\n  opengl/tests/gralloc/Android.bp\n  opengl/tests/hwc/Android.bp\n  opengl/tests/lib/Android.bp\n  opengl/tests/lighting1709/Android.bp\n  opengl/tests/linetex/Android.bp\n  opengl/tests/swapinterval/Android.bp\n  opengl/tests/testFramerate/Android.bp\n  opengl/tests/testLatency/Android.bp\n  opengl/tests/testPauseResume/Android.bp\n  opengl/tests/testViewport/Android.bp\n  opengl/tests/textures/Android.bp\n  opengl/tests/tritex/Android.bp\n  services/audiomanager/Android.bp\n  services/automotive/display/Android.bp\n  services/batteryservice/Android.bp\n  services/displayservice/Android.bp\n  services/gpuservice/Android.bp\n  services/gpuservice/bpfprogs/Android.bp\n  services/gpuservice/gpumem/Android.bp\n  services/gpuservice/gpustats/Android.bp\n  services/gpuservice/tests/unittests/Android.bp\n  services/gpuservice/tracing/Android.bp\n  services/inputflinger/Android.bp\n  services/inputflinger/benchmarks/Android.bp\n  services/inputflinger/dispatcher/Android.bp\n  services/inputflinger/host/Android.bp\n  services/inputflinger/reader/Android.bp\n  services/inputflinger/reporter/Android.bp\n  services/inputflinger/tests/Android.bp\n  services/powermanager/Android.bp\n  services/powermanager/benchmarks/Android.bp\n  services/powermanager/tests/Android.bp\n  services/schedulerservice/Android.bp\n  services/sensorservice/Android.bp\n  services/sensorservice/hidl/Android.bp\n  services/sensorservice/tests/Android.bp\n  services/stats/Android.bp\n  services/surfaceflinger/Android.bp\n  services/surfaceflinger/CompositionEngine/Android.bp\n  services/surfaceflinger/FrameTimeline/Android.bp\n  services/surfaceflinger/TimeStats/Android.bp\n  services/surfaceflinger/TimeStats/timestatsproto/Android.bp\n  services/surfaceflinger/layerproto/Android.bp\n  services/surfaceflinger/sysprop/Android.bp\n  services/surfaceflinger/tests/Android.bp\n  services/surfaceflinger/tests/fakehwc/Android.bp\n  services/surfaceflinger/tests/unittests/Android.bp\n  services/surfaceflinger/tests/vsync/Android.bp\n  services/surfaceflinger/tests/waitforvsync/Android.bp\n  services/utils/Android.bp\n  services/utils/tests/Android.bp\n  services/vibratorservice/Android.bp\n  services/vibratorservice/benchmarks/Android.bp\n  services/vibratorservice/test/Android.bp\n  services/vr/bufferhubd/Android.bp\n  services/vr/hardware_composer/Android.bp\n  services/vr/hardware_composer/aidl/Android.bp\n  services/vr/virtual_touchpad/Android.bp\n  vulkan/libvulkan/Android.bp\n  vulkan/nulldrv/Android.bp\n  vulkan/vkjson/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD\n    SPDX-license-identifier-MIT SPDX-license-identifier-Unicode-DFS\n    legacy_notice\nto:\n  Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD\n    SPDX-license-identifier-MIT legacy_notice\nto:\n  opengl/Android.bp\n  opengl/tests/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD\n    legacy_notice\nto:\n  libs/vr/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT\nto:\n  headers/Android.bp\n  services/vr/Android.bp\n  vulkan/Android.bp\n\nAdded SPDX-license-identifier-BSD SPDX-license-identifier-MIT\n    legacy_notice\nto:\n  opengl/tests/angeles/Android.bp\n\nAdded SPDX-license-identifier-MIT\nto:\n  services/vr/performanced/Android.bp\n\nBug: 68860345\nBug: 151177513\nBug: 151953481\n\nTest: m all\n\nExempt-From-Owner-Approval: janitorial work\nChange-Id: Icd397e38ca313ae4886bd92afa927d4633a75c4f\n"
    },
    {
      "commit": "a2a777386263118bdd758a9ff28c20216c0f3d09",
      "tree": "d58ebac7a3753ad04c75e2bbe470c0fc45a9d5e3",
      "parents": [
        "79e26e175fe62e1dc31a6f587a3a9f999db59db2"
      ],
      "author": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Thu Feb 25 11:46:30 2021 -0800"
      },
      "committer": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Thu Feb 25 11:49:26 2021 -0800"
      },
      "message": "Revert \"[LSC] Add LOCAL_LICENSE_KINDS to frameworks/native\"\n\nThis reverts commit f84491a4874f20653104f47622d7215521310526.\n\nThis reverts commit 2e6718529b3f3b55d310db6738e71255e9b74dee.\n\nChange-Id: I1a9655335b856d6909b27929e00c0bde3186d893\n"
    },
    {
      "commit": "2e6718529b3f3b55d310db6738e71255e9b74dee",
      "tree": "d70876ed6b5f1cd0d2b380deca5b014ae0de4749",
      "parents": [
        "e2edd2237bcb681222f2af201afd9016dc95827d"
      ],
      "author": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Fri Feb 12 21:26:48 2021 -0800"
      },
      "committer": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Wed Feb 17 12:41:29 2021 -0800"
      },
      "message": "[LSC] Add LOCAL_LICENSE_KINDS to frameworks/native\n\nAdded SPDX-license-identifier-Apache-2.0 to:\n  cmds/atrace/Android.bp\n  cmds/bugreport/Android.bp\n  cmds/bugreportz/Android.bp\n  cmds/cmd/Android.bp\n  cmds/dumpstate/Android.bp\n  cmds/dumpsys/Android.bp\n  cmds/dumpsys/tests/Android.bp\n  cmds/flatland/Android.mk\n  cmds/idlcli/Android.bp\n  cmds/installd/Android.bp\n  cmds/installd/tests/Android.bp\n  cmds/ip-up-vpn/Android.mk\n  cmds/lshal/Android.bp\n  cmds/lshal/libprocpartition/Android.bp\n  cmds/rawbu/Android.bp\n  cmds/rss_hwm_reset/Android.bp\n  cmds/service/Android.bp\n  cmds/servicemanager/Android.bp\n  cmds/surfacereplayer/Android.bp\n  cmds/surfacereplayer/replayer/Android.bp\n  libs/adbd_auth/Android.bp\n  libs/android_runtime_lazy/Android.bp\n  libs/arect/Android.bp\n  libs/binder/Android.bp\n  libs/binder/ndk/Android.bp\n  libs/binder/ndk/tests/Android.bp\n  libs/binder/parcel_fuzzer/Android.bp\n  libs/binder/rust/Android.bp\n  libs/binder/rust/tests/Android.bp\n  libs/binder/tests/Android.bp\n  libs/binder/tests/fuzzers/Android.bp\n  libs/binderdebug/Android.bp\n  libs/binderdebug/tests/Android.bp\n  libs/binderthreadstate/1.0/Android.bp\n  libs/binderthreadstate/Android.bp\n  libs/bufferqueueconverter/Android.bp\n  libs/cputimeinstate/Android.bp\n  libs/diskusage/Android.bp\n  libs/dumputils/Android.bp\n  libs/fakeservicemanager/Android.bp\n  libs/gralloc/types/Android.bp\n  libs/gralloc/types/fuzzer/Android.bp\n  libs/gralloc/types/tests/Android.bp\n  libs/graphicsenv/Android.bp\n  libs/gui/Android.bp\n  libs/gui/sysprop/Android.bp\n  libs/gui/tests/Android.bp\n  libs/incidentcompanion/Android.bp\n  libs/input/Android.bp\n  libs/input/tests/Android.bp\n  libs/math/Android.bp\n  libs/math/tests/Android.bp\n  libs/nativebase/Android.bp\n  libs/nativedisplay/Android.bp\n  libs/nativewindow/Android.bp\n  libs/nativewindow/tests/Android.bp\n  libs/renderengine/Android.bp\n  libs/renderengine/tests/Android.bp\n  libs/sensor/Android.bp\n  libs/sensor/tests/Android.bp\n  libs/sensorprivacy/Android.bp\n  libs/ui/Android.bp\n  libs/ui/tests/Android.bp\n  libs/ui/tools/Android.bp\n  libs/vibrator/Android.bp\n  libs/vibrator/fuzzer/Android.bp\n  libs/vr/libpdx/Android.bp\n  libs/vr/libpdx/fuzz/Android.bp\n  libs/vr/libvr_manager/Android.bp\n  opengl/libs/Android.bp\n  opengl/tests/EGLTest/Android.bp\n  opengl/tests/fillrate/Android.bp\n  opengl/tests/finish/Android.bp\n  opengl/tests/gl2_basic/Android.bp\n  opengl/tests/gl2_cameraeye/Android.bp\n  opengl/tests/gl2_copyTexImage/Android.bp\n  opengl/tests/gl2_java/Android.bp\n  opengl/tests/gl2_jni/Android.bp\n  opengl/tests/gl2_yuvtex/Android.bp\n  opengl/tests/gl_jni/Android.bp\n  opengl/tests/gl_perf/Android.bp\n  opengl/tests/gl_perfapp/Android.bp\n  opengl/tests/gl_yuvtex/Android.bp\n  opengl/tests/gldual/Android.bp\n  opengl/tests/gralloc/Android.bp\n  opengl/tests/hwc/Android.bp\n  opengl/tests/lib/Android.bp\n  opengl/tests/lighting1709/Android.bp\n  opengl/tests/linetex/Android.bp\n  opengl/tests/swapinterval/Android.bp\n  opengl/tests/testFramerate/Android.bp\n  opengl/tests/testLatency/Android.bp\n  opengl/tests/testPauseResume/Android.bp\n  opengl/tests/testViewport/Android.bp\n  opengl/tests/textures/Android.bp\n  services/audiomanager/Android.bp\n  services/automotive/display/Android.bp\n  services/batteryservice/Android.bp\n  services/displayservice/Android.bp\n  services/gpuservice/Android.bp\n  services/gpuservice/bpfprogs/Android.bp\n  services/gpuservice/gpumem/Android.bp\n  services/gpuservice/gpustats/Android.bp\n  services/gpuservice/tests/unittests/Android.bp\n  services/gpuservice/tracing/Android.bp\n  services/inputflinger/Android.bp\n  services/inputflinger/benchmarks/Android.bp\n  services/inputflinger/dispatcher/Android.bp\n  services/inputflinger/host/Android.bp\n  services/inputflinger/reader/Android.bp\n  services/inputflinger/reporter/Android.bp\n  services/inputflinger/tests/Android.bp\n  services/inputflinger/tests/fuzzers/Android.bp\n  services/powermanager/Android.bp\n  services/schedulerservice/Android.bp\n  services/sensorservice/Android.bp\n  services/sensorservice/hidl/Android.bp\n  services/sensorservice/tests/Android.bp\n  services/stats/Android.bp\n  services/surfaceflinger/Android.bp\n  services/surfaceflinger/CompositionEngine/Android.bp\n  services/surfaceflinger/TimeStats/Android.bp\n  services/surfaceflinger/TimeStats/timestatsproto/Android.bp\n  services/surfaceflinger/layerproto/Android.bp\n  services/surfaceflinger/sysprop/Android.bp\n  services/surfaceflinger/tests/Android.bp\n  services/surfaceflinger/tests/fakehwc/Android.bp\n  services/surfaceflinger/tests/unittests/Android.bp\n  services/surfaceflinger/tests/vsync/Android.bp\n  services/surfaceflinger/tests/waitforvsync/Android.bp\n  services/utils/Android.bp\n  services/utils/tests/Android.bp\n  services/vr/hardware_composer/Android.bp\n  services/vr/virtual_touchpad/Android.bp\n  vulkan/libvulkan/Android.bp\n  vulkan/nulldrv/Android.bp\n  vulkan/vkjson/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD\n    SPDX-license-identifier-MIT SPDX-license-identifier-Unicode-DFS\n    legacy_notice\nto:\n  Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD\n    SPDX-license-identifier-MIT legacy_notice\nto:\n  opengl/Android.bp\n  opengl/tests/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD\n    legacy_notice\nto:\n  libs/vr/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT\nto:\n  headers/Android.bp\n  services/vr/Android.bp\n  vulkan/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT\n    SPDX-license-identifier-Unicode-DFS\nto:\n  cmds/surfacereplayer/proto/Android.bp\n  libs/vr/libbroadcastring/Android.bp\n  libs/vr/libbufferhub/Android.bp\n  libs/vr/libbufferhubqueue/Android.bp\n  libs/vr/libbufferhubqueue/benchmarks/Android.bp\n  libs/vr/libbufferhubqueue/tests/Android.bp\n  libs/vr/libdisplay/Android.bp\n  libs/vr/libdvr/Android.bp\n  libs/vr/libdvr/tests/Android.bp\n  libs/vr/libdvrcommon/Android.bp\n  libs/vr/libpdx_default_transport/Android.bp\n  libs/vr/libpdx_uds/Android.bp\n  libs/vr/libperformance/Android.bp\n  libs/vr/libvrflinger/Android.bp\n  libs/vr/libvrflinger/tests/Android.bp\n  libs/vr/libvrsensor/Android.bp\n  opengl/tests/configdump/Android.bp\n  opengl/tests/filter/Android.bp\n  opengl/tests/gl_basic/Android.bp\n  opengl/tests/tritex/Android.bp\n  services/vr/bufferhubd/Android.bp\n  services/vr/hardware_composer/aidl/Android.bp\n\nAdded SPDX-license-identifier-BSD SPDX-license-identifier-MIT\n    legacy_notice\nto:\n  opengl/tests/angeles/Android.bp\n\nAdded SPDX-license-identifier-MIT\nto:\n  services/vr/performanced/Android.bp\n\nBug: 68860345\nBug: 151177513\nBug: 151953481\n\nTest: m all\n\nExempt-From-Owner-Approval: janitorial work\n\nChange-Id: Ib1de8cd7b87446de45d79db15cd90b93a591846d\nMerged-in: Ib1de8cd7b87446de45d79db15cd90b93a591846d\n"
    },
    {
      "commit": "3c5382365878ad7950a8744f630b9f6ee4026f7c",
      "tree": "2a740e9a1edef5404fdac60814d2954cf48d4037",
      "parents": [
        "f7f4a9afb307d89923da59344481d8a4b52dfd36"
      ],
      "author": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Fri Feb 12 21:26:48 2021 -0800"
      },
      "committer": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Mon Feb 15 19:24:54 2021 -0800"
      },
      "message": "[LSC] Add LOCAL_LICENSE_KINDS to frameworks/native\n\nAdded SPDX-license-identifier-Apache-2.0 to:\n  cmds/atrace/Android.bp\n  cmds/bugreport/Android.bp\n  cmds/bugreportz/Android.bp\n  cmds/cmd/Android.bp\n  cmds/dumpstate/Android.bp\n  cmds/dumpsys/Android.bp\n  cmds/dumpsys/tests/Android.bp\n  cmds/flatland/Android.mk\n  cmds/idlcli/Android.bp\n  cmds/installd/Android.bp\n  cmds/installd/tests/Android.bp\n  cmds/ip-up-vpn/Android.mk\n  cmds/lshal/Android.bp\n  cmds/lshal/libprocpartition/Android.bp\n  cmds/rawbu/Android.bp\n  cmds/rss_hwm_reset/Android.bp\n  cmds/service/Android.bp\n  cmds/servicemanager/Android.bp\n  cmds/surfacereplayer/Android.bp\n  cmds/surfacereplayer/replayer/Android.bp\n  libs/adbd_auth/Android.bp\n  libs/android_runtime_lazy/Android.bp\n  libs/arect/Android.bp\n  libs/binder/Android.bp\n  libs/binder/ndk/Android.bp\n  libs/binder/ndk/tests/Android.bp\n  libs/binder/parcel_fuzzer/Android.bp\n  libs/binder/rust/Android.bp\n  libs/binder/rust/tests/Android.bp\n  libs/binder/tests/Android.bp\n  libs/binder/tests/fuzzers/Android.bp\n  libs/binderdebug/Android.bp\n  libs/binderdebug/tests/Android.bp\n  libs/binderthreadstate/1.0/Android.bp\n  libs/binderthreadstate/Android.bp\n  libs/bufferqueueconverter/Android.bp\n  libs/cputimeinstate/Android.bp\n  libs/diskusage/Android.bp\n  libs/dumputils/Android.bp\n  libs/fakeservicemanager/Android.bp\n  libs/gralloc/types/Android.bp\n  libs/gralloc/types/fuzzer/Android.bp\n  libs/gralloc/types/tests/Android.bp\n  libs/graphicsenv/Android.bp\n  libs/gui/Android.bp\n  libs/gui/sysprop/Android.bp\n  libs/gui/tests/Android.bp\n  libs/incidentcompanion/Android.bp\n  libs/input/Android.bp\n  libs/input/tests/Android.bp\n  libs/math/Android.bp\n  libs/math/tests/Android.bp\n  libs/nativebase/Android.bp\n  libs/nativedisplay/Android.bp\n  libs/nativewindow/Android.bp\n  libs/nativewindow/tests/Android.bp\n  libs/renderengine/Android.bp\n  libs/renderengine/tests/Android.bp\n  libs/sensor/Android.bp\n  libs/sensor/tests/Android.bp\n  libs/sensorprivacy/Android.bp\n  libs/ui/Android.bp\n  libs/ui/tests/Android.bp\n  libs/ui/tools/Android.bp\n  libs/vibrator/Android.bp\n  libs/vibrator/fuzzer/Android.bp\n  libs/vr/libpdx/Android.bp\n  libs/vr/libpdx/fuzz/Android.bp\n  libs/vr/libvr_manager/Android.bp\n  opengl/libs/Android.bp\n  opengl/tests/EGLTest/Android.bp\n  opengl/tests/fillrate/Android.bp\n  opengl/tests/finish/Android.bp\n  opengl/tests/gl2_basic/Android.bp\n  opengl/tests/gl2_cameraeye/Android.bp\n  opengl/tests/gl2_copyTexImage/Android.bp\n  opengl/tests/gl2_java/Android.bp\n  opengl/tests/gl2_jni/Android.bp\n  opengl/tests/gl2_yuvtex/Android.bp\n  opengl/tests/gl_jni/Android.bp\n  opengl/tests/gl_perf/Android.bp\n  opengl/tests/gl_perfapp/Android.bp\n  opengl/tests/gl_yuvtex/Android.bp\n  opengl/tests/gldual/Android.bp\n  opengl/tests/gralloc/Android.bp\n  opengl/tests/hwc/Android.bp\n  opengl/tests/lib/Android.bp\n  opengl/tests/lighting1709/Android.bp\n  opengl/tests/linetex/Android.bp\n  opengl/tests/swapinterval/Android.bp\n  opengl/tests/testFramerate/Android.bp\n  opengl/tests/testLatency/Android.bp\n  opengl/tests/testPauseResume/Android.bp\n  opengl/tests/testViewport/Android.bp\n  opengl/tests/textures/Android.bp\n  services/audiomanager/Android.bp\n  services/automotive/display/Android.bp\n  services/batteryservice/Android.bp\n  services/displayservice/Android.bp\n  services/gpuservice/Android.bp\n  services/gpuservice/bpfprogs/Android.bp\n  services/gpuservice/gpumem/Android.bp\n  services/gpuservice/gpustats/Android.bp\n  services/gpuservice/tests/unittests/Android.bp\n  services/gpuservice/tracing/Android.bp\n  services/inputflinger/Android.bp\n  services/inputflinger/benchmarks/Android.bp\n  services/inputflinger/dispatcher/Android.bp\n  services/inputflinger/host/Android.bp\n  services/inputflinger/reader/Android.bp\n  services/inputflinger/reporter/Android.bp\n  services/inputflinger/tests/Android.bp\n  services/inputflinger/tests/fuzzers/Android.bp\n  services/powermanager/Android.bp\n  services/schedulerservice/Android.bp\n  services/sensorservice/Android.bp\n  services/sensorservice/hidl/Android.bp\n  services/sensorservice/tests/Android.bp\n  services/stats/Android.bp\n  services/surfaceflinger/Android.bp\n  services/surfaceflinger/CompositionEngine/Android.bp\n  services/surfaceflinger/TimeStats/Android.bp\n  services/surfaceflinger/TimeStats/timestatsproto/Android.bp\n  services/surfaceflinger/layerproto/Android.bp\n  services/surfaceflinger/sysprop/Android.bp\n  services/surfaceflinger/tests/Android.bp\n  services/surfaceflinger/tests/fakehwc/Android.bp\n  services/surfaceflinger/tests/unittests/Android.bp\n  services/surfaceflinger/tests/vsync/Android.bp\n  services/surfaceflinger/tests/waitforvsync/Android.bp\n  services/utils/Android.bp\n  services/utils/tests/Android.bp\n  services/vr/hardware_composer/Android.bp\n  services/vr/virtual_touchpad/Android.bp\n  vulkan/libvulkan/Android.bp\n  vulkan/nulldrv/Android.bp\n  vulkan/vkjson/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD\n    SPDX-license-identifier-MIT SPDX-license-identifier-Unicode-DFS\n    legacy_notice\nto:\n  Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD\n    SPDX-license-identifier-MIT legacy_notice\nto:\n  opengl/Android.bp\n  opengl/tests/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-BSD\n    legacy_notice\nto:\n  libs/vr/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT\nto:\n  headers/Android.bp\n  services/vr/Android.bp\n  vulkan/Android.bp\n\nAdded SPDX-license-identifier-Apache-2.0 SPDX-license-identifier-MIT\n    SPDX-license-identifier-Unicode-DFS\nto:\n  cmds/surfacereplayer/proto/Android.bp\n  libs/vr/libbroadcastring/Android.bp\n  libs/vr/libbufferhub/Android.bp\n  libs/vr/libbufferhubqueue/Android.bp\n  libs/vr/libbufferhubqueue/benchmarks/Android.bp\n  libs/vr/libbufferhubqueue/tests/Android.bp\n  libs/vr/libdisplay/Android.bp\n  libs/vr/libdvr/Android.bp\n  libs/vr/libdvr/tests/Android.bp\n  libs/vr/libdvrcommon/Android.bp\n  libs/vr/libpdx_default_transport/Android.bp\n  libs/vr/libpdx_uds/Android.bp\n  libs/vr/libperformance/Android.bp\n  libs/vr/libvrflinger/Android.bp\n  libs/vr/libvrflinger/tests/Android.bp\n  libs/vr/libvrsensor/Android.bp\n  opengl/tests/configdump/Android.bp\n  opengl/tests/filter/Android.bp\n  opengl/tests/gl_basic/Android.bp\n  opengl/tests/tritex/Android.bp\n  services/vr/bufferhubd/Android.bp\n  services/vr/hardware_composer/aidl/Android.bp\n\nAdded SPDX-license-identifier-BSD SPDX-license-identifier-MIT\n    legacy_notice\nto:\n  opengl/tests/angeles/Android.bp\n\nAdded SPDX-license-identifier-MIT\nto:\n  services/vr/performanced/Android.bp\n\nBug: 68860345\nBug: 151177513\nBug: 151953481\n\nTest: m all\n\nExempt-From-Owner-Approval: janitorial work\n\nChange-Id: Ib1de8cd7b87446de45d79db15cd90b93a591846d\nMerged-in: I61e7702e6b36f218bebc7c87853001861a92741e\nMerged-in: I9d9d5fb32033c08cfb517f6cfc0ecb4cf1eee2fe\nMerged-in: I10f45547b1161e3768a134b38bf40d77a3a82f09\n"
    },
    {
      "commit": "dd122c5c535d22d4852280ca13faee6d98218515",
      "tree": "02d2f8b57bbb503bd9724f1d6d9654700cb75fed",
      "parents": [
        "80703bba253df96eea73f71989c6cacb04df34dc"
      ],
      "author": {
        "name": "Roman Kiryanov",
        "email": "rkir@google.com",
        "time": "Tue Nov 17 22:59:38 2020 -0800"
      },
      "committer": {
        "name": "Roman Kiryanov",
        "email": "rkir@google.com",
        "time": "Tue Nov 17 23:02:13 2020 -0800"
      },
      "message": "Move libvr_hwc-hal and vr_hwc into system_ext\n\nthey are not a part of the system according to\ngeneric_system.mk.\n\nBug: 173538619\nBug: 167689596\nTest: presubmit\nSigned-off-by: Roman Kiryanov \u003crkir@google.com\u003e\nChange-Id: I00fad53e29794130983534f7e9ebc05ac09cc1d8\n"
    },
    {
      "commit": "70ea73c048fb6ecf3ae89b83a81829938f335729",
      "tree": "992a573bbe0cc82b7fdf1184313fa3e2bc531dc7",
      "parents": [
        "c7cb6d6529ab28e1351f35e62e9b41647a6b9557"
      ],
      "author": {
        "name": "Roman Kiryanov",
        "email": "rkir@google.com",
        "time": "Tue Nov 17 22:33:18 2020 -0800"
      },
      "committer": {
        "name": "Roman Kiryanov",
        "email": "rkir@google.com",
        "time": "Tue Nov 17 23:02:04 2020 -0800"
      },
      "message": "Move performanced into system_ext\n\nit is not a part of the system according to\ngeneric_system.mk.\n\nBug: 173538619\nBug: 167689596\nTest: presubmit\nSigned-off-by: Roman Kiryanov \u003crkir@google.com\u003e\nChange-Id: I0818b1e08ccfb4906e128b18fd48f3b2efbb03f7\n"
    },
    {
      "commit": "75a46a1a3489fe9189a6e4e203892a0bdbedd602",
      "tree": "debbdbe58fdb2504ab0c76979fd5211c2041effa",
      "parents": [
        "3d1aefb6030b9a5d7184162ace3ea4d0249859de"
      ],
      "author": {
        "name": "Roman Kiryanov",
        "email": "rkir@google.com",
        "time": "Tue Nov 17 21:19:17 2020 -0800"
      },
      "committer": {
        "name": "Roman Kiryanov",
        "email": "rkir@google.com",
        "time": "Tue Nov 17 22:14:23 2020 -0800"
      },
      "message": "Move bufferhubd into system_ext\n\nit is not a part of the system according to\ngeneric_system.mk.\n\nBug: 173538619\nBug: 167689596\nTest: presubmit\nSigned-off-by: Roman Kiryanov \u003crkir@google.com\u003e\nChange-Id: If7bbb5d5c19ccec8e510d0a4f1618737e503a794\n"
    },
    {
      "commit": "3d1aefb6030b9a5d7184162ace3ea4d0249859de",
      "tree": "0626460ac2121f1d5d1faa1b56cf2d7dfa6dcaaf",
      "parents": [
        "2d95bb9dc4614d288d67ede956062982c270899c"
      ],
      "author": {
        "name": "Roman Kiryanov",
        "email": "rkir@google.com",
        "time": "Tue Nov 17 21:18:03 2020 -0800"
      },
      "committer": {
        "name": "Roman Kiryanov",
        "email": "rkir@google.com",
        "time": "Tue Nov 17 21:18:03 2020 -0800"
      },
      "message": "Retire libgtest_prod from dependencies\n\nnot required\n\nBug: 173538619\nBug: 167689596\nTest: presubmit\nSigned-off-by: Roman Kiryanov \u003crkir@google.com\u003e\nChange-Id: I2174c17f17814b9e15ef020655e8dc96cc571ce8\n"
    },
    {
      "commit": "499ad8898917788ac25f831ccac223653abdcc2b",
      "tree": "aeabde8e65cf03b6461529e035c9489fee03008f",
      "parents": [
        "34cea217d573829d8a9dafb22fef615d618cdb48",
        "560de1587b031d5e9b850605ead9198f5b295274"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Jun 01 09:58:43 2020 +0000"
      },
      "committer": {
        "name": "Automerger Merge Worker",
        "email": "android-build-automerger-merge-worker@system.gserviceaccount.com",
        "time": "Mon Jun 01 09:58:43 2020 +0000"
      },
      "message": "Merge \"Add dependencies on jni_headers\" am: ed38697b9f am: 560de1587b\n\nChange-Id: Idf1fc1cab46e19b6a38350323c53fe7acd7bd91f\n"
    },
    {
      "commit": "a58ef3567b5dc5fd6b3cb5749c7a6908eeee4764",
      "tree": "69ade53aab99795fe6648a1aec93c31a54e8078a",
      "parents": [
        "45e0cf7236a21b4236b9e3ed9cb02829472c678b"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed Apr 22 11:10:13 2020 +0100"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Wed May 27 16:52:08 2020 +0100"
      },
      "message": "Add dependencies on jni_headers\n\nPreparation for removing implicit include paths for jni.h from soong.\n\nBug: 152482542\nTest: m checkbuild\nChange-Id: I06873e61e519b6e54d7325f90231bce732790366\nMerged-In: I06873e61e519b6e54d7325f90231bce732790366\nExempt-From-Owner-Approval: build clean-up\n(cherry picked from commit e32877afccb09f4d6fe0f24586a07f748b92e23e)\n"
    },
    {
      "commit": "0258cebce308de9cbf83b9992ce69046b91a9bda",
      "tree": "435fa9ccd8254351bf7713db667f4007703f8f24",
      "parents": [
        "815bb3d44a27cbb6d8d113bd070d6748cf7dc181"
      ],
      "author": {
        "name": "Peiyong Lin",
        "email": "lpy@google.com",
        "time": "Fri Jan 10 10:06:38 2020 -0800"
      },
      "committer": {
        "name": "Peiyong Lin",
        "email": "lpy@google.com",
        "time": "Fri Jan 10 10:06:38 2020 -0800"
      },
      "message": "[composer] Add createCommandWriter to command engine.\n\nCommand engine always uses V2.1 CommandWriterBase, change the creation of\ncommand writer inside command engine so that we can use the right version of\ncommand writer.\n\nThis patch updates VR composer to match the change.\n\nBUG: b/147365206\nTest: build and boot.\nChange-Id: I373768a80947a3856b10de72aac4ca72926fbee5\n"
    },
    {
      "commit": "83cc45b1e7b544fa27ef60a51fe8c1a17c361f27",
      "tree": "aafae97e1fe9eb625ef1eabc04e790a28cbd05fd",
      "parents": [
        "fae5e44cd8ff01236136511fbf19c6a39bfe3256",
        "d65d71b0763eab5a2825c664c0ac3b9c31ec56ce"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Sep 09 19:24:34 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Sep 09 19:24:34 2019 -0700"
      },
      "message": "Merge \"Remove libhwbinder/libhidltransport deps\" am: 0b2cf30522 am: b19d15b55c am: f425ab1e9c\nam: d65d71b076\n\nChange-Id: Ia6e27a36a34cc247929866f0566b83f6471cc090\n"
    },
    {
      "commit": "7a10a4f54357031d076e30601432ea1b1553b098",
      "tree": "7b0d021e7b1182bfc9cf778d6597ad6fcc9f90fe",
      "parents": [
        "c3ba3a0019615cb3c2b52f2f125b87b0154ee052"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Sep 06 12:09:08 2019 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Sep 09 10:46:17 2019 -0700"
      },
      "message": "Remove libhwbinder/libhidltransport deps\n\nSince these were combined into libhidlbase.\n\nBug: 135686713\nTest: build only (libhwbinder/libhidltransport are empty)\nChange-Id: Iec1802ce9226570d3a02cc5242f7ca72e1370635\n"
    },
    {
      "commit": "275fb46d01ceeced378b409776eb49044ae15523",
      "tree": "b75462d4ef6daab1c1de7061e4042c54f7f00838",
      "parents": [
        "bfb0d55494ee54cb66c873d3a946c2033b7f3a9e",
        "94e91f62bb251bc08864e1aa5f0e9e30908ba35d"
      ],
      "author": {
        "name": "Mike Ma",
        "email": "mamik@google.com",
        "time": "Wed Sep 04 14:47:10 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 04 14:47:10 2019 +0000"
      },
      "message": "Merge \"Rev up vr_hwc to composer@2.3\""
    },
    {
      "commit": "94e91f62bb251bc08864e1aa5f0e9e30908ba35d",
      "tree": "f507731c293eeba9fc208939db172095947faf8b",
      "parents": [
        "becd6bd4b68cc6594e2fe149da8de705a648b199"
      ],
      "author": {
        "name": "mamik",
        "email": "mamik@google.com",
        "time": "Mon Aug 19 09:11:33 2019 -0700"
      },
      "committer": {
        "name": "mamik",
        "email": "mamik@google.com",
        "time": "Tue Sep 03 11:54:31 2019 -0700"
      },
      "message": "Rev up vr_hwc to composer@2.3\n\nFix for issue: \"[GSI XR] VrFlinger doesn\u0027t work on GSI/MTP845.\"\n\nThe flow that causes the issue is:\nSurfaceFlinger gets an hotplug event and adds a display id of the\ninternal display (For instance, display id of 19260371107735809). This\ndisplay id gets added to the HWComposer through the hotplug event.\n\nWhen updateVrFlinger() is eventually called in SurfaceFlinger, a new\nHWComposer is created which has no display ids being tracked in\nHWComposer. Another hotplug event starts from vr_hwc.cpp, which has a\ndisplay id of 0. SurfaceFlinger receives this hot plug event so\nSurfaceFlinger has an display ids of [19260371107735809, 0]. HWComposer\nonly has display id 0.\n\nNext processDisplayChangesLocked() is called in SurfaceFlinger and a new\nFramebufferSurface is created with display id 19260371107735809.\nIn the FramebufferSurface it tries to call getActiveConfig() in\nHWComposer with the display id of 19260371107735809, which HWComposer\ndoes not know about. This results in a crash.\n\nThe display id is created from the edid data and display port.\n\nThe fix is to have the vr_hwc return the same edid data and display port\nas the internal display. This will make the display id originating\nfrom vr_hwc be the same as the internal display id. SurfaceFlinger\nwill now only have the display id of 19260371107735809, since it does not\noverwrite the same display id on the hotplug events. HWComposer will only\nhave display id of 19260371107735809. The SurfaceFlinger and HwComposer\ndisplay ids match the code works correctly now.\n\nThis is accomplished by creating a version 2.0 of the vr_composer_client\nand having vr_hwc inherit from version 2.3 instead of version 2.1 of the\ncomposer hal. These changes are required to be able to pass through the\nedid data. The display port and edid data is retrieved by vr_hwc via the\ndisplay_client.\n\nThe other required changes needed for this to work is:\nag/9215156\nag/9226524\n\nBug: 137325030\nBug: 138938154\nBug: 137448042\n\nTest: manual - ran through modified unit test to make sure the edid data\nwas returned on the MTP 845.\n\nChange-Id: I1c54e6cfda348260cf1013d6dca0dda58acb3b3c\n"
    },
    {
      "commit": "87c8ba767a25a4ee054d6c274405de89aae968c4",
      "tree": "331d055b96ffd8fc18c6afa1e2b5e68b50f37292",
      "parents": [
        "1b397ddcdaa01911580a8a26445afa4e844328b9"
      ],
      "author": {
        "name": "Marissa Wall",
        "email": "marissaw@google.com",
        "time": "Thu Jun 20 14:20:52 2019 -0700"
      },
      "committer": {
        "name": "Marissa Wall",
        "email": "marissaw@google.com",
        "time": "Mon Aug 19 15:07:05 2019 -0700"
      },
      "message": "gralloc: add IAllocator/IMapper 4.0 to frameworks/native\n\nAdd support for gralloc 4.0 to the framework.\n\nBug: 136016160\nTest: Compiles and boots\n\nChange-Id: I26408e984308fa557e102efabb60302907310308\n"
    },
    {
      "commit": "72a90b6abaa21e5e9fab1834c37f129259dc70d8",
      "tree": "789ea64721d582d76594cb5fe8e4ec6e1f71a400",
      "parents": [
        "13db07b6bcccb58ce51a385399e7288aaab0e077"
      ],
      "author": {
        "name": "Marissa Wall",
        "email": "marissaw@google.com",
        "time": "Thu Aug 01 14:30:50 2019 -0700"
      },
      "committer": {
        "name": "Marissa Wall",
        "email": "marissaw@google.com",
        "time": "Fri Aug 16 10:54:55 2019 -0700"
      },
      "message": "frameworks/native: composer-resources is a new shared library\n\nComposer-resources was added to ensure newer versions\nof mapper wouldn\u0027t break vendors when they are added.\n\nTest: compiles and boots\nBug: 136016160\n\nChange-Id: I4fb5801dfd5a5e72f70f6069017ba185978b2dca\n"
    },
    {
      "commit": "7b4d4b3379248a55b45ce4d963eb68e8660e9287",
      "tree": "78d70f9790956cbf467af85c6e36c1c63a9e98f2",
      "parents": [
        "1dc674b0537e19fc256d6c63b248bcd6e3df6c05",
        "a6629cd50d510e6f19af1925951da93bbdf39f11"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Jun 18 23:28:10 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 18 23:28:10 2019 -0700"
      },
      "message": "Merge \"libhwbinder users use libhidlbase\" am: 03fb53e727 am: 3cddd2c141 am: e74da5f082\nam: a6629cd50d\n\nChange-Id: I0bfc6f13ee0eb98b057a48b4db2e9acb6c6e149e\n"
    },
    {
      "commit": "e74da5f082aa6cb0968957c12ced5073f8307b63",
      "tree": "370b49a5e812c003535c413435f5be515cb3b4e7",
      "parents": [
        "2b734fb3b988e004cffbf44d94ab11fd24f0e06c",
        "3cddd2c141607a6fd8a1691fcaa94feeb23b3834"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Jun 18 22:39:12 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 18 22:39:12 2019 -0700"
      },
      "message": "Merge \"libhwbinder users use libhidlbase\" am: 03fb53e727\nam: 3cddd2c141\n\nChange-Id: Ie95621a3962a8012303274c70337b0ab0daea606\n"
    },
    {
      "commit": "2da1e07a5331e4f3bebae3106d6d141aa09ec07b",
      "tree": "8c671f790b642b79c02b4ea2ba045bcc4371dba5",
      "parents": [
        "578198815af7c4d0cb7e0e249bac7ad5ecefafb8"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Jun 18 17:23:21 2019 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Jun 18 17:25:30 2019 -0700"
      },
      "message": "libhwbinder users use libhidlbase\n\nlibhwbinder symbols are being moved into libhidlbase in order to\noptimize linking/memory usage. libhwbinder will no longer be\nrequired in the future (however removing references to it will come\nseparately).\n\nBug: 134961554\nTest: boot\nChange-Id: Ia2cba3d034a682ce37dc9a0f742f802440e67d25\n"
    },
    {
      "commit": "e1d7a7eec0642f00c9d02965da0ef25af9397cf2",
      "tree": "d4594f854f044709c771b4d77d647fc370e7f26a",
      "parents": [
        "b86c6bd7229b5ff33c96a0166d57e5fc8b974163",
        "8cdb3bab639d08a31f5dac430467a33f2bb31caf"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Jun 07 11:57:11 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jun 07 11:57:11 2019 -0700"
      },
      "message": "Merge \"Match src paths with aidl package name\" into qt-dev-plus-aosp am: 3f18d11e92\nam: 8cdb3bab63\n\nChange-Id: Id36340d2343353deef93a76bd3b055f38125c94f\n"
    },
    {
      "commit": "9ba6e65d595c17d6853976991d233a5eab70b8e6",
      "tree": "5db4f890b5964eeb8a69b23daf7b759c87f4e6a7",
      "parents": [
        "f593071c4d74c7f35cda2834e24712460689c5e3"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Sep 14 21:27:01 2018 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Jun 07 16:05:36 2019 +0000"
      },
      "message": "Match src paths with aidl package name\n\nIn order for the build system to track updates to the header files\nduring incremental builds, always specify the src files using the same\npath as the package for C++ compilations.\n\nBug: 112114177\nTest: m\nChange-Id: I33c684de4c0c52012b496d2f2447eceaba26c191\nMerged-In: I33c684de4c0c52012b496d2f2447eceaba26c191\n"
    },
    {
      "commit": "a5d6522ff07cf3dfc73669b4ad5bd744abd42e9c",
      "tree": "80845d0724042290b9d32e08151fb8cf5c78e553",
      "parents": [
        "f91264c7d62e10e03645768e4ccfdab34a20004e"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Sep 14 21:27:01 2018 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Thu Jun 06 22:47:57 2019 +0000"
      },
      "message": "Match src paths with aidl package name\n\nIn order for the build system to track updates to the header files\nduring incremental builds, always specify the src files using the same\npath as the package for C++ compilations.\n\nBug: 112114177\nTest: treehugger\nChange-Id: I33c684de4c0c52012b496d2f2447eceaba26c191\n"
    },
    {
      "commit": "0b8f9add1c6bfd892f28a41e8a0ed9f33507820c",
      "tree": "c3a3627802f49c19f0ea0810c403fb8b4c90d04f",
      "parents": [
        "095421dd5c9d1e47c15a1796a2d7e590c5ee717b"
      ],
      "author": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Wed May 29 10:02:20 2019 -0700"
      },
      "committer": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Wed May 29 10:12:29 2019 -0700"
      },
      "message": "Add uhid permission to virtual_touchpad\n\nBug: 133012518\nTest: Build system and check vr-virtual-touchpad created\nChange-Id: Ie1d5bf99554bbd561dfce872ddc789191d61a91c\n"
    },
    {
      "commit": "3822dfa393065b53749a258a38fcf9b6a1ef96d2",
      "tree": "08a364024fc6fa552e842430db367261c819bc96",
      "parents": [
        "cc887a60846dac85b5acfbfbcf22155a5c79b1a4",
        "31c8de613834204e169c2af8933dd9a8ff43099c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 24 23:47:27 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 24 23:47:27 2019 +0000"
      },
      "message": "Merge \"Add lshal support for VrHwc\""
    },
    {
      "commit": "db52843d48214517b801f6fbba8b1fc093a196f2",
      "tree": "27eda715996b408c3edc7268ab77fe35ba519081",
      "parents": [
        "d312cd51d5b7c8c941d66bb5084eb79a305494ba",
        "9f7e94c5090d79d24953dff644f9a4ed100de667"
      ],
      "author": {
        "name": "Oliver Nguyen",
        "email": "olivernguyen@google.com",
        "time": "Fri May 24 00:59:32 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 24 00:59:32 2019 -0700"
      },
      "message": "Merge \"Remove undefined functions from VirtualTouchpadClient.\" am: 622d91bf5c am: 5fe22f0544 am: c99897b0b9\nam: 9f7e94c509\n\nChange-Id: I6b9921dd8176a1c11f7c89938afe7f90f7ed0e09\n"
    },
    {
      "commit": "31c8de613834204e169c2af8933dd9a8ff43099c",
      "tree": "f687e4165cbc9a1668260361a65b53a056affda0",
      "parents": [
        "0419884f22d8e390b1aa9a55a6d9664176983571"
      ],
      "author": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Thu May 23 18:27:14 2019 -0700"
      },
      "committer": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Thu May 23 18:28:49 2019 -0700"
      },
      "message": "Add lshal support for VrHwc\n\nBug: 133452166\nBug: 133272775\nTest: adb shell lshal debug android.hardware.graphics.composer@2.1::IComposer/vr\nChange-Id: I1b108857cd6cbabd53793095119275682b9d6b37\n"
    },
    {
      "commit": "c99897b0b965addd8b1e75e16f4cf033abaed720",
      "tree": "ef14090438b3170c03a89936459c6ad51ac2d7c7",
      "parents": [
        "50c94c696a657d5f3ac6913a024daf247f538052",
        "5fe22f05446fdc02277deb9562231ad11c83b0bb"
      ],
      "author": {
        "name": "Oliver Nguyen",
        "email": "olivernguyen@google.com",
        "time": "Wed May 22 21:35:44 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 22 21:35:44 2019 -0700"
      },
      "message": "Merge \"Remove undefined functions from VirtualTouchpadClient.\" am: 622d91bf5c\nam: 5fe22f0544\n\nChange-Id: I208ab0983c0f5e1c76167f49e972c4d3fb842501\n"
    },
    {
      "commit": "29f76abd8385543d334e8c30e84a68e688a0dd41",
      "tree": "4f4f3a1c8f8ca550658e94bd04e3ea9b574206ed",
      "parents": [
        "a753a334e2bfcfe5065f813f7f3c0995c45d7ba2"
      ],
      "author": {
        "name": "Oliver Nguyen",
        "email": "olivernguyen@google.com",
        "time": "Mon May 20 16:29:55 2019 -0700"
      },
      "committer": {
        "name": "Oliver Nguyen",
        "email": "olivernguyen@google.com",
        "time": "Wed May 22 13:32:10 2019 -0700"
      },
      "message": "Remove undefined functions from VirtualTouchpadClient.\n\nFixes a build issue with -O0 due to missing vtable entries.\nRemoved functions are defined in the base class as pure virtual,\nbut never defined for the derived class, causing linking to fail.\n\nTest: make NATIVE_COVERAGE\u003dtrue COVERAGE_PATHS\u003dframeworks\nBug: 116873221\nChange-Id: I7ee8a2e478e1137e3b778dfbdca63a2dc3e2a9b1\n"
    },
    {
      "commit": "1eafe08a93cead5628f1f827be99528a51f4ca70",
      "tree": "601f6ec1ac313713a1e9996c7146d1347d78ded7",
      "parents": [
        "b138bb216b08c12facb4971182f4dd153638b547"
      ],
      "author": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Tue May 21 19:44:48 2019 -0700"
      },
      "committer": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Wed May 22 17:23:06 2019 +0000"
      },
      "message": "Reduce debug level log from libbufferhub\n\nLogs that indicates possible racing between consumers and producers of\na buffer are removed because they are expected to race each other.\nLog that indicates possible racing in bufferhubd is moved from info\nlevel to verbose level.\n\nTest: vega runs without libbufferhub log spam\nBug: 129544259\nChange-Id: I9307602797ff9c1bbc774264682a83bf4ddd0240\n(cherry picked from commit b9d077f9be584114c39ac8417452cd20817c0236)\n"
    },
    {
      "commit": "9eef697140bd0a4801820f44d019620b23e5b5e6",
      "tree": "0dbdfdcc1fcc0c6510b5defcad7c556f4c590b45",
      "parents": [
        "131e059161015f0b76f2d254cf537daa82f9382d",
        "0c4ba8db6545433426714b7c46a28760bbb2a2dc"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Apr 04 18:31:44 2019 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Apr 04 18:31:44 2019 -0700"
      },
      "message": "Merge \"Rename VirtualTouchpadService to IVirtualTouchpadService\" am: a11f06df59\nam: 0c4ba8db65\n\nChange-Id: Id8638dbb30b4ccdc34f4bece622726c82e240b6a\n"
    },
    {
      "commit": "e00679799e126c1aae6c99007e545abc904baf9b",
      "tree": "5839447d838775745a9a07b87195c2f27dfc95b0",
      "parents": [
        "7392a5c646b1288977e80202ebdc251d43ad1ad7"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Wed Apr 03 20:16:24 2019 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Wed Apr 03 21:19:27 2019 +0900"
      },
      "message": "Rename VirtualTouchpadService to IVirtualTouchpadService\n\naidl compiler no longer force prepend I when the interface name does not\nstart with I.\n\nBug: 129549755\nTest: m libvirtualtouchpadclient\nChange-Id: I973b5138d671fb842160d2795caa1c8eb977f642\n"
    },
    {
      "commit": "2e6ead3279619470d89f68d2f795853e12b6a5e0",
      "tree": "c8b5234681983cc3bbacbfc0433abfc19250bc16",
      "parents": [
        "0625533ee5f7427d2eef74e9f8df041f34604a47"
      ],
      "author": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Mon Mar 25 10:40:11 2019 -0700"
      },
      "committer": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Thu Mar 28 20:21:21 2019 +0000"
      },
      "message": "Opt in libcrt\n\nBufferhubd, its client libraries and tests were failing due to\nlibcrt change. However, they no longer fails on master branch TOT now.\nThis change removes the libcrt switch that were introduced in b/117565638.\n\nBug: 117568153\nBug: 117565638\nTest: on phone targets (blueline crosshatch taimen)\nBufferHub_test BufferHubServer_test VtsHalBufferHubV1_0TargetTest\n\nTest: on phone_xr targets (blueline_xr crosshatch_xr taimen_xr)\nthe above tests and the following tests:\nbuffer_hub-test dvr_api-test dvr_buffer_queue-test dvr_display-test\nbuffer_hub_queue-test buffer_hub_queue_producer-test\n\n\nChange-Id: I469dd939826df30ee6893d34c510da448fba6b9e\n"
    },
    {
      "commit": "ee2c43ab8a57ad0b63285a7884f3eda5c95fbc78",
      "tree": "078ac6f376d2dd54ce0270e121fdc5fca616e020",
      "parents": [
        "e7d922888450c283047960b1fa3579759880edeb"
      ],
      "author": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Fri Feb 22 11:11:14 2019 -0800"
      },
      "committer": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Fri Feb 22 11:11:14 2019 -0800"
      },
      "message": "Remove spamming logs from ProducerChannel\n\nChange-Id: I86aba99d6c07e0606a6f512129bca48314f16d20\nFix: 125846981\nTest: run on walleye_xr target and no more spamming logs.\n"
    },
    {
      "commit": "f377a76a47cdcfd15437c94d547a30a9da82fb7c",
      "tree": "3466734817dc89ff67bec2ab215260ba288d7243",
      "parents": [
        "101843de76cfd5a5b2c4cd8ffaf6f973f96c8c04"
      ],
      "author": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Wed Feb 13 13:46:42 2019 -0800"
      },
      "committer": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Wed Feb 13 22:06:52 2019 +0000"
      },
      "message": "Fix code style violation in the variables in BufferHubDefs::MetadataHeader\n\nViolation: variables should be lowerCaseCamel in the following directories:\nframeworks/native/libs/ui and frameworks/native/services/bufferhub\n\n\nTest: m, mma\nBug: 68273829\nChange-Id: I7dc56ec17089456f98b018032f04f779b12632b2\n"
    },
    {
      "commit": "727ede4a0fd4fbc6621833b21579da255eb1fb68",
      "tree": "21092d6221646ed69a96f48a478df318025b341f",
      "parents": [
        "3b8439cc91cdf5adb6752e3fa86a30d7d7e5e986"
      ],
      "author": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Fri Feb 01 11:44:51 2019 -0800"
      },
      "committer": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Fri Feb 08 15:41:57 2019 -0800"
      },
      "message": "Fix non camelCase function names\n\nAndroid Framework C++ Code Style Guidelines says that function names\nshould be camelCase: http://go/droidcppstyle\n\nTest: m, mma in frameworks/native\nBug: 68273829\nChange-Id: I2f661c06b31b2e72cd0eee3d91b95531b60ec939\n"
    },
    {
      "commit": "a8df5f30d3d664eea7b4fb9b8d65ef7c467655a0",
      "tree": "d3474fc3e38433a15530db6646cdd0b5ecfe3848",
      "parents": [
        "a71e1c3c68e90078a01625acc01b68f783c2ca2c"
      ],
      "author": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Mon Jan 14 18:42:12 2019 -0800"
      },
      "committer": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Wed Jan 30 14:50:27 2019 -0800"
      },
      "message": "Replace the use of helper function IsBufferReleased to member function\n\nIsReleased() or is_released().\n\nFix: 122854791\nTest: BufferHub_test BufferHubServer_test VtsHalBufferHubV1_0TargetTest\nbuffer_hub-test buffer_hub_queue-test dvr_buffer_queue-test\non walleye_xr\nChange-Id: I2431a4ddd78cb2eef9bdeafc0d9048571f7a0c61\n"
    },
    {
      "commit": "44d242f97f18803f32166f41b4af00287c6ef101",
      "tree": "5013a36682e54120a7f323ff3229828bc470c480",
      "parents": [
        "7bab27f5cd27c3ebcc3ffc97bee8cbd7c6e98ac3"
      ],
      "author": {
        "name": "Fan Xu",
        "email": "fanxu@google.com",
        "time": "Thu Jan 17 13:05:41 2019 -0800"
      },
      "committer": {
        "name": "Fan Xu",
        "email": "fanxu@google.com",
        "time": "Thu Jan 17 14:41:17 2019 -0800"
      },
      "message": "Remove BufferNode in libbufferhubd\n\nDetachedBuffer used to need BufferNode as its component, but now it is\nrenamed to BufferHubBuffer and refactored with hwbinder backend, so\nthere is no need to keep a BufferNode dependency in libbufferhubd.\n\nTest: buffer_hub-test\nBug: 118891412\nChange-Id: I80dde2eed788b3bd4fd1f8148e74526bff248f06\n"
    },
    {
      "commit": "cc19dbb865845084c32cca7bf85d5e2c7ba56c68",
      "tree": "3e8a4bf7e003994deae5fec006015904801042d0",
      "parents": [
        "b6d0623bbc0a33bd3c68cd81e0b567b0f1540440",
        "83e8073eecbd1bb9e3b96dd77087ae3ec8d3921b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 17 00:41:26 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 17 00:41:26 2019 +0000"
      },
      "message": "Merge \"Remove DetachedBufferRPC and BufferChannel\""
    },
    {
      "commit": "ae691837f50a38a15cff2d5e927c92f75d6503c1",
      "tree": "7befde6b6ec3b783f9f7a9e3bf2faa60a6825a0a",
      "parents": [
        "96780e54781e217f355e00a1ad7f6e3781ba8977",
        "39903204113a6baca75d1dbc6ba1d24948f57c89"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 15 23:21:26 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 15 23:21:26 2019 +0000"
      },
      "message": "Merge \"gralloc: add mapper 3.0 to composer makefiles\""
    },
    {
      "commit": "83e8073eecbd1bb9e3b96dd77087ae3ec8d3921b",
      "tree": "fe24a5d2c3464e31ede0df1e715ca596ff15da5a",
      "parents": [
        "7ab76b1c7d7d3f667cb58789295f62e7eb9e26c6"
      ],
      "author": {
        "name": "Fan Xu",
        "email": "fanxu@google.com",
        "time": "Fri Jan 11 14:25:19 2019 -0800"
      },
      "committer": {
        "name": "Fan Xu",
        "email": "fanxu@google.com",
        "time": "Mon Jan 14 11:39:24 2019 -0800"
      },
      "message": "Remove DetachedBufferRPC and BufferChannel\n\nBoth of them used to be the PDX backend of DetachedBuffer (now\nBufferHubBuffer) and now not needed as we have the hwbinder backend.\n\nTest: buffer_hub-test, BufferHub_test\nBug: 118891412\nChange-Id: I000042ee6f23f98fabcdd60eb2aedda928769314\n"
    },
    {
      "commit": "39903204113a6baca75d1dbc6ba1d24948f57c89",
      "tree": "b5d7987a465223ed7b405177c00d33e44d604f6a",
      "parents": [
        "49a99b9ff288a105de660cd43ce73e0ce2e7d2f2"
      ],
      "author": {
        "name": "Marissa Wall",
        "email": "marissaw@google.com",
        "time": "Fri Jan 11 09:02:11 2019 -0800"
      },
      "committer": {
        "name": "Marissa Wall",
        "email": "marissaw@google.com",
        "time": "Fri Jan 11 09:02:11 2019 -0800"
      },
      "message": "gralloc: add mapper 3.0 to composer makefiles\n\nMapper is used by ComposerResources. With the addition of mapper 3.0\nthe ComposerResources needed to be updated to support mapper 3.0.\n\nBug: 120493579\nTest: compile sffakehwc_test\nChange-Id: I01fc45ab4d3e0530a4613be430bb5fa91c00f399\n"
    },
    {
      "commit": "01fc0b7ff807013d2834ce632ef6833b28aec36a",
      "tree": "4ae080c460e7bcbb9897624de6bc347c424408c6",
      "parents": [
        "b9182b1555059e59f5c965a61acb7dd7ef42614d",
        "2521ef089027134a9fe5de4d3da26c7ff14a7f3b"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Jan 09 21:37:30 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 09 21:37:30 2019 -0800"
      },
      "message": "Merge \"Fix/suppress libs/vr google-explicit-constructor warnings\" am: dc23aff2d7 am: faec550a58\nam: 2521ef0890\n\nChange-Id: I5641a5974159770baef5bbf7a489bbf816f97ca7\n"
    },
    {
      "commit": "79e7f1b5f8391460aef9e8cd43cc13d9294a5636",
      "tree": "7cac73d227edbb6cdc88be9fc03992dbe7862065",
      "parents": [
        "9a0d6e60a3bcde82677d8beccd26cdcdebe150e8"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Dec 20 15:53:43 2018 -0800"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Jan 09 14:42:33 2019 -0800"
      },
      "message": "Fix/suppress libs/vr google-explicit-constructor warnings\n\n* Add explicit to conversion constructors/operators\n* Use NOLINT or NOLINTNEXTLINE to suppress warnings on intended converters\n\nBug: 28341362\nTest: make with WITH_TIDY\u003d1 DEFAULT_GLOBAL_TIDY_CHECKS\u003d-*,google-explicit-constructor\nChange-Id: I3631041531e3fb5cbcee246a7e7bb94fb06aa60b\n"
    },
    {
      "commit": "e60a4ad3b52096866cece5c17a793269457f8de1",
      "tree": "b0b78f1d4fc14d028a8e7f862aea627dd83f2eac",
      "parents": [
        "30f231caa70687ffda713ea16613a9a3fd0110fc"
      ],
      "author": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Fri Jan 04 14:37:23 2019 -0800"
      },
      "committer": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Tue Jan 08 01:16:13 2019 +0000"
      },
      "message": "Post to all existing and non-existing consumers of the buffer\n\nPreviously, producer only post to all current clients of the buffer\nexcept for the producer itself. In this change, producer post to all\nexisting and non-existing clients of the buffer except for the producer\nitself.\n\nFix: 120869419\nTest: Vega is able to recover itself during DON after killing vrcore\nor compositor process.\nTest: on vega_xr and blueline_xr with the following tests\nbuffer_hub-test buffer_hub_queue-test dvr_buffer_queue-test\ndvr_api-test libdvrtracking-test(vega only) buffer_hub_queue_producer-test\n\nChange-Id: I29f24268b7704fbeb06a4302b11dcd89dd13c133\n"
    },
    {
      "commit": "1c730240e58ea241ffebc252b5cde395d694a25a",
      "tree": "f0277f574f90b358789fdf277261837ae3c72eac",
      "parents": [
        "49a99b9ff288a105de660cd43ce73e0ce2e7d2f2"
      ],
      "author": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Mon Dec 31 18:40:02 2018 -0800"
      },
      "committer": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Wed Jan 02 11:45:52 2019 -0800"
      },
      "message": "Rename Buffer{Producer, Consumer} to {Producer, Consumer}Buffer\n\nBug: 116855254\nTest: Build\nChange-Id: Ief03795d2093f817f135d33eb252e1e040e150f7\n"
    },
    {
      "commit": "617ba80aafdc5d1dba2c48c52bc6e699fba34a9e",
      "tree": "1df87837eb9e777043caedfcfbdb651b27c248e6",
      "parents": [
        "a09fe22ec1d22b940422b5c24aebab47ebb81ead"
      ],
      "author": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Thu Dec 20 14:22:55 2018 -0800"
      },
      "committer": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Thu Dec 20 14:25:06 2018 -0800"
      },
      "message": "Shortcut a couple tests in DvrDisplayManagerTest\n\nThose tests won\u0027t work on dedicated VR devices.\n\nBug: 121329335\nTest: dvr_api-test\nChange-Id: I056cb1c985c09c1a859b40e7a29ee373c76b7120\n"
    },
    {
      "commit": "a99f9114d15add6bf1d67264e2a60a73e13009fe",
      "tree": "706d3852bee81e83008adc789f0582f2be576384",
      "parents": [
        "7bd483a2ee8e6c2db596d95a690e452e1a7b43f3"
      ],
      "author": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Thu Dec 13 18:23:07 2018 -0800"
      },
      "committer": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Sat Dec 15 05:04:38 2018 +0000"
      },
      "message": "Change atomics in ashmem from uint64_t to uint32_t\n\nFix: 117849512\n\nTest: Blueline: atest AHardwareBufferTest BufferHub_test\n buffer_hub_queue_producer-test libgui_test\nlibsensor_test vrflinger_test buffer_hub-test buffer_hub_queue-test\ndvr_buffer_queue-test dvr_api-test dvr_display-test\nTest: in libui_test InputSurfacesTest are segfault on top of master already.\n\nTest: Vega: AHardwareBufferTest BufferHubBuffer_test\nBufferHubMetadata_test buffer_hub_queue_producer-test buffer_hub-test\ndvr_buffer_queue-test buffer_hub_queue-test dvr_api-test\nlibdvrtracking-test\n\nChange-Id: I55f91c21f7ac07615b5451b5413521d7938cf591\n"
    },
    {
      "commit": "ae9668c1e1357a0b8e6812710dc05141a6c81666",
      "tree": "0731bc2720cb7897bf980157f1df2096cd060272",
      "parents": [
        "616aca2f670caf55c3b87fe53996a2e3bf99ab93"
      ],
      "author": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Fri Dec 07 15:14:47 2018 -0800"
      },
      "committer": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Sat Dec 08 06:10:19 2018 +0000"
      },
      "message": "Explicitly clears signal upon OnProducerGained in consumer channels\n\nAnd fix some unreadable code around buffer state\nand a wrong-but-no-effect-yet fence return.\n\nBug: 120569702\nTest: patch ag/4833259 and not see washing machine\nTest: AHardwareBufferTest BufferHubBuffer_test\nbuffer_hub_queue_producer-test buffer_hub-test buffer_hub_queue-test\ndvr_buffer_queue-test dvr_api-test libdvrtracking-test\n\nChange-Id: I63b18a78ea05d2084b2ed29fbcaacbb652d48846\n"
    },
    {
      "commit": "9f9a4612e487ae7beca7d74382d5e2e43dc6f3ae",
      "tree": "dd51501a2f56c4adaa5af53821199cbd85ae59ae",
      "parents": [
        "49a945a212ff6ecda29030ceb3aa614e52812cd2"
      ],
      "author": {
        "name": "Fan Xu",
        "email": "fanxu@google.com",
        "time": "Mon Dec 03 16:32:13 2018 -0800"
      },
      "committer": {
        "name": "Fan Xu",
        "email": "fanxu@google.com",
        "time": "Wed Dec 05 16:05:19 2018 -0800"
      },
      "message": "Remove buffer_hub_binder and related codes\n\nAs we decided the new bufferhub service should be hwbinder instead of\nbinder, these binder codes no longer make sense.\n\nTest: build passed\nBug: 118891412\nChange-Id: I5eae2516d279ea85c156d49a2ab31e8e319baae2\n"
    },
    {
      "commit": "0cdd2a0e03c5587e683e3d6dafc9944a3ed22cbd",
      "tree": "32af5244f8820a088fa51295cd542cca5e7f11af",
      "parents": [
        "61e6e9f759f67261ba49405a6b67afd916240764"
      ],
      "author": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Thu Nov 15 10:20:45 2018 -0800"
      },
      "committer": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Tue Dec 04 06:07:30 2018 +0000"
      },
      "message": "Remove pending_consumers_ from producer channel\n\npending_consumers_ was created before the creation of buffer state atomics.\nProducer channel need to check and issue signal if pending_consumers_ is\nzero. pending_consumers_ \u003d\u003d 0 is the same as buffer_state of\nnon-orphaned buffers are fully released. Thus, removing\npending_consumers_ as it gives redundant information and lower the\ncomplexity of producer channel.\n\nBug: 119331650\nTest: all tests are passing\non Blueline:\nAHardwareBufferTest BufferHubBuffer_test BufferHubMetadata_test\nbuffer_hub_binder_service-test buffer_hub_queue_producer-test\nlibgui_test libsensor_test vrflinger_test buffer_hub-test\nbuffer_hub_queue-test dvr_buffer_queue-test dvr_api-test\ndvr_display-test\n\non Vega:\nAHardwareBufferTest BufferHubBuffer_test BufferHubMetadata_test\nbuffer_hub_queue_producer-test  buffer_hub-test buffer_hub_queue-test\ndvr_buffer_queue-test dvr_api-test libdvrtracking-test\n\nChange-Id: I5ccf3e6b3a2a304e238c272bda443e6d180babc3\n"
    },
    {
      "commit": "4982432a816f593dee3f12cf33c9f999b574100c",
      "tree": "75bfe2c06213654b2a262fed1f65472efd172a2e",
      "parents": [
        "f669f6a2e5becd051b2829dc44bcba8043945cfe"
      ],
      "author": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Wed Nov 14 16:42:51 2018 -0800"
      },
      "committer": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Mon Dec 03 21:51:19 2018 +0000"
      },
      "message": "Remove producer_owns_ in producer_channel\n\nproducer_owns_ was created before the creation of buffer state atomics.\nIt serves a similar purpose of atomics that:\n1. prevent producer from gaining a buffer that still have pending\nconsumers.\n2. prevent consumer from acquiring a buffer that is still owned by\nproducer.\nTherefore, producer_owns_ is redundant now.\n\nBug: 119331650\nTest: all tests are passing\non Blueline:\nAHardwareBufferTest BufferHubBuffer_test BufferHubMetadata_test\nbuffer_hub_binder_service-test buffer_hub_queue_producer-test\nlibgui_test libsensor_test vrflinger_test buffer_hub-test\nbuffer_hub_queue-test dvr_buffer_queue-test dvr_api-test\ndvr_display-test\n\non Vega:\nAHardwareBufferTest BufferHubBuffer_test BufferHubMetadata_test\nbuffer_hub_queue_producer-test  buffer_hub-test buffer_hub_queue-test\ndvr_buffer_queue-test dvr_api-test libdvrtracking-test\n\nChange-Id: I4a6b4c2d5c741a2befe1600b607c308f607dcd49\n"
    },
    {
      "commit": "f669f6a2e5becd051b2829dc44bcba8043945cfe",
      "tree": "dbaf30368442533597bc0b2413e5fec2cc9e33b1",
      "parents": [
        "face176394e0a28bd7b7b8bed13b4696e79668a2"
      ],
      "author": {
        "name": "Tianyu",
        "email": "tianyuj@google.com",
        "time": "Wed Oct 10 15:34:32 2018 -0700"
      },
      "committer": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Mon Dec 03 10:55:40 2018 -0800"
      },
      "message": "Change the definition of buffer state and client state bits.\n\nPlease refer to go/bufferhub-buffer-state-redesign for more information.\n\nIn this change:\n1. Every clients takes up two bits in the buffer_state.\nOne from the higher 32 bits, one from the lower 32 bits. For details:\ngo/bufferhub-buffer-state-redesign\n\n2. Upon the creation of a new buffer, the buffer is in released state.\nPreviously, only producer creates buffer, and upon creation, the buffer\nwas in gained state. Now, producer needs to specifically gain the buffer\nbefore trying to produce and post it.\n\n3. If there is no other clients when a client post a buffer, the buffer\nwill actually be in released state instead of posted state. This is\nbecause the posted buffer does not have readers and can be reused\nimmediately.\n\n4. If a new client is added to the buffer when the buffer is in acquired\nor posted state, the buffer state of the new client will be set to posted\nstate and able to acquire the same buffer content as posted.\n\nIn the next change:\nvariables of type std::atomic\u003cuint64_t\u003e in metadata header in shared memory\nwill be replaced by std::atomic\u003cuint32_t\u003e\n\nTest: marlin-eng passing AHardwareBufferTest BufferHubBuffer_test\nBufferHubMetadata_test buffer_hub_binder_service-test\nbuffer_hub_queue_producer-test dvr_api-test libgui_test\nlibsensor_test vrflinger_test buffer_hub-test\ndvr_buffer_queue-test dvr_display-test buffer_hub_queue-test\n\nTest: smartphone VR works on blueline-eng\n\nTest: vega_xr passing AHardwareBufferTest BufferHubBuffer_test\nBufferHubMetadata_test buffer_hub_queue_producer-test buffer_hub-test\nbuffer_hub_queue-test dvr_buffer_queue-test dvr_api-test\n\nCherrypicking this changelist to oc-dr1-daydream-dev branch requires\nag/5514563 to be merged at the same time to make Vega actually work.\n\nBug: 112007999\nChange-Id: I86393818ad922a91c709fe22f8e99b0667d2e9ef\n"
    },
    {
      "commit": "932fb4f2ace879efd2ed90d0120186f000acd612",
      "tree": "6511ff49d4e7f9c8f175bec9be566f3c3e7b8143",
      "parents": [
        "df306c8acba817d52dfd7679ac69f7a2f40047c7"
      ],
      "author": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Thu Nov 15 11:09:58 2018 -0800"
      },
      "committer": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Fri Nov 30 18:21:07 2018 +0000"
      },
      "message": "Change return values of type status_t from NO_ERROR to OK\n\nin bufferhub related directories\n\nBug: 118696702\nFixes: 118696702\nTest: all tests pass.\nAHardwareBufferTest BufferHubBuffer_test BufferHubMetadata_test\nbuffer_hub_binder_service-test buffer_hub_queue_producer-test\nlibgui_test libsensor_test vrflinger_test buffer_hub-test\nbuffer_hub_queue-test dvr_buffer_queue-test dvr_api-test\ndvr_display-test\n\nChange-Id: Iee198ddbec035856185fcab34b0d631bd3726b77\n"
    },
    {
      "commit": "069e8389df7aee7e8812a036bcda43c3fe24cabc",
      "tree": "5c50727256298ce4b603af94e7f2be5df0d7d3f4",
      "parents": [
        "910c0aa1384ee3122a4d3929ca3b94943a3dc539"
      ],
      "author": {
        "name": "Fan Xu",
        "email": "fanxu@google.com",
        "time": "Fri Nov 16 16:28:08 2018 -0800"
      },
      "committer": {
        "name": "Fan Xu",
        "email": "fanxu@google.com",
        "time": "Wed Nov 28 15:57:21 2018 -0800"
      },
      "message": "Move BufferHubMetadata off pdx::fileHandle\n\nUse android::base::unique_fd to replace LocalHandle. For BorrowedHandle,\na const reference of the unique_fd is returned.\n\nUpdated the test cases to fit in current behavior.\n\nTest: BufferHubMetadata_test, BufferHubBuffer_test, BufferNode_test,\nbuffer_hub-test (passed)\nFix: 118888072\n\nChange-Id: I34de335ed9a10864ac226cd4d7d261ba0078045d\n"
    },
    {
      "commit": "30ac3560ef27bfbdf94293407b13e3bbc8b73f48",
      "tree": "b4b3779fe174fe009fdf9fb3aab4326a5eeea5d0",
      "parents": [
        "c0e95045785b6c088d9dc8b9fb8add8e45aaab57",
        "c3f5af4e93b2adf71eabc7eb85834fc706f7a172"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Nov 16 23:44:36 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Nov 16 23:44:36 2018 -0800"
      },
      "message": "Merge \"Convert bugreportz, cmd and performanced to Android.bp\" am: c435db5daa am: 189f7aa9ed\nam: c3f5af4e93\n\nChange-Id: I04d3244db2787615b34466ef7b2a108ac7a6d83e\n"
    },
    {
      "commit": "d960894396845d4fa1d28c1da394d923390dc248",
      "tree": "839a60b943a2b6d1fc9c8d2182d363a419f3deac",
      "parents": [
        "cdd531c96227a3682a404f5d88b44cfbb86968e2"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Nov 16 16:08:45 2018 -0800"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Fri Nov 16 16:44:26 2018 -0800"
      },
      "message": "Convert bugreportz, cmd and performanced to Android.bp\n\nSee build/soong/README.md for more information.\n\nTest: m bugreportz cmd performanced\nTest: atest bugreportz_test\nTest: atest performance_service_tests  (failed in the same way on cf before/after)\nChange-Id: I643176ec07773ab2efca4b04edc2af82b6395793\n"
    },
    {
      "commit": "f77adb1fbcefafb09d1eb4bf050be2ad23ae781a",
      "tree": "87563ca3bad76cea2e8ff782269a6c025cfbe9dd",
      "parents": [
        "cbdc47aee5e12b5da8f85c2de3bd53fc116b5405"
      ],
      "author": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Thu Nov 08 18:00:22 2018 -0800"
      },
      "committer": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Sun Nov 11 23:18:31 2018 +0000"
      },
      "message": "Remove unused private field mVrClient from VrCommandEngine\n\nThere is a compile warning: private field \u0027mVrClient\u0027 is not used [-Wunused-private-field]\n\nBug: None\nTest: build\n\nChange-Id: I58d2f1f176727ef293067cbc62da4d971f4fc4e5\n"
    },
    {
      "commit": "21f7531fa806d709ced830107e915dd3afdcf435",
      "tree": "15aff6547417f5fd1b0c0ed1051dd69247a709c4",
      "parents": [
        "8b130f87db2e654d00bfbc19637b7460e6211949",
        "50f7ad1b84de41389c5a295c2680a6fcc8e39b1b"
      ],
      "author": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Fri Nov 09 18:30:53 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 09 18:30:53 2018 +0000"
      },
      "message": "Merge \"Create consumer state mask(s) immediately after producer allocate new buffer.\""
    },
    {
      "commit": "23b687a79dc4e1b72bcee39dfdf6a8de676101a7",
      "tree": "140df5de7b3b9e413ea399cd2d5b6012a909e724",
      "parents": [
        "29811d53eb3935fceaa522b11352a3f82331a434",
        "5c2945ee29b2805a7870ef0f0d8cd52457273553"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 09 09:34:35 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Nov 09 09:34:35 2018 -0800"
      },
      "message": "Merge \"C++17: use android::base::Trim instead of std::not1/std::ptr_fun.\" am: e73b4803be am: de15364da7\nam: 5c2945ee29\n\nChange-Id: I352e256d259c1615e4ee6f5f1153e94c48ed6e42\n"
    },
    {
      "commit": "e73b4803bebe3fb07434e1b81438b89ca139e412",
      "tree": "fc93a0326589243fef1e9b9ef7eda229f48186d8",
      "parents": [
        "ad5fe4dee42a3104076c715061c5903c57516de4",
        "ccddf4c9f5830d5c7b9e35d000f9e6eec5b0fdec"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 09 17:04:00 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Nov 09 17:04:00 2018 +0000"
      },
      "message": "Merge \"C++17: use android::base::Trim instead of std::not1/std::ptr_fun.\""
    },
    {
      "commit": "50f7ad1b84de41389c5a295c2680a6fcc8e39b1b",
      "tree": "4bbd2a650770e6640f0a7e604aec197637b550f7",
      "parents": [
        "cb10f9567a5940407c1ceb651a2a37cca66c0f75"
      ],
      "author": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Thu Nov 08 11:13:35 2018 -0800"
      },
      "committer": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Thu Nov 08 18:07:07 2018 -0800"
      },
      "message": "Create consumer state mask(s) immediately after producer allocate new buffer.\n\nNo functionality change in the current use cases.\n\nCreate consumer state mask(s) for newly allocated buffer in producer\nqueue for all connected consumer channels immediately before signaling\nthe consumer channels that there is a new buffer allocated in the queue.\n\nPreviously, the consumer queue imports newly allocated buffer upon\ndequeue. During importing the buffer, after the IPC, bufferhubd does\ntwo things:\n1. create consumer state mask\n2. create consumer channel\n\nThis changelist moves the first step before the IPC, moving it right\nafter the buffer is allocated in the producer queue. This changelist\ndoes not affect the second step.\n\nTest: AHardwareBufferTest BufferHubBuffer_test BufferHubMetadata_test\nbuffer_hub_binder_service-test buffer_hub_queue_producer-test\nlibsensor_test vrflinger_test buffer_hub-test\nbuffer_hub_queue-test dvr_buffer_queue-test dvr_api-test\ndvr_display-Test\n\nBug: 119112218\n\nChange-Id: I313e7ea98fcb555e08560e4c7e9bf295e40e1f27\n"
    },
    {
      "commit": "ccddf4c9f5830d5c7b9e35d000f9e6eec5b0fdec",
      "tree": "d18ded36835496ee28c5743425567eadcd9d6923",
      "parents": [
        "d111162fc442e1a94699a55f91b7eb6efc4bed0a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 08 15:32:13 2018 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Nov 08 15:32:13 2018 -0800"
      },
      "message": "C++17: use android::base::Trim instead of std::not1/std::ptr_fun.\n\nThese were deprecated in C++14 and removed in C++17. (Sadly we don\u0027t\ngive deprecation warnings.)\n\nThis code is already using libbase, so just switch over.\n\nBug: http://b/111067277\nTest: builds\nChange-Id: I5f884aa4d8d6b5d559e14323b1a647cc45cdad9f\n"
    },
    {
      "commit": "f593018a8f51a22e3da46c1ae84559c127104288",
      "tree": "2a6f57423598c47b3a3806e8390120a2967dd96b",
      "parents": [
        "afa02c274ded2375920e050c5616ac55f0cee2e2",
        "d48292a132be97bf044af5ec9511d3143cfd1673"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Wed Nov 07 16:52:16 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 07 16:52:16 2018 -0800"
      },
      "message": "Merge \"Modernise code to use std::make_unique\" am: 4ed4815951 am: d8a94a48a8\nam: d48292a132\n\nChange-Id: Ie72ea8beaab990008ebb272ae2018c0a45ebcb25\n"
    },
    {
      "commit": "0f4c679ad8ba4de8f350eeea50dd5b79cb22737a",
      "tree": "b778642778363f5caadf0a89bef07c42fdf49a0d",
      "parents": [
        "692bc1f89c108efb268a0adf0d5b54dd431cde75"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Mon Oct 29 21:17:54 2018 -0700"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Wed Nov 07 21:27:35 2018 +0000"
      },
      "message": "Modernise code to use std::make_unique\n\nGenerated by clang-tidy.\n\nTest: m checkbuild\nChange-Id: Ia9ba25726c9a7dfee1725ff46cac8a3b2995ab79\n"
    },
    {
      "commit": "ca9201a94cf4921776c3b6ff6b027b03cea55552",
      "tree": "ef0172fd85ac42d0badde9dcd1412cbbd3ceea70",
      "parents": [
        "c556dfeee1de47086a7404df3f0093daa86dcb1a"
      ],
      "author": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Tue Nov 06 12:40:33 2018 -0800"
      },
      "committer": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Tue Nov 06 15:13:06 2018 -0800"
      },
      "message": "Fix race condition between ProducerQueue dequeue and ConsumerQueue dequeue newly allocated buffer.\n\nThe original check allows newly added consumer to acquire after\nLocalGain but before remote gain.\n\nTest: all tests still pass.\nBug: 119112218\n\nChange-Id: Iea0ae431b211ce4a539e4db64ea72411028e080a\n"
    },
    {
      "commit": "574a6852953ca2b38ed346348a3e88f66fcf90fe",
      "tree": "af6b07a92164d4479efcb06b89ca03bf23947b42",
      "parents": [
        "6894160b3159973f62d0a73b476d33526258a7a5"
      ],
      "author": {
        "name": "Fan Xu",
        "email": "fanxu@google.com",
        "time": "Fri Nov 02 13:22:42 2018 -0700"
      },
      "committer": {
        "name": "Fan Xu",
        "email": "fanxu@google.com",
        "time": "Mon Nov 05 15:40:35 2018 -0800"
      },
      "message": "Move BufferNode to libbufferhubservice\n\nBufferNode is a server-side class and should be located in the service\nfolder. Also, making the old bufferhubd service depending on\nlibbufferhubservice could solve the dependency problem.\n\nTest: \"atest buffer_node-test\", \"atest buffer_hub-test\" passed.\nBug: 118893702\nChange-Id: I5fad37d3c0475d6cd4f4e0ed17f911b6777a6868\n"
    },
    {
      "commit": "bb094a5ddcf8475b22ebcfa45d47c10fcc5828b5",
      "tree": "e3b498247c7f0c98686d0b1a541b18cd57ed4c33",
      "parents": [
        "a5517d710e729ed4ebfc44016d3cc77c25505d87"
      ],
      "author": {
        "name": "Fan Xu",
        "email": "fanxu@google.com",
        "time": "Fri Oct 26 15:05:02 2018 -0700"
      },
      "committer": {
        "name": "Fan Xu",
        "email": "fanxu@google.com",
        "time": "Thu Nov 01 16:43:20 2018 -0700"
      },
      "message": "Move BufferNode off ionbuffer\n\nBecause ionbuffer will be deprecated, and BufferNode is the server-side\nmemory management class for a BufferHubBuffer, we actually only need a\nnative_handle_t and AHardwareBuffer_Desc to keep the data.\n\nUpdated the test to check if buffer_handle_ is functioning correctly.\n\nTest: atest buffer_node-test, buffer_hub-test\nFix: 117790952\nChange-Id: Ie2c6814169d89e9c1ed5528442f2712abaf2ec8f\n"
    },
    {
      "commit": "6a1f39df2b7e26514d374ce25859e6e5501d4f65",
      "tree": "56d7b43c8f222465a879a115313cc33a3ce790fd",
      "parents": [
        "34c8376ac42e26d733128bde2dd2d20e12ced67e",
        "63dd7c3bb484c346d70b306dfa44cfc92ac6dd62"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 01 17:35:36 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 01 17:35:36 2018 +0000"
      },
      "message": "Merge \"Replace kProducerStateBit with kFirstClientBitMask.\""
    },
    {
      "commit": "5e4c327a1202f017f5a5e9d4fe8e546bec21e709",
      "tree": "53fc181d64f988764287ed158f5e92f68e6758a0",
      "parents": [
        "81dea27e84bac1715db94995ca27ba517cbdc71d"
      ],
      "author": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Wed Oct 31 10:57:45 2018 -0700"
      },
      "committer": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Thu Nov 01 04:59:13 2018 +0000"
      },
      "message": "Format buffer state in hex instead of decimal.\n\nBuffer state and fence state are more readable in hex.\n\nTest: None\nBug: None\nChange-Id: Id3de357e0f8af2b434aac92925ceb4ec2b5e7d2c\n"
    },
    {
      "commit": "63dd7c3bb484c346d70b306dfa44cfc92ac6dd62",
      "tree": "91fff511a894847f9760b497a138416a70e0715e",
      "parents": [
        "8842420699a5e029aa7ff1ea51018231d46dabb5"
      ],
      "author": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Tue Oct 30 18:35:06 2018 -0700"
      },
      "committer": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Wed Oct 31 18:08:21 2018 -0700"
      },
      "message": "Replace kProducerStateBit with kFirstClientBitMask.\n\nkProducerStateBit covers the MSB of the buffer/fence state.\nkFirstClientBitMask covers the LSB of the buffer/fence state.\nThis change replaces the kProducerStateBit with kFirstClientBitMask, and\nupdate the kConsumerStateBit to be the inverse of kFirstClientBitMask.\n\nTest: AHardwareBufferTest BufferHubBuffer_test BufferHubMetadata_test\nbuffer_hub-test buffer_hub_binder_service-test buffer_hub_queue-test\nbuffer_hub_queue_producer-test buffer_node-test dvr_api-test\ndvr_buffer_queue-test dvr_display-test libgui_test libdvrcommon_test\npdx_tests GraphicBuffer_test\nBug: 118718713\nChange-Id: I647f36ee3fb2eb5dc996b781ed0ff71f7f72c112\n"
    },
    {
      "commit": "8842420699a5e029aa7ff1ea51018231d46dabb5",
      "tree": "5727af2c1018be6a6b433cf093e221cc90e9c5e8",
      "parents": [
        "ec72c16df9f68b0c360c4a22b685b442b720501d",
        "e2cdec984975dd5752936d8c38e9353e8a2a0ebb"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 01 01:03:41 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 01 01:03:41 2018 +0000"
      },
      "message": "Merge \"Load with memory_order_acquire\""
    },
    {
      "commit": "e2cdec984975dd5752936d8c38e9353e8a2a0ebb",
      "tree": "a32d53ddb198af5dc43ef2448586193491c0aa8d",
      "parents": [
        "eb3e844052273a032d54735d20522bb195f38feb"
      ],
      "author": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Tue Oct 30 17:40:58 2018 -0700"
      },
      "committer": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Thu Nov 01 01:02:48 2018 +0000"
      },
      "message": "Load with memory_order_acquire\n\nstd::atomic::load operation is with std::memory_order_seq_cst by\ndefault. However, load operation in bufferhubd and buffer hub client\ndoes not need sequentially-consistent ordering which is provided by\nstd::memory_order_seq_cst. This change changes our load operation with\nstd::memory_order_acquire so that no reads or writes in the current\nthread can be reordered before this load, all writes in other threads\nthat release the same atomic variable are visible in the current thread.\n\nTest: all tests are still passing.\nTest: vega still working.\nBug: 112007999\nBug: 118718713\nChange-Id: I2ac75cc306c3de35bf3d953b353f9a9442bdebbc\n"
    },
    {
      "commit": "a09147e1b914bc868063a20a9b5630b5e03963b2",
      "tree": "36b7ee120b775a81eb262fe662608bb982a610ac",
      "parents": [
        "eb3e844052273a032d54735d20522bb195f38feb",
        "3a96ccd1429822f3bc6d7667ac8ffd67b229939d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 31 18:15:36 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 31 18:15:36 2018 +0000"
      },
      "message": "Merge changes Ib07fd160,I54c34d9f\n\n* changes:\n  Add importBuffer to BufferHubBinderService\n  Add duplicate to BufferClient\n"
    },
    {
      "commit": "70834b7d8b83a6777bf8d0ae7cc927265b0355e4",
      "tree": "cf91d04928539175715299c2c6c178c39afc3bc7",
      "parents": [
        "58fb2f53be856cee8ce07d3caa6bdca186354952",
        "83a991f83e3b99791a8037849eec534c7052982a"
      ],
      "author": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Wed Oct 31 06:51:08 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 31 06:51:08 2018 +0000"
      },
      "message": "Merge \"Rename and fix comments and typo.\""
    },
    {
      "commit": "58fb2f53be856cee8ce07d3caa6bdca186354952",
      "tree": "f1f6314858fc5538b76c4977a4a183e7aa655f0b",
      "parents": [
        "de9791602809c0a9ce5f7ac4bd78c242f3cf006f",
        "8f10b759a1d03321ceffdce78ec8dcc358b6abc5"
      ],
      "author": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Wed Oct 31 05:29:19 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 31 05:29:19 2018 +0000"
      },
      "message": "Merge \"Improve test readability\""
    },
    {
      "commit": "83a991f83e3b99791a8037849eec534c7052982a",
      "tree": "47553d6bac05be9971c34135c9202bd5793b1994",
      "parents": [
        "de9791602809c0a9ce5f7ac4bd78c242f3cf006f"
      ],
      "author": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Tue Oct 30 16:59:29 2018 -0700"
      },
      "committer": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Wed Oct 31 03:41:47 2018 +0000"
      },
      "message": "Rename and fix comments and typo.\n\nTest: all tests are still passing.\nBug: None\n\nChange-Id: I931d299525f03f06693ebbcb1a74a027a92808c2\n"
    },
    {
      "commit": "8f10b759a1d03321ceffdce78ec8dcc358b6abc5",
      "tree": "422a23b282beab1aa535cdbaae72809ba789b307",
      "parents": [
        "e49caaa3166c99c1e257198cb4d72eff2300487c"
      ],
      "author": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Tue Oct 30 17:24:51 2018 -0700"
      },
      "committer": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Wed Oct 31 03:03:23 2018 +0000"
      },
      "message": "Improve test readability\n\nAdd kMaxNumberOfClients to BufferHubDef. This variable will also be\nneeded when buffer state is changed according to\ngo/bufferhub-buffer-state-redesign\n\nTest: BufferHubBuffer_test buffer_hub-test buffer_node-test\nBug: 112007999\nChange-Id: I453438f3e2defa1fc93d1e74a282a38360f27694\n"
    },
    {
      "commit": "b0eec5119c7dad64fa04345951bf61a4ea975af3",
      "tree": "c228ed0538783d7f7676d1012daf5d4d1602df44",
      "parents": [
        "27631c9c42e8cfbfd7b42d60818b7954dcfbbc1e"
      ],
      "author": {
        "name": "Fan Xu",
        "email": "fanxu@google.com",
        "time": "Tue Oct 30 11:33:15 2018 -0700"
      },
      "committer": {
        "name": "Fan Xu",
        "email": "fanxu@google.com",
        "time": "Tue Oct 30 13:56:03 2018 -0700"
      },
      "message": "Cleanup unused logic for ProducerBuffer.Detach\n\nProducerBuffer.Detach is disabled during migration. Therefore, related\npdx rpc code is no longer needed and could be removed. This is also\nrequired to move BufferNode off IonBuffer, as one of the constructor of\nBufferNode is called inside these code.\n\nTest: \"atest buffer_hub-test\" passed.\nBug: 112338294\nChange-Id: I950a2d0f59362f217636da9310f7bfff23127092\n"
    },
    {
      "commit": "3a96ccd1429822f3bc6d7667ac8ffd67b229939d",
      "tree": "3d6c2e7031cffbbde231de8b6a7b1fe961f7b052",
      "parents": [
        "d94e2ee6a960c2163f87dedd406424a916ea553c"
      ],
      "author": {
        "name": "Fan Xu",
        "email": "fanxu@google.com",
        "time": "Tue Oct 23 13:05:11 2018 -0700"
      },
      "committer": {
        "name": "Fan Xu",
        "email": "fanxu@google.com",
        "time": "Tue Oct 30 13:18:15 2018 -0700"
      },
      "message": "Add importBuffer to BufferHubBinderService\n\nNow you can create a new IBufferClient using token generated by\nduplicate(). The new client will be linked to the same node in the\nbackend.\n\nImport an unexisting token will return PERMISSION_DENIED, while import a\ngone buffer will get DEAD_OBJECT.\n\nTest: atest buffer_hub_binder_service-test\nBug: 116681016\nChange-Id: Ib07fd160dad98bcaed017b3efa648863b70aa142\n"
    },
    {
      "commit": "d94e2ee6a960c2163f87dedd406424a916ea553c",
      "tree": "15a4e00a4364a039dbea84cdb111acb85df295f0",
      "parents": [
        "27631c9c42e8cfbfd7b42d60818b7954dcfbbc1e"
      ],
      "author": {
        "name": "Fan Xu",
        "email": "fanxu@google.com",
        "time": "Fri Oct 19 14:42:45 2018 -0700"
      },
      "committer": {
        "name": "Fan Xu",
        "email": "fanxu@google.com",
        "time": "Tue Oct 30 12:58:20 2018 -0700"
      },
      "message": "Add duplicate to BufferClient\n\nCalling BufferClient::duplicate() will now return you an uint64_t token\nstands for a specific BufferNode. In later CLs users could pass this\nIPC-friendly token everywhere and use it to create a IBufferClient\nlinked to that BufferNode.\n\nThe token is derived from the mt19936_64 random algorithm. No same\ntokens will be generated at the same time by checking the token_map_.\nThe map holds a weak_ptr so that if the BufferNode goes away by some\nreason the map will not keep it, preventing from memory leak.\n\nAdd test case to test on the function.\n\nTest: \"atest buffer_hub_binder_service-test\" passed.\nBug: 116681016\nChange-Id: I54c34d9fabe882326faa141a6f0691419b740694\n"
    },
    {
      "commit": "2cc68fbf8df8f69b6c775a50b8204d77f39484f8",
      "tree": "0411d8f009a6d1fc51c8fc1cdc152f936b416b73",
      "parents": [
        "5e7ae376868f09dad70f8c3dfb87404d6d5d46cd"
      ],
      "author": {
        "name": "Fan Xu",
        "email": "fanxu@google.com",
        "time": "Mon Oct 29 13:07:53 2018 -0700"
      },
      "committer": {
        "name": "Fan Xu",
        "email": "fanxu@google.com",
        "time": "Mon Oct 29 15:20:59 2018 -0700"
      },
      "message": "Fix bufferhubd crash in buffer_hub-test\n\nAdd some null and valid check in constructors to prevent bufferhubd from\ncrash when user enter invalid params.\n\nTest: \"atest frameworks/native/libs/vr/libbufferhub/buffer_hub-test.cpp#TestCreateBufferHubBufferFails\"\nand check \"adb logcat | grep bufferhub\"\nNo crashing reports.\natest buffer_hub-test: passed\nFix: 118624156\n\nChange-Id: I56e83808f38ab146f1fc61d1b736dd0be640503d\n"
    },
    {
      "commit": "7e204b7213c8f73e1fa4e7cdf21638358240cfb1",
      "tree": "f942708a0f08c6f6c759ac1f8dfe7dcfefd5f35c",
      "parents": [
        "73a961515af1fa2c97516bcd0568dd375737e022"
      ],
      "author": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Fri Oct 26 15:39:18 2018 -0700"
      },
      "committer": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Fri Oct 26 15:55:11 2018 -0700"
      },
      "message": "Change the variable name \"buffer_state_bit\" into \"client_state_mask\".\n\nReasons:\n1. This variable is not refering to a property of the buffer. It refers\nto a client of the buffer.\n2. The original \"buffer_state_bit\" of a producer/consumer is actually\nthe client state bit mask for both buffer_state and fence_state in\nshared memory. Thus, \"buffer_state_bit\" does not make sense for the\nfence state.\n3. In the future, Every clients takes up two bits in the buffer_state.\nFor simpler bit manipulation, there will be a future change making the\nclient_state_bits two bits as well. Please refer to ag/5236978 for an\nearly look at the future bit manipulation. Thus, this change replaces\n\"bit\" with \"mask\".\n\nTest: build\nBug: 112007999\nChange-Id: I72f59ab9491bd2f135da068f578195fbf5e6c2b6\n"
    },
    {
      "commit": "674f52f78acb12b502bd84798dc45da0c798c3ff",
      "tree": "2157309945b781cd1c14f0a92b3d89df57a2d549",
      "parents": [
        "95f01f42e64fe0766e9d4cdf346417413ad3afcb",
        "8d9d33ee53f0c1eb1a594b06e9f96cae40b8281f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Oct 25 03:45:49 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 25 03:45:49 2018 +0000"
      },
      "message": "Merge \"Remove getServiceProxy() on BufferHubBinderService\""
    },
    {
      "commit": "7f072e93a3c56625b67b25dbf6c6e17cdb3e6170",
      "tree": "c08988ac6b177916aa609acd3222c15090bd537e",
      "parents": [
        "3cc66c91d7ca96673641f81329747b20c7130dba"
      ],
      "author": {
        "name": "Fan Xu",
        "email": "fanxu@google.com",
        "time": "Wed Oct 17 16:11:59 2018 -0700"
      },
      "committer": {
        "name": "Fan Xu",
        "email": "fanxu@google.com",
        "time": "Wed Oct 24 14:53:08 2018 -0700"
      },
      "message": "Add BufferClient information to dumpsys\n\nNow \"adb shell dumpsys bufferhubd\" will tell you how many buffers have\nbeen allocated via the binder service as well.\n\nThe reason for not having buffer info is because the info should be\nstored with BufferNode, which is yet another pending CL. After\nb/117790952 is resolved we can print them.\n\nTest: run \"adb shell dumpsys bufferhubd\" after \"atest\nbuffer_hub_binder_service-test\" should print \"Active BufferClients: 1\"\nBug: 116526156\n\nChange-Id: I72df3a2d4795bdba0ddf42c1a27a74cd5987f3d8\n"
    },
    {
      "commit": "8d9d33ee53f0c1eb1a594b06e9f96cae40b8281f",
      "tree": "a92c5667597bbdea68aa7cde5c265846afa6f972",
      "parents": [
        "3cc66c91d7ca96673641f81329747b20c7130dba"
      ],
      "author": {
        "name": "Fan Xu",
        "email": "fanxu@google.com",
        "time": "Wed Oct 17 16:32:33 2018 -0700"
      },
      "committer": {
        "name": "Fan Xu",
        "email": "fanxu@google.com",
        "time": "Wed Oct 24 14:51:16 2018 -0700"
      },
      "message": "Remove getServiceProxy() on BufferHubBinderService\n\nWe didn\u0027t notice that binder has already defined a getService(name,\noutref*) function to get a binder service when originnally writing\ngetServiceProxy(). Therefore, keep the function there is unnecessary.\n\nTest: \"atest buffer_hub_binder_service-test\" passed.\nBug: 112338294\nChange-Id: I8ec8e452f577867e0f345d61f096456fea1456ac\n"
    },
    {
      "commit": "6df8c2a5e4c85ecdad56c17c55330b0c07128769",
      "tree": "63699f96aff0864b8b2f8b4fcc6086b39a222ffe",
      "parents": [
        "013f5c0d5511f8e29ffcbf819b5e1e966543db4a"
      ],
      "author": {
        "name": "Fan Xu",
        "email": "fanxu@google.com",
        "time": "Wed Oct 10 15:53:21 2018 -0700"
      },
      "committer": {
        "name": "Fan Xu",
        "email": "fanxu@google.com",
        "time": "Wed Oct 24 10:41:53 2018 -0700"
      },
      "message": "Add createBuffer to BufferHubBinderService\n\nWhen calling createBuffer, bufferhubd will now alloc the buffer via\ncreating a BufferNode in the server side, and return you a\nBpBufferClient object for communication. A BpBufferClient is binded with\none specific buffer.\n\nCurrently you could only call isValid() on the client. More APIs will be\nadded in future CL.\n\nTest: \"atest buffer_hub_binder_service-test\". Passed\nBug: 116681016\nChange-Id: I05ec627474303af46a792b0b6c2eaa904724d1f2\n"
    },
    {
      "commit": "d2f81ce28e8ff331bcb12259649d7bb1af0f63e8",
      "tree": "0a4d5f633d5136a7ba63b943633a0597f05db950",
      "parents": [
        "7e86280fb054e731b2f878d680e75fedb6f5f44f"
      ],
      "author": {
        "name": "Fan Xu",
        "email": "fanxu@google.com",
        "time": "Mon Oct 22 14:02:39 2018 -0700"
      },
      "committer": {
        "name": "Fan Xu",
        "email": "fanxu@google.com",
        "time": "Mon Oct 22 14:02:39 2018 -0700"
      },
      "message": "Use sp\u003c\u003e on creating BufferHubBinderService\n\nThe original code implicitly calls the constructor of sp\u003c\u003e in\naddService() function call, which is not good for readability. Replace\nit with sp\u003c\u003e could improve readability and avoid possible memory leak if\nthe implementation detail of sp\u003c\u003e changes.\n\nTest: atest buffer_hub_binder_service-test (passed)\nBug: 115429751\nChange-Id: Ice304a638b8d353a3b229e48c17ecd6f32a66f37\n"
    },
    {
      "commit": "0229d25db456f8d0cab88d24b4fda7e19ba9a7d1",
      "tree": "b803c5712e6efbc098adb22798ad993e25507718",
      "parents": [
        "b61df91163d6e8a8639dfe81201d72d96b16acd4"
      ],
      "author": {
        "name": "Tianyu",
        "email": "tianyuj@google.com",
        "time": "Fri Oct 12 13:50:09 2018 -0700"
      },
      "committer": {
        "name": "Tianyu",
        "email": "tianyuj@google.com",
        "time": "Wed Oct 17 12:18:09 2018 -0700"
      },
      "message": "Remove active_buffer_bit_mask_ from BufferNode.\n\nBufferNode already have metadata which contains active_clients_bit_mask,\nwhich serves the same purpose as active_buffer_bit_mask_ but also have\nother usage. This change removes the redundant active_buffer_bit_mask_\nfrom BufferNode.\n\nTest: buffer_node-test on marlin-eng and vega_xr build\nBug: 112007999\nChange-Id: I7695dc5d6eb84a4a5c73148e9636871cc7776df4\n"
    },
    {
      "commit": "b61df91163d6e8a8639dfe81201d72d96b16acd4",
      "tree": "f89942522236bbb86c4627c42d698fd9e7d0d6ef",
      "parents": [
        "c284ebf192d86d0c942d39596efc05880c9caf23"
      ],
      "author": {
        "name": "Tianyu",
        "email": "tianyuj@google.com",
        "time": "Tue Oct 16 14:55:39 2018 -0700"
      },
      "committer": {
        "name": "Tianyu",
        "email": "tianyuj@google.com",
        "time": "Wed Oct 17 10:14:45 2018 -0700"
      },
      "message": "Remove the functionality of promoting a BufferHubBuffer to ProducerBuffer.\n\nTest: buffer_hub-test buffer_hub_queue-test dvr_api-test\ndvr_buffer_queue-test on marlin-eng\nBug: 77153033\n\nChange-Id: I155fa5c5740243d84207f37e6a2fe37d6331628f\n"
    },
    {
      "commit": "5fbd8a3a4c38a1ff806b487c504c0a1a9a2ba777",
      "tree": "f743f84e2a012cbf34e07ce1202ae15effe19b15",
      "parents": [
        "7371fedb5a7b565a8f7cb59a4b2709d62abfc9e4",
        "6705349c66e115ad3e35bb5116088f32eb8042b0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 12 21:31:26 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 12 21:31:26 2018 +0000"
      },
      "message": "Merge \"Move active clients mask to an atomic uint64_t in shared memory.\""
    },
    {
      "commit": "8f51ec64984c1f03cdb6edef95b1e4098939da45",
      "tree": "2710c19a372def21d9a5f07dfbc3dde023b193b1",
      "parents": [
        "89e2fdc24660d9a69b5c8bbdc98fb112a0807077"
      ],
      "author": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Tue Aug 07 21:50:51 2018 -0700"
      },
      "committer": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Fri Oct 12 10:32:46 2018 -0700"
      },
      "message": "Move detached buffer to libui\n\nMove it into libui early so that new modifications towards it can be\ncoded in the libui style\n\nThis CL only moves the file and updates Android.bp with proper\ndependencies. Will re-format the coding style in a follow up CL. The\nreason behind this is to keep this CL small enough so that the \"git\nmv\" operation will be considered as an renaming rather than a complete\nrewrite.\n\nNote that DetachedBuffer is not exposed to VNDK, so that we won\u0027t\nneed to worry about ABI compatibility. Also, it temporarily introduces\nsome clang warning exceptions, we should be able to remove them very\nsoon once pdx to binder refactor is done for detached buffer.\n\nBug: 112010261\nTest: atest BufferHubMetadata_test\nChange-Id: I63659b9a9b7cb56f30fc2ae8cc5b87977d79b59c\n"
    },
    {
      "commit": "6705349c66e115ad3e35bb5116088f32eb8042b0",
      "tree": "c332f1c1fdd02f8e9b060c07f63675aa2a3541af",
      "parents": [
        "696d3d46eebc23ada13416c56358da91188b7773"
      ],
      "author": {
        "name": "Tianyu",
        "email": "tianyuj@google.com",
        "time": "Thu Oct 04 14:00:22 2018 -0700"
      },
      "committer": {
        "name": "Tianyu",
        "email": "tianyuj@google.com",
        "time": "Thu Oct 11 14:02:21 2018 -0700"
      },
      "message": "Move active clients mask to an atomic uint64_t in shared memory.\n\nPreviously, the active_consumer_bit_mask_ was a private member of producer\nchannel for creating new consumer buffers with unique buffer_state_bit_\nso that newly added consumer can be uniquely identified amoung its\nsiblings. It was a union of all consumer\u0027s buffer_state_bit_.\nIn the re-design of buffer state, every consumer/producer/client buffers need\nto know the location of every other consumer/producer/client in\nbuffer_state in order to post a buffer: when a client posts a buffer, it\nchanges its own buffer_state to 00 and others\u0027 buffer_state to 10. Thus, it\nneed to know where the other siblings locates in buffer_state atomic uint64_t.\nactive_consumer_bit_mask_ suffices this need.\nThis change moves the active_consumer_bit_mask_ from producer channel to an\nuint64_t atomic variable in shared memory, and rename it as\nactive_clients_bit_mask_ (because it contain both consumers and\nproducers buffer_state_bit).\n\nTest: marlin-eng on master branch\nTest: vega_xr-eng on oc-dr1-daydream-dev branch\nTest: buffer_hub-test buffer_hub_queue-test buffer_hub_queue_producer-test\nBug: 112007999\nChange-Id: I1ae562701545c7504fd9367c8c8c63a2fd609264\n"
    },
    {
      "commit": "9f7b7f336d477dc34836de27e6ead012bc8ebe0e",
      "tree": "019293a6ad124bcbf0ed84f6fb323572bb7e1ba7",
      "parents": [
        "bc99b990e872c4f33b893e116e960387991f7d23"
      ],
      "author": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Wed Oct 10 15:05:01 2018 -0700"
      },
      "committer": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Thu Oct 11 12:31:09 2018 -0700"
      },
      "message": "Temprorarily opt out bufferhub from libcrt\n\nBug: 117568153\nBug: 117565638\nTest: buffer_hub-test, buffer_hub_queue-test, dvr_api-test\nChange-Id: I69df063bde246fc6d7af61912cbe6056bd79e668\n"
    },
    {
      "commit": "f35719abdd79846c4a8c77b4d65dd77c82b97053",
      "tree": "90775b2ff27b4ff7b27ea0047375f3abc512d368",
      "parents": [
        "72c0b57f6495d9ce3db3e4ab823862cb040e1c27"
      ],
      "author": {
        "name": "Fan Xu",
        "email": "fanxu@google.com",
        "time": "Wed Oct 10 11:38:31 2018 -0700"
      },
      "committer": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Thu Oct 11 00:37:03 2018 +0000"
      },
      "message": "Migrate from aidl to manual implementation\n\nSince aidl does not support uint32_t as there is no unsigned int in\nJava, after discussion we decided to stop using aidl as there are many\nlow-level flags implemented as unsigned int in current system, and it\nwill be more effort to fit them into aidl than write the boiler plate\nby ourselves.\n\nTest: \"atest buffer_hub_binder_service-test\" passed.\nBug: 117559794\nChange-Id: I81c799e9507d686e92e34544c9b48b91c7a37157\n"
    }
  ],
  "next": "72c0b57f6495d9ce3db3e4ab823862cb040e1c27"
}
