)]}'
{
  "log": [
    {
      "commit": "7823e124e00576e20e47ec717cbe8bc89f0f2bf2",
      "tree": "b0d7ec03dfc3d58408a9616b7125a77a4ca4439c",
      "parents": [
        "5cfc1c0546d797ebca9bdc3645585e33cc0c1193"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Sep 29 08:08:05 2016 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Jan 11 15:07:17 2017 -0800"
      },
      "message": "Replace cutils/log.h and rationalize log/log.h and android/log.h\n\n- cutils/log.h treat as deprecated and lead by example\n- android/log.h to be used instead of log/log.h if possible\n- add system includes that are assumed as side effects\n- define LOG_TAG first\n\nTest: compile\nBug: 31289077\nBug: 30465923\nChange-Id: I8d99b24c333578c9b5aa9f2a01324bd0bba268dd\n"
    },
    {
      "commit": "a5e161b1207ef447a51e99856097d69d4a6111e1",
      "tree": "d733d77cbafe352fd20935eab60435a365beb8af",
      "parents": [
        "c47aa53c84cc7ac0194057c3afac005437d5ae2b"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Sep 29 08:08:05 2016 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Dec 22 13:55:11 2016 -0800"
      },
      "message": "Replace cutils/log.h and rationalize log/log.h and android/log.h\n\n- cutils/log.h treat as deprecated and lead by example\n- android/log.h to be used instead of log/log.h if required\n- add system includes that are assumed as side effects of log.h\n- modules that use SLOG should use SLOG for all logging (installd)\n- define LOG_TAG first\n- remove logging infrastructure if not used\n\nTest: build\nBug: 31289077\nChange-Id: Iea147a0104c7ab7f12451304131d6500f42141e7\n"
    },
    {
      "commit": "f62eaf5994ac86f4d84e2d34af727617919d7bb7",
      "tree": "0e996e84447a0fb87b45be2c110aaa15d6defc82",
      "parents": [
        "eb03fd3a8bb5b1217b6a0eec513666856d7c6df3"
      ],
      "author": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Wed Jun 01 18:21:44 2016 -0700"
      },
      "committer": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Mon Sep 12 14:20:14 2016 -0700"
      },
      "message": "Squashed: gralloc1/binder/requestor\n\nThis is a combination of the following three commits:\n\nlibui: Convert Allocator and Mapper to gralloc1\n\nConverts GraphicBufferAllocator and GraphicBufferMapper to speak\ngralloc 1.0 (via the C++ shim and optionally the 1On0 adapter) instead\nof gralloc 0.x.\n\n-----\n\nCreate graphic buffer using binder interfaces\n\nUsing binder interfaces rather than directly allocating the buffer prevents\nSELinux warnings.\n\n-----\n\nAdd requestor name to GraphicBuffer alloc metadata\n\nAdds a requestor name (usually the BufferQueue consumer\u0027s name) to the\nmetadata that GraphicBufferAllocator stores on allocation so that\n`dumpsys SurfaceFlinger` can attempt to attribute buffer usage to the\ncorrect client.\n\nBug: 28401203\nBug: 29402015\nBug: 30776557\n"
    },
    {
      "commit": "d723bd7669b4fc88dc282d8bf8ba5ecb2849d22f",
      "tree": "efc2d81e4ebf1f2499c5c5ec10323c6b3013a5ba",
      "parents": [
        "a950eb18792da6962fcefa69b12ffc3f9d8cdca8"
      ],
      "author": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Tue Nov 18 10:24:03 2014 -0800"
      },
      "committer": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Fri Dec 05 11:06:44 2014 -0800"
      },
      "message": "libgui: Enable -Weverything and -Werror\n\nEnables -Weverything and -Werror, with just a few exceptions for\nwarnings we can\u0027t (or shouldn\u0027t need to) work around.\n\nChange-Id: I034abec27bf4020d84af60d7acc1939c59986dd6\n"
    },
    {
      "commit": "392edd88cb63d71a21a86a02cf9c56ac97637128",
      "tree": "2219b2783b131677f45fea4964db9365c252bb10",
      "parents": [
        "3325fe16e60772188ff99db87c5e8b0e655cd6c7"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Nov 29 23:26:29 2012 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Dec 11 17:54:29 2012 -0800"
      },
      "message": "SurfaceFlinger: Move GraphicBufferAlloc to libgui\n\nThis change moves the GraphicBufferAlloc class from SurfaceFlinger to libgui.\n\nChange-Id: Idf31d2004efa2651b60590733f73c4a7b831e8a9\n"
    },
    {
      "commit": "f33e4b6f13bc3ee2d2a4e1abd1ada171c70d3492",
      "tree": "429f08a84a019a3ea3231e9654908352a2776625",
      "parents": [
        "70f93fb5c2004c0fe2bd33f106358d516bb615f8"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Sep 20 16:54:14 2012 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Sep 20 17:13:58 2012 -0700"
      },
      "message": "GraphicBufferAlloc class was declared twice\n\nthis was confusing because the one in FramebufferSurface\nwasn\u0027t in fact being used\n\nChange-Id: Ied45aec20d804cfbe52440f9b2f2852a85c757cf\n"
    }
  ]
}
