)]}'
{
  "log": [
    {
      "commit": "98e71ddaede9a0bfb681fd237bec1f66c6c53193",
      "tree": "b99491347832c92e1e5af62d11d3a9baf946dd18",
      "parents": [
        "e4f5055ad281096e5b89c4240be29d2c95a43b65"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Feb 11 17:30:52 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Feb 21 23:27:25 2010 -0800"
      },
      "message": "remove a dependency of GraphicBuffer (libui) on Parcel (libbinder).\n\nAdd a Flattenable interface to libutils which can be used to flatten\nan object into bytestream + filedescriptor stream.\nParcel is modified to handle Flattenable. And GraphicBuffer implements\nFlattenable.\n\nExcept for the overlay classes libui is now independent of libbinder.\n"
    },
    {
      "commit": "84a6d041e2c69d4d0b69269a0b59e725c9f119a3",
      "tree": "6841d5b1d696e27f66c30ede34c73d30cf5cc5c3",
      "parents": [
        "7f87b14a5b569b5526725fcf2d942156948d064c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Aug 17 13:33:27 2009 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Aug 17 15:31:25 2009 -0700"
      },
      "message": "Support for marshalling pointers / intptr_t in Parcel.\n\nSome refactoring to eliminate code duplication in Parcel implementation.\n"
    },
    {
      "commit": "1d0a95b12a9194f64dd436224ec3bf8e0622d678",
      "tree": "bbc967726cbe12bd9e3e193df480941de5b38734",
      "parents": [
        "cf81c84e43eb33931b950fa2c9b4c6f51afe7197"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jul 31 16:12:13 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jul 31 16:18:16 2009 -0700"
      },
      "message": "don\u0027t crash in Parcel when given a null (and therfore invalid) native_handle_t\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": "4e97f8c62f3eb3c51343e9f4bbd898992a13903d",
      "tree": "20a0c65ae3db8898fb6328aeacf1212a63a6ecac",
      "parents": [
        "19fbae088ea8063346c0aff687a07a9fca61bab2",
        "b6333b34a2d6e265edf2a052646b07c0b1456ab6"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 22 14:53:18 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri May 22 14:53:18 2009 -0700"
      },
      "message": "am d50a458b: Merge change 2351 into donut\n\nMerge commit \u0027d50a458bb291801ab9fdc119301bc7b84b42a6e3\u0027\n\n* commit \u0027d50a458bb291801ab9fdc119301bc7b84b42a6e3\u0027:\n  Fix a major bug in Bundle when unparcelling from AIDL.\n"
    },
    {
      "commit": "a47f02afb1e1f2c4abd9379c13903a5dde89d354",
      "tree": "8a0f2d2172c27aa2dba4eae77a4420433af84294",
      "parents": [
        "a498449e2b11ed5f15e8c8fda9a429850f891434"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu May 21 16:29:38 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu May 21 16:29:38 2009 -0700"
      },
      "message": "change 2115 wasn\u0027t merged properly into master. this fixes that.\n\nMerge change 2115 into donut\n\n* changes:\n  bring the native_handle stuff back from master_gl\n\nConflicts:\n\n\tlibs/binder/Parcel.cpp\n"
    },
    {
      "commit": "c5b2c0bf8007562536b822eb060fc54a01f8e08b",
      "tree": "da6084f542177972cf72a985b5d2c10330f87de3",
      "parents": [
        "208059f67ed2dd9fa025e07fcb6954d3cb61c79e"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue May 19 19:08:10 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed May 20 12:55:03 2009 -0700"
      },
      "message": "move libbinder\u0027s header files under includes/binder\n"
    },
    {
      "commit": "208059f67ed2dd9fa025e07fcb6954d3cb61c79e",
      "tree": "b2fde632a7c9abf4137751ffe779318c0a89bd96",
      "parents": [
        "501c6179e158b2d5bfc67cb8b7180c02ac301f97"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon May 18 15:08:03 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed May 20 12:55:02 2009 -0700"
      },
      "message": "checkpoint: split libutils into libutils + libbinder\n"
    },
    {
      "commit": "732ca39b704428b77ef305826d4e6c07190fd7ed",
      "tree": "0b575888c39771713beb00a816479b1cdf53242e",
      "parents": [
        "15c399644d0bd343ef9ed23ccb117e49a0eb7f82",
        "ebad147e654682b6f05438ca8f3685809df5d2e2"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Mar 18 11:33:14 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Mar 18 11:33:14 2009 -0700"
      },
      "message": "Merge commit \u0027remotes/korg/cupcake\u0027 into merge\n\nConflicts:\n\tcore/java/android/view/animation/TranslateAnimation.java\n\tcore/jni/Android.mk\n\tcore/res/res/values-en-rGB/strings.xml\n\tlibs/audioflinger/AudioFlinger.cpp\n\tlibs/surfaceflinger/LayerScreenshot.cpp\n\tpackages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java\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": "360211f7feff8472e082ed5a0675a0b37da74ce5",
      "tree": "06a39198bfc9aa98b008f53af76d4ce70bd2b94d",
      "parents": [
        "9417399000f5b6f276b69bf99f35a4a87ef1bcd9"
      ],
      "author": {
        "name": "Rebecca Schultz Zavin",
        "email": "rebecca@android.com",
        "time": "Fri Feb 13 16:34:38 2009 -0800"
      },
      "committer": {
        "name": "Rebecca Schultz Zavin",
        "email": "rebecca@android.com",
        "time": "Fri Feb 13 16:34:38 2009 -0800"
      },
      "message": "Need to dup file descriptor when reading from the binder for native handles\n\nWhen reading a native handle that has passed through the binder,\nthe fds have to be duped to prevent them from getting closed when the binder\nobject is destructed.\n\nSigned-off-by: Rebecca Schultz Zavin \u003crebecca@android.com\u003e\n"
    },
    {
      "commit": "a6938bab1f6fa76ae98ebbe44f4e534e05fa0993",
      "tree": "bc5a1f806bd06db8abb197e80be9ead3644c0bcc",
      "parents": [
        "e41dd756db5184519f4dacbf4d95b333822605c7"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Feb 10 15:44:00 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Feb 10 15:44:00 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@130745\n"
    },
    {
      "commit": "5f78a48bb8f7714ee231fca67d60fad77bc1cad9",
      "tree": "ac69c2deb25fc345ac453231ed7a8678df497a3e",
      "parents": [
        "8a7a67538a9977c892389bfcde76a8372aa0b56c"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jan 20 14:03:58 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jan 20 14:03:58 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@127101\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"
    }
  ]
}
