)]}'
{
  "log": [
    {
      "commit": "1d4d30aebd2c22627131819cabfe95f97def2c83",
      "tree": "9e94914a6a93a3007d4b57b32f2999a15e5dec03",
      "parents": [
        "ed742306b3d24ba1c2ca3fea0cc2ada8534a18b0"
      ],
      "author": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Thu Apr 28 12:35:29 2011 -0400"
      },
      "committer": {
        "name": "Daniel Sandler",
        "email": "dsandler@google.com",
        "time": "Wed May 11 09:48:52 2011 -0400"
      },
      "message": "It\u0027s lights out for you, navigation bar!\n\nViews requesting lights out mode will cause the navbar to\ndisappear (this is useful for viewing videos/photos/etc\nusing every pixel of the screen).\n\nBut there\u0027s a catch: any user activity at all will cause the\nlights to come back on and the navbar to return.\n\nChange-Id: I535ed3ba9ae7fab3282c402be256add765395b6f\n"
    },
    {
      "commit": "a301fe61c8573c06be754d5788a84d19188ee2d3",
      "tree": "f74dbb59b431a0e8a526f9067b2e5b28d3354db2",
      "parents": [
        "dd01e5b79f4230ea95756f3f128df9c382f2b40f"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed May 04 08:44:59 2011 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri May 06 08:36:20 2011 -0700"
      },
      "message": "Fix dumpsys output.\n\nChange-Id: If3f51fbc4608ac295fa22d0aee4008f8dce4fa50\n"
    },
    {
      "commit": "ed30fd8e9a2d65ee5c8520de55b0089c219f390c",
      "tree": "26ba777cc019d3adcba613427a2bb2feabf9a54f",
      "parents": [
        "098b781699981a550500d2e30b4c844af63eb187"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Fri Apr 22 16:18:45 2011 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Thu May 05 07:35:40 2011 -0700"
      },
      "message": "Add ability for hierarchyviewer to output displaylist info\n\nClicking on a node in hierarchyviewer1 and hierarchyviewer2 and then\nclicking the new \"Dump DisplayList\" button will cause the display\nlist for the selected node (including its children) to be output into\nlogcat.\n\nChange-Id: Iad05f5f6cca0f8b465dccd962b501dc18fe6e053\n"
    },
    {
      "commit": "a17de9b493123f0d6e6d0b842150bf29322b7a88",
      "tree": "5a7518cfd3276a2e6ed40504f69fd3f8c3008a34",
      "parents": [
        "f2a4568afca603d3166fd86335abe095cd087393"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Wed May 04 18:23:12 2011 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Wed May 04 18:23:12 2011 -0700"
      },
      "message": "Revert \"Add ability for hierarchyviewer to output displaylist info\"\n\nThis reverts commit b2a4b52e8d5e499d33e2765e8c47851bf0266299.\n"
    },
    {
      "commit": "28baf6f096265664a5cb778b7d2ad1c1974f0f4a",
      "tree": "9844c1a3c1d814513704e5eaa0e0818847592488",
      "parents": [
        "2a2dc6894ae2cea2c0c16b27d9acd5d536c71696",
        "2f5f4bc98b4db21102ff8e8d8116f00ab4d2fd2a"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed May 04 17:58:04 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 04 17:58:04 2011 -0700"
      },
      "message": "Merge \"Add basic walled garden check\""
    },
    {
      "commit": "2a2dc6894ae2cea2c0c16b27d9acd5d536c71696",
      "tree": "06cf53f5255b16d4ceab67dbf95748554e4087a7",
      "parents": [
        "42a3a39e231c02a3c2b7624cb7c64fe10d6ff4b0",
        "9a13f36cddaad01350bdb5f000167811a1d753c9"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed May 04 17:49:01 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 04 17:49:01 2011 -0700"
      },
      "message": "Merge \"Return NetworkStats bundle from NM service.\""
    },
    {
      "commit": "42a3a39e231c02a3c2b7624cb7c64fe10d6ff4b0",
      "tree": "7c19213bb0eba6602acf262ff603454ced479cc7",
      "parents": [
        "600fc592e7668033913ba376a8a10486db0662c9",
        "b2a4b52e8d5e499d33e2765e8c47851bf0266299"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Wed May 04 17:30:30 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 04 17:30:30 2011 -0700"
      },
      "message": "Merge \"Add ability for hierarchyviewer to output displaylist info\""
    },
    {
      "commit": "b2a4b52e8d5e499d33e2765e8c47851bf0266299",
      "tree": "fccd7891e4f5ac2b3bb833f226e2c7c23a28202d",
      "parents": [
        "b969d2d9c1771a3a4c813f2c2824522659d26927"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Fri Apr 22 16:18:45 2011 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Wed May 04 17:18:27 2011 -0700"
      },
      "message": "Add ability for hierarchyviewer to output displaylist info\n\nClicking on a node in hierarchyviewer1 and hierarchyviewer2 and then\nclicking the new \"Dump DisplayList\" button will cause the display\nlist for the selected node (including its children) to be output into\nlogcat.\n\nChange-Id: Id32f62569ad1ab4d533bc62987f3a7390c1bb4e6\n"
    },
    {
      "commit": "9a13f36cddaad01350bdb5f000167811a1d753c9",
      "tree": "024269b4f6c6ab8fb284156955ecace0578eaba2",
      "parents": [
        "588f280fe099dc5b18f15124ffb035fc1f5ef2f1"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Apr 26 16:25:36 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed May 04 16:07:21 2011 -0700"
      },
      "message": "Return NetworkStats bundle from NM service.\n\nIntroduce NetworkStats which is a collection of network statistics,\nwhich should match the structure communicated by kernel module through\nnetd.  Will introduce tags and fg/bg stats later.  Kept entirely in a\nflat data structure to optimize parcel speed.\n\nInitial pass at returning NetworkStats from NetworkManagementService,\nboth summary and details.  Will eventually pull data from kernel module\nover netd connection.\n\nChange-Id: I92d9f61678ec8c22e2ce26775fb035a0cf32413f\n"
    },
    {
      "commit": "b6f8bff10963893435afda7b426c7a5b1ac1cc1f",
      "tree": "577ab1c9d76dbc688a0a1976ad4e1b07d9239679",
      "parents": [
        "9f47d10e6acc079eb0fb5cfbd7267c6fe8f44d18",
        "9c7e6fc50614cc1739d4bfbf6187893c27b01a67"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed May 04 12:47:30 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 04 12:47:30 2011 -0700"
      },
      "message": "am 9c7e6fc5: am f13eb830: Merge \"Add auto-restore timeout for secondary networks.\" into honeycomb-LTE\n\n* commit \u00279c7e6fc50614cc1739d4bfbf6187893c27b01a67\u0027:\n  Add auto-restore timeout for secondary networks.\n"
    },
    {
      "commit": "9c7e6fc50614cc1739d4bfbf6187893c27b01a67",
      "tree": "8ff559e845d18c1498258f2fa13fe85e9b0e8cbd",
      "parents": [
        "63de615ddb3cb81bbb5b548693faca971d182a6d",
        "f13eb8301f4704179938e374129f2943c9c38d5f"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed May 04 10:02:16 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 04 10:02:16 2011 -0700"
      },
      "message": "am f13eb830: Merge \"Add auto-restore timeout for secondary networks.\" into honeycomb-LTE\n\n* commit \u0027f13eb8301f4704179938e374129f2943c9c38d5f\u0027:\n  Add auto-restore timeout for secondary networks.\n"
    },
    {
      "commit": "f13eb8301f4704179938e374129f2943c9c38d5f",
      "tree": "028311ba07490cd91380100b180a47e26f79a5fb",
      "parents": [
        "36132a488b2974db9a90da809c2f3eeab99a4427",
        "f2102f7a1a26d399cc60c516ed7d90ef660de055"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed May 04 09:59:30 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 04 09:59:30 2011 -0700"
      },
      "message": "Merge \"Add auto-restore timeout for secondary networks.\" into honeycomb-LTE"
    },
    {
      "commit": "20c356128492cf43d9ca10308601be585514f165",
      "tree": "37d06e2d80df44f322f8a3bb1ab862314daef787",
      "parents": [
        "2572051c4f6589e5ca8b21158a24a7fa606a5e67",
        "10fbba21e4827a1582d97aa99e4e8d772ce04920"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed May 04 08:57:19 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 04 08:57:19 2011 -0700"
      },
      "message": "am 10fbba21: DO NOT MERGE MountService: Fix running media scanner at boot.\n\n* commit \u002710fbba21e4827a1582d97aa99e4e8d772ce04920\u0027:\n  DO NOT MERGE MountService: Fix running media scanner at boot.\n"
    },
    {
      "commit": "2572051c4f6589e5ca8b21158a24a7fa606a5e67",
      "tree": "64cbd050402aede01867443e9ad93ad9ddeb46cd",
      "parents": [
        "a2a8419db82ae40146bdfd215e3de3be39c7249c",
        "0aa5d7b7f225236ac8461d0b6835b9c6152a2699"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed May 04 08:57:12 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 04 08:57:12 2011 -0700"
      },
      "message": "am 0aa5d7b7: DO NOT MERGE Fix deadlock in MountService\n\n* commit \u00270aa5d7b7f225236ac8461d0b6835b9c6152a2699\u0027:\n  DO NOT MERGE Fix deadlock in MountService\n"
    },
    {
      "commit": "a2a8419db82ae40146bdfd215e3de3be39c7249c",
      "tree": "7d40976cd68e10045c4dfae23dfae3c1f6702cb4",
      "parents": [
        "60c768d41277e3b7d4988452e15694c7ad5a74d0",
        "e3b498be0ae05367e9b84f4fac2ac5cf57a6b091"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed May 04 08:57:07 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 04 08:57:07 2011 -0700"
      },
      "message": "am e3b498be: DO NOT MERGE StorageManager: Add getVolumeList() and getVolumeState() methods\n\n* commit \u0027e3b498be0ae05367e9b84f4fac2ac5cf57a6b091\u0027:\n  DO NOT MERGE StorageManager: Add getVolumeList() and getVolumeState() methods\n"
    },
    {
      "commit": "60c768d41277e3b7d4988452e15694c7ad5a74d0",
      "tree": "82ec67daf5925d8fe9b7e34a27b651b93787cdbb",
      "parents": [
        "79eb78769c8ecd92624f0171d9f22d95fc093b00",
        "346a2d79ecd627e38bc7fc6874fb627995b8bc12"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed May 04 08:56:55 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 04 08:56:55 2011 -0700"
      },
      "message": "am 346a2d79: DO NOT MERGE MountService: Add support for multiple volumes\n\n* commit \u0027346a2d79ecd627e38bc7fc6874fb627995b8bc12\u0027:\n  DO NOT MERGE MountService: Add support for multiple volumes\n"
    },
    {
      "commit": "10fbba21e4827a1582d97aa99e4e8d772ce04920",
      "tree": "8ca9af5627e41c963a3e3bf064625a91b9935f25",
      "parents": [
        "0aa5d7b7f225236ac8461d0b6835b9c6152a2699"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Apr 05 10:21:51 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed May 04 10:41:19 2011 -0400"
      },
      "message": "DO NOT MERGE MountService: Fix running media scanner at boot.\n\nChange-Id: Ia56573023f21fa067a14e7d3ac5a6dbd51ecc8a7\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "0aa5d7b7f225236ac8461d0b6835b9c6152a2699",
      "tree": "9bc11ff8ac526d26b59635edf1512ae3cd7afd0c",
      "parents": [
        "e3b498be0ae05367e9b84f4fac2ac5cf57a6b091"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Apr 05 10:05:47 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed May 04 10:41:19 2011 -0400"
      },
      "message": "DO NOT MERGE Fix deadlock in MountService\n\nIt is not safe to call into vold with a lock held on mVolumeStates\nsince we will receive events back from vold on a different thread.\nSo in the boot completed handler we make a copy of the volume list and\nthen call vold to mount volumes after releasing the lock\n\nChange-Id: Iaadfb1b8be5567c8e228a8fbc69d4d483c8dc987\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "e3b498be0ae05367e9b84f4fac2ac5cf57a6b091",
      "tree": "0c1e2fbcf727794950a55df15d84d5edba45bcd8",
      "parents": [
        "346a2d79ecd627e38bc7fc6874fb627995b8bc12"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Mar 24 08:12:30 2011 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed May 04 10:41:19 2011 -0400"
      },
      "message": "DO NOT MERGE StorageManager: Add getVolumeList() and getVolumeState() methods\n\nChange-Id: I8ba7e56797b0106dafaa6388393e5c629f27e6e6\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "346a2d79ecd627e38bc7fc6874fb627995b8bc12",
      "tree": "abbf9844edd66b717f1ce5e6d8e7488cc47b6768",
      "parents": [
        "88741823a67fd8246b3926464bfaa2081b330f40"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 23 14:52:34 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed May 04 10:41:19 2011 -0400"
      },
      "message": "DO NOT MERGE MountService: Add support for multiple volumes\n\nChange-Id: I18527e78a1c04023ae7bc0f269eaac082eb48d7f\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "f2102f7a1a26d399cc60c516ed7d90ef660de055",
      "tree": "ef5a798c8adddd8fc300cdfe9766581b97e12b79",
      "parents": [
        "7e74c60db5261ea137c8f6672f8573873eb5814e"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue May 03 19:02:44 2011 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue May 03 19:10:26 2011 -0700"
      },
      "message": "Add auto-restore timeout for secondary networks.\n\nSettable per network so you can have not timeout for some and some for others.\nIf you set the old NETWORK_RESTORE_DELAY_PROP_NAME system property\n(android.telephony.apn-restore) it will override this value.\n\nChange-Id: Icca706fdc74245dce679209116660e5dc4b05d23\n"
    },
    {
      "commit": "2f5f4bc98b4db21102ff8e8d8116f00ab4d2fd2a",
      "tree": "1bffc4effd5dedc452f323f42d7f451b8b7e401c",
      "parents": [
        "a0449f03eb12462189f7a75f55e4751e1e2bcbcd"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon May 02 11:43:28 2011 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue May 03 13:35:21 2011 -0700"
      },
      "message": "Add basic walled garden check\n\nUse multiple DNS resolutions to the same IP address\nas an indication to launch a web view for authentication\n\nBug: 4378442\nChange-Id: Id3cf1e3c5b5bee4468665d0459ac945e5b12e730\n"
    },
    {
      "commit": "e21f3764343ba3b077c6be3cad568ab9ecea85a7",
      "tree": "3cd23b261f3c051671cf2b389e727200199ed0a8",
      "parents": [
        "3165f1a8eb707b36a6b2c66379c3fde85d9cc2fd",
        "75c664582c5ce5d94826f37cb725b447a4d62c50"
      ],
      "author": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Tue May 03 12:46:20 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 03 12:46:20 2011 -0700"
      },
      "message": "am 75c66458: am 8325c3a8: Backporting I57c58c4083bd59f45095c184d6ca5a302f79ff6e to HC-MR1. New change since file was renamed, making cherry-pick impossible.\n\n* commit \u002775c664582c5ce5d94826f37cb725b447a4d62c50\u0027:\n  Backporting I57c58c4083bd59f45095c184d6ca5a302f79ff6e to HC-MR1. New change since file was renamed, making cherry-pick impossible.\n"
    },
    {
      "commit": "75c664582c5ce5d94826f37cb725b447a4d62c50",
      "tree": "e464c39c2bd0870d03795895e571a2d64bebb1ab",
      "parents": [
        "d0d44c4e988ecdea86c2bb04e29d8f6d20c1c631",
        "8325c3a89197e47cfc2eeb4117c927fb8cb91630"
      ],
      "author": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Tue May 03 12:26:16 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 03 12:26:16 2011 -0700"
      },
      "message": "am 8325c3a8: Backporting I57c58c4083bd59f45095c184d6ca5a302f79ff6e to HC-MR1. New change since file was renamed, making cherry-pick impossible.\n\n* commit \u00278325c3a89197e47cfc2eeb4117c927fb8cb91630\u0027:\n  Backporting I57c58c4083bd59f45095c184d6ca5a302f79ff6e to HC-MR1. New change since file was renamed, making cherry-pick impossible.\n"
    },
    {
      "commit": "a8e0dfae06298b375637813a3263a62749dd0b82",
      "tree": "05732764028e29a1e26980864063179c7b3c120c",
      "parents": [
        "677cece131528d1edcaad247b87d1f989c3956c2",
        "db46fa25be0a3e8040b118f688b69dd526aed86d"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon May 02 14:41:57 2011 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon May 02 14:41:57 2011 -0700"
      },
      "message": "resolved conflicts for merge of db46fa25 to master\n\nChange-Id: I8df9d5d07588fbd70e417dae567be26f645b74b6\n"
    },
    {
      "commit": "8325c3a89197e47cfc2eeb4117c927fb8cb91630",
      "tree": "9c5c219a485025c29d7bc1a312527b991f5db27a",
      "parents": [
        "de506220d8a3d453463e1abe1b2eb54afd48ec93"
      ],
      "author": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Mon May 02 13:16:06 2011 -0700"
      },
      "committer": {
        "name": "Dan Morrill",
        "email": "morrildl@google.com",
        "time": "Mon May 02 14:06:06 2011 -0700"
      },
      "message": "Backporting I57c58c4083bd59f45095c184d6ca5a302f79ff6e to HC-MR1. New change\nsince file was renamed, making cherry-pick impossible.\n\nChange-Id: Idc802af57fb9926a69ed52d4e776ef57d8b647c6\n"
    },
    {
      "commit": "db46fa25be0a3e8040b118f688b69dd526aed86d",
      "tree": "5b2cabf4eecfe86a209d6a9a47653320111892bb",
      "parents": [
        "d369d64ee7931726d479e60e64d76a31fdba4a8f",
        "a47c40193fcbe9ca07facea78b2828afdae5e025"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon May 02 13:29:22 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon May 02 13:29:22 2011 -0700"
      },
      "message": "am a47c4019: Merge \"Add RouteInfo objects for tracking routes.\" into honeycomb-LTE\n\n* commit \u0027a47c40193fcbe9ca07facea78b2828afdae5e025\u0027:\n  Add RouteInfo objects for tracking routes.\n"
    },
    {
      "commit": "aa70f101e08098ed9cb190abe2d7f952561026b8",
      "tree": "8dd78eb19fa32c9c98f31b258aff02accb3ee4fa",
      "parents": [
        "969749319ca17f6e0c6836303a78cc484df2539b"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Apr 28 14:28:50 2011 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon May 02 11:17:30 2011 -0700"
      },
      "message": "Add RouteInfo objects for tracking routes.\n\nUsed to have list of gateways for default routes, but general static routes\nshould be supported.\n\nChange-Id: I01730142c6139f2b833b9d48f5381d2d320b69f6\n"
    },
    {
      "commit": "0a1b746686f335a650b974ff0d345836f2629794",
      "tree": "22983f8b0d36042da2808c3dce158270f6a2cf2f",
      "parents": [
        "5e3357fcee2a23a08434873a89e8ada4c6e6d893",
        "92618f5fd9e4a0469d60cab39765b7c820c1976b"
      ],
      "author": {
        "name": "Conley Owens",
        "email": "cco3@android.com",
        "time": "Mon May 02 10:11:11 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon May 02 10:11:11 2011 -0700"
      },
      "message": "am 92618f5f: am 52749c0b: am 03daee63: Merge \"frameworks/base: acquire lock on am only when needed\"\n\n* commit \u002792618f5fd9e4a0469d60cab39765b7c820c1976b\u0027:\n  frameworks/base: acquire lock on am only when needed\n"
    },
    {
      "commit": "92618f5fd9e4a0469d60cab39765b7c820c1976b",
      "tree": "f19e9658ba3496bcd10b4c814c0cfcdf85a08d8d",
      "parents": [
        "5eb49e0f1e8e03e8808d8d7da6d5ffb761400e0b",
        "52749c0b1117a05a9c853b7d54f69a281f69cf3c"
      ],
      "author": {
        "name": "Conley Owens",
        "email": "cco3@android.com",
        "time": "Fri Apr 29 16:44:20 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Apr 29 16:44:20 2011 -0700"
      },
      "message": "am 52749c0b: am 03daee63: Merge \"frameworks/base: acquire lock on am only when needed\"\n\n* commit \u002752749c0b1117a05a9c853b7d54f69a281f69cf3c\u0027:\n  frameworks/base: acquire lock on am only when needed\n"
    },
    {
      "commit": "03daee6380772b0ab167a7b28e37d7a21ec89c86",
      "tree": "8b28f2d92291322c49c33321128f733264b84c3d",
      "parents": [
        "2f463ef18bb235be57b39cbda536bcd2df2d0908",
        "68a4e0a38fca00e9615a3c8ccb2d46edc88cf338"
      ],
      "author": {
        "name": "Conley Owens",
        "email": "cco3@android.com",
        "time": "Fri Apr 29 09:59:22 2011 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Fri Apr 29 09:59:22 2011 -0700"
      },
      "message": "Merge \"frameworks/base: acquire lock on am only when needed\""
    },
    {
      "commit": "a550bdc84af70babb48091197bfb1b93d3671664",
      "tree": "d1bbbd600c4cd3faaf7022a89b7b7678595b3841",
      "parents": [
        "9a51519dfc20d5ed1fb9e25270b8e46e0e3ab8db"
      ],
      "author": {
        "name": "Daisuke Miyakawa",
        "email": "dmiyakawa@google.com",
        "time": "Wed Apr 27 08:26:33 2011 -0700"
      },
      "committer": {
        "name": "Daisuke Miyakawa",
        "email": "dmiyakawa@google.com",
        "time": "Thu Apr 28 16:18:19 2011 -0700"
      },
      "message": "Use passive provider for location based country detection\n\nBug: 4345419\nChange-Id: Ia3e071b97c6971538ea994fdee6029db928201d6\n"
    },
    {
      "commit": "b7342acebcb7e5dc7da0cda77fbddf50e7dfdd7c",
      "tree": "40e6e8fe8708c087640f8a26bffdf20eac8e779e",
      "parents": [
        "cb95894bc7ed2f5f4fc541be62631e5456f442d3"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Apr 25 23:44:11 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Apr 28 12:28:36 2011 -0700"
      },
      "message": "Tests for ThrottleService, NTP into TrustedTime.\n\nWrote initial suite of tests for ThrottleService, checking a variety\nof edge cases.  Checks going over limits, updating policies, and reset\nafter cycle elapses.\n\nMoved NTP code in ThrottleService into new TrustedTime interface,\nwhich makes it easier to understand, and allows tests to provide custom\nclocks.\n\nChange-Id: I0d62b8b3a169516a2ab2d33025f6fe30dc792be8\n"
    },
    {
      "commit": "a6590e7fee1ef4286f0896358593fdb9aab24f6c",
      "tree": "e277d33c99d649505a4c2cd9b851dd055b5167cc",
      "parents": [
        "cfe7b9fcfaeda1e79a8673e4005bcb307f9e9313",
        "13b21e608e47382cb94a0aeac13b24ac97f355d2"
      ],
      "author": {
        "name": "Conley Owens",
        "email": "cco3@android.com",
        "time": "Wed Apr 27 13:53:46 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 27 13:53:46 2011 -0700"
      },
      "message": "am 13b21e60: Merge \"Auto hide virtual keyboard\"\n\n* commit \u002713b21e608e47382cb94a0aeac13b24ac97f355d2\u0027:\n  Auto hide virtual keyboard\n"
    },
    {
      "commit": "13b21e608e47382cb94a0aeac13b24ac97f355d2",
      "tree": "b49e71cb3a876b3dbe107cb06ea85a47c255afb9",
      "parents": [
        "a538b4a206c54ef763dab4da00990a8991425e77",
        "44ad61c3a5bdb01a1c375811faf37915bfae24ca"
      ],
      "author": {
        "name": "Conley Owens",
        "email": "cco3@android.com",
        "time": "Wed Apr 27 13:20:16 2011 -0700"
      },
      "committer": {
        "name": "Android Code Review",
        "email": "code-review@android.com",
        "time": "Wed Apr 27 13:20:16 2011 -0700"
      },
      "message": "Merge \"Auto hide virtual keyboard\""
    },
    {
      "commit": "a3e261d506551713477adb2fd47d1a65b94e64d8",
      "tree": "ccbe33f918417f2268f3d154cd350314793d5ac0",
      "parents": [
        "3bd929579919999852c3e29c536fd06907e620ac"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Apr 27 12:06:23 2011 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Apr 27 12:06:28 2011 -0700"
      },
      "message": "The accessibility input filter state was not unregistered when\nno spoken feedback accessibility services are regitstered.\n\nbug:4343996\n\nChange-Id: Ie709ac24baa084cf3627d6adb6caf1550c399f8b\n"
    },
    {
      "commit": "736c2756bf3c14ae9fef7255c119057f7a2be1ed",
      "tree": "5bea187f2f67a91ede0eabfcd0fc15a4b105e7f7",
      "parents": [
        "c1e1f43dab96a317f58e31137c49a4df2e919b83"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Apr 22 18:30:36 2011 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Apr 22 18:30:43 2011 -0700"
      },
      "message": "Touch exploration feature, event bubling, refactor\n\n1. Added an Input Filter that interprets the touch screen motion\n   events to perfrom accessibility exploration. One finger explores.\n   Tapping within a given time and distance slop on the last exlopred\n   location does click and long press, respectively. Two fingers close\n   and in the same diretion drag. Multiple finglers or two fingers in\n   different directions or two fingers too far away are delegated to\n   the view hierarchy. Non moving fingers \"accidentally grabbed the\n   device for the scrren\" are ignored.\n\n2. Added accessibility events for hover enter, hover exit, touch\n   exoloration gesture start, and end. Accessibility hover events\n   are fired by the hover pipeline. An accessibility event is\n   dispatched up the view tree and the topmost view fires it.\n   Thus predecessors can augment the fired event. An accessibility\n   event has several records and a predecessor can optionally\n   modify, delete, and add such to the event.\n\n3. Added onPopulateAccessibilityEvent and refactored the existing\n   accessibility code to use it.\n\n4. Added API for querying the currently enabled accessibility services\n   by feedback type.\n\nChange-Id: Iea2258c07ffae9491071825d966dc453b07e5134\n"
    },
    {
      "commit": "3fb3d7c4e756bd32d5abde0abca9ab52d559bc84",
      "tree": "a1dcfb8f2cdee81a033b85e27f55129ddb695776",
      "parents": [
        "6c079b6819d749fcb72988c5b06becff081c82fd"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Apr 22 17:08:55 2011 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Apr 22 17:23:44 2011 -0700"
      },
      "message": "Revert \"Touch exploration feature, event bubling, refactor\"\n\nThis reverts commit ac84d3ba81f08036308b17e1ab919e43987a3df5.\n\nThere seems to be a problem with this API change. Reverting for now to\nfix the build.\n\nChange-Id: Ifa7426b080651b59afbcec2d3ede09a3ec49644c\n"
    },
    {
      "commit": "f9fa622cc04028fd7c5f5036ea2e0ccfb80d55f3",
      "tree": "c9b8ec24bd7601233d3e49373ce5d68f01485567",
      "parents": [
        "d0f650c6c3a123c856bb0adb138ae7cd0deed3d1",
        "ac84d3ba81f08036308b17e1ab919e43987a3df5"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Apr 22 16:29:07 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 22 16:29:07 2011 -0700"
      },
      "message": "Merge \"Touch exploration feature, event bubling, refactor\""
    },
    {
      "commit": "dacea8ce503369e7b82ff1c0e1a5a8a48863a25a",
      "tree": "c2975da092931952a787c7dbff59ccc87a4c124c",
      "parents": [
        "fb281f3ad7f78f9046fe3921fe0a2ab74fad5f82"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 21 17:26:39 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 22 11:23:13 2011 -0700"
      },
      "message": "Start work on simulating landscape/portrait when orientation is locked.\n\nNot yet working, so turned off.\n\nAlso fix a bug where the display size configuration became inconsistent\nafter a configuration change -- we now figure out everything about the\ndisplay size when computing a new configuration.\n"
    },
    {
      "commit": "ac84d3ba81f08036308b17e1ab919e43987a3df5",
      "tree": "8bf9d7f0b110667e45186d90674465a63e868f26",
      "parents": [
        "1cc1a41b5a095c2eae556c9be0a7ad3f2fc5bfbb"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Mon Apr 04 16:09:08 2011 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Apr 21 18:33:52 2011 -0700"
      },
      "message": "Touch exploration feature, event bubling, refactor\n\n1. Added an Input Filter that interprets the touch screen motion\n   events to perfrom accessibility exploration. One finger explores.\n   Tapping within a given time and distance slop on the last exlopred\n   location does click and long press, respectively. Two fingers close\n   and in the same diretion drag. Multiple finglers or two fingers in\n   different directions or two fingers too far away are delegated to\n   the view hierarchy. Non moving fingers \"accidentally grabbed the\n   device for the scrren\" are ignored.\n\n2. Added accessibility events for hover enter, hover exit, touch\n   exoloration gesture start, and end. Accessibility hover events\n   are fired by the hover pipeline. An accessibility event is\n   dispatched up the view tree and the topmost view fires it.\n   Thus predecessors can augment the fired event. An accessibility\n   event has several records and a predecessor can optionally\n   modify, delete, and add such to the event.\n\n3. Added onPopulateAccessibilityEvent and refactored the existing\n   accessibility code to use it.\n\n4. Added API for querying the currently enabled accessibility services\n   by feedback type.\n\nChange-Id: Iec03c6c3fe298de3f14cb6efdbb9b198cd531a0c\n"
    },
    {
      "commit": "9d13264f6b5818812e61d66baaada599b8ad1faf",
      "tree": "ebc05f5c11a1fe0150cdbb71ff3675d051c6b395",
      "parents": [
        "4c1f4f7144ad6d73ca2a28eceb5a1c43664799c7"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 21 17:26:39 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 21 17:27:42 2011 -0700"
      },
      "message": "Fix bug in deciding which rotation to use for an orientation.\n\nChange-Id: Icc928c2188a5865035cafcdab2efd5bae3132b1f\n"
    },
    {
      "commit": "44bc17c6b517aef35a390c81b5aa79c4f284f744",
      "tree": "b4dabc94a8974f81cf7ea855a93e307205c5b8d7",
      "parents": [
        "52c03d2cb9a782366e804d1910a7c8f072b05353"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 20 18:18:51 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 21 15:17:52 2011 -0700"
      },
      "message": "Rework display size access.\n\nApplications now get the display size from the window manager.  No\nbehavior should be changed yet, this is just prep for some real\nchanges.\n\nChange-Id: I2958a6660895c1cba2b670509600014e55ee9273\n"
    },
    {
      "commit": "3f14891fc9e764d97de07b109f066aedfff90c2e",
      "tree": "7d026487ee719489cea2c1237901ef6cf325efe2",
      "parents": [
        "05d30b14843bf7cf252873f4d0d39706878b28c2",
        "2352b978a3c94cd88f41d0d908f961333fdac1e9"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Apr 19 15:37:32 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 19 15:37:32 2011 -0700"
      },
      "message": "Merge \"Initial checkin of spot presentation for touchpad gestures.\""
    },
    {
      "commit": "2352b978a3c94cd88f41d0d908f961333fdac1e9",
      "tree": "24f8f19e9b2895cc2c3489bf2dd7a09aaf5834db",
      "parents": [
        "f76dc56c33ba66138af70d72803cf55f881c3717"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Apr 12 22:39:53 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Apr 19 15:35:51 2011 -0700"
      },
      "message": "Initial checkin of spot presentation for touchpad gestures.\n\nAdded a new PointerIcon API (hidden for now) for loading\npointer icons.\n\nFixed a starvation problem in the native Looper\u0027s sendMessage\nimplementation which caused new messages to be posted ahead\nof old messages sent with sendMessageDelayed.\n\nRedesigned the touch pad gestures to be defined in terms of\nmore fluid finger / spot movements.  The objective is to reinforce\nthe natural mapping between fingers and spots which means there\nmust not be any discontinuities in spot motion relative to\nthe fingers.\n\nRemoved the SpotController stub and folded its responsibilities\ninto PointerController.\n\nChange-Id: I5126b1e69d95252fda7f2a684c9287e239a57163\n"
    },
    {
      "commit": "25641ca1ac5b09727f86fe01389877332a00455d",
      "tree": "e18f66c852164f4fbc6fbdf3d7c689b9b2ac3d83",
      "parents": [
        "08d1f937236230756bffde241ad6b335da368cf9",
        "0b285499db739ba50f2f839d633e763c70e67f96"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Apr 19 10:41:20 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 19 10:41:20 2011 -0700"
      },
      "message": "Merge \"Plumbing in PackageManager and installd for multi-user support.\""
    },
    {
      "commit": "5c14d32d56e5e74c9ada328e6053091685483c7c",
      "tree": "5d79ea6d5a981fd9eda18f4d74fe3b5522e73759",
      "parents": [
        "08d9d9a46250c4fad66e9b637e8898a3524c4286"
      ],
      "author": {
        "name": "Jozef BABJAK",
        "email": "jozef.babjak@gmail.com",
        "time": "Tue Apr 19 11:27:30 2011 +0200"
      },
      "committer": {
        "name": "Jozef BABJAK",
        "email": "jozef.babjak@gmail.com",
        "time": "Tue Apr 19 11:27:30 2011 +0200"
      },
      "message": "Fix for startup NPE.\n\nChange-Id: I6928939d235faf544a85bb84bba2fa135ddc8e45\n"
    },
    {
      "commit": "343c1ad7200619230a55caa6aa8a9d041e62b29d",
      "tree": "42ef60951bc803ec683ee61dfa3e29965fb6a32b",
      "parents": [
        "5664eea800ffc40cd1ee93bd228435aa41e7a64c",
        "37677849998e6c9a39afe0a730b2f0131a371f3b"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Mon Apr 18 15:28:47 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 18 15:28:47 2011 -0700"
      },
      "message": "am 37677849: am 64c42cae: Rename HierarchicalStateMachine and HierarchicalState to StateMachine and State.\n\n* commit \u002737677849998e6c9a39afe0a730b2f0131a371f3b\u0027:\n  Rename HierarchicalStateMachine and HierarchicalState to StateMachine and State.\n"
    },
    {
      "commit": "37677849998e6c9a39afe0a730b2f0131a371f3b",
      "tree": "2c5e95ce98a9ced1744e60a9aa1a454894cd9511",
      "parents": [
        "9a2c93905a2a65db7135f48ca5653d3cf614faed",
        "64c42cae4482fe0157e977b8ddd0f2c2436b3f31"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Mon Apr 18 15:24:47 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 18 15:24:47 2011 -0700"
      },
      "message": "am 64c42cae: Rename HierarchicalStateMachine and HierarchicalState to StateMachine and State.\n\n* commit \u002764c42cae4482fe0157e977b8ddd0f2c2436b3f31\u0027:\n  Rename HierarchicalStateMachine and HierarchicalState to StateMachine and State.\n"
    },
    {
      "commit": "64c42cae4482fe0157e977b8ddd0f2c2436b3f31",
      "tree": "477c231a37d54f329f002ed5323e30f7e346200b",
      "parents": [
        "6f200f738ed0bbdef5c433b5f571fcb591e1760c"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Mon Apr 18 14:55:10 2011 -0700"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Mon Apr 18 14:55:10 2011 -0700"
      },
      "message": "Rename HierarchicalStateMachine and HierarchicalState to StateMachine and State.\n\nChange-Id: Ib4b33894da75f5f156066092fb145b478e52f7d7\n"
    },
    {
      "commit": "0b285499db739ba50f2f839d633e763c70e67f96",
      "tree": "77e6ecb6572cefdfae2095dcf64c4388adae15c2",
      "parents": [
        "4123211637dcc0155091016f0c0987b80e56ab7b"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Apr 14 17:35:23 2011 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Fri Apr 15 15:15:27 2011 -0700"
      },
      "message": "Plumbing in PackageManager and installd for multi-user support.\n\n- Create /data/user directory and symlink /data/user/0 -\u003e /data/data for\n  backward compatibility\n- Create data directories for all packages for new user\n\n- Remove data directories when removing a user\n\n- Create data directories for all users when a package is created\n\n- Clear / Remove data for multiple users\n\n- Fixed a bug in verifying the location of a system app\n\n- pm commands for createUser and removeUser (will be disabled later)\n\n- symlink duplicate lib directories to the original lib directory\n\nChange-Id: Id9fdfcf0e62406a8896aa811314dfc08d5f6ed95\n"
    },
    {
      "commit": "68f1b78b7b9139a0e34285ff641a664e664a14b8",
      "tree": "dbd50188b77a1dfab9310daad8550d553cf72204",
      "parents": [
        "c02c97ef7527e19dce067562692c89d27e7bad52"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Mon Apr 11 14:26:04 2011 +0900"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Fri Apr 15 13:49:33 2011 +0900"
      },
      "message": "Add an API to get the last used input method subtype\n\nBug: 4075039\n\n- Voice input requires to know the last used input method subtype.\n\nChange-Id: I603a4fb88a2af5195e52188adfa6585ad80304fa\n"
    },
    {
      "commit": "fa32cd1516e81ef4d23313c5b05c367e16a7ed73",
      "tree": "3a2c6ed34e6616a170a76e49105fa9df447c0071",
      "parents": [
        "3758321fcecf1a6af653937d295a14a5289e8e5b",
        "07a630d23ef326f820e6339b5f691df0aafd3574"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 14 15:43:03 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 14 15:43:03 2011 -0700"
      },
      "message": "am 07a630d2: am 9a03a73a: am f6f87c98: Merge \"Fix issue #4291805: Tap Fish crashes on launch\" into honeycomb-mr1\n\n* commit \u002707a630d23ef326f820e6339b5f691df0aafd3574\u0027:\n  Fix issue #4291805: Tap Fish crashes on launch\n"
    },
    {
      "commit": "07a630d23ef326f820e6339b5f691df0aafd3574",
      "tree": "5382b9b1cda9bf5a3438dbd3ca3ad7772a70553b",
      "parents": [
        "1bfb2db93514f8ed70d0a02c12d7ce4791d6b336",
        "9a03a73a44c69706fe2b97a28632928f58b434b1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 14 15:40:00 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 14 15:40:00 2011 -0700"
      },
      "message": "am 9a03a73a: am f6f87c98: Merge \"Fix issue #4291805: Tap Fish crashes on launch\" into honeycomb-mr1\n\n* commit \u00279a03a73a44c69706fe2b97a28632928f58b434b1\u0027:\n  Fix issue #4291805: Tap Fish crashes on launch\n"
    },
    {
      "commit": "9a03a73a44c69706fe2b97a28632928f58b434b1",
      "tree": "67654705627c9cfbefecc8331609542f91acd285",
      "parents": [
        "b590ca85afba6b886cc995e9a6092457174ea016",
        "f6f87c985989603139b31df663f9f9a90543cacc"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 14 15:27:32 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 14 15:27:32 2011 -0700"
      },
      "message": "am f6f87c98: Merge \"Fix issue #4291805: Tap Fish crashes on launch\" into honeycomb-mr1\n\n* commit \u0027f6f87c985989603139b31df663f9f9a90543cacc\u0027:\n  Fix issue #4291805: Tap Fish crashes on launch\n"
    },
    {
      "commit": "f6f87c985989603139b31df663f9f9a90543cacc",
      "tree": "4861164936215fc7fcc955e6fdc0356ce27dcee4",
      "parents": [
        "4e3d6aa0688f023dfe5feb2eb197207cc8267463",
        "52b0ce0fe3e9ab52c272dde3d9c59376c276a17e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 14 15:10:31 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 14 15:10:31 2011 -0700"
      },
      "message": "Merge \"Fix issue #4291805: Tap Fish crashes on launch\" into honeycomb-mr1"
    },
    {
      "commit": "52b0ce0fe3e9ab52c272dde3d9c59376c276a17e",
      "tree": "05783a9efb7f4fe73ec86f58027c6bd2dbd50cf2",
      "parents": [
        "6bb8b0ecb558373ba99e44ad5c351e1d7bb410d6"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 14 13:09:32 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 14 13:09:32 2011 -0700"
      },
      "message": "Fix issue #4291805: Tap Fish crashes on launch\n\nThe activity manager got a little too aggressive about argument validation.\n\nChange-Id: I3cca0cd3135b98e5c50d26db778ec4ec28a47ec1\n"
    },
    {
      "commit": "0ffc988a7f47013805d5abeed1c20f159b3bd799",
      "tree": "f9873ba8872388b88d75a3d83144e03e7c3f59f4",
      "parents": [
        "5cde33b7d14841677414fa9f43a043bb4a89ffa7"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 13 18:15:56 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 14 10:57:22 2011 -0700"
      },
      "message": "Rewrite battery history storage.\n\nWe now write battery history directly into a buffer, instead of\ncreating objects.  This allows for more efficient storage; later\nit can be even better because we can only write deltas.\n\nThe old code is still there temporarily for validation.\n\nChange-Id: I9707d4d8ff30855be8ebdc93bc078911040d8e0b\n"
    },
    {
      "commit": "44ad61c3a5bdb01a1c375811faf37915bfae24ca",
      "tree": "c53891e964702cb5c0bd99793c763f25444622ff",
      "parents": [
        "08d9d9a46250c4fad66e9b637e8898a3524c4286"
      ],
      "author": {
        "name": "Mattias Petersson",
        "email": "mattias.petersson@sonyericsson.com",
        "time": "Wed Apr 13 15:09:16 2011 +0200"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonyericsson.com",
        "time": "Wed Apr 13 15:09:16 2011 +0200"
      },
      "message": "Auto hide virtual keyboard\n\nSometimes the virtual keyboard was not hidden when switching between\napplications. An example of this was when launching the browser from\nthe Google Search widget:\n1) Tap the Google Search widget and enter some text, e.g. \"google\"\n2) Select one search items, e.g. \"google maps\"\n3) Browser opens. Press back button.\n4) Select an item again, e.g. \"google maps\" - Keyboard does not\n   close.\n\nWhen switching application, the virtual keyboard needs to find a new\nZ position (window index) among the other windows. Normally it is\nplaced on top of the first window that is visible and can get focus\n(canBeImeTarget()).\n\nWith a new application being launched, there is\nan exception: a special \"starting window\" is placed on top of the\nActivity window while the application is starting up. Since this\nwindow should not get input, we need to look below that window.\nWhen doing this, the previous implementation assumed that the\nfirst window below always was focusable. If it wasn\u0027t, the\ninput method was placed above the \"starting window\", which\ncaused confusion that led to the keyboard not being closed\nautomatically.\n\nIn the case of the Browser, it sometimes has a \"fake TitleBar\"\nwindow that can not get focus and that is placed above the\nActivity window.\n\nWith this fix, we now keep looking through the windows below\nthe \"starting window\" until we find a window that can receive\ninput.\n\nChange-Id: I1117846eb0f57603e64329bd955e28182f98f226\n"
    },
    {
      "commit": "2432d1bd4828d10d97cf72f974d8312a168bb2ca",
      "tree": "f626829f5ed184965c56f21ced33a49e1ac7b320",
      "parents": [
        "0c5001d776d56bae02a5cc2663286a125d99bc5e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Apr 12 19:12:30 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Apr 12 19:12:30 2011 -0700"
      },
      "message": "Forgot to add this file.\n\nChange-Id: I7b29785599ab8e4b8b29099a8398ef86df6aef31\n"
    },
    {
      "commit": "0c5001d776d56bae02a5cc2663286a125d99bc5e",
      "tree": "ea7458737297e313c454f18d672e2b997af13990",
      "parents": [
        "26b05f7dc35f47bc62bf9630df288ae2d6e4657e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Apr 12 18:16:08 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Apr 12 18:28:06 2011 -0700"
      },
      "message": "Add APIs to remove tasks.\n\nYou can remove sub-tasks inside of a task, or an entire task.\n\nWhen removing an entire task, you can have its process killed\nas well.\n\nWhen the process is killed, any running services will get an\nonTaskRemoved() callback for them to do cleanup before their\nprocess is killed (and the service possibly restarted).\n\nOr they can set a new android:stopWithTask attribute to just\nhave the service automatically (cleanly) stopped at this point.\n\nChange-Id: I1891bc2da006fa53b99c52f9040f1145650e6808\n"
    },
    {
      "commit": "2e3ede527d8a972795a49ffc7eef4ead391107ec",
      "tree": "f2678d126ac68d8b6e017c6e45ff186907286c4a",
      "parents": [
        "83b61471c39fc4d5afc9f56c3ed771a14c8ad194",
        "1d1b4893762c8daad2b31dc79cad2dbcc1b251d2"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Apr 12 15:34:42 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 12 15:34:42 2011 -0700"
      },
      "message": "Merge \"Updated system packages retain shared user\""
    },
    {
      "commit": "316594715d31bb95b5efa08bfc80f287833b3a37",
      "tree": "a10e2f02ade56220f17742aa08d8f9d9b9793f80",
      "parents": [
        "07c25b651216daac884bd503c02b788418165b50",
        "2869d1715d815ef2b357bf182d384515cdf6f9ab"
      ],
      "author": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Mon Apr 11 18:53:57 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 11 18:53:57 2011 -0700"
      },
      "message": "am 2869d171: resolved conflicts for merge of 08c39c6a to honeycomb-LTE\n\n* commit \u00272869d1715d815ef2b357bf182d384515cdf6f9ab\u0027:\n  Add support for USB Ethernet adapters\n"
    },
    {
      "commit": "2869d1715d815ef2b357bf182d384515cdf6f9ab",
      "tree": "04abbcfa7969035a41250e04bbd016a225606b5d",
      "parents": [
        "87ee132ac5dd99564d4ad8f05631bbb021dbc0b0",
        "08c39c6a11f728e113811a6a85c109cfc80ce28e"
      ],
      "author": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Mon Apr 11 18:41:23 2011 -0700"
      },
      "committer": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Mon Apr 11 18:41:23 2011 -0700"
      },
      "message": "resolved conflicts for merge of 08c39c6a to honeycomb-LTE\n\nChange-Id: I79f8ac1dc8ff9f5d0559d37043b850cd26246b92\n"
    },
    {
      "commit": "08c39c6a11f728e113811a6a85c109cfc80ce28e",
      "tree": "5e614740dfe0a156fd710b326545003ee990418f",
      "parents": [
        "c6c2285b36e83b96056e2404371cdf6e6f7acaee"
      ],
      "author": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Wed Dec 22 14:29:40 2010 -0800"
      },
      "committer": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Mon Apr 11 16:33:43 2011 -0700"
      },
      "message": "Add support for USB Ethernet adapters\n\nChange-Id: I6ae34a32d0e1b6f21c484b8639c3e7ce086e568d\n"
    },
    {
      "commit": "beb182a4945b9b762fac77edd1183897bcac5b32",
      "tree": "5cdfa5875008f47169652eaef2fee0aedb15225c",
      "parents": [
        "37e344cbe277e8f4da944c19cffaf34f38f6396e",
        "4b2e934928a2eb65927bd39197198c28c49efb94"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Apr 11 12:14:17 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 11 12:14:17 2011 -0700"
      },
      "message": "Merge \"Package manager changes to store and update user information.\""
    },
    {
      "commit": "4b2e934928a2eb65927bd39197198c28c49efb94",
      "tree": "52dedcaa4ef165954e6c7ec9dcd98c5b13442842",
      "parents": [
        "d07f6a7934d229e91d7ca23e83c664101f472312"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Mar 31 12:38:53 2011 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Mon Apr 11 12:12:58 2011 -0700"
      },
      "message": "Package manager changes to store and update user information.\n\nSome API stubs for managing users and storing their details.\nList of users is stored in an xml file.\nEach user\u0027s properties are stored in a separate xml file.\n\nSome unit tests for modifying the XML files.\n\nChange-Id: If2ce2420723111bd426f6762def3c2afc19a0ae5\n"
    },
    {
      "commit": "bcbab3684349353ee8cab30b556001824d0e7ccf",
      "tree": "cd5699f89c052a71e8ebad1cc4fbbb256c5c0883",
      "parents": [
        "0741b1ae22ecb5f6ac449bf85ef06e05c8d8f438",
        "f26fd99a7c2f554b0297760bb66336473c7db61f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 08 18:28:14 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 08 18:28:14 2011 -0700"
      },
      "message": "Merge \"Rework thumbnails in activity manager.\""
    },
    {
      "commit": "f26fd99a7c2f554b0297760bb66336473c7db61f",
      "tree": "292bc65e6d068857bda10f2f45727a7c88601b64",
      "parents": [
        "bdf7b013f81b0b56a18cc9dd2fb987b56d595650"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 08 18:14:09 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 08 18:16:21 2011 -0700"
      },
      "message": "Rework thumbnails in activity manager.\n\nWe now only keep a thumbnail for the task, not for each\nactivity.  However if you use FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET,\nwe will make a new secondary thumbnail for that series of\nactivities.  There is a new API for the app to get these\nsecondary thumbnails.\n\nAlso set a default thumbnail size for non-xlarge screens\nso we have thumbnails on phones.  (We need some smarter\ncode in the platform for computing the actual thumbnail\ndimensions of the current device).  And add a test app\nto show recent tasks + thumbnails.\n\nChange-Id: Ic36759f6635522118a2cb7f156662229a610c492\n"
    },
    {
      "commit": "1d1b4893762c8daad2b31dc79cad2dbcc1b251d2",
      "tree": "ff93d11699c033ee4539ab89b6819c77f8b280ff",
      "parents": [
        "955276656755bdc85518049305a8492b3f7f8b0a"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Apr 08 14:25:24 2011 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Apr 08 14:25:27 2011 -0700"
      },
      "message": "Updated system packages retain shared user\n\nIf a system package was updated that used permissions provided by a\npackage signed with a different signature, it wouldn\u0027t grant\nthose permissions to the updated system app.\n\nThis is because the sharedUser field was not set in the disabled system\npackage. Therefore it was checking the disabled system package\u0027s\nindividual user permission grants which were empty.\n\nThis change populates the sharedUser field for disabled system packages\nafter reading all the existing shared users from the saved settings\ndatabase.\n\nBug: 4245273\nChange-Id: I57c58c4083bd59f45095c184d6ca5a302f79ff6e\n"
    },
    {
      "commit": "8c2a1a90a81f04573bfa578eab32f5fd4a30eafb",
      "tree": "fba8d0b7e475a502ae396603a7089f1d5695c1ae",
      "parents": [
        "5008e92d1fd573d926cd55c39ca723a6fbdf7c4b"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Apr 08 13:44:08 2011 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Fri Apr 08 14:06:39 2011 -0700"
      },
      "message": "Add keychain user with special keystore access permissions\n\nChange-Id: I02fe5171add62c5cd9f57b01bc137f3bc1cb3a69\n"
    },
    {
      "commit": "43a17654cf4bfe7f1ec22bd8b7b32daccdf27c09",
      "tree": "a5aac88ebb367a0f046a5724edc8e35cbe192cb9",
      "parents": [
        "ea4af8914a3b6ea68558f20ce502966032ca1ab1"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Apr 06 19:22:23 2011 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Thu Apr 07 19:23:05 2011 -0700"
      },
      "message": "Remove the deprecated things from Config.java. These haven\u0027t been working since before 1.0.\n\nChange-Id: Ic2e8fa68797ea9d486f4117f3d82c98233cdab1e\n"
    },
    {
      "commit": "e17aeb31030cfeed339a39a107912ad5e9178390",
      "tree": "e0773ea106c5504e2ef107a91f5871827cd76b75",
      "parents": [
        "097786507b07ff7137b305b5cf71b5ecbc6b029e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 07 15:11:57 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 07 18:26:15 2011 -0700"
      },
      "message": "Improve activity manager debug dumps.\n\nActivity manager now does all dump requests into apps\nasynchronously, so it can nicely timeout if there is an\napp problem.  Also lots of general cleanup of the am\ndump output.\n\nChange-Id: Id0dbccffb217315aeb85c964e379833e6aa3f5af\n"
    },
    {
      "commit": "097786507b07ff7137b305b5cf71b5ecbc6b029e",
      "tree": "2890404c983d9b9cce91dcbed7a1f561708ecc24",
      "parents": [
        "825e28c6c5c312c08f44b71400f987b6bd66e103",
        "de1b950d2b07737e3d284ed2ada361737d8a5a1a"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Thu Apr 07 14:31:20 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 07 14:31:20 2011 -0700"
      },
      "message": "am de1b950d: am 9e7a5a1e: Merge \"ConnectivityService needs to use the new names for the NetConfig vars.\" into honeycomb-LTE\n\n* commit \u0027de1b950d2b07737e3d284ed2ada361737d8a5a1a\u0027:\n  ConnectivityService needs to use the new names for the NetConfig vars.\n"
    },
    {
      "commit": "de1b950d2b07737e3d284ed2ada361737d8a5a1a",
      "tree": "bff75b96cdbd9ed7236bfbe109bf23a27fa77aed",
      "parents": [
        "4e790ee1894118a1ab2032d09e5016fa9414dae7",
        "9e7a5a1e567a0e696d9a7b68fffd00b7408e6ac1"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Thu Apr 07 14:29:17 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 07 14:29:17 2011 -0700"
      },
      "message": "am 9e7a5a1e: Merge \"ConnectivityService needs to use the new names for the NetConfig vars.\" into honeycomb-LTE\n\n* commit \u00279e7a5a1e567a0e696d9a7b68fffd00b7408e6ac1\u0027:\n  ConnectivityService needs to use the new names for the NetConfig vars.\n"
    },
    {
      "commit": "975c8488a3667efc24a1ad5da15d571d9615020f",
      "tree": "65e09ef58246168ce70987d238f952b2cbab8c04",
      "parents": [
        "96ac85607b1462508981936b1be29ae5f9e4271d"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Thu Apr 07 14:23:45 2011 -0700"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Thu Apr 07 14:23:45 2011 -0700"
      },
      "message": "ConnectivityService needs to use the new names for the NetConfig vars.\n\nChange-Id: I809a624057462871cd1849051286c2bffd5099e9\n"
    },
    {
      "commit": "80f7c594fae3f1b19e3ea78938de450418fe183c",
      "tree": "cd17f77bf1022f1dd132aecd6d13aa604b89e3c6",
      "parents": [
        "567882e1f9a31d78cba8ea7f1112d0a9e42d137a",
        "f4a29403ae5b6d3e8e754a025d33f0c33adecb21"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Apr 07 14:22:03 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 07 14:22:03 2011 -0700"
      },
      "message": "am f4a29403: resolved conflicts for merge of 70c3d1c2 to honeycomb-plus-aosp\n\n* commit \u0027f4a29403ae5b6d3e8e754a025d33f0c33adecb21\u0027:\n  Add external dependency API.\n"
    },
    {
      "commit": "f4a29403ae5b6d3e8e754a025d33f0c33adecb21",
      "tree": "2462217b49085f4fd0f4c5931fc7b3e843421f88",
      "parents": [
        "91bc0f818c9e4cfdffc09f6edecfd11a1ce1806e",
        "70c3d1c23b5d4398cc561ec9ddbe868b3182cc74"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Apr 07 14:13:52 2011 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Apr 07 14:13:52 2011 -0700"
      },
      "message": "resolved conflicts for merge of 70c3d1c2 to honeycomb-plus-aosp\n\nChange-Id: I0962138f6ecb1ed54fda25524d8850b086f13c4f\n"
    },
    {
      "commit": "d55a6b498d66d8fc415908ecf63e50f46cce67e8",
      "tree": "ec2e4ae98a07b51328f585c84c2696a320790bd2",
      "parents": [
        "f0d2c1c4eb613130e34a4f377d8f82f935170873"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Mar 25 13:09:25 2011 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Thu Apr 07 12:28:37 2011 -0700"
      },
      "message": "Add external dependency API.\n\nAn APN will not be connected to if some external dependency is not met.\n\nbug:3486704\nChange-Id: I7d94df343b260013efd11faa978deb13f07f1389\n"
    },
    {
      "commit": "53859740213b42fd00f0ce6d059b58322b41534c",
      "tree": "d2e63dba91b7e41600ddb0263f3197de33dfd505",
      "parents": [
        "9cdffa1788e2f24a674f185307000946aeb3760f"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Apr 06 18:27:43 2011 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Apr 06 18:27:43 2011 -0700"
      },
      "message": "less logging\n\nChange-Id: I4011db5c2a610e741a09e4e8fee68a86175769cc\n"
    },
    {
      "commit": "e4e551e0ffb1113984ed0ae0264a54e9c8289f8d",
      "tree": "20db6d0b77bc462349411036c1a19d5778ffa829",
      "parents": [
        "b589f47d01fdd3a857dcdedb303afd87f81d12a9",
        "63ebffcb84f4e2fc55d576aed07c4559f66d97a8"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Apr 06 12:04:35 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 06 12:04:35 2011 -0700"
      },
      "message": "Merge \"turn off log spew\""
    },
    {
      "commit": "63ebffcb84f4e2fc55d576aed07c4559f66d97a8",
      "tree": "64f189f3c3f5956f46b9d13ad1d61583b341425b",
      "parents": [
        "ea495d4c1f6e0aefe145a9a6c75a2aab4daf2037"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Apr 06 11:47:23 2011 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Apr 06 11:50:50 2011 -0700"
      },
      "message": "turn off log spew\n\nChange-Id: I7e5564e02460ff41829c9fd26d80032ea3104498\n"
    },
    {
      "commit": "3fc982f41fda1f254bfbc35490d81cd82a0ed90a",
      "tree": "6f9ba92dc2c9001a156f298c37dcdef9c9552600",
      "parents": [
        "fb84ce0df6b2db84981e4efa4530397a85240d4a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 30 16:20:26 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 06 11:00:37 2011 -0700"
      },
      "message": "Add new resource configurations for screen width/height in \"dp\".\n\nYou can now specify resource configuration variants \"wNNNdp\"\nand \"hNNNdp\".  These are the minimum screen width/height in \"dp\"\nunits.  This allows you to do things like have your app adjust\nits layout based only on the about of horizontal space available.\n\nThis introduces a new configuration change flag for screen size.\nNote that this configuration change happens each time the orientation\nchanges.  Applications often say they handle the orientation change\nto avoid being restarted at a screen rotation, and this will now\ncause them to be restarted.  To address this, we assume the app can\nhandle this new config change if its target SDK version is \u003c ICS.\n\nChange-Id: I22f8afa136b4f274423978c570fa7c9855040496\n"
    },
    {
      "commit": "955276656755bdc85518049305a8492b3f7f8b0a",
      "tree": "48f417bc4534e0f18a0214e9fa7f34b44bf1b475",
      "parents": [
        "14faa3bd8bd6d1deab63a40ad2f8b6e451a16208",
        "2b7f63887e39079a52592fb4507d8daaf90e8afa"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Apr 06 09:16:26 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 06 09:16:26 2011 -0700"
      },
      "message": "Merge \"Add support for supplicant SCAN_INTERVAL\""
    },
    {
      "commit": "2b7f63887e39079a52592fb4507d8daaf90e8afa",
      "tree": "ca7a52132f7dd38e083cc8cc7e0571a789fa70b0",
      "parents": [
        "3b2c5a9a09057ad07331bceae983ce0d4ce852ac"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Fri Mar 25 14:29:19 2011 -0700"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Apr 06 09:11:15 2011 -0700"
      },
      "message": "Add support for supplicant SCAN_INTERVAL\n\nAlso, allow scan interval for framework and supplicant\nto be configured at build time or run time\n\nBug: 4144882\nChange-Id: I877f4bcc872597b44d3f4da85cf2bc0f16e09444\n"
    },
    {
      "commit": "772a3b310620b30a1a02f38678c223bb3993d6ba",
      "tree": "49a2301f9dad719e289fab12faf1cbfe04a39cc9",
      "parents": [
        "aefb1ea5b08a612da42e852366acfedcb802a6fd",
        "80e0a416a6f8d70d3f55614695fb430f914371bc"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Apr 05 12:41:47 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 05 12:41:47 2011 -0700"
      },
      "message": "Merge \"MountService: Fix running media scanner at boot.\""
    },
    {
      "commit": "aefb1ea5b08a612da42e852366acfedcb802a6fd",
      "tree": "939224293037c8471a569b2429303a8c9b49d47b",
      "parents": [
        "31c91b335ed95c1b1d1e6c4d521a49f1dd860636",
        "84338c4559cd675cc8727c44bd1b6ad485b1a272"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Apr 05 12:41:35 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 05 12:41:35 2011 -0700"
      },
      "message": "Merge \"Fix deadlock in MountService\""
    },
    {
      "commit": "80e0a416a6f8d70d3f55614695fb430f914371bc",
      "tree": "e82eb4c46babf30d6b2f9e8c21d6dc0fa3812dc7",
      "parents": [
        "84338c4559cd675cc8727c44bd1b6ad485b1a272"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Apr 05 10:21:51 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Apr 05 10:22:25 2011 -0400"
      },
      "message": "MountService: Fix running media scanner at boot.\n\nChange-Id: Ibd1111b7ec6380011cd10a56f11f891f2e16abc2\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "84338c4559cd675cc8727c44bd1b6ad485b1a272",
      "tree": "6bf76edc0fd50d3c38650a2e3e6711b854a1b8f3",
      "parents": [
        "cace13d72a71cd8802b5804c47f5b5a9a7c01a74"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Apr 05 10:05:47 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Apr 05 10:07:53 2011 -0400"
      },
      "message": "Fix deadlock in MountService\n\nIt is not safe to call into vold with a lock held on mVolumeStates\nsince we will receive events back from vold on a different thread.\nSo in the boot completed handler we make a copy of the volume list and\nthen call vold to mount volumes after releasing the lock\n\nChange-Id: I0dee91f09e4056132aaaf0fb0a663148c65db1e4\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "42bc0e946f8b986fb3aaada9980b496172e2b511",
      "tree": "1b680f23224d902d462837f6af2c73fd149d81a5",
      "parents": [
        "cace13d72a71cd8802b5804c47f5b5a9a7c01a74",
        "4559764e9f8adadcc80c825fb5dafd3dfb739bcf"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Apr 04 17:41:22 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 04 17:41:22 2011 -0700"
      },
      "message": "Merge \"Fix deadlock in BackupManagerService\""
    },
    {
      "commit": "cace13d72a71cd8802b5804c47f5b5a9a7c01a74",
      "tree": "da1b7796dae43da70725d188a17fa946320e6cf2",
      "parents": [
        "47c5581adab6a9c3cdba4c8bed51e0454abf7b80",
        "8fa5f804e21233c5f1993212fd5fb7c200eec905"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Apr 04 17:39:21 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 04 17:39:21 2011 -0700"
      },
      "message": "Merge \"StorageManager: Add getVolumeList() and getVolumeState() methods\""
    },
    {
      "commit": "47c5581adab6a9c3cdba4c8bed51e0454abf7b80",
      "tree": "78bfa2cee2bbd306df06cdb75a061cf812d5e326",
      "parents": [
        "50c697e591223f96d5f341be53a888994e1996ab",
        "7fa24aa8da3d2ab22b3a7d53fe64d14c31c076b8"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Apr 04 17:39:15 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 04 17:39:15 2011 -0700"
      },
      "message": "Merge \"MountService: Add support for multiple volumes\""
    },
    {
      "commit": "4559764e9f8adadcc80c825fb5dafd3dfb739bcf",
      "tree": "b519a74bea7154901575cddce97661db59ee620f",
      "parents": [
        "78a9f6a8227d1e9b465acb84f8476a30c5af9c13"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Apr 04 16:59:21 2011 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Apr 04 16:59:21 2011 -0700"
      },
      "message": "Fix deadlock in BackupManagerService\n\nLock ordering bug.  The fix is to avoid having to hold both locks\nsimultaneously in one prong of the deadlock.  (Further strengthening:\nthe code path for potentially acquiring both simultaneously now\nbegins at a common method, ensuring that lock ordering is always\nconsistent.)\n\nChange-Id: If9433aff8326fec2ba0e97e96ad2d835b01e2cda\n"
    },
    {
      "commit": "b6c5d824c0eb34c218d18982c51b69c2df198220",
      "tree": "821ea415fb80c7e3b55b81594c0e301a646cfbdb",
      "parents": [
        "b76bcc07d859d1903501c13efd217d1c5be0b9dd",
        "e716a5515bfb9d9f1f8a5b87fee8b75bef3a1a96"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Apr 04 16:44:25 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 04 16:44:25 2011 -0700"
      },
      "message": "am e716a551: resolved conflicts for merge of ab2194aa to honeycomb-plus-aosp\n\n* commit \u0027e716a5515bfb9d9f1f8a5b87fee8b75bef3a1a96\u0027:\n  Only leave one default network up at a time.\n"
    },
    {
      "commit": "e716a5515bfb9d9f1f8a5b87fee8b75bef3a1a96",
      "tree": "64c444d1d2e9395d8b8b860d4645c1e644a63256",
      "parents": [
        "da8beef55612738d87d6aa520445377a9e4ae784",
        "ab2194aadeb35a1f2eae6c4d3abd476b33f167f4"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Apr 04 16:26:42 2011 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Mon Apr 04 16:26:42 2011 -0700"
      },
      "message": "resolved conflicts for merge of ab2194aa to honeycomb-plus-aosp\n\nChange-Id: I99a29f920336b00b26b9aadafd2bd835049f48cf\n"
    },
    {
      "commit": "8fa5f804e21233c5f1993212fd5fb7c200eec905",
      "tree": "c79c5fe5ab468870918659cf6eb01805c2c05c6f",
      "parents": [
        "7fa24aa8da3d2ab22b3a7d53fe64d14c31c076b8"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Mar 24 08:12:30 2011 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Apr 04 18:54:03 2011 -0400"
      },
      "message": "StorageManager: Add getVolumeList() and getVolumeState() methods\n\nChange-Id: Icf3301827dd27e8430bd44eaafde517a31ef035a\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "7fa24aa8da3d2ab22b3a7d53fe64d14c31c076b8",
      "tree": "351ddbacbe52e21080e951b43b41fff3958b13df",
      "parents": [
        "7f5a026d255fdcbd600a01b4abbd87eb0b528e37"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 23 14:52:34 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Apr 04 18:53:58 2011 -0400"
      },
      "message": "MountService: Add support for multiple volumes\n\nChange-Id: I4eaa781cf302c7aaae170af2489b6b29120c0b81\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "37334c0f34ef40735b9f44918b53c1469ceae2cc",
      "tree": "3629b74d86d3d93bcf2c0e805693e3482750ec91",
      "parents": [
        "38a1345b8dc59a8acbaa9013b4ddb2efc6dc6afe",
        "8f7aad147d790b25bae7301827e070df72690341"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Apr 04 15:28:48 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 04 15:28:48 2011 -0700"
      },
      "message": "am 8f7aad14: am f7a34b15: am e558a000: Merge \"Avoid crash in system server when mounting container\"\n\n* commit \u00278f7aad147d790b25bae7301827e070df72690341\u0027:\n  Avoid crash in system server when mounting container\n"
    },
    {
      "commit": "8f7aad147d790b25bae7301827e070df72690341",
      "tree": "edb2ab4d3ccdd8a0d5064071837614e4fbe9172b",
      "parents": [
        "549177e4f3f5e2a92e1431c157cebb985068a5ee",
        "f7a34b15986f8c00bc6fb941a40f9acbe2c21aff"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Mon Apr 04 15:25:21 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 04 15:25:21 2011 -0700"
      },
      "message": "am f7a34b15: am e558a000: Merge \"Avoid crash in system server when mounting container\"\n\n* commit \u0027f7a34b15986f8c00bc6fb941a40f9acbe2c21aff\u0027:\n  Avoid crash in system server when mounting container\n"
    },
    {
      "commit": "179122ad56f12bd802fd29fe0b6606dd23ec5ba9",
      "tree": "a1cc41dbe4adc52b419ea220a928055dbbe77dd7",
      "parents": [
        "ea477d2043eeb8c20435f17b139bd5dd1248d763",
        "a8731e1e922512e5c22485e48059f33b61ab93ea"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Apr 04 12:25:33 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 04 12:25:33 2011 -0700"
      },
      "message": "am a8731e1e: Merge \"DO NOT MERGE: UsbService: Make USB disconnect handling for accessory mode more robust\" into gingerbread\n\n* commit \u0027a8731e1e922512e5c22485e48059f33b61ab93ea\u0027:\n  DO NOT MERGE: UsbService: Make USB disconnect handling for accessory mode more robust\n"
    }
  ],
  "next": "d7a8e8453d8302ac9820af49b4b112468efdf36d"
}
