)]}'
{
  "log": [
    {
      "commit": "34ad57f0e844cd97f59d4ab22087d60d58650ba4",
      "tree": "c254d651eeb62d76fc7fe5ab852b237857bd7b09",
      "parents": [
        "96abab264e4d96071dc169b4828e950c1ae59681"
      ],
      "author": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Tue Dec 21 09:32:36 2010 -0800"
      },
      "committer": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Tue Dec 21 09:32:36 2010 -0800"
      },
      "message": "resubmitting Change-Id: I67b1d04a5c9fc18b0cd4da6184d0b814b64d89e9\n\nChange-Id: I67b1d04a5c9fc18b0cd4da6184d0b814b64d89e9 was reverted\ndue to a bug. fixed the bug and resubmitting it here\n"
    },
    {
      "commit": "5274e84e88d2cba20ad3cb21c55c1758b4da8af4",
      "tree": "3e5de42a2c88daf93578136684d265d0e3c3f54d",
      "parents": [
        "6551a2d065b98acb2efa1834846b364b62dcd35f"
      ],
      "author": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Mon Dec 20 14:23:48 2010 -0800"
      },
      "committer": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Mon Dec 20 14:23:48 2010 -0800"
      },
      "message": "Revert \"bug:2448371 cursorwindow size moved to resource xml file.\"\n\nThis reverts commit 2594bae1f551d758c5c88771310d1ee3dc2c71ac.\n"
    },
    {
      "commit": "2594bae1f551d758c5c88771310d1ee3dc2c71ac",
      "tree": "a3628391acd770e4744a33673e65a92d1385fb73",
      "parents": [
        "4c7cc34127efa3308e1a09b28728868911b79789"
      ],
      "author": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Sun Dec 19 00:21:10 2010 -0800"
      },
      "committer": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Mon Dec 20 13:08:08 2010 -0800"
      },
      "message": "bug:2448371 cursorwindow size moved to resource xml file.\n\nlet cursor window size be set per device in device resources file.\ndefault is 1MB.\nfor SR, it is 2MB.\nit can be set to any value (in kB) in the device resource\nstrings.xml file\n\nChange-Id: I67b1d04a5c9fc18b0cd4da6184d0b814b64d89e9\n"
    },
    {
      "commit": "0bd5243b751c9cad317758158f79b3347e7948af",
      "tree": "0c019af51a9067ae0292b6e0cf95c0829539c83d",
      "parents": [
        "48ea8d836276c04528d8e7dfebd59d27a627ce66"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Dec 13 16:52:35 2010 -0800"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Dec 14 09:28:16 2010 -0800"
      },
      "message": "Framework-side support for Dalvik \"isSensitiveThread\" hook.\n\nUsed in lock contention stats.\n\nBug: 3226270\nChange-Id: Ie6f58d130a29079a59bdefad40b80304d9bc3623\n"
    },
    {
      "commit": "1423f51ec5fe2c9bf5fa44866443b2c52db165be",
      "tree": "0ab080b873257293730980e9d2479045a1af2e2e",
      "parents": [
        "fdf5b0808ff6f6a3c067dab17a9533cfd66229f1",
        "ae087369c56a270c33c1c1af5be7d3c5d7f94e80"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Aug 31 15:06:24 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Aug 31 15:06:24 2010 -0700"
      },
      "message": "am ae087369: am 63070856: Merge \"Don\\\u0027t propagate StrictMode over one-way Binder calls.\" into gingerbread\n\nMerge commit \u0027ae087369c56a270c33c1c1af5be7d3c5d7f94e80\u0027\n\n* commit \u0027ae087369c56a270c33c1c1af5be7d3c5d7f94e80\u0027:\n  Don\u0027t propagate StrictMode over one-way Binder calls.\n"
    },
    {
      "commit": "0234376503ce421c4b871d5d811c541f5094301a",
      "tree": "6f4686cb9bdc0d19f8c4b541c57ad5b10496588a",
      "parents": [
        "6aacad66eba2b51251f7e2dfb8c005b5242326ca"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Aug 30 16:01:16 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Aug 31 13:16:49 2010 -0700"
      },
      "message": "Don\u0027t propagate StrictMode over one-way Binder calls.\n\nThis was causing stack stitching problems where a one-way call with\nviolations followed by a two-way call without violations was getting\nthe previous one-way call\u0027s violation stack stitched on to the second\ncaller\u0027s stack.\n\nThe solution is a little more indirect than I would\u0027ve liked\n(preserving the binder\u0027s onTransact flags until enforceInterface) but\nwas seemingly necessary to work without changing the AIDL compiler.\nIt should also be sufficiently cheap, since no new calls to\nthread-local IPCThreadState lookups were required.  The additional\nwork is just same-thread getter/setters on the existing\nIPCThreadState.\n\nChange-Id: I4b6db1d445c56e868e6d0d7be3ba6849f4ef23ae\n"
    },
    {
      "commit": "84fabc0ce3d7c3da73903380d0d6141d60fa4448",
      "tree": "7fc1a8cf6897f7ada12afe7cca8b883c4f912be3",
      "parents": [
        "ebd19e0f48b0cb246c246274a256a9bb494b7e7a",
        "245cb7846c82f7c0840e13f0b994d356846b1678"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Jul 27 14:04:14 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 27 14:04:14 2010 -0700"
      },
      "message": "am 245cb784: am 84c924a6: Merge \"Replace several IPCThreadState::get() lookups with one.\" into gingerbread\n\nMerge commit \u0027245cb7846c82f7c0840e13f0b994d356846b1678\u0027\n\n* commit \u0027245cb7846c82f7c0840e13f0b994d356846b1678\u0027:\n  Replace several IPCThreadState::get() lookups with one.\n"
    },
    {
      "commit": "7bcad8a315f12bd6251a998781efac7b11c2ca84",
      "tree": "44f9ded1cd1a31254607ddddc2c08cad3d4b6546",
      "parents": [
        "eb75888e6479317151c2ed44d47bd28ef567a4c7"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Jul 27 09:49:11 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Jul 27 12:28:57 2010 -0700"
      },
      "message": "Replace several IPCThreadState::get() lookups with one.\n\nAlso, make StrictMode\u0027s ThreadLocal final.\n\nChange-Id: I08d400ed254fa67bb7a3dae1227f205a54c00df0\n"
    },
    {
      "commit": "9555a1323e846aba16e6a7f2e5d9a9227523e595",
      "tree": "2f28645cc7f03ce41a4fa3d6c5a89b731e6cbc84",
      "parents": [
        "6ba776ad34a8029e4d0c784ce0092f1fcbc91bef",
        "cc52121c4f88e9feb8404937bcbfff6e73084666"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Thu Jul 15 23:05:35 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 15 23:05:35 2010 -0700"
      },
      "message": "am cc52121c: am c4b204bd: Merge \"More StrictMode work, keeping Binder \u0026 BlockGuard\\\u0027s thread-locals in-sync.\" into gingerbread\n\nMerge commit \u0027cc52121c4f88e9feb8404937bcbfff6e73084666\u0027\n\n* commit \u0027cc52121c4f88e9feb8404937bcbfff6e73084666\u0027:\n  More StrictMode work, keeping Binder \u0026 BlockGuard\u0027s thread-locals in-sync.\n"
    },
    {
      "commit": "727de40c6bc7c6521a0542ea9def5d5c7b1c5e06",
      "tree": "0d2f0f400211efbaf131020d7c4d38e647f5bbe3",
      "parents": [
        "d6343c26b8580f61a257a3045bfa124049201116"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Wed Jul 07 16:06:39 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Thu Jul 15 13:18:05 2010 -0700"
      },
      "message": "More StrictMode work, keeping Binder \u0026 BlockGuard\u0027s thread-locals in-sync.\n\nChange-Id: Ia67cabcc17a73a0f15907ffea683d06bc41b90e5\n"
    },
    {
      "commit": "53459436ed17f46d695d061b08e952a00d679ae6",
      "tree": "8bf0e718e33156e37d5f7be95346d83336596608",
      "parents": [
        "0779682a490f12f102cd0cf1e768e3c68cfdc512",
        "c74034b6bf0940dc80c4d4efa1e677ad0d2dfd6c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 14 20:18:50 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 14 20:18:50 2010 -0700"
      },
      "message": "am c74034b6: am 24651682: added BinderService\u003c\u003e template to help creating native binder services\n\nMerge commit \u0027c74034b6bf0940dc80c4d4efa1e677ad0d2dfd6c\u0027\n\n* commit \u0027c74034b6bf0940dc80c4d4efa1e677ad0d2dfd6c\u0027:\n  added BinderService\u003c\u003e template to help creating native binder services\n"
    },
    {
      "commit": "24651682edaf71e8a826f23a7ea09bc97c8072c4",
      "tree": "d3721d203440aaa3d8ac67890bf170a84e832b53",
      "parents": [
        "4055b780bb7e85abcf4754b84e50bf407c45bec8"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 14 18:41:18 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 14 18:43:19 2010 -0700"
      },
      "message": "added BinderService\u003c\u003e template to help creating native binder services\n\nChange-Id: Id980899d2647b56479f8a27c89eaa949f9209dfe\n"
    },
    {
      "commit": "f5574e0f8ca5624c822737eae497e27b60e33662",
      "tree": "f639515cf04c39a41b0af38c2980b13291b582f4",
      "parents": [
        "d11f6e6460dcc41597e3a7f6cd3023f116f8c696",
        "706623ddb8314850c0551f0b66e24b5f0bd28620"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Jul 13 15:57:20 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jul 13 15:57:20 2010 -0700"
      },
      "message": "am 706623dd: am c0a7e690: Add Parcel::readExceptionCode() and Parcel::writeNoException()\n\nMerge commit \u0027706623ddb8314850c0551f0b66e24b5f0bd28620\u0027\n\n* commit \u0027706623ddb8314850c0551f0b66e24b5f0bd28620\u0027:\n  Add Parcel::readExceptionCode() and Parcel::writeNoException()\n"
    },
    {
      "commit": "c0a7e690bfd32dd897ceccd04dd0fa6bf6e9cee6",
      "tree": "a0cbda85dcb855134d89f4f1b27f0457f4ee5e7f",
      "parents": [
        "70c6c9a1e2240e82d8eb442b34efa9629ef2bba4"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Jul 13 15:33:35 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Tue Jul 13 15:45:18 2010 -0700"
      },
      "message": "Add Parcel::readExceptionCode() and Parcel::writeNoException()\n\nAdd native Parcel methods analogous to the Java versions.\n\nCurrently, these don\u0027t do much, but upcoming StrictMode work changes\nthe RPC calling conventions in some cases, so it\u0027s important that\neverybody uses these consistently, rather than having a lot of code\ntrying to parse RPC responses out of Parcels themselves.\n\nAs a summary, the current convention that Java Binder services use is\nto prepend the reply Parcel with an int32 signaling the exception\nstatus:\n\n     0: no exception\n     -1: Security exception\n     -2: Bad Parcelable\n     -3: ...\n     -4: ...\n     -5: ...\n\n... followed by Parceled String if the exception code is non-zero.\n\nWith an upcoming change, it\u0027ll be the case that a response Parcel can,\nnon-exceptionally return rich data in the header, and also return data\nto the caller.  The important thing to note in this new case is that\nthe first int32 in the reply parcel *will not be zero*, so anybody\nmanually checking for it with reply.readInt32() will get false\nnegative failures.\n\nShort summary: If you\u0027re calling into a Java service and manually\nchecking the exception status with reply.readInt32(), change it to\nreply.readExceptionCode().\n\nChange-Id: I23f9a0e53a8cfbbd9759242cfde16723641afe04\n"
    },
    {
      "commit": "fc94e89a7f7aadf101ac1144073be964d9bfcf6b",
      "tree": "6d65eb3af3c12f4f073fd715260fbdceba6f988f",
      "parents": [
        "f3a8f74f7b8a0fb3672534d50b1fd942ab0742a2",
        "efcf68aa1fd7fcfd52cf3d2837ed8db8e797194b"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Wed Jun 23 10:18:18 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 23 10:18:18 2010 -0700"
      },
      "message": "am efcf68aa: am ef8f96a7: Merge \"Start of work on passing around StrictMode policy over Binder calls.\" into gingerbread\n\nMerge commit \u0027efcf68aa1fd7fcfd52cf3d2837ed8db8e797194b\u0027\n\n* commit \u0027efcf68aa1fd7fcfd52cf3d2837ed8db8e797194b\u0027:\n  Start of work on passing around StrictMode policy over Binder calls.\n"
    },
    {
      "commit": "27b3a7a75960d026655f3acd1de8a672e80a5776",
      "tree": "cc5036a00b976b7757f26212abf49ed11f779cd9",
      "parents": [
        "f25c560dcdc0c04e11152fff11f521dae03522cd"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Fri Jun 18 13:07:53 2010 -0700"
      },
      "committer": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Jun 21 12:56:35 2010 -0700"
      },
      "message": "Start of work on passing around StrictMode policy over Binder calls.\n\nThis is (intendend to be) a no-op change.\n\nAt this stage, Binder RPCs just have an additional uint32 passed around\nin the header, right before the interface name.  But nothing is actually\ndone with them yet.  That value should right now always be 0.\n\nThis now boots and seems to work.\n\nChange-Id: I135b7c84f07575e6b9717fef2424d301a450df7b\n"
    },
    {
      "commit": "8b0dd7da360d70920a37802eb455ba41500d3b45",
      "tree": "d31a63e67bbfad53c2dfe4002795b73286b7c361",
      "parents": [
        "3e7432f823b9f0457e935614787cff4eb71a8f2b"
      ],
      "author": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Tue May 18 11:54:31 2010 -0700"
      },
      "committer": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Wed Jun 02 17:40:41 2010 -0700"
      },
      "message": "add API to Cursor to get column value type\n\nChange-Id: I3ef1bcdb2eb1c45f68e829ccb6e3ecde28076591\n"
    },
    {
      "commit": "2807df89af680e46cb35ee0035bb10b42d3136a2",
      "tree": "7f78fa82946171e60dc9c13fd4d0b05df860777e",
      "parents": [
        "afd52a0b40e7986d0993217b3fe0cf44fea21274"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu May 27 17:04:23 2010 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri May 28 10:08:21 2010 -0400"
      },
      "message": "Move CursorWindow class from core/jni to libbinder\n\nTo allow use of the native CursorWindow class outside of the core framework jni\n\nChange-Id: I72e8dcb91a2c691130c33cdfd9a25d343da1c592\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "ca48c88c3d5733c4405a2fc4f7d9bb7fbba3d43f",
      "tree": "ba82e7825548f05c8ac87f75adebcf6bf6a92bf9",
      "parents": [
        "ad2f9ff786d83851c5aaccf0e8d49f50e58fb7dd",
        "8a8658a5de261c2da72d431940877bd054bc9837"
      ],
      "author": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Thu May 06 17:33:45 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 06 17:33:45 2010 -0700"
      },
      "message": "am 8a8658a5: Merge \"Make static versions of libutils and libbinder.\" into froyo\n\nMerge commit \u00278a8658a5de261c2da72d431940877bd054bc9837\u0027 into froyo-plus-aosp\n\n* commit \u00278a8658a5de261c2da72d431940877bd054bc9837\u0027:\n  Make static versions of libutils and libbinder.\n"
    },
    {
      "commit": "08b3d2e5ef01a5114424a871934dd9fc153352c0",
      "tree": "7768ecd2c0308f149cb8abb1746a0e7bc1bdae8b",
      "parents": [
        "df7ccbc8ff0d93a708a7fa1e57469d3f93ceda5c"
      ],
      "author": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Thu May 06 00:55:09 2010 -0700"
      },
      "committer": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Thu May 06 01:03:31 2010 -0700"
      },
      "message": "Make static versions of libutils and libbinder.\n\nFix some small static-initialization-order issues (and a static-\ninitializers-missing issue) that result from doing so.  The static\nlibraries don\u0027t actually get used for anything real at the moment --\nthey\u0027re used for perf tests of bug 2660235.\n\nBug: 2660235\nChange-Id: Iee2f38f79cc93b395e8d0a5a144ed92461f5ada0\n"
    },
    {
      "commit": "f021d12f6f7116e9275cd3553a349ce5cb8aab14",
      "tree": "94cb2b13e3f75ad18ab56605781d1eb74698d07e",
      "parents": [
        "172673cd5b21dee6e175ab67235aa19bc2689868",
        "5a870fee53ca94c7575503c72574ca0f068d52c7"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Apr 21 09:10:43 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Apr 21 09:10:43 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: I08f1feae65b1dfc3f740d78654c267f2e3ae5e85\n"
    },
    {
      "commit": "5a870fee53ca94c7575503c72574ca0f068d52c7",
      "tree": "7c9746028570b87eb4f12a1e3f5c64f5004da89f",
      "parents": [
        "2aba0ec873e269b3ce5d044fe5f1f12b6b28228d"
      ],
      "author": {
        "name": "Michael Richardson",
        "email": "mcr@credil.org",
        "time": "Tue Nov 03 17:01:28 2009 -0500"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Apr 20 14:14:30 2010 -0700"
      },
      "message": "Allow META* macros outside of the framework\n\nThe META* macros are useful outside of the framework\nfor other systems implementing Binder interfaces, but\nthey depend upon the android namespace. This includes\nthe appropriate namespace operations, which should be\nsane even in that android namespace.\n\nChange-Id: If600156c65191f51f487d0ee301d9f9f532b263d\n"
    },
    {
      "commit": "92c3b393275e967f37162b40b3438c5616328372",
      "tree": "14f077c0233038875cc90dd8eb107decb117b667",
      "parents": [
        "e80c6f49d5055e299b7ada91b5967feab66e467b"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Apr 19 19:09:03 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Apr 19 19:09:03 2010 -0700"
      },
      "message": "fix [2599939] \"cannot play video\" after open/close a video player a dozen of times\n\nget rid off the MAP_ONCE flag is MemoryHeapBase (as well as it\u0027s functionality),\nthis feature should not be used anymore.\n\nthe software renderer was incorrectly using the default ctor which set MAP_ONCE,\ncausing the leak. the software renderer itself is incorrectly used while coming\nback from sleep.\n\nChange-Id: I123621f8d140550b864f352bbcd8a5729db12b57\n"
    },
    {
      "commit": "c86727f5805f28fbd25da141c50fb6843f364f3a",
      "tree": "395806614f40b9aac7306a9e951305167fb8abe1",
      "parents": [
        "08d13c3cbb0b250b84ca861edb462060556aead9"
      ],
      "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": "6faf7893b6307a3295993380d61af49f2cda965c",
      "tree": "0b96c41270e160fbafb2956f8a91ec3ef1772b67",
      "parents": [
        "bf124e7e41f7850ac1b7be808221a462db6f3447"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jan 25 19:00:00 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jan 29 14:51:06 2010 -0800"
      },
      "message": "Simplify the MemoryDealer implementation\n\nAt some point the implementation became complicated because of\nSurfaceFlinger\u0027s special needs, since we are now relying on gralloc\nwe can go back to much simpler MemoryDealer.\n\nRemoved HeapInterface and AllocatorInterface, since those don\u0027t need\nto be paramterized anymore. Merged SimpleMemory and Allocation.\nMade SimplisticAllocator non virtual.\n\nRemoved MemoryDealer flags (READ_ONLY, PAGE_ALIGNED)\n\nRemoved a lot of unneeded code.\n"
    },
    {
      "commit": "887f355f99ff83d568ef2885a4fdcaae475583df",
      "tree": "c4788aa9ac8f37c6a02fc6b3a6874b71efb0f759",
      "parents": [
        "259e3384face72ea8e30696d7bae492d37d44e8b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 07 17:59:37 2009 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Dec 07 19:11:14 2009 -0800"
      },
      "message": "Propagate background scheduling class across processes.\n\nThis is a very simply implementation: upon receiving an IPC, if the handling\nthread is at a background priority (the driver will have taken care of\npropagating this from the calling thread), then stick it in to the background\nscheduling group.  Plus an API to turn this off for the process, which is\nused by the system process.\n\nThis also pulls some of the code for managing scheduling classes out of\nthe Process JNI wrappers and in to some convenience methods in thread.h.\n"
    },
    {
      "commit": "baef6141a3239c7dd9bad0e2cd8a9ece5eef5a7e",
      "tree": "50df32f2a31006f4ea4572cffdf390012541027b",
      "parents": [
        "05cb5610fdfb7b69cf90a9230853e59b4ae5e219"
      ],
      "author": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Oct 29 22:55:00 2009 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Fri Oct 30 18:35:47 2009 -0700"
      },
      "message": "libbinder: add a NO_CACHING flag to MemoryHeapBase\n\nThe NO_CACHING flag translates to opening a memory region with O_SYNC.\n\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "f99c18083e87ccf83430b29b53c7dea52a1675de",
      "tree": "602d616cdcc91d974299fca1e4f40fce00a2fbc4",
      "parents": [
        "41b379da57d3125de038636d72fba95e2255483d"
      ],
      "author": {
        "name": "Benny Wong",
        "email": "Benny.Wong@motorola.com",
        "time": "Mon Aug 17 15:28:30 2009 -0500"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 20 03:55:20 2009 -0700"
      },
      "message": "Add offset handling in MemoryHeapBase class\n"
    },
    {
      "commit": "2f10ae08d435b12e1798d93e0b90605717c66081",
      "tree": "30d50a2897e1f0a1835e72c8fa7b057c98ad8c2e",
      "parents": [
        "01f750d6fa03f16ef93802618a6ccf8b353ae8e2"
      ],
      "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": "262a583f2da846e8c74d82712957bcdcc88d169a",
      "tree": "dca5a2e456e41655a644044fd9500ce1b8ac3b8b",
      "parents": [
        "d0c0e46a4408b22599bc588ea423d9102bcee6bf"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jul 16 10:05:57 2009 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Jul 16 10:05:57 2009 -0700"
      },
      "message": "Make MemoryDealer\u0027s destructor protected instead of public.\n\nMemoryDealer, like all other subclasses of RefBase,MUST NOT BE stack-allocated, a protected destructor prohibits stack-allocation while allowing the baseclass to properly invoke the subclass\u0027 destructor once the refcount drops to 0.\n"
    },
    {
      "commit": "151e859e0fc3a930bdf6d270d275e69e9eba0cbf",
      "tree": "90abe1d328fe3f7234815651237ab31219a1de03",
      "parents": [
        "e19476214a2fe718c82461f54e6b56cee7faa5f4"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 15 18:24:59 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 15 21:56:51 2009 -0700"
      },
      "message": "new Permission class used to improve permission checks speed (by caching results)\n"
    },
    {
      "commit": "2da99bdaa1712f00525e6a84b58044332cb1baef",
      "tree": "ed330500de06dc645769ea87372fb624390b52a8",
      "parents": [
        "947f4f4d384ea26eb2145cc070a3eed42c59534a",
        "cc77841f643751fd9f128e90f7d1587445ef353e"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed May 27 14:34:50 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed May 27 14:34:50 2009 -0700"
      },
      "message": "Merge commit \u0027goog/master\u0027 into merge_master\n\nConflicts:\n\tinclude/ui/Rect.h\n\tlibs/ui/ISurfaceComposer.cpp\n"
    },
    {
      "commit": "aaf834a284a025cedd8ec1cf01d09e1790c1dcf8",
      "tree": "6314488c2ccaa1ab96923a1c771593ee65e7a726",
      "parents": [
        "7f36a5729f17fcb37a7b65a13fd86b0d922caca9"
      ],
      "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": "947f4f4d384ea26eb2145cc070a3eed42c59534a",
      "tree": "edc5fb1e6e808a2b809720f44b6236ebe93b577b",
      "parents": [
        "6158b1bf0364da1582468a98ec09d004ba99deec",
        "0690519fcde1ccb189081aa79df61436f65686c2"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri May 22 01:27:01 2009 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri May 22 02:16:08 2009 -0700"
      },
      "message": "merge master to master_gl\n"
    },
    {
      "commit": "dfece80c790934e4413def863070ac0dd21f6e29",
      "tree": "8e9e2d17e5ecd6086bf02416f3a700c0d09247d7",
      "parents": [
        "8f80eef228cfd01b938ca48202d6a264f7689154"
      ],
      "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": "0795272aa226f4e965968a03daddc53ce30b7cda",
      "tree": "6b4e8ba5e57c5dcf2dd770c24e14c43eda42fdd7",
      "parents": [
        "25ba5b6564224dceefa086b5c439ef28dad530ca"
      ],
      "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"
    }
  ]
}
