)]}'
{
  "log": [
    {
      "commit": "49d2b1864c3dfec6faff74d67cb2527a8f1af5a8",
      "tree": "2717d50ecfd85f7b558b2ead2d82bed6ea237dde",
      "parents": [
        "021df141ed8fdc0bc73b8bcb17106e2c7512b372"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Feb 27 18:11:20 2012 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Feb 27 18:11:20 2012 -0800"
      },
      "message": "move CursorWindow from libbinder to libandroidfw\n\nChange-Id: I3b304e4f74e0d0ec8b20c57296c62449c9a0f792\n"
    },
    {
      "commit": "28d9f024e043817212b15f04128d0464330502ea",
      "tree": "7e2c86394b95b0eae87810cca3cfa1b2dd98ef5e",
      "parents": [
        "2536b1d627c0296531a91dc519ee8d84ed505291"
      ],
      "author": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Wed Oct 12 17:27:03 2011 +0100"
      },
      "committer": {
        "name": "Steve Block",
        "email": "steveblock@google.com",
        "time": "Tue Oct 25 16:28:24 2011 +0100"
      },
      "message": "Rename (IF_)LOG() to (IF_)ALOG()  DO NOT MERGE\n\nSee https://android-git.corp.google.com/g/#/c/141576\n\nBug: 5449033\nChange-Id: I42575e7c29cf1c0f465c357a5c97ab118df6f473\n"
    },
    {
      "commit": "5e5d6d8ba04d7579df840cda055cd5dfa9d7666f",
      "tree": "b9c47baaa3b62795dfc12645da4bed2eb5d3ec13",
      "parents": [
        "5b2dda3be5cc903aafb77ce7902c14d76eb26a9b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Oct 12 15:41:34 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Oct 12 22:19:41 2011 -0700"
      },
      "message": "Deprecate local-only CursorWindows.\n\nThere is no difference and has never really been a difference\nbetween local-only and remotable CursorWindows.  By removing the\ndistinction officially in the API, we will make it easier to\nimplement CrossProcessCursor correctly.  CrossProcessCursor\nis problematic currently because it\u0027s not clear whether a call\nto getWindow() will return a local-only window or a remotable window.\nAs a result, the bulk cursor adaptor has special case handling\nfor AbstractWindowedCursors vs. ordinary CrossProcessCursors\nso that it can set a remotable window before the cursor fills it.\nAll these problems go away if we just forget about local-only\nwindows being special in any way.\n\nChange-Id: Ie59f517968e33d0ecb239c3c4f60206495e8f376\n"
    },
    {
      "commit": "0cde89f5f025b7826be009ebb9673b970e180e32",
      "tree": "ee6a4c95c0b07890353a813afb15a52334384f0d",
      "parents": [
        "99f36683a4f2c218d52922ae7c2a0c0b3f2890ed"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Oct 10 14:50:10 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Oct 11 11:03:19 2011 -0700"
      },
      "message": "Use ashmem for CursorWindows.\nBug: 5332296\n\nThe memory dealer introduces additional delays for reclaiming\nthe memory owned by CursorWindows because the Binder object must\nbe finalized.  Using ashmem instead gives CursorWindow more\ndirect control over the lifetime of the shared memory region.\n\nThe provider now allocates the CursorWindows and returns them\nto clients with a read-only protection bit set on the ashmem\nregion.\n\nImproved the encapsulation of CursorWindow.  Callers shouldn\u0027t\nneed to care about details like how string fields are allocated.\n\nRemoved the compile-time configuration of string and numeric\nstorage modes to remove some dead weight.\n\nChange-Id: I07c2bc2a9c573d7e435dcaecd269d25ea9807acd\n"
    },
    {
      "commit": "3bc6bbc92cd2095f42039b5aadd0a14d0e5d9230",
      "tree": "39b62affe30e0c2895a0f8a52212a7f91bd80dd7",
      "parents": [
        "3b2faf68e5a66ac67b28d6f79d4ba213b6c0d09c"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Oct 06 13:11:04 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Oct 06 14:40:13 2011 -0700"
      },
      "message": "Clean up CursorWindow code.\nBug: 5332296\n\nThe code is functionally equivalent, but a little more efficient\nand much easier to maintain.\n\nChange-Id: I90670a13799df05831843a5137ab234929281b7c\n"
    },
    {
      "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": "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": "d1f74d0e3352987467f12a65b8685b60b057d9ad",
      "tree": "c6c9ff5239951b7ada0a0d13f19eb53c1d3922fb",
      "parents": [
        "239d5b3638ae486f715f44a8c1a71420f486049c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jan 29 16:54:04 2010 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jan 29 16:54:04 2010 -0800"
      },
      "message": "Don\u0027t use the MemoryDealer in CursorWindow, it\u0027s not necessary.\n\ninstead use a MemoryHeapBase and MemoryBase directly.\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"
    },
    {
      "commit": "9066cfe9886ac131c34d59ed0e2d287b0e3c0087",
      "tree": "d88beb88001f2482911e3d28e43833b50e4b4e97",
      "parents": [
        "d83a98f4ce9cfa908f5c54bbd70f03eec07e7553"
      ],
      "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": "d83a98f4ce9cfa908f5c54bbd70f03eec07e7553",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [
        "076357b8567458d4b6dfdcf839ef751634cd2bfb"
      ],
      "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": "54b6cfa9a9e5b861a9930af873580d6dc20f773c",
      "tree": "35051494d2af230dce54d6b31c6af8fc24091316",
      "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"
    }
  ]
}
