)]}'
{
  "log": [
    {
      "commit": "13c41d3c7b20c6890889509dbf36b23bd7c20121",
      "tree": "ec8bd64e6c76804818d3824926b4bda47c84cab2",
      "parents": [
        "69eaed3663318ca4b7f881c2fa85b59958160ca0"
      ],
      "author": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Wed Oct 19 10:23:59 2016 -0700"
      },
      "committer": {
        "name": "Wei Wang",
        "email": "wvw@google.com",
        "time": "Wed Oct 19 16:29:13 2016 -0700"
      },
      "message": "Fix log function for potential overflow\n\nOn LP64 system, unsigned long can be 64bit\nAlso clean out unused static variables.\n\nTest: flash on ARM64 device\nBug: 32181382\nChange-Id: I44b7ea8a6588c475a3979d7bddeb08da7f54c27a\n"
    },
    {
      "commit": "fae12d4fb45e2c4e8943811d784db04599c7e202",
      "tree": "d18281e6daad5faae1f25240a56c0e1d43dd5c4f",
      "parents": [
        "7b97351b68e96ea67380140266abb897fe1be57d"
      ],
      "author": {
        "name": "Michael Lentine",
        "email": "mlentine@google.com",
        "time": "Fri Oct 31 11:08:19 2014 -0700"
      },
      "committer": {
        "name": "Michael Lentine",
        "email": "mlentine@google.com",
        "time": "Fri Oct 31 11:08:19 2014 -0700"
      },
      "message": "Fix output of pointers for 64bit devices.\n\nChange-Id: I279c1cf8d4c126b98f4a92ca807ade3749d01ff0\n"
    },
    {
      "commit": "8cb8925921523e701c59f5b1ac1c37825528fec7",
      "tree": "4bd0aa92c16e0947455404112ec043928bb88dab",
      "parents": [
        "c40f4e64f267c78ff04862456092002d318a8adc"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu May 30 13:53:39 2013 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu May 30 14:04:28 2013 -0700"
      },
      "message": "Bring back overloading to print String8/16.\n\nChange-Id: Iecab20db2b8574d5f1e6fdefdc2c8d4ce6c37121\n"
    },
    {
      "commit": "002e1e58dfe19dd3e49a59c6827cbf51573941a2",
      "tree": "6dc444d7f05aa0512e3c97344d86ee0264daf869",
      "parents": [
        "b4f1a027cbadd4cd07341f60f859ae34643b68ae"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon May 06 20:20:50 2013 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue May 07 18:28:11 2013 -0700"
      },
      "message": "libutils clean-up\n\nChange-Id: I6ff4cfc736751de2912c697f954e45e275f2d386\n"
    },
    {
      "commit": "83c0446f27b9542d6c2e724817b2b2d8d1f55085",
      "tree": "a5a1a310070cad89ee8aaa86d3b1b874f9d29610",
      "parents": [
        "5f2397488ab700674d059a001e917de28a1b0a0c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri May 22 19:00:22 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue May 26 16:12:20 2009 -0700"
      },
      "message": "some work to try to reduce the code size of some native libraries\n\n- make sure that all binder Bn classes define a ctor and dtor in their respective library.\n  This avoids duplication of the ctor/dtor in libraries where these objects are instantiated.\n  This is also cleaner, should we want these ctor/dtor to do something one day.\n\n- same change as above for some Bp classes and various other non-binder classes\n\n- moved the definition of CHECK_INTERFACE() in IInterface.h instead of having it everywhere.\n\n- improved the CHECK_INTERFACE() macro so it calls a single method in Parcel, instead of inlining its code everywhere\n\n- IBinder::getInterfaceDescriptor() now returns a \"const String16\u0026\" instead of String16, which saves calls to String16 and ~String16\n\n- implemented a cache for BpBinder::getInterfaceDescriptor(), since this does an IPC. HOWEVER, this method never seems to be called.\n  The cache makes BpBinder bigger, so we need to figure out if we need this method at all.\n"
    },
    {
      "commit": "edbf3b6af777b721cd2a1ef461947e51e88241e1",
      "tree": "f09427b843b192cccf8c3b5328cb81dddf6489fa",
      "parents": [
        "d5193d9394c5e58176d7bcdf50ef017f8a3b9e1e"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:31:44 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:31:44 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "d5193d9394c5e58176d7bcdf50ef017f8a3b9e1e",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [
        "43aa2b1cbf7a03e248e10f4d0fec0463257cd52d"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:45 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:45 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "7c1b96a165f970a09ed239bb4fb3f1b0d8f2a407",
      "tree": "df5a6539447324de36e95b057d6b9f0361b7a250",
      "parents": [],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "message": "Initial Contribution\n"
    }
  ]
}
