)]}'
{
  "log": [
    {
      "commit": "9ff67a5f9b0bca15ad6933eac90a65b11b29eb2e",
      "tree": "be6b8a4728f94454eee79e5601dec7887dd7e752",
      "parents": [
        "5550ef48739a7bb16f80aa6b10e9c151b1438163"
      ],
      "author": {
        "name": "Joshua Bartel",
        "email": "joshua.bartel@gmail.com",
        "time": "Mon Oct 05 12:44:46 2009 -0400"
      },
      "committer": {
        "name": "Joshua Bartel",
        "email": "joshua.bartel@gmail.com",
        "time": "Mon Oct 05 12:44:46 2009 -0400"
      },
      "message": "LocationManagerService: Fix race when removing LocationListener\n\nIn LocationManagerService if a LocationListener is removed while it has\na pending broadcast the wake lock held while pending broadcasts are\noutstanding do not get cleared properly.\n\nThere are 2 cases of this race that are fixed:\n\n1. locationCallbackFinished was changed to check the mReceivers HashMap\ndirectly instead of calling getReceiver.  getReceiver would add the\nILocationListener as a new Receiver if it did not exist which caused\na receiver that was removed when it still had a broadcast pending to\nbe added back in a bad state when the pending broadcast completed.\n\n2. removeUpdatesLocked was changed to decrement the pending broadcasts\nwhen a Receiver is removed that has pending broadcasts.\n"
    },
    {
      "commit": "5550ef48739a7bb16f80aa6b10e9c151b1438163",
      "tree": "f7e573714cc1b9f2bcbd457842329e958d6d1a76",
      "parents": [
        "62e73f466e52b98ecc2eef85010618a655b40924"
      ],
      "author": {
        "name": "Yusuf T. Mobile",
        "email": "yusuf.saib@T-Mobile.com",
        "time": "Tue Jul 14 15:46:26 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Sep 17 10:56:57 2009 -0700"
      },
      "message": "Fixed Android issue #2002: \"Proximity alert detection logic is broken\"\nhttp://code.google.com/p/android/issues/detail?id\u003d2002\n"
    },
    {
      "commit": "be8e36e32b9cb2bb37e28e4c0d414ee0e46c84a2",
      "tree": "34ae4ff9404e97d9c3b858903b0a414149671ac9",
      "parents": [
        "44b283dc27ed8ba5a946d809489f29b4ae88cb15",
        "8f4b5a561813ee8c22d2b8e73c33299471d4a3f3"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Sep 03 15:18:14 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Sep 03 15:19:21 2009 -0700"
      },
      "message": "merge from donut\n"
    },
    {
      "commit": "72b1f379d5c97c8ff31d2201e78215af777d6bda",
      "tree": "8be18715a615095bea90d189af9774710b33edef",
      "parents": [
        "ac1e59d887651220f5367cc7fa4207b34eab774d"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Aug 31 09:17:57 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Aug 31 09:17:57 2009 -0700"
      },
      "message": "donut snapshot\n"
    },
    {
      "commit": "0369a7c3ac97b4791716ddd183e83309b1455476",
      "tree": "b777f1882c138b8c4897c4e66426746f6ce03a57",
      "parents": [
        "c0bfbd341454912f18b54278e84e88bff9a87e6a"
      ],
      "author": {
        "name": "root",
        "email": "pmerle@kph.uni-mainz.de",
        "time": "Mon Mar 23 15:20:47 2009 +0100"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu Aug 27 14:51:02 2009 -0700"
      },
      "message": "Improve warning messages for permission denial due to non-exported intent receivers.\n"
    },
    {
      "commit": "83bad3df01504e08d5a8520e46e01754bd5109b9",
      "tree": "7c3710436539c2d47d7b8ee5e170f283001fdc74",
      "parents": [
        "bae0f8e729866610b876372477753c8b458644f5"
      ],
      "author": {
        "name": "Alexey Tarasov",
        "email": "tarasov@dodologics.com",
        "time": "Wed Aug 12 15:05:43 2009 +1100"
      },
      "committer": {
        "name": "Alexey Tarasov",
        "email": "tarasov@dodologics.com",
        "time": "Thu Aug 13 14:37:15 2009 +1100"
      },
      "message": "Fixed errors javadoc tags\n\n1. @result -\u003e @return in ActivityManagerService\n2. @linke -\u003e link in WiFiManager\n"
    },
    {
      "commit": "ac1e59d887651220f5367cc7fa4207b34eab774d",
      "tree": "971ee29f4bceffd00248b4aa17a7413078e4f14d",
      "parents": [
        "5c1207be90fdf296c1b83034b7c68915e1749284"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Aug 11 13:12:34 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Aug 11 13:12:34 2009 -0700"
      },
      "message": "donut snapshot\n"
    },
    {
      "commit": "5c1207be90fdf296c1b83034b7c68915e1749284",
      "tree": "e5679f6183458d8179821d5615dabafcb959704d",
      "parents": [
        "a8675f67e33bc7337d148358783b0fd138b501ff"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jul 31 17:38:20 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jul 31 17:38:20 2009 -0700"
      },
      "message": "donut snapshot\n"
    },
    {
      "commit": "a8675f67e33bc7337d148358783b0fd138b501ff",
      "tree": "71fb9d10330ef9161b3ead71d01074b3ef9e53ba",
      "parents": [
        "cf4550c3198d6b3d92cdc52707fe70d7cc0caa9f"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Jul 29 14:25:07 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Jul 29 14:25:07 2009 -0700"
      },
      "message": "donut snapshot\n"
    },
    {
      "commit": "cf4550c3198d6b3d92cdc52707fe70d7cc0caa9f",
      "tree": "6510f35ad004f1a4640b48264c290926e8596d7a",
      "parents": [
        "4cf03d381b2dff908857fceff0bec445f8d44f36"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Jul 21 11:16:54 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Jul 21 11:16:54 2009 -0700"
      },
      "message": "donut snapshot\n"
    },
    {
      "commit": "4cf03d381b2dff908857fceff0bec445f8d44f36",
      "tree": "0a6c7061ac92b652729e255c2de3d3ca3f95064f",
      "parents": [
        "843ef36f7b96cc19ea7d2996b7c8661b41ec3452",
        "5d6d773fab559fdc12e553d60d789f3991ac552c"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri May 22 14:34:57 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri May 22 14:35:33 2009 -0700"
      },
      "message": "Reconcile cupcake history into donut\n\nMerge commit \u00275d6d773fab559fdc12e553d60d789f3991ac552c\u0027 into HEAD\n"
    },
    {
      "commit": "843ef36f7b96cc19ea7d2996b7c8661b41ec3452",
      "tree": "560e1648c99a93986f8b7deef851ef8bb8029db7",
      "parents": [
        "358d23017d0d6c4636eb7599ae7a9b48108899a3"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed May 20 11:28:04 2009 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed May 20 11:28:04 2009 -0700"
      },
      "message": "donut snapshot\n"
    },
    {
      "commit": "5d6d773fab559fdc12e553d60d789f3991ac552c",
      "tree": "6188416dceccd82a180f6d478d366270e38ff93e",
      "parents": [
        "04c72b47d877c9f3b45caa1ddc7f640b02e7be4c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "nobody@android.com",
        "time": "Wed May 13 18:09:56 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed May 13 18:09:56 2009 -0700"
      },
      "message": "AI 148824: Fix issue #1851541 (sharedUserId requests not being checked for matching signatures on .apk).\n  To address issues where we could leave half-installed applications around if there was a failure during the install, we split getPackageLP() into two phases: the first would create the record, and only after doing all verification checks would we call insertPackageSettingLP() to do the remaining part of the original implementation and actually insert the record into the data structures.\n  Unfortunately it was only in insertPackageSettingLP() that we would set the sharedUser field of the PackageSetting structure, so when before that we went to verify certificates, we didn\u0027t think it had requested a shared user ID, and let it through without checking.\n  This fix simply sets the sharedUser field when the PackageSetting structure is first created, so we will actually check against its certs.  We still also set this again in insertPackageSettingLP(), but there is no harm in this because the only time we call this function is in that big install func, which just passes in the same shared user that it had when first getting the package.\n  BUG\u003d1851541\n\nAutomated import of CL 148824\n"
    },
    {
      "commit": "29c1c42e18a72a3c5760a9fb741031877293d5aa",
      "tree": "ae9695e502fc5efd972b60b0e4ef9d98fce4fc9f",
      "parents": [
        "196677cf8caf9830760c4ea1e2d3afc42b09cf36"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "",
        "time": "Thu Apr 02 11:39:09 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Apr 02 11:39:09 2009 -0700"
      },
      "message": "AI 144256: Need to show opt-in screen for location collection.\n  Added a screen to the setup wizard, after login, to ask user to\n  opt-in for location collection.\n  Added a dialog to Settings when user turns on Network location.\n  Fixed a security permission issue in LocationManagerService related\n  to this change.\n  BUG\u003d1752566\n\nAutomated import of CL 144256\n"
    },
    {
      "commit": "b3785307143556f3aba228f4c81fac96fda09ea1",
      "tree": "a26520f605217a3dd9a3b7de5fc887be06ac00b9",
      "parents": [
        "a1d701ef2f0302ad18ff356c697466f87214a924"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "",
        "time": "Tue Mar 31 17:58:46 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 31 17:58:46 2009 -0700"
      },
      "message": "AI 143896: Fix issue #1748954 and #1737952:\n  #1748954 (New status bar fades into all white background): FrameLayout wasn\u0027t updating its foreground drawable when its padding changed, which would happen as the status bar is shown and hidden.  To fix this I also ended up fixing a problem in the view debug stuff where we couldn\u0027t get a bitmap for a view that is the full screen size because it is too big...  actually I just went ahead and added another function to snapshot the view hierarchy which works a lot better for us anyway.\n  #1737952 (Home screen icons overlap with the notification bar after exiting any camera app): Originally I punted this because it only happened in rare situations, but now that home is always portrait it happens a lot more so it is more important to fix.  This involved a few things to clean up hiding/showing the status bar:\n  - We now determine when to hide and show it during layout, which allows us to do this at the time it is actually needed rather than during animation after we can actually catch it for the initial display of a window.  This required tweaking the layout API so the policy can request a second layout pass if needed.\n  - When doing layout, we are now much more aggressive about skipping the layout of windows.  Basically anything that we know will be hidden in the near future is ignored for layout, so that it doesn\u0027t glitch as it is transfered out of the screen.  The theory being that it is better to leave it as it was originally placed while we are transitioning it out, than to switch it to something slightly more correct.\n  BUG\u003d1748954,1737952\n\nAutomated import of CL 143896\n"
    },
    {
      "commit": "65c8e11a31ded66cf024ec800a63f76dc4c83dab",
      "tree": "6e5d157fecd6802b0b70fe5451bca2f976213d93",
      "parents": [
        "3f46f0a0cd16186219d501199b59be64d00f3cdc"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "",
        "time": "Tue Mar 31 12:11:48 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 31 12:11:48 2009 -0700"
      },
      "message": "AI 143748: Fix issue #1743326 (More battery stats)\n  Adds stats for:\n  - Number of raw user events that have happened in the system.\n  - Number of times user activity has been reported, dividied by UID and type of activity.\n  - Duration of screen brightness levels in 4 buckets.\n  - Per-UID tracking of who has turned on Wifi and how long we can attribute it being on because of them.\n  BUG\u003d1743326\n\nAutomated import of CL 143748\n"
    },
    {
      "commit": "50108e9282031bbd3a22683061496285a806403e",
      "tree": "c2b9c68a2408b2adcf028a1e2f0d574f3dd87815",
      "parents": [
        "499e098f0c529f761666150db12d1907aa0ae668"
      ],
      "author": {
        "name": "Eric Shienbrood",
        "email": "",
        "time": "Fri Mar 27 12:21:17 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Mar 27 12:21:17 2009 -0700"
      },
      "message": "AI 143124: Fix bug #1731826, in which auto-connect to remembered networks does not\n  take place.\n  This has the same underlying cause as bug #1739874, so this fixes that\n  bug as well. The problem was that if the supplicant was in the DORMANT\n  state at the time a scan-only Wi-Fi lock was released, the command to\n  stop the Wi-Fi driver would never be issued. This had two main results:\n  first, the driver would stay awake when the screen was blank and it was\n  supposed to be sleeping, leading to excessive battery drain, and second,\n  when the screen was turned back on, there would be no DRIVER-STARTED\n  event generated (because the driver was already running). The\n  DRIVER-STARTED event is the trigger for the framework to issue a\n  RECONNECT command to the supplicant to cause it leave the DORMANT state\n  and look for available remembered networks.\n  To assist in tracking down this problem, and any such problems in the\n  future, I added four counters to keep track of how many times full and\n  scan-only Wi-Fi locks are acquired and released. The counter values\n  are output in the dump() method of WifiService. While doing this, I\n  noticed that because of missing \"break\" statements, the battery stats\n  that keep track of how much time Wi-Fi locks are held were including\n  the time for full locks in the time reported for scan-only locks.\n  BUG\u003d1731826,1739874\n\nAutomated import of CL 143124\n"
    },
    {
      "commit": "cc95667b9cb1c8e61b4addd6b1aff7f09902d5c8",
      "tree": "b1b85e3662388db5fb71cce33cafa36f06f6b9e7",
      "parents": [
        "3a186c7c2e0fd1f397a9de552cdb86d45ac8a814"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "",
        "time": "Thu Mar 26 00:04:52 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Mar 26 00:04:52 2009 -0700"
      },
      "message": "Automated import from //branches/cupcake/...@142879,142879\n"
    },
    {
      "commit": "02771bcb5d2156a58b825a5f8132fdf575ea862d",
      "tree": "92ef9f6935070011dcdafb4d4bad6a853a0f619f",
      "parents": [
        "ffacbe5d36a6dec96a5c18081c4c321145f9fb66"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "",
        "time": "Wed Mar 25 22:39:21 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 25 22:39:21 2009 -0700"
      },
      "message": "Automated import from //branches/cupcake/...@142870,142870\n"
    },
    {
      "commit": "0f8fc102b9e309a32e76c05c969d3b5e03f8b39e",
      "tree": "08d26a814040282dd677ffcf24505e0723ced97b",
      "parents": [
        "289befd72b3a9a4b84fc4cca81e48ee5f95b8ebf"
      ],
      "author": {
        "name": "Chris Tate",
        "email": "",
        "time": "Wed Mar 25 16:22:54 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 25 16:22:54 2009 -0700"
      },
      "message": "Automated import from //branches/cupcake/...@142783,142783\n"
    },
    {
      "commit": "2f847b9e052abc6eb5950b733b4718bb7820dd42",
      "tree": "1c63ca6e873e4c6ff2e97ae39e28f51bca0cd147",
      "parents": [
        "b784f21c2bfd6435686e19a7c94f25114f1505ad"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "",
        "time": "Wed Mar 25 15:25:33 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 25 15:25:33 2009 -0700"
      },
      "message": "Automated import from //branches/cupcake/...@142651,142651\n"
    },
    {
      "commit": "9d4de636236f7e9a09bd73bd16378c287c82b017",
      "tree": "ee88953fbe6c6fe6675d34cb33ed8c3ff0fbcf4e",
      "parents": [
        "cb80d9fd97a4e188f0befc2721eea6a5c92a5047"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "",
        "time": "Tue Mar 24 19:37:25 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 24 19:37:25 2009 -0700"
      },
      "message": "Automated import from //branches/cupcake/...@142392,142392\n"
    },
    {
      "commit": "99c6026218a87074e50b3c0921c1ab7786887cc8",
      "tree": "11ef81e134c2eff2c69c0cdfabff56632fcde62c",
      "parents": [
        "46e6878c4b18b74e820dec5a183125ba9e00096f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "",
        "time": "Tue Mar 24 19:27:53 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 24 19:27:53 2009 -0700"
      },
      "message": "Automated import from //branches/cupcake/...@142342,142342\n"
    },
    {
      "commit": "2ce107ce3177053eccd1b0b492a74bd6ce943c24",
      "tree": "7fea0035ca6d1807f56f3eaa9ce4be1cfe3a8187",
      "parents": [
        "6887e54e5c8de4bdb3a6fc70548742f35a5d4d49"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "",
        "time": "Tue Mar 24 19:06:28 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 24 19:06:28 2009 -0700"
      },
      "message": "Automated import from //branches/cupcake/...@142154,142154\n"
    },
    {
      "commit": "7f0ed3c071132a2ad1f4a7a973de06415881c365",
      "tree": "6891fc01286f29a722c7804e4110eb1238c37626",
      "parents": [
        "c68d9988a7a0af67c83a4b5e3559cc36acdda3fe"
      ],
      "author": {
        "name": "Suchi Amalapurapu",
        "email": "",
        "time": "Tue Mar 24 18:43:00 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 24 18:43:00 2009 -0700"
      },
      "message": "Automated import from //branches/cupcake/...@141957,141957\n"
    },
    {
      "commit": "c2ad241504fcaa12d4579d3b0b4038d1ca8d08c9",
      "tree": "1a260a5b0b371678c9a4710ea36030db14374e56",
      "parents": [
        "105925376f8d0f6b318c9938c7b83ef7fef094da"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Mar 19 23:08:54 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Mar 19 23:08:54 2009 -0700"
      },
      "message": "auto import from //branches/cupcake_rel/...@141571\n"
    },
    {
      "commit": "105925376f8d0f6b318c9938c7b83ef7fef094da",
      "tree": "3b19ee2bd8704cb9c6a0da7e42dec6759183de6d",
      "parents": [
        "ba87e3e6c985e7175152993b5efcc7dd2f0e1c93"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 18 17:39:46 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 18 17:39:46 2009 -0700"
      },
      "message": "auto import from //branches/cupcake_rel/...@140373\n"
    },
    {
      "commit": "ba87e3e6c985e7175152993b5efcc7dd2f0e1c93",
      "tree": "ee35f76532767dc29411a8738a434d1d88d330f2",
      "parents": [
        "c39a6e0c51e182338deb8b63d07933b585134929"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Mar 13 13:04:22 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Mar 13 13:04:22 2009 -0700"
      },
      "message": "auto import from //branches/cupcake_rel/...@138607\n"
    },
    {
      "commit": "c39a6e0c51e182338deb8b63d07933b585134929",
      "tree": "e55fc5bd38b1eb8fb4851a0fe1cc264a7fe2f245",
      "parents": [
        "b2a3dd88a53cc8c6d19f6dc8ec4f3d6c4abd9b54"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 11 12:11:56 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 11 12:11:56 2009 -0700"
      },
      "message": "auto import from //branches/cupcake/...@137873\n"
    },
    {
      "commit": "b2a3dd88a53cc8c6d19f6dc8ec4f3d6c4abd9b54",
      "tree": "e167affc928677f3dd70e173150a77e3943e97a9",
      "parents": [
        "f5b4b98fada53d91c4c2ebeb5a1d33ccc95c94d2"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Mar 09 11:52:12 2009 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Mar 09 11:52:12 2009 -0700"
      },
      "message": "auto import from //branches/cupcake/...@137197\n"
    },
    {
      "commit": "f5b4b98fada53d91c4c2ebeb5a1d33ccc95c94d2",
      "tree": "3a24d2250b24d928cd5b67936affc4f0ac3b599b",
      "parents": [
        "53b404521227d30353f0f2421458103dff903626"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Mar 05 20:00:43 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Mar 05 20:00:43 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@136745\n"
    },
    {
      "commit": "4df2423a947bcd3f024cc3d3a1a315a8dc428598",
      "tree": "e7dac2c5a367b169e7f05a36058cf470e93f003b",
      "parents": [
        "c474dec3ffa1c0fe37edb3e701684188f7e8e7bc"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Mar 05 14:34:35 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Mar 05 14:34:35 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@136594\n"
    },
    {
      "commit": "c474dec3ffa1c0fe37edb3e701684188f7e8e7bc",
      "tree": "f02b3aaae987c50582f934e4c0f8db4464ae3cd8",
      "parents": [
        "41df3851287361a377203fb5ad4397475831eb27"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 04 09:49:09 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Mar 04 09:49:09 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135863\n"
    },
    {
      "commit": "9066cfe9886ac131c34d59ed0e2d287b0e3c0087",
      "tree": "d88beb88001f2482911e3d28e43833b50e4b4e97",
      "parents": [
        "d83a98f4ce9cfa908f5c54bbd70f03eec07e7553"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:31:44 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:31:44 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "d83a98f4ce9cfa908f5c54bbd70f03eec07e7553",
      "tree": "4b825dc642cb6eb9a060e54bf8d69288fbee4904",
      "parents": [
        "076357b8567458d4b6dfdcf839ef751634cd2bfb"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:45 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:45 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "076357b8567458d4b6dfdcf839ef751634cd2bfb",
      "tree": "efbb2fd6f1dc67d2d606382fc3b82983e7cb2e1f",
      "parents": [
        "3dec7d563a2f3e1eb967ce2054a00b6620e3558c"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 14:04:24 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 14:04:24 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@132589\n"
    },
    {
      "commit": "3dec7d563a2f3e1eb967ce2054a00b6620e3558c",
      "tree": "aa3b0365c47cb3c1607c0dc76c8d32b4046fc287",
      "parents": [
        "15ab3eae2ec3d73b3e8aa60b33ae41445bf83f4b"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Mar 02 22:54:33 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Mon Mar 02 22:54:33 2009 -0800"
      },
      "message": "auto import from //depot/cupcake/@137055\n"
    },
    {
      "commit": "15ab3eae2ec3d73b3e8aa60b33ae41445bf83f4b",
      "tree": "d03d027a7ed97af616904e02a7b420babf40d44f",
      "parents": [
        "3001a035439d8134a7d70d796376d1dfbff3cdcd"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Feb 20 07:38:31 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Feb 20 07:38:31 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@132569\n"
    },
    {
      "commit": "3001a035439d8134a7d70d796376d1dfbff3cdcd",
      "tree": "343ccdba15a594ff6e50c874a145232753315a30",
      "parents": [
        "da996f390e17e16f2dfa60e972e7ebc4f868f37e"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Feb 19 10:57:31 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Feb 19 10:57:31 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@132276\n"
    },
    {
      "commit": "da996f390e17e16f2dfa60e972e7ebc4f868f37e",
      "tree": "00a0f15270d4c7b619fd34d8383257e1761082f4",
      "parents": [
        "d24b8183b93e781080b2c16c487e60d51c12da31"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Feb 13 12:57:50 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Feb 13 12:57:50 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@131421\n"
    },
    {
      "commit": "d24b8183b93e781080b2c16c487e60d51c12da31",
      "tree": "fbb89154858984eb8e41556da7e9433040d55cd4",
      "parents": [
        "f1e484acb594a726fb57ad0ae4cfe902c7f35858"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Feb 10 15:44:00 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Feb 10 15:44:00 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@130745\n"
    },
    {
      "commit": "f1e484acb594a726fb57ad0ae4cfe902c7f35858",
      "tree": "99d2b34512f0dc2ae67666e756c1cfcd331e5fe3",
      "parents": [
        "22f7dfd23490a3de2f21ff96949ba47003aac8f8"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jan 22 00:13:42 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jan 22 00:13:42 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@127436\n"
    },
    {
      "commit": "22f7dfd23490a3de2f21ff96949ba47003aac8f8",
      "tree": "41bc290bb2f1f08a0e37cfda4955742a85d42ecf",
      "parents": [
        "9266c558bf1d21ff647525ff99f7dadbca417309"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jan 20 14:03:58 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Jan 20 14:03:58 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@127101\n"
    },
    {
      "commit": "9266c558bf1d21ff647525ff99f7dadbca417309",
      "tree": "1630b1ba80f4793caf39d865528e662bdb1037fe",
      "parents": [
        "b798689749c64baba81f02e10cf2157c747d6b46"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jan 15 16:12:10 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Jan 15 16:12:10 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@126645\n"
    },
    {
      "commit": "b798689749c64baba81f02e10cf2157c747d6b46",
      "tree": "da394a395ddb1a6cf69193314846b03fe47a397e",
      "parents": [
        "f013e1afd1e68af5e3b868c26a653bbfb39538f8"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jan 09 17:51:23 2009 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jan 09 17:51:23 2009 -0800"
      },
      "message": "auto import from //branches/cupcake/...@125939\n"
    },
    {
      "commit": "f013e1afd1e68af5e3b868c26a653bbfb39538f8",
      "tree": "7ad6c8fd9c7b55f4b4017171dec1cb760bbd26bf",
      "parents": [
        "e70cfafe580c6f2994c4827cd8a534aabf3eb05c"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:05:43 2008 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Wed Dec 17 18:05:43 2008 -0800"
      },
      "message": "Code drop from //branches/cupcake/...@124589\n"
    },
    {
      "commit": "54b6cfa9a9e5b861a9930af873580d6dc20f773c",
      "tree": "35051494d2af230dce54d6b31c6af8fc24091316",
      "parents": [],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "message": "Initial Contribution\n"
    }
  ]
}
