)]}'
{
  "log": [
    {
      "commit": "b104340496e3a531e26c8f428c808eca0e039f50",
      "tree": "11247cb68359d43ca4871c0cb0165c9bec339a6f",
      "parents": [
        "3ee1317173260252d475772fec09d492f8fcfd33"
      ],
      "author": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Fri Feb 05 08:26:50 2010 -0800"
      },
      "committer": {
        "name": "San Mehat",
        "email": "san@google.com",
        "time": "Tue Feb 09 11:03:16 2010 -0800"
      },
      "message": "Framework: Clean up / Refactor Mount APIs\n\n - Move android.storage.* -\u003e android.os.storage.* and refactor users\n - Refactor generic shares back to explicit ums enable/disable/isEnabled\n - Remove media insert/removed event callbacks (not ready for Froyo)\n - Remove \u0027label\u0027 from volume state change callbacks\n - Add public API functions for enabling/disabling USB mass storage (permissions enforced\n   in MountSevice)\n - Remove some stray un-needed import lines\n - Move android.os.IMountService / android.os.IMountServiceListener -\u003e android.os.storage\n - Improve code comments\n\nUpdated:\n  MountService: Add dup state check and move debugging behind a conditional\n  UsbStorageActivity: Fix review comments + a TODO\n  StorageNotification: Add @Override tags\n  StorageManager: Don\u0027t use a static Listener list\n  MountService: Reduce bloat and fix \u003d\u003d where I meant .equals()\n  PackageManagerTests: Update for new API\n\nSigned-off-by: San Mehat \u003csan@google.com\u003e\n"
    },
    {
      "commit": "b56ae20b22fd7283df32072a431ab6d4965f3c1b",
      "tree": "c26e5e7bf6433dfbe500917fc7001f77c331c4f2",
      "parents": [
        "836a1f2cb99600c26a1a928a9e3240b9dec3079b"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Thu Feb 04 22:51:07 2010 -0800"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Mon Feb 08 14:52:25 2010 -0800"
      },
      "message": "Rename media resource broadcasts\nAdd checks for fwdlocked and updated system apps\nadd more tests\nremove duplicate adds\n"
    },
    {
      "commit": "420bc12ed03dd0514e0d0400385ceba3e91bbe2c",
      "tree": "398c783a8628c137c10c9d10bae64c6e4eb97bc1",
      "parents": [
        "8186ae5a9687f66389f2bf7927b54ba3fc836f76"
      ],
      "author": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Fri Feb 05 18:27:08 2010 -0600"
      },
      "committer": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Fri Feb 05 18:27:08 2010 -0600"
      },
      "message": "Remove reference to unused static library.\n\nChange-Id: I5ad76658129b003fb96fc1e960a12f6e672da108\n"
    },
    {
      "commit": "c5d1c6db61f208b206b260f897bb5bbc64be4d97",
      "tree": "91a5ffe88326b446f57b7249ddf1406b8654d2f6",
      "parents": [
        "0a45a09814dea0398647f26497ecff54a77c5f8c"
      ],
      "author": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Wed Jan 27 12:17:49 2010 -0800"
      },
      "committer": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Fri Feb 05 15:16:20 2010 -0800"
      },
      "message": "add sync polling\n\n- added the ability to specify that a sync (of account/authority/extras)\n  should occur at a given frequency\n- the existing daily poll code was replaced with seeding each\n  account/authority with a 24 hour periodic sync\n- enhanced the \"adb shell dumpsys content\" output to show the\n  periodic syncs and when they will next run\n"
    },
    {
      "commit": "64226a49b75b44da56740a21b38ce6cc710796d8",
      "tree": "cbfc7f880fa7b8b98daadbbc0ea2be2095324ebb",
      "parents": [
        "214ea34bcab790f19c4302ab2629b3b9de58e2c1",
        "91e1d0cddaaec5e077ca689744463901f9d5d580"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@android.com",
        "time": "Thu Feb 04 15:58:18 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 04 15:58:18 2010 -0800"
      },
      "message": "Merge \"Add support in StatusBarManager for disabling ticker text.\""
    },
    {
      "commit": "91e1d0cddaaec5e077ca689744463901f9d5d580",
      "tree": "f759d1bd29d9cb616911015817dcc50b543d0ceb",
      "parents": [
        "1ec608d13abe5b744df97a6394a6324c5540c79d"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Thu Feb 04 15:41:20 2010 -0800"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Thu Feb 04 15:55:00 2010 -0800"
      },
      "message": "Add support in StatusBarManager for disabling ticker text.\n\nThe new flag, DISABLE_NOTIFICATION_TICKER, will be used by\nthe car dock app (in conjunction with DISABLE_EXPAND) to\nminimize distractions to the driver.\n\nIt may also be used by the secure lockscreen to avoid\nleaking personal information when the screen is on but the\ndevice is locked (e.g. when the desk dock app is running).\n\nChange-Id: Ibc8efde7da7501767163ae0a75f7c369b824e2a2\n"
    },
    {
      "commit": "c4aac70a81e1dc65805479db7477fe098981d9e7",
      "tree": "1ba6363857da8217ec353d6a62d9211610d39028",
      "parents": [
        "5c19aeca3d41c6a5820dc05a51c38736d3583378",
        "afbaaa189fbc18b3acbb06e03233cf3442f2b1c4"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Thu Feb 04 14:59:00 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 04 14:59:00 2010 -0800"
      },
      "message": "Merge \"Some tests for install and replace package.\""
    },
    {
      "commit": "fc4a69e9c13d7233876a0f507ebca2eec25a4215",
      "tree": "12ab9f6b6d08ba51b4133a2bb052b920c40a3ec8",
      "parents": [
        "3141e0a62abe57e93e5d716895a2a57cc052bb50"
      ],
      "author": {
        "name": "Ben Murdoch",
        "email": "benm@google.com",
        "time": "Thu Feb 04 16:35:10 2010 +0000"
      },
      "committer": {
        "name": "Ben Murdoch",
        "email": "benm@google.com",
        "time": "Thu Feb 04 16:54:06 2010 +0000"
      },
      "message": "When a window is closed, destroy the WebView properly so that WebCore is informed of it\u0027s destruction.\n\nChange-Id: I00002f53ec52c6056df4d7ddeec7cf0957423bd6\n"
    },
    {
      "commit": "f1dd37ac283d09ba5d21349bf99fdc6ba3d7fc4b",
      "tree": "402371b00e3b954057efbbc86500237029e264f7",
      "parents": [
        "fa6bc84e01c061ded1b9ab11a82cbbaac2843f73",
        "68065e0a1980ab6abf8963b48b011efa017fe1c2"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Feb 03 20:25:43 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 03 20:25:43 2010 -0800"
      },
      "message": "Merge \"Fix 1667521 - system process crash after bad notification\""
    },
    {
      "commit": "68065e0a1980ab6abf8963b48b011efa017fe1c2",
      "tree": "3d6d4184f359e3bfea6783a97d0de7c2d99d7ab5",
      "parents": [
        "378a1488bb76d4786025a10e36c2d638cbd2cb6a"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Feb 03 20:21:41 2010 -0800"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Feb 03 20:21:41 2010 -0800"
      },
      "message": "Fix 1667521 - system process crash after bad notification\n\nThe steps to reproduce this were kind of interesting.  You needed to have\na notification with a bogus RemoteViews in the first position in the list,\nand then have another notification come in with an earlier timestampe.  In\nthat case, it would get a bad index for the new (not bogus) view that was\nbeing added.\n"
    },
    {
      "commit": "afbaaa189fbc18b3acbb06e03233cf3442f2b1c4",
      "tree": "9406185a598b72b1a0b4391b3ccc5fdbd7740423",
      "parents": [
        "3c4a1ebc19abba06af565071c243e55ba6eef585"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Feb 03 11:24:49 2010 -0800"
      },
      "committer": {
        "name": "Suchi Amalapurapu",
        "email": "asuchitra@google.com",
        "time": "Wed Feb 03 17:34:18 2010 -0800"
      },
      "message": "Some tests for install and replace package.\n"
    },
    {
      "commit": "ecf04ec19a1a72af7e38938fbad88d43934e3e7d",
      "tree": "dc3a4ea836ce6b8c1e844ca8d8daf3ed9684df59",
      "parents": [
        "8321eb377f6fbff87c677b59340cc0bc23775501",
        "809cf4481fd7b33c97a421c302ae1ab7e6b7bd76"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 03 12:05:40 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 03 12:05:40 2010 -0800"
      },
      "message": "Merge \"Remove \"StringTest.java\".\""
    },
    {
      "commit": "809cf4481fd7b33c97a421c302ae1ab7e6b7bd76",
      "tree": "ba9f8c2666ed89bd63bf50ebcbb7f8a149f74e57",
      "parents": [
        "5fdff9e6c50faa6196349e8aecc08d0b9bc5467d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 03 11:33:47 2010 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 03 11:33:47 2010 -0800"
      },
      "message": "Remove \"StringTest.java\".\n\nThis only tests stuff that\u0027s already better tested in dalvik/libcore, plus\nprivate ICU API (RuleBasedNumberFormat) we\u0027d like to remove, and that this\nis the only caller of.\n"
    },
    {
      "commit": "ecbc65cf8f2ea3bdd311f954e3927b46fca068ff",
      "tree": "80e1bc4935fb8d19f2b2d6462ce6d228aafdd048",
      "parents": [
        "ecbfb2104f61f0a364a29b431abe6ec645ea6d51"
      ],
      "author": {
        "name": "Ben Murdoch",
        "email": "benm@google.com",
        "time": "Wed Jan 13 10:54:56 2010 +0000"
      },
      "committer": {
        "name": "Ben Murdoch",
        "email": "benm@google.com",
        "time": "Wed Feb 03 16:57:46 2010 +0000"
      },
      "message": "Add support for sending touch events in DRT.\n\nAs part of this, make it possible for DRT to configure the timeout threshold between sending touch events to WebCore as the Layout Tests only synthesize single events, not a stream. Because of this, they often get dropped by the WebView for coming too quickly.\n\nSkip the multi touch test as we don\u0027t support multi touch in the Browser.\n\nChange-Id: I7b9830f43181fea33206825b49ef2e294269b4dd\n"
    },
    {
      "commit": "1a44d5dcabc18cd5ef111f732ccff91683a1a093",
      "tree": "e370267a65ba54a43e3026ff9b282cc4e3dad869",
      "parents": [
        "35ec7863e18ce3d242010b76a50df5a8c285325b"
      ],
      "author": {
        "name": "Neal Nguyen",
        "email": "tommyn@google.com",
        "time": "Wed Jan 13 10:42:43 2010 -0800"
      },
      "committer": {
        "name": "Neal Nguyen",
        "email": "tommyn@google.com",
        "time": "Fri Jan 29 13:35:51 2010 -0800"
      },
      "message": "Phase 2 of test cleanup: moving test files from AndroidTests closer to their sources.\n\nMost of these are file moves; a couple notable exceptions are the changes due to the move, and fixing up test code:\n- database/DatabaseCursorTest.java\n- database/DatabaseStatementTest.java\n- net/UriTest.java\n"
    },
    {
      "commit": "9d0f609251ccea1cee0fb32da6d449bdde317604",
      "tree": "efd74a051b01373b4d7b62c66da2a5bfc547e563",
      "parents": [
        "8ea25cc1a104bfc95d5742a8c0ab582c7812ee74"
      ],
      "author": {
        "name": "Patrick Scott",
        "email": "phanna@android.com",
        "time": "Thu Jan 28 09:03:14 2010 -0500"
      },
      "committer": {
        "name": "Patrick Scott",
        "email": "phanna@android.com",
        "time": "Thu Jan 28 09:03:14 2010 -0500"
      },
      "message": "There is no ../com directory and the build (find) agrees.\n"
    },
    {
      "commit": "1d3165f10b12165f02b7015ac1a817c5f60e6399",
      "tree": "bab5dc5e70ad49f8d388f50ff3fcf24786154080",
      "parents": [
        "e6dca5c29b569ec245c665341bd8794abf6a02e9"
      ],
      "author": {
        "name": "Neal Nguyen",
        "email": "tommyn@google.com",
        "time": "Tue Jan 12 13:26:10 2010 -0800"
      },
      "committer": {
        "name": "Neal Nguyen",
        "email": "tommyn@google.com",
        "time": "Wed Jan 27 14:15:55 2010 -0800"
      },
      "message": "Phase 2 of test file cleanup: relocating test files from FrameworkTest closer to their sources in core.\n\nIn addition to the file moves, the package names of the tests have been updated and adjusted to match their new locations.\n"
    },
    {
      "commit": "22e31e5b609136d5bf7d77b1dccd6b042b83ebdf",
      "tree": "d42bca2b4b406fa1fda149365985a25e2692b2dc",
      "parents": [
        "9ecaf8b8da6a556be6143b74b9e77cf4e08ff1e8"
      ],
      "author": {
        "name": "Neal Nguyen",
        "email": "tommyn@google.com",
        "time": "Thu Jan 07 10:14:05 2010 -0800"
      },
      "committer": {
        "name": "Neal Nguyen",
        "email": "tommyn@google.com",
        "time": "Wed Jan 27 13:36:38 2010 -0800"
      },
      "message": "Moving framework core tests closer to their source files.\n\nPhase 2 of test case cleanup; distributing CoreTests files closer to their respective sources under frameworks.\n"
    },
    {
      "commit": "445cc0e4bfd5b9460fb1cdccd22d8d54a49e5da1",
      "tree": "2749bea59f5f5746e54df16e82b593f6e15fea43",
      "parents": [
        "946e007283d76d6855824ed00910fb1470d369c2",
        "ad8d0d1b4d4b8cde73c30e9facad6514e492bf11"
      ],
      "author": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Wed Jan 27 12:10:56 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 27 12:10:56 2010 -0800"
      },
      "message": "Merge \"dont use sqlite_stmt_journals dir\""
    },
    {
      "commit": "ad8d0d1b4d4b8cde73c30e9facad6514e492bf11",
      "tree": "ffaf0ebbfa3b7bd204c1ff4ed34b166b13aff18f",
      "parents": [
        "199566045d2c22981604b1894e416373eb0e74ed"
      ],
      "author": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Tue Jan 26 22:27:56 2010 -0800"
      },
      "committer": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Wed Jan 27 12:10:14 2010 -0800"
      },
      "message": "dont use sqlite_stmt_journals dir\n"
    },
    {
      "commit": "bce2806a37a281396b944d10a6a8161de9977225",
      "tree": "e5c62a1c9ab183c249eede20dc3a51845a5a708b",
      "parents": [
        "7d3a558b9ebf2256517ec99cd09c066cc7dbc92c",
        "4256586663f0d045c69ea818db4893b3365b9915"
      ],
      "author": {
        "name": "Eugene Koh",
        "email": "koh@google.com",
        "time": "Tue Jan 26 16:48:52 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 26 16:48:52 2010 -0800"
      },
      "message": "Merge \"Modify the interface of HanziToPinyin class to make it generic and add test class\""
    },
    {
      "commit": "307da1a46b4c9b711bafe8fbaaa6b98e8868c18e",
      "tree": "a83cd290b7fc4e6d7f11a56c96318f282df37838",
      "parents": [
        "e0560e484b4b31edbb81beae1dca7e109126cb73"
      ],
      "author": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Thu Jan 21 14:24:20 2010 -0800"
      },
      "committer": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Mon Jan 25 16:41:58 2010 -0800"
      },
      "message": "enhance the sync manager backoff logic and add support for retry-after\n\nmoved SyncQueue and SyncOperation into their own top-level classes\nto ease maintainability and testing6\n\nremoved some dead code\n"
    },
    {
      "commit": "4256586663f0d045c69ea818db4893b3365b9915",
      "tree": "e14afc7537bac6b291e025cc6c2b48755adf3a04",
      "parents": [
        "52a014492c10d825ec26b2179bd8369bf78363ef"
      ],
      "author": {
        "name": "Bai Tao",
        "email": "michaelbai@google.com",
        "time": "Thu Jan 21 08:48:30 2010 +0800"
      },
      "committer": {
        "name": "Bai Tao",
        "email": "michaelbai@google.com",
        "time": "Sat Jan 23 12:57:21 2010 +0800"
      },
      "message": "Modify the interface of HanziToPinyin class to make it generic and add test class\n"
    },
    {
      "commit": "b35df8f6c7b6f40ab29bd1811f9b183653931ef2",
      "tree": "fedca13588bdce214bd6333e6f59530afce8261c",
      "parents": [
        "21bf222446846af90560dc55616450a1f4262d69",
        "39b17a15669a7c372a77b967cf0bd6621cd52bee"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Fri Jan 22 14:30:02 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 22 14:30:02 2010 -0800"
      },
      "message": "Merge \"remove GoogleLoginService unit test\""
    },
    {
      "commit": "39b17a15669a7c372a77b967cf0bd6621cd52bee",
      "tree": "4a664e891c4a395bb2810ccd2bf175b97b2ef7a1",
      "parents": [
        "7c45147f3537bc777a04545a6f0bc70550df5269"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Fri Jan 22 14:23:14 2010 -0800"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Fri Jan 22 14:23:14 2010 -0800"
      },
      "message": "remove GoogleLoginService unit test\n\nThis now lives in the vendor/google directory alongside\nGoogleLoginService itself.\n\nChange-Id: Ic934fa563cdad965e5f95c2f6da407ea720bc0bf\n"
    },
    {
      "commit": "6d001c0f7a7659d456012c220aed14a891a20a83",
      "tree": "04d4a370e3825014661c8a098b7e0bf4c95f8799",
      "parents": [
        "bd6f964da1fc764d0681e7ce528ea6b1808623d2",
        "e0aed796f03b080dabae6be0803d4ead1b3260a0"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Fri Jan 22 09:44:34 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 22 09:44:34 2010 -0800"
      },
      "message": "am e0aed796: am ccec75e7: Merge \"Prevent orientation change from triggering activity recreation.\" into eclair\n\nMerge commit \u0027e0aed796f03b080dabae6be0803d4ead1b3260a0\u0027\n\n* commit \u0027e0aed796f03b080dabae6be0803d4ead1b3260a0\u0027:\n  Prevent orientation change from triggering activity recreation.\n"
    },
    {
      "commit": "37f3ddb60ba75acde323066836e6ba2111dabb98",
      "tree": "420fb06be6502d204863352bb7d3524b5e0940cb",
      "parents": [
        "051ab623342746b6e25676c740f6104989902de6",
        "0a2fb2174ed8d3e34ae435410ea3998a1fb2d97f"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Thu Jan 21 16:10:58 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 21 16:10:58 2010 -0800"
      },
      "message": "Merge \"relocate GoogleLoginService\""
    },
    {
      "commit": "0a2fb2174ed8d3e34ae435410ea3998a1fb2d97f",
      "tree": "865aa74cbf0beb3453115aa5db43b93002a5591e",
      "parents": [
        "72666bac20cddba1d2269578c82671fdf5beffc2"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Thu Jan 21 14:36:17 2010 -0800"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Thu Jan 21 14:36:17 2010 -0800"
      },
      "message": "relocate GoogleLoginService\n\nChange-Id: I79f4ff658ab136adcc54c432db76f34d2de5f6ac\n"
    },
    {
      "commit": "f5831d4303410edffb865c936164a7aee981d04c",
      "tree": "0d9bde12a75436cf72ff9168e21289773cf4af2b",
      "parents": [
        "ef340357cefeee452403a77c2b6c1aa01c239d6b"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Jan 21 15:06:19 2010 -0500"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Jan 21 15:06:19 2010 -0500"
      },
      "message": "Removing unused parameter from NP_Initialize.\n"
    },
    {
      "commit": "fd24feaf796f51866c7354a02d4d8febe255b115",
      "tree": "3a2c43068db20ec61e5b57a1e61df671938ba057",
      "parents": [
        "290cd9ab8b5f3043e18be665763c914f4d3d7dc5",
        "c83bb730ec0333e52990a40edf6d54bb66b1d5ba"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Tue Jan 19 16:45:05 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 19 16:45:05 2010 -0800"
      },
      "message": "Merge \"Add DateTimeView, a widget that shows a time or the date depending on the current time.  Use that for notifications instead of a TextView that doesn\u0027t ever update.\""
    },
    {
      "commit": "c83bb730ec0333e52990a40edf6d54bb66b1d5ba",
      "tree": "d64faa280ae393891673278b4d61ec274a8e4259",
      "parents": [
        "63ce8e817c9b800b4f08b64c343e533783961b6e"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Jan 19 16:32:22 2010 -0800"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Jan 19 16:32:22 2010 -0800"
      },
      "message": "Add DateTimeView, a widget that shows a time or the date depending on the\ncurrent time.  Use that for notifications instead of a TextView that\ndoesn\u0027t ever update.\n\nBUG 1563917\n"
    },
    {
      "commit": "e0aed796f03b080dabae6be0803d4ead1b3260a0",
      "tree": "cab71bcfc4f4f6c0ce21d6f1f968c4538a6a73af",
      "parents": [
        "658dc0d4b03015eb4a692968b82b664e24aa605a",
        "ccec75e7a842f8ba26617406768206eb3be32222"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Tue Jan 19 11:54:05 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 19 11:54:05 2010 -0800"
      },
      "message": "am ccec75e7: Merge \"Prevent orientation change from triggering activity recreation.\" into eclair\n\nMerge commit \u0027ccec75e7a842f8ba26617406768206eb3be32222\u0027 into eclair-plus-aosp\n\n* commit \u0027ccec75e7a842f8ba26617406768206eb3be32222\u0027:\n  Prevent orientation change from triggering activity recreation.\n"
    },
    {
      "commit": "4ddcedeff14de15c4ddaf49ce62a5ca07be369c2",
      "tree": "1761ff1cb034f70b7fe0a0487e7990316cf508d0",
      "parents": [
        "f167c4bfca57b5467f40f6cf25e10fb12183a9f3"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Tue Jan 19 11:51:44 2010 -0800"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Tue Jan 19 11:51:44 2010 -0800"
      },
      "message": "Prevent orientation change from triggering activity recreation.\n"
    },
    {
      "commit": "3e22d199a0434a6450eccc5f75a1ad8141878de0",
      "tree": "a7b870ff8179ff738a2391cad279cc3206e14565",
      "parents": [
        "05bc8d739768c8e2e025c291706f6c10ac362636",
        "b5a5a39716502be2cd325a6f9b393e155c0636ee"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Jan 19 00:02:00 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 19 00:02:00 2010 -0800"
      },
      "message": "am b5a5a397: am 56a17690: Merge \"TransformGestureDetector is now ScaleGestureDetector - scope reduced. N1 screen can\\\u0027t reliably handle translation and scaling at the same time.\" into eclair\n\nMerge commit \u0027b5a5a39716502be2cd325a6f9b393e155c0636ee\u0027\n\n* commit \u0027b5a5a39716502be2cd325a6f9b393e155c0636ee\u0027:\n  TransformGestureDetector is now ScaleGestureDetector - scope reduced.\n"
    },
    {
      "commit": "d60e31cbe32edd4d8fde9db5be26eb9ab709ae5e",
      "tree": "b776c6d002e5f636246b4972f502f063777f1e5c",
      "parents": [
        "fe86b045311f56e23dd57c4a070323dc9bf1bad9",
        "de8aa87016a8dc2c252002ec60f6285b7a839336"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Jan 15 14:44:58 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 15 14:44:58 2010 -0800"
      },
      "message": "Merge \"Update Time.parse3339() unit tests\""
    },
    {
      "commit": "de8aa87016a8dc2c252002ec60f6285b7a839336",
      "tree": "2fdb2899cff26735ef901fe455d6961ab5e60238",
      "parents": [
        "93aea69649c2ac163db3333563644d2593f2770c"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Jan 15 14:22:10 2010 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Jan 15 14:23:20 2010 -0800"
      },
      "message": "Update Time.parse3339() unit tests\n\nMonth should be n-1 from input and timezone is already normalized to\nUTC.\n\nChange-Id: I030c6444f92b96f85acea81f1675edf061bb5451\n"
    },
    {
      "commit": "e495d1f74af13aec8d5d825e93e4cfe1e4fe7468",
      "tree": "598f4255c3068e244a15911423e375464f70f44d",
      "parents": [
        "f2275078bd5ba6bc0b184098573341c5958289ab"
      ],
      "author": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Wed Jan 06 16:34:19 2010 -0800"
      },
      "committer": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Thu Jan 14 15:22:58 2010 -0800"
      },
      "message": "fix a bug in compiled-sql caching \u0026 hide public api setMaxSqlCacheSize\n\nthis is a clone of https://android-git.corp.google.com/g/#change,35174.\nif the cache is full to its capacity and if a new statement is to be cached,\none of the entries in the cache is thrown out to make room for the new one.\nbut the one that is thrown out doesn\u0027t get deallocated by SQLiteProgram\nbecause it doesn\u0027t know that it should.\nfixed this by having SQLiteProgram finalize its sql statement in\nreleaseReference*() methods, if the statement is not in cache.\n"
    },
    {
      "commit": "b5a5a39716502be2cd325a6f9b393e155c0636ee",
      "tree": "2ec926c93bf0565b8d0517fa912a009b8b4f9f73",
      "parents": [
        "cff6c8459ca05f3fee2d2999989d07a7176f955c",
        "56a17690b0b9dc2a2e15ef38a37cc4c403c614fe"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Jan 13 18:04:39 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jan 13 18:04:39 2010 -0800"
      },
      "message": "am 56a17690: Merge \"TransformGestureDetector is now ScaleGestureDetector - scope reduced. N1 screen can\\\u0027t reliably handle translation and scaling at the same time.\" into eclair\n\nMerge commit \u002756a17690b0b9dc2a2e15ef38a37cc4c403c614fe\u0027 into eclair-plus-aosp\n\n* commit \u002756a17690b0b9dc2a2e15ef38a37cc4c403c614fe\u0027:\n  TransformGestureDetector is now ScaleGestureDetector - scope reduced.\n"
    },
    {
      "commit": "ae542ff055301a4c3c8a18e8da1739df3a771958",
      "tree": "9e57899a12bd08fab4c83d2b8cb671d959469d2d",
      "parents": [
        "1193ae4e824c66b75083c444ce0f250594e138ee"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Jan 13 16:29:27 2010 -0800"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Jan 13 17:08:31 2010 -0800"
      },
      "message": "TransformGestureDetector is now ScaleGestureDetector - scope reduced.\nN1 screen can\u0027t reliably handle translation and scaling at the same time.\n"
    },
    {
      "commit": "96e40b4b3769a7880eca66d1955b5e5583e979c8",
      "tree": "e1f9dfaac111a2a56ae2db30e4994bea3b41c7e8",
      "parents": [
        "8d1966eac0faf0f3976cdf7bcfbc7aea9de81540",
        "ae46195d4fcde85c0901ca476a5cffd015d573cb"
      ],
      "author": {
        "name": "Neal Nguyen",
        "email": "tommyn@google.com",
        "time": "Wed Jan 13 14:19:11 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 13 14:19:11 2010 -0800"
      },
      "message": "Merge \"Framework Tests Cleanup: Removing CTS duplicate files\""
    },
    {
      "commit": "8d1966eac0faf0f3976cdf7bcfbc7aea9de81540",
      "tree": "5ed7e9278a16e08d8b5a2c9956b72d2acd7c0b51",
      "parents": [
        "83fe5de254f3129e1c4e1cc9c317108f218677ea",
        "2574d50bd59ee9c7e5bccf26df9f2d0ab007a934"
      ],
      "author": {
        "name": "Neal Nguyen",
        "email": "tommyn@google.com",
        "time": "Wed Jan 13 14:18:48 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 13 14:18:48 2010 -0800"
      },
      "message": "Merge \"Framework Tests Cleanup: Removing CTS duplicate files\""
    },
    {
      "commit": "83fe5de254f3129e1c4e1cc9c317108f218677ea",
      "tree": "2ff862297a7505969ac17477b5edaee743140a01",
      "parents": [
        "ae51f0a857a35d863925964458c258e4fb248312",
        "c19be0527ca0f60ae7a2077f98cb2bd7d2d5f4a4"
      ],
      "author": {
        "name": "Neal Nguyen",
        "email": "tommyn@google.com",
        "time": "Wed Jan 13 14:18:17 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 13 14:18:17 2010 -0800"
      },
      "message": "Merge \"Framework Tests Cleanup: Removing CTS duplicate files\""
    },
    {
      "commit": "ae51f0a857a35d863925964458c258e4fb248312",
      "tree": "ee7617b5b6698c61584adbd475b850c6c892caef",
      "parents": [
        "f6f56c051c85828de790f9b0b7f78e93abd9c4a2",
        "a5411f5b8dde480dc30fcb6bb2d1cb9eb04b9ceb"
      ],
      "author": {
        "name": "Neal Nguyen",
        "email": "tommyn@google.com",
        "time": "Wed Jan 13 14:17:56 2010 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 13 14:17:56 2010 -0800"
      },
      "message": "Merge \"Framework Tests Cleanup: Removing CTS duplicate files\""
    },
    {
      "commit": "908c48587d18e787a0511b1fa544d88d13b6bbb5",
      "tree": "0241836660a363fbce07a6579d08846b448ed8ff",
      "parents": [
        "cd7703712eafb68b735233146b5e13c8c8e17609",
        "202a6734fd39289257955d404edf7a1165f6e480"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Jan 12 15:19:28 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 12 15:19:28 2010 -0800"
      },
      "message": "am 202a6734: am 8acdb201: Added TransformGestureDetector (still in progress) Modified VelocityTracker to track multiple pointers Added TransformTest\n\nMerge commit \u0027202a6734fd39289257955d404edf7a1165f6e480\u0027\n\n* commit \u0027202a6734fd39289257955d404edf7a1165f6e480\u0027:\n  Added TransformGestureDetector (still in progress)\n"
    },
    {
      "commit": "202a6734fd39289257955d404edf7a1165f6e480",
      "tree": "01707f81652a43c6c95b78489a9a16ffcada2974",
      "parents": [
        "ba5220fc0c19c1efb65f6855e6b0bf680c30b6e8",
        "8acdb201bdad2cd03c07ebad9cda29f7971ed164"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Jan 12 15:15:43 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 12 15:15:43 2010 -0800"
      },
      "message": "am 8acdb201: Added TransformGestureDetector (still in progress) Modified VelocityTracker to track multiple pointers Added TransformTest\n\nMerge commit \u00278acdb201bdad2cd03c07ebad9cda29f7971ed164\u0027 into eclair-plus-aosp\n\n* commit \u00278acdb201bdad2cd03c07ebad9cda29f7971ed164\u0027:\n  Added TransformGestureDetector (still in progress)\n"
    },
    {
      "commit": "8acdb201bdad2cd03c07ebad9cda29f7971ed164",
      "tree": "f9c045796bf21bc8cae6eaf67d93b2124077fafd",
      "parents": [
        "ce63c639e90daafc3382020bb2d9e2b17350f1f0"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Jan 06 17:33:52 2010 -0800"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Tue Jan 12 15:08:23 2010 -0800"
      },
      "message": "Added TransformGestureDetector (still in progress)\nModified VelocityTracker to track multiple pointers\nAdded TransformTest\n"
    },
    {
      "commit": "980a938c1c9a6a5791a8240e5a1e6638ab28dc77",
      "tree": "75a3a1347b5423cc98859d3976076cea3dc22564",
      "parents": [
        "0a0289420227fee51406cf4cc508f09d8ecdd2f4"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Jan 08 15:06:28 2010 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Jan 08 15:11:38 2010 -0800"
      },
      "message": "Deprecate fill_parent and introduce match_parent.\nBug: #2361749.\n"
    },
    {
      "commit": "edc5189c33de03f3e2f5f73edc0e007992b933c9",
      "tree": "475cb09325a6ec4e1627a4c57ad1e5a5b4cc250b",
      "parents": [
        "43866e0c48bb0effe8805afd62b253e50ca7d591"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Thu Jan 07 13:51:16 2010 -0800"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Thu Jan 07 15:00:37 2010 -0800"
      },
      "message": "change remaining frameworks/base Gservices to Secure settings\n\nChange-Id: I61bdb05a2526523700c2833154d5a4133881ef10\n"
    },
    {
      "commit": "43866e0c48bb0effe8805afd62b253e50ca7d591",
      "tree": "c70bc473e8e7d9662916ff645d6bac8cfe85d478",
      "parents": [
        "6414970ac7dc629345942059f75362d894c2310e"
      ],
      "author": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Thu Jan 07 12:09:54 2010 -0800"
      },
      "committer": {
        "name": "Doug Zongker",
        "email": "dougz@android.com",
        "time": "Thu Jan 07 14:20:39 2010 -0800"
      },
      "message": "move some system services from gservices to secure settings\n\nChange-Id: Ie2dfb99a2b42b2cc9310b858c044d8684e3493fa\n"
    },
    {
      "commit": "6916089e838662b41d902cd9a0d2560b04633ef9",
      "tree": "8ec507232b223c4362c816bb0ba6c8543f136759",
      "parents": [
        "4cd9f5454aa51a284e6cc70ecc932cb6213b5f10"
      ],
      "author": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Wed Jan 06 23:12:57 2010 -0800"
      },
      "committer": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Thu Jan 07 00:28:58 2010 -0800"
      },
      "message": "Remove old EventLog tests from here, they will be replaced by a\n(better) EventLog test in CTS.\n\nFix some minor errors in the handling of too-large event log values.\n"
    },
    {
      "commit": "62136d3e1c1262fc31a1f77f6d6acbd75e5ea81d",
      "tree": "3addaf756197802741a15e36046ddadfe894554c",
      "parents": [
        "432bff01ec67533dbbb6ed27cb190c99e83ea226"
      ],
      "author": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Tue Jan 05 19:09:08 2010 -0800"
      },
      "committer": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Wed Jan 06 12:30:12 2010 -0800"
      },
      "message": "Simplify EventLog interface -- remove supported for nested\nsequences (which nobody used) and streamline the API, adding\ndocumentation in preparation for inclusion in the SDK.\n\nGut and deprecate EventLogTags, which unfortunately was put\ninto the public SDK (an oversight).  Include the functionality\nin EventLog proper, in a simpler and easier to use manner.\n\nThis change doesn\u0027t actually un-@hide anything, but it does\nchange it to @pending.\n"
    },
    {
      "commit": "432bff01ec67533dbbb6ed27cb190c99e83ea226",
      "tree": "abd8e77d4c6bc894e181ca6a10e5e95416e3713c",
      "parents": [
        "e0a8efd8747f4f8b0d0cc986239dda77021ea918"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Jan 05 16:27:19 2010 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Jan 06 08:53:44 2010 -0800"
      },
      "message": "Do not use a user tag on apps, as it is ignored.\n\nThe build system does not honor user tags on apps,\nand setting it is misleading.\n\nThis removes the confusion by making the makefiles\nbehave like they read.\n\nChange-Id: I7c5feba1c7d07f915b97dd098584f29938a4c885\n"
    },
    {
      "commit": "1301341f13fab2ced33a6f4dc0f0e8f609217105",
      "tree": "89c1564ed7816074f26d6d6a44ec0e2ef5de025c",
      "parents": [
        "1dabb95d280480c4c519b52ded8990d39c8b1614"
      ],
      "author": {
        "name": "Daisuke Miyakawa",
        "email": "dmiyakawa@google.com",
        "time": "Tue Jan 05 12:38:52 2010 +0900"
      },
      "committer": {
        "name": "Daisuke Miyakawa",
        "email": "dmiyakawa@google.com",
        "time": "Tue Jan 05 13:44:51 2010 +0900"
      },
      "message": "Fix test breakage in vCard exporter.\n\nDue to the change Iae8dbac1, all tests for vCard exporeter has failed.\nThis change fixes the breakage by using a kind of dirty Dependency Injection.\n\nCurrent test framework for vCard exporter strongly depends on the assumption that\nContentValues objects are able to be directly passed to objects which use\nContentResolver, while the change above disabled the feature by removing\nqueryEntities().\n\nThis change makes VCardComposer forcibly uses queryEntities() via Reflection.\nI agree that this change is not so clean, but works fine for now.\n"
    },
    {
      "commit": "ae46195d4fcde85c0901ca476a5cffd015d573cb",
      "tree": "3419dc7029220eceec7d0eaa211cf99e0f7a6e50",
      "parents": [
        "759a77e50211b9b1ba937f9ff89ae1fa35ca88e9"
      ],
      "author": {
        "name": "Neal Nguyen",
        "email": "tommyn@google.com",
        "time": "Wed Dec 23 17:26:20 2009 -0800"
      },
      "committer": {
        "name": "Neal Nguyen",
        "email": "tommyn@google.com",
        "time": "Mon Jan 04 12:23:56 2010 -0800"
      },
      "message": "Framework Tests Cleanup: Removing CTS duplicate files\n\nThis file is basically just a wrapper around AndroidTest, which is going away as part of framework test cleanup.\n\nAndroidTests.java is just a wrapper around all the actual tests, so can be removed as well.\n"
    },
    {
      "commit": "e38d58bf890c03eb034afd18c62c730c7d735f1c",
      "tree": "f8b42d11fc37826b1afd7a7242f94eee83299458",
      "parents": [
        "2c3058a88f035398fee4321a15347ca51af31cc7"
      ],
      "author": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Wed Dec 30 19:29:03 2009 -0800"
      },
      "committer": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Mon Jan 04 10:14:21 2010 -0800"
      },
      "message": "Remove Google-specific (or only-used-by-Google-code) classes.\n\nFix a small typo in Context javadoc.\n"
    },
    {
      "commit": "2c3058a88f035398fee4321a15347ca51af31cc7",
      "tree": "54221b19d1104bcd221986cd034941c615d32c30",
      "parents": [
        "c70cf9af8d9de0594e7526b792c354e5d82d683b",
        "8d562f78b4919babe1f7e32e974e5057dcfbb310"
      ],
      "author": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Mon Jan 04 10:05:21 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jan 04 10:05:21 2010 -0800"
      },
      "message": "am 8d562f78: am bc7afcb9: Merge \"free the NPObject in NPP_Destroy.\" into eclair-mr2\n\nMerge commit \u00278d562f78b4919babe1f7e32e974e5057dcfbb310\u0027\n\n* commit \u00278d562f78b4919babe1f7e32e974e5057dcfbb310\u0027:\n  free the NPObject in NPP_Destroy.\n"
    },
    {
      "commit": "8d562f78b4919babe1f7e32e974e5057dcfbb310",
      "tree": "e95f55c61f8d7c9eb6112dc6d01502789a35eaf3",
      "parents": [
        "9002eb44043868a2f5fc38128748464492f297c6",
        "bc7afcb94688dedb0ae9b4b3415f46aa13e713e5"
      ],
      "author": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Mon Jan 04 10:01:24 2010 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jan 04 10:01:24 2010 -0800"
      },
      "message": "am bc7afcb9: Merge \"free the NPObject in NPP_Destroy.\" into eclair-mr2\n\nMerge commit \u0027bc7afcb94688dedb0ae9b4b3415f46aa13e713e5\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027bc7afcb94688dedb0ae9b4b3415f46aa13e713e5\u0027:\n  free the NPObject in NPP_Destroy.\n"
    },
    {
      "commit": "c782c8d3277f1ee627b7d9b70eab27e956b78c98",
      "tree": "33b8ba458f3c9527cb007c0a4f438e29cb7d393e",
      "parents": [
        "4bc95d19c9ccf9cfe4c51b1e697db8cc1d86a579"
      ],
      "author": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Sun Dec 27 14:38:14 2009 -0800"
      },
      "committer": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Sun Dec 27 14:38:14 2009 -0800"
      },
      "message": "free the NPObject in NPP_Destroy."
    },
    {
      "commit": "2574d50bd59ee9c7e5bccf26df9f2d0ab007a934",
      "tree": "3b308548a42fb67d4b9cfc5ce68dc5b1f36078a6",
      "parents": [
        "121ec7ff33b05227cf704ff1ff6313a38897cca7"
      ],
      "author": {
        "name": "Neal Nguyen",
        "email": "tommyn@google.com",
        "time": "Wed Dec 23 18:05:01 2009 -0800"
      },
      "committer": {
        "name": "Neal Nguyen",
        "email": "tommyn@google.com",
        "time": "Wed Dec 23 18:05:01 2009 -0800"
      },
      "message": "Framework Tests Cleanup: Removing CTS duplicate files\n\nFirst phase of cleanup: removing duplicate files that already exist in CTS.\nDatabaseTests.java and ContentTests.java are modified to remove entries\nof deleted files, the remaining files are deleted duplicates.\n"
    },
    {
      "commit": "c19be0527ca0f60ae7a2077f98cb2bd7d2d5f4a4",
      "tree": "965a935f791d4370b66d8eb63b731dd09c736348",
      "parents": [
        "2ce9a190449bf495edcf2931bf172d1e1dcb94b5"
      ],
      "author": {
        "name": "Neal Nguyen",
        "email": "tommyn@google.com",
        "time": "Wed Dec 23 16:30:36 2009 -0800"
      },
      "committer": {
        "name": "Neal Nguyen",
        "email": "tommyn@google.com",
        "time": "Wed Dec 23 16:30:36 2009 -0800"
      },
      "message": "Framework Tests Cleanup: Removing CTS duplicate files\n\nNeighboringCellInfoTest.java is already included in CTS, so removing this one under frameworks.\n"
    },
    {
      "commit": "a5411f5b8dde480dc30fcb6bb2d1cb9eb04b9ceb",
      "tree": "0b150d0114806379c5249de2fe1c3ea947ea7d91",
      "parents": [
        "ea84a5559fa80003ff7b083bcf0718095169aa7c"
      ],
      "author": {
        "name": "Neal Nguyen",
        "email": "tommyn@google.com",
        "time": "Wed Dec 23 16:02:55 2009 -0800"
      },
      "committer": {
        "name": "Neal Nguyen",
        "email": "tommyn@google.com",
        "time": "Wed Dec 23 16:02:55 2009 -0800"
      },
      "message": "Framework Tests Cleanup: Removing CTS duplicate files\n\nCookieTest.java is already included in CTS, so removing this one under frameworks.\n"
    },
    {
      "commit": "f0108cda21bec61418b24aa6217406072780b5d5",
      "tree": "8866dfdec50a4bff63f188784779f7e1a9aa0216",
      "parents": [
        "fddd8f96f34b622cbdd0d891f8a7f5b7e18fdbf8",
        "ad2fa35d888e0763bfef0fc060775bec5d169479"
      ],
      "author": {
        "name": "Tom Taylor",
        "email": "tomtaylor@google.com",
        "time": "Tue Dec 22 10:11:55 2009 -0800"
      },
      "committer": {
        "name": "Tom Taylor",
        "email": "tomtaylor@google.com",
        "time": "Tue Dec 22 10:11:55 2009 -0800"
      },
      "message": "resolved conflicts for merge of ad2fa35d to master\n\nChange-Id: Ia4362cd48ac0689b91003943a4cd9660da72ff90\n"
    },
    {
      "commit": "f966afa1461c602fb5b50aeb5d6429dc525014be",
      "tree": "b35042dffb3a4882fe99a24f3ee0770910a27171",
      "parents": [
        "ee0511d76ce0ceae2f54782ca33e400e62d08137",
        "f41de2a4a1c22e3f3ee9a8cd65ec7997c9587cdb"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 21 18:39:19 2009 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 21 18:39:19 2009 -0800"
      },
      "message": "Merge change I34a427a5\n\n* changes:\n  Adding support for LoggingPrintStream.write(byte[]) and friends.\n"
    },
    {
      "commit": "5237f019b9f3fa1f4001dc1ad27d7781d3032985",
      "tree": "bc6443db97d2c7473fc9b7dfd34537c80b8a43db",
      "parents": [
        "223bd7af9832971075ba9fd9b0e41b7d693bd791",
        "c4978805dc8837570701629a9b8098e80804ad34"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Dec 21 15:52:57 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 21 15:52:57 2009 -0800"
      },
      "message": "am c4978805: merge from open-source master\n\nMerge commit \u0027c4978805dc8837570701629a9b8098e80804ad34\u0027\n\n* commit \u0027c4978805dc8837570701629a9b8098e80804ad34\u0027:\n  ImageButton example doesn\u0027t work. Default state should be at the last.\n  Time.parse3339 range checking and proper \u0027sec-frac\u0027 skip\n"
    },
    {
      "commit": "ad2fa35d888e0763bfef0fc060775bec5d169479",
      "tree": "ac2dc1f03392f34e08c69bc8c0272f3da20e5992",
      "parents": [
        "497cf2b9bf2a67d8e5492c3139624e6363ec59c1",
        "d4a4729c0cac582a2dcec7c8cfb316b81885a0f0"
      ],
      "author": {
        "name": "Tom Taylor",
        "email": "tomtaylor@google.com",
        "time": "Mon Dec 21 15:44:34 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 21 15:44:34 2009 -0800"
      },
      "message": "am d4a4729c: Update imports to android-common\n\nMerge commit \u0027d4a4729c0cac582a2dcec7c8cfb316b81885a0f0\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027d4a4729c0cac582a2dcec7c8cfb316b81885a0f0\u0027:\n  Update imports to android-common\n"
    },
    {
      "commit": "c4978805dc8837570701629a9b8098e80804ad34",
      "tree": "c9306287e30aed2292716335574defadc7824822",
      "parents": [
        "f5d2eec4fd530ac09ce1f8d2e51ea29b5cd12a38",
        "f8e104135ba56ffeab01e818f0927bda08fd5caf"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Dec 21 15:32:25 2009 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Dec 21 15:32:25 2009 -0800"
      },
      "message": "merge from open-source master\n"
    },
    {
      "commit": "d4a4729c0cac582a2dcec7c8cfb316b81885a0f0",
      "tree": "900252de39b7edd2409c6fff0d0609da759b2d6f",
      "parents": [
        "6a18871355f22bd0f91192e91345f48dff91f71a"
      ],
      "author": {
        "name": "Tom Taylor",
        "email": "tomtaylor@google.com",
        "time": "Mon Dec 21 13:59:18 2009 -0800"
      },
      "committer": {
        "name": "Tom Taylor",
        "email": "tomtaylor@google.com",
        "time": "Mon Dec 21 13:59:18 2009 -0800"
      },
      "message": "Update imports to android-common\n\nSeveral files were moved to android-common. Update all the references\nto import those files from the new location.\n"
    },
    {
      "commit": "e8bae73b8c74fef8fad94e6e1666db6a35c7a5f3",
      "tree": "6feb73ed177f70be7b8c0732a5d519778d7db456",
      "parents": [
        "41c561781323c697e42eef5c08310dbd8c1bf63a",
        "b8d46988180edf780b9aa8ba853601fdce2abb95"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 18 15:31:49 2009 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 18 15:31:49 2009 -0800"
      },
      "message": "Merge change I3632fede\n\n* changes:\n  Bug 2330278\n"
    },
    {
      "commit": "f41de2a4a1c22e3f3ee9a8cd65ec7997c9587cdb",
      "tree": "a605f9ec166dc4665bc02065c5631a8920dcf5db",
      "parents": [
        "ff3e4c834ff62620398c830a02002cb762c77c53"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Thu Dec 17 17:38:33 2009 -0800"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Fri Dec 18 13:41:15 2009 -0800"
      },
      "message": "Adding support for LoggingPrintStream.write(byte[]) and friends.\n\nBy default, Android\u0027s System.out and System.err are implemented by\nthe AndroidPrintStream subclass of LoggingPrintStream. Until now,\nthat class has silently discarded the raw bytes it has received.\nThis causes two problems:\n\nApplications may be accidentally wasting CPU+memory writing to\nSystem.out. By making this output visible, the developers of such\napplications can silence the problem at the source.\n\nApplication developers may be purposefully writing to these streams\nand perplexed by the data\u0027s disappearance. For example, the core\nlibrary\u0027s own java.util.logging.ConsoleHandler sends its log data\ninto this black hole. By making the data visible, we save the data\nand remove an unnecessary sharp edge from our API.\n"
    },
    {
      "commit": "b8d46988180edf780b9aa8ba853601fdce2abb95",
      "tree": "853f9b5ead9feff2b160b18f4df4b0ebc33afbb8",
      "parents": [
        "7f6f631070915500dfdbd4d2b9a2415fb23786a8"
      ],
      "author": {
        "name": "Paul Westbrook",
        "email": "pwestbro@google.com",
        "time": "Wed Dec 16 16:08:26 2009 -0800"
      },
      "committer": {
        "name": "Paul Westbrook",
        "email": "pwestbro@google.com",
        "time": "Thu Dec 17 10:47:17 2009 -0800"
      },
      "message": "Bug 2330278\n\nDeleted old copy of SimplePullParser, since it has been moved to\ngdata\n"
    },
    {
      "commit": "89107c1521089fdd24a38ef1d20afb397de9f93a",
      "tree": "c9f7b1b4eadbeb79ab65a19b226916b4bae20ec9",
      "parents": [
        "b5362167abb1dc6858fcb2d7b7e212683ae255a5"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Dec 16 15:01:20 2009 -0800"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Dec 16 15:06:33 2009 -0800"
      },
      "message": "Updated test GridTouchVerticalSpacingStackFromBottomTest for larger screens.\nAddresses bug 2176089 http://b/issue?id\u003d2176089\nNow takes into account screen scaling.\n"
    },
    {
      "commit": "2c5634198a4438e0d6be3e8cc3ae5fc6b0fdf588",
      "tree": "06ec42e1a77f438bad81867cf22200d59d582471",
      "parents": [
        "c333133107fb492de481a96ed1277e71daf2dd8c",
        "5a374f94f8be9604e0485e07943637783522c0b7"
      ],
      "author": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Tue Dec 15 15:57:33 2009 -0800"
      },
      "committer": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Tue Dec 15 15:57:33 2009 -0800"
      },
      "message": "resolved conflicts for merge of 5a374f94 to master\n"
    },
    {
      "commit": "01dde47ea9dda6f869557931db5f64573b9ce73d",
      "tree": "c584d1a66d46957e409b5426b43ddeba08aaca6e",
      "parents": [
        "d6542507e73e1d7f3380cb4657a0745772818002"
      ],
      "author": {
        "name": "Paul Westbrook",
        "email": "pwestbro@google.com",
        "time": "Tue Dec 15 13:10:06 2009 -0800"
      },
      "committer": {
        "name": "Paul Westbrook",
        "email": "pwestbro@google.com",
        "time": "Tue Dec 15 14:26:13 2009 -0800"
      },
      "message": "Bug 2326468\n\nDeleted old copy of the GoogleHttpClient, and the unit tests.\n"
    },
    {
      "commit": "5a374f94f8be9604e0485e07943637783522c0b7",
      "tree": "2c8eeb0886e7156c8785c8c0bbb40f01747ec1ea",
      "parents": [
        "451c850fd60aca5372810a5413636fda25d93438",
        "274dc9d35fdf5d0464f74071a9a8f14e497d4d5f"
      ],
      "author": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Tue Dec 15 05:56:03 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 15 05:56:03 2009 -0800"
      },
      "message": "am 274dc9d3: moved the hidden sync helpers out of the framework\n\nMerge commit \u0027274dc9d35fdf5d0464f74071a9a8f14e497d4d5f\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027274dc9d35fdf5d0464f74071a9a8f14e497d4d5f\u0027:\n  moved the hidden sync helpers out of the framework\n"
    },
    {
      "commit": "274dc9d35fdf5d0464f74071a9a8f14e497d4d5f",
      "tree": "ecc71d179dd35751170f6a8138f220eb1c95e1cd",
      "parents": [
        "15f1bfb0d29915ed1790b22a00fd7032f035ddb0"
      ],
      "author": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Fri Dec 11 13:17:08 2009 -0800"
      },
      "committer": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Mon Dec 14 16:33:13 2009 -0800"
      },
      "message": "moved the hidden sync helpers out of the framework\n"
    },
    {
      "commit": "e143bc92b2dfa205ea6af80855132bf52e018688",
      "tree": "46933356cfa47695992d68e3336788d50ad8f7f5",
      "parents": [
        "1a500c46ef3be3316616f7bb3eaf8ade05262359",
        "15d3bb2ce6b3e48608148d56b2ba1555ad63dff8"
      ],
      "author": {
        "name": "Paul Westbrook",
        "email": "pwestbro@google.com",
        "time": "Mon Dec 14 10:56:45 2009 -0800"
      },
      "committer": {
        "name": "Paul Westbrook",
        "email": "pwestbro@google.com",
        "time": "Mon Dec 14 10:56:45 2009 -0800"
      },
      "message": "resolved conflicts for merge of 15d3bb2c to master\n"
    },
    {
      "commit": "15d3bb2ce6b3e48608148d56b2ba1555ad63dff8",
      "tree": "9b59c763ce07e3888794bbbc9378559326779cdd",
      "parents": [
        "80a1335049bd6653a558bd9a2c625c091900caff",
        "7762d93621f508f4410fd37b5bbdfec0071b0420"
      ],
      "author": {
        "name": "Paul Westbrook",
        "email": "pwestbro@google.com",
        "time": "Mon Dec 14 10:10:20 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 14 10:10:20 2009 -0800"
      },
      "message": "am 7762d936: Unbundling work\n\nMerge commit \u00277762d93621f508f4410fd37b5bbdfec0071b0420\u0027 into eclair-mr2-plus-aosp\n\n* commit \u00277762d93621f508f4410fd37b5bbdfec0071b0420\u0027:\n  Unbundling work\n"
    },
    {
      "commit": "7762d93621f508f4410fd37b5bbdfec0071b0420",
      "tree": "1429bfabf0ebbc77c5bd2e924d46530e96db981b",
      "parents": [
        "b6ddc7ae3507f0e1ea9a76c76f829bc8b26a292c"
      ],
      "author": {
        "name": "Paul Westbrook",
        "email": "pwestbro@google.com",
        "time": "Fri Dec 11 14:13:48 2009 -0800"
      },
      "committer": {
        "name": "Paul Westbrook",
        "email": "pwestbro@google.com",
        "time": "Mon Dec 14 09:24:09 2009 -0800"
      },
      "message": "Unbundling work\n\nMoved AndroidHttpClient, Rfc822InputFilter, Rfc822Validator\nNumberPicker, NumberPickerButton to android-common\n---\n"
    },
    {
      "commit": "d021302134460efbb596f4a4a2951e75b83d0ede",
      "tree": "0ad87a7fd4a63d68f2a72551a6a674c6f677051f",
      "parents": [
        "07c71147dda8bda9a40bea10f6029d6cfcaae00f",
        "f6bb01b0d81943a00a42e56f2e65549ca03c386d"
      ],
      "author": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Fri Dec 11 14:55:24 2009 -0800"
      },
      "committer": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Fri Dec 11 14:55:24 2009 -0800"
      },
      "message": "resolved conflicts for merge of f6bb01b0 to master\n"
    },
    {
      "commit": "f6bb01b0d81943a00a42e56f2e65549ca03c386d",
      "tree": "1f78ad7243b02a906873cf14c14c052d291d0ac1",
      "parents": [
        "09f82ec61cca00bd8b08529a94139dd6ac5cec73",
        "b7f0367cec1c744aa66ef397b0244e25d507491c"
      ],
      "author": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Fri Dec 11 14:32:40 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 11 14:32:40 2009 -0800"
      },
      "message": "am b7f0367c: Eliminate CrashData and friends.\n\nMerge commit \u0027b7f0367cec1c744aa66ef397b0244e25d507491c\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027b7f0367cec1c744aa66ef397b0244e25d507491c\u0027:\n  Eliminate CrashData and friends.\n"
    },
    {
      "commit": "b7f0367cec1c744aa66ef397b0244e25d507491c",
      "tree": "7b70d87b9886ea1567647aac00fccb3198accc8c",
      "parents": [
        "af1255dab8fa3eab1caf9bae799f80de14a74470"
      ],
      "author": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Wed Dec 09 16:22:32 2009 -0800"
      },
      "committer": {
        "name": "Dan Egnor",
        "email": "egnor@google.com",
        "time": "Fri Dec 11 13:27:04 2009 -0800"
      },
      "message": "Eliminate CrashData and friends.\n\n(CrashData was a custom-marshalled crash-info class used for a server crash\nreporting system I am deprecating).  Use ApplicationErrorReport.CrashInfo\ninstead to report crash details (mostly the stack trace) from RuntimeInfo to\nActivityManagerService, since we\u0027re likely to need the crash information in\nthat form anyway.\n\nRemove the (long-disabled) flags and support for the \"Debug\" button\nin the crash dialog.\n\nFurther gut the ICheckinService interface by removing the crash-reporting\nAPIs (and everything that calls them), plus the synchronous checkin()\nmethod (which has been stubbed out for a while now).\n\nA new dropbox-based crash reporting system is in the works, but not part\nof this change.\n"
    },
    {
      "commit": "7a4fb7376b6819f609b8f462c56329eff50fcb6d",
      "tree": "26136ab7c68f7edc24ab0ad218be05a7e7f8d023",
      "parents": [
        "49c6eacba14d495ed69eb436396dd216dba8b6c4",
        "595c40920f31ba7b6674eb341548173e2aaf6ea7"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Fri Dec 11 01:40:43 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 11 01:40:43 2009 -0800"
      },
      "message": "am 595c4092: am 8fb0faf3: Merge change I0a56959e into eclair-mr2\n\nMerge commit \u0027595c40920f31ba7b6674eb341548173e2aaf6ea7\u0027\n\n* commit \u0027595c40920f31ba7b6674eb341548173e2aaf6ea7\u0027:\n  Implement a HierarchicalStateMachine\n"
    },
    {
      "commit": "595c40920f31ba7b6674eb341548173e2aaf6ea7",
      "tree": "04dc726109367967d33f605b89adaf8b61ade401",
      "parents": [
        "cdbf5746fcbee26bed74090e22aff761d1b4da3b",
        "8fb0faf3cc2f792db8cf38fe5ab67c5eab7baa5c"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Thu Dec 10 21:24:59 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 10 21:24:59 2009 -0800"
      },
      "message": "am 8fb0faf3: Merge change I0a56959e into eclair-mr2\n\nMerge commit \u00278fb0faf3cc2f792db8cf38fe5ab67c5eab7baa5c\u0027 into eclair-mr2-plus-aosp\n\n* commit \u00278fb0faf3cc2f792db8cf38fe5ab67c5eab7baa5c\u0027:\n  Implement a HierarchicalStateMachine\n"
    },
    {
      "commit": "8fb0faf3cc2f792db8cf38fe5ab67c5eab7baa5c",
      "tree": "3c15b502992e9c70234e52021c359de1cabc274e",
      "parents": [
        "b5ef7ee1644b099498ddd29c1d051e7ee26ccfd3",
        "fc5b4802a544b6ca304aa7e58a26018ef714d233"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 10 21:22:19 2009 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 10 21:22:19 2009 -0800"
      },
      "message": "Merge change I0a56959e into eclair-mr2\n\n* changes:\n  Implement a HierarchicalStateMachine\n"
    },
    {
      "commit": "80ffd8c5ae598c679ff491e7a7168ef96fe54c45",
      "tree": "d0f1719667115f763e88ec5c062ac979b46dc6e1",
      "parents": [
        "d2169dde42284fa2e56b1b870d4ffcfe824f975d",
        "da9691e9d6796ec85a09aae6ed806116a4025759"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Dec 10 15:46:33 2009 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Dec 10 15:46:33 2009 -0800"
      },
      "message": "resolved conflicts for merge of da9691e9 to master\n"
    },
    {
      "commit": "da9691e9d6796ec85a09aae6ed806116a4025759",
      "tree": "9b87c78f24ccdceff517c915807c2ddc9c9e0abe",
      "parents": [
        "a56a3528ae8e42cf01dd0d5c5a1585a90f117011",
        "326d808b858359464b2ffeb84f2e0a8e0c79b600"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Dec 10 15:18:43 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 10 15:18:43 2009 -0800"
      },
      "message": "am 326d808b: Added View#dispatchViewVisibilityChanged and View#onDispatchVisibilityChanged; updated api; tests\n\nMerge commit \u0027326d808b858359464b2ffeb84f2e0a8e0c79b600\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027326d808b858359464b2ffeb84f2e0a8e0c79b600\u0027:\n  Added View#dispatchViewVisibilityChanged and View#onDispatchVisibilityChanged; updated api; tests\n"
    },
    {
      "commit": "326d808b858359464b2ffeb84f2e0a8e0c79b600",
      "tree": "11974c82f0aa6398a0a7eb122b97c2a4c95a46f1",
      "parents": [
        "f2f68760eb10b52bd53d6a266f9b5e2b06037d9f"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Wed Dec 09 15:10:07 2009 -0800"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Thu Dec 10 14:49:14 2009 -0800"
      },
      "message": "Added View#dispatchViewVisibilityChanged and View#onDispatchVisibilityChanged; updated api; tests\n\nReverted a change to InstrumentationTestCase that would have allowed @UiThreadTest on setUp() methods of tests.\n"
    },
    {
      "commit": "2ec6c5699181316e5a5c2cd293c006ac4a8bb101",
      "tree": "5dffd05ec1b6cd3630bef911631ef2150904088a",
      "parents": [
        "8415afdb706c94cc297195a0dd5b5a62726d66e4"
      ],
      "author": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Wed Dec 09 16:00:31 2009 -0800"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Dec 10 10:37:52 2009 -0800"
      },
      "message": "am 328c0e79: - removed the concept of Entity from the ContentProvider APIs - removed the parcelling ability from Entity and EntityIterator and made them public - added an EntityIterator abstract implementation that allow easy wrapping of a Cursor - changed the VCard c\n\nMerge commit \u0027328c0e7986aa6bb7752ec6de3da9c999920bb55f\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027328c0e7986aa6bb7752ec6de3da9c999920bb55f\u0027:\n  - removed the concept of Entity from the ContentProvider APIs\n"
    },
    {
      "commit": "df9396a384aee7b503ccfdb21d13ffb86f32b510",
      "tree": "12191dd8dd0a17c24d8cca8e250339bb5bf35e3c",
      "parents": [
        "9516bf56478d54dfccb72fc6e44490aab77e9c33",
        "c97c5c0b9b61f48cbf47cb95d497e0bb6d01eeef"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Thu Dec 10 07:53:22 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 10 07:53:22 2009 -0800"
      },
      "message": "am c97c5c0b: am b43b5def: am 0d8055e5: Paper over 2275704 by not having LotsOfApps installed on the monkeys builds.\n\nMerge commit \u0027c97c5c0b9b61f48cbf47cb95d497e0bb6d01eeef\u0027\n\n* commit \u0027c97c5c0b9b61f48cbf47cb95d497e0bb6d01eeef\u0027:\n  Paper over 2275704 by not having LotsOfApps installed on the monkeys builds.\n"
    },
    {
      "commit": "3d2560ad9281b03ce737f7e85752e92c457f87c2",
      "tree": "f2e8571433be89e4c6191300f742220b59e64770",
      "parents": [
        "a14b4890b914971c01bf130697090e7e775aeab4",
        "328c0e7986aa6bb7752ec6de3da9c999920bb55f"
      ],
      "author": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Wed Dec 09 16:00:31 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 09 16:00:31 2009 -0800"
      },
      "message": "am 328c0e79: - removed the concept of Entity from the ContentProvider APIs - removed the parcelling ability from Entity and EntityIterator and made them public - added an EntityIterator abstract implementation that allow easy wrapping of a Cursor - changed the VCard c\n\nMerge commit \u0027328c0e7986aa6bb7752ec6de3da9c999920bb55f\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027328c0e7986aa6bb7752ec6de3da9c999920bb55f\u0027:\n  - removed the concept of Entity from the ContentProvider APIs\n"
    },
    {
      "commit": "c97c5c0b9b61f48cbf47cb95d497e0bb6d01eeef",
      "tree": "4298569c8d40b1a2e9df0c24e7830ced017afca1",
      "parents": [
        "506afbd600d82a324f59ceb875f664ead4338600",
        "b43b5deff30d0ba77ea5b93d3e74507bfe2528be"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Wed Dec 09 15:52:28 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 09 15:52:28 2009 -0800"
      },
      "message": "am b43b5def: am 0d8055e5: Paper over 2275704 by not having LotsOfApps installed on the monkeys builds.\n\nMerge commit \u0027b43b5deff30d0ba77ea5b93d3e74507bfe2528be\u0027 into eclair-mr2-plus-aosp\n\n* commit \u0027b43b5deff30d0ba77ea5b93d3e74507bfe2528be\u0027:\n  Paper over 2275704 by not having LotsOfApps installed on the monkeys builds.\n"
    },
    {
      "commit": "328c0e7986aa6bb7752ec6de3da9c999920bb55f",
      "tree": "5b708eac07a46a6fa7a7f666b4d3266a922b58d6",
      "parents": [
        "a50d450863cb84805ac6809a4c1f7b83984da1ee"
      ],
      "author": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Mon Dec 07 14:52:28 2009 -0800"
      },
      "committer": {
        "name": "Fred Quintana",
        "email": "fredq@google.com",
        "time": "Wed Dec 09 10:30:18 2009 -0800"
      },
      "message": "- removed the concept of Entity from the ContentProvider APIs\n- removed the parcelling ability from Entity and EntityIterator and made them public\n- added an EntityIterator abstract implementation that allow easy wrapping of a Cursor\n- changed the VCard code to use the new APIs\n"
    },
    {
      "commit": "fc5b4802a544b6ca304aa7e58a26018ef714d233",
      "tree": "62dd32cd9c27cba0931a8c8adff6f10d4ca8ea69",
      "parents": [
        "9e3e2d3a6967301730fd383e8b04d53fdfd008e5"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Tue Dec 08 21:22:24 2009 -0800"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Tue Dec 08 21:22:24 2009 -0800"
      },
      "message": "Implement a HierarchicalStateMachine\n\nA hierarchical state machine is a state machine which processes messages\nand can have states arranged hierarchically. Each state in the state\nmachine may have a single parent state and if a child state is unable to\nhandle a message it may have the message processed by its parent.\n\nChange-Id: I0a56959ece8f89e4f9122dc8044120b82d517bbb\n"
    },
    {
      "commit": "ad5512b7e7ff0668203a4e891d5aa9f76424ea3a",
      "tree": "eab06df7ef78e6553cdf4fa70689dae7b9a323ad",
      "parents": [
        "cd337edc8511f56847673409867f43297b586dfa",
        "0d8055e51ce2666875e14c53e14765f673172b1c"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Dec 08 14:08:53 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 08 14:08:53 2009 -0800"
      },
      "message": "am 0d8055e5: Paper over 2275704 by not having LotsOfApps installed on the monkeys builds.\n\nMerge commit \u00270d8055e51ce2666875e14c53e14765f673172b1c\u0027 into eclair-plus-aosp\n\n* commit \u00270d8055e51ce2666875e14c53e14765f673172b1c\u0027:\n  Paper over 2275704 by not having LotsOfApps installed on the monkeys builds.\n"
    },
    {
      "commit": "b43b5deff30d0ba77ea5b93d3e74507bfe2528be",
      "tree": "aeca00af550e44c8b5d362d50cb572e1f6dc10aa",
      "parents": [
        "3f40bd48d278a40603f3f7d7b9d602ecbc09246d",
        "0d8055e51ce2666875e14c53e14765f673172b1c"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Dec 08 14:08:51 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 08 14:08:51 2009 -0800"
      },
      "message": "am 0d8055e5: Paper over 2275704 by not having LotsOfApps installed on the monkeys builds.\n\nMerge commit \u00270d8055e51ce2666875e14c53e14765f673172b1c\u0027 into eclair-mr2\n\n* commit \u00270d8055e51ce2666875e14c53e14765f673172b1c\u0027:\n  Paper over 2275704 by not having LotsOfApps installed on the monkeys builds.\n"
    },
    {
      "commit": "0d8055e51ce2666875e14c53e14765f673172b1c",
      "tree": "9483839854b29114fd06fbeb87ec5c46ce2538d4",
      "parents": [
        "d59fb6e7435b57d83662b196f5430e6f2bc5427b"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Dec 08 14:02:09 2009 -0800"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@android.com",
        "time": "Tue Dec 08 14:02:09 2009 -0800"
      },
      "message": "Paper over 2275704 by not having LotsOfApps installed on the monkeys builds.\n"
    },
    {
      "commit": "c5303c3a55a08336ec416a3d80550f464f817429",
      "tree": "eff4ac012769a4609140cc632906563c715e1ba1",
      "parents": [
        "cd9d0242fd5bd34b9b1813477f3b694cbc870852",
        "8d962613464b206f4c0b2323607c5e248543ad24"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Mon Dec 07 14:58:38 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 07 14:58:38 2009 -0800"
      },
      "message": "am 8d962613: am 6dba0680: Merge change I9589f9c2 into eclair-mr2\n\nMerge commit \u00278d962613464b206f4c0b2323607c5e248543ad24\u0027\n\n* commit \u00278d962613464b206f4c0b2323607c5e248543ad24\u0027:\n  Move android.server.search.SearchableInfo to android.app\n"
    },
    {
      "commit": "8d962613464b206f4c0b2323607c5e248543ad24",
      "tree": "1db2c021880930bdd756dae1c20eb83c0e76423e",
      "parents": [
        "16c82c34edfef70bc74e6d6fdf3f08506bf8f27f",
        "6dba0680cd3bc0bd987a3d01fc49421897528f20"
      ],
      "author": {
        "name": "Bjorn Bringert",
        "email": "bringert@android.com",
        "time": "Sat Dec 05 10:26:04 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Dec 05 10:26:04 2009 -0800"
      },
      "message": "am 6dba0680: Merge change I9589f9c2 into eclair-mr2\n\nMerge commit \u00276dba0680cd3bc0bd987a3d01fc49421897528f20\u0027 into eclair-mr2-plus-aosp\n\n* commit \u00276dba0680cd3bc0bd987a3d01fc49421897528f20\u0027:\n  Move android.server.search.SearchableInfo to android.app\n"
    },
    {
      "commit": "6dba0680cd3bc0bd987a3d01fc49421897528f20",
      "tree": "ddb589e2b444ade7b342f53d49f2db6e4133a9cf",
      "parents": [
        "d1b3988adfe0b55291d0ebc8479e62ab1d2b9d21",
        "2126aac7f992b57fc52141a8bd09fa7a45ac2509"
      ],
      "author": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Dec 05 10:21:01 2009 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Dec 05 10:21:01 2009 -0800"
      },
      "message": "Merge change I9589f9c2 into eclair-mr2\n\n* changes:\n  Move android.server.search.SearchableInfo to android.app\n"
    },
    {
      "commit": "a6a0f6936379db483cbd21e821ed689460f57679",
      "tree": "f58e889fbd63966d1a3aa6bf7229c8aae29a8ae2",
      "parents": [
        "c6b9206e9f7aae1a22f7b1b407982d1623c20b22",
        "a1a68a4a2d1b1c48b3dc98638cb2e498b6f65408"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Dec 04 12:07:53 2009 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 04 12:07:53 2009 -0800"
      },
      "message": "am a1a68a4a: am 6d72f725: Merge change If32b488b into eclair-mr2\n\nMerge commit \u0027a1a68a4a2d1b1c48b3dc98638cb2e498b6f65408\u0027\n\n* commit \u0027a1a68a4a2d1b1c48b3dc98638cb2e498b6f65408\u0027:\n  Add new unit test for RadioGroup/RadioButton.\n"
    }
  ],
  "next": "a1a68a4a2d1b1c48b3dc98638cb2e498b6f65408"
}
