)]}'
{
  "log": [
    {
      "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": "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": "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": "4f0f3561edfdcdff0ac90f0ea26c64cb16efe643",
      "tree": "65e7ad51c855f4c036702f7809dc315a66315cca",
      "parents": [
        "7661dd8de10d2400cedc421358c4261556b2b5c8"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 29 16:49:42 2011 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 29 16:59:38 2011 -0700"
      },
      "message": "UsbService: Make USB disconnect handling for accessory mode more robust\n\nHandle the case where the kernel driver is in accessory mode but we failed\nto initialize it at the framework level.  On disconnnect, check to see if the\naccessory kernel driver is enabled rather than checking mCurrentAccessory.\nThat way we will restore the USB state in the kernel even if mCurrentAccessory\nis null.\n\nChange-Id: I35d458f21a8b21611946da523d0f53723cab0540\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "edcb4f9d560a85970030e1df70426e8d1e2267d2",
      "tree": "1a4cbcdd220f9f93832df8c66744d272dccea4a5",
      "parents": [
        "3a2575f7e6b1f6da97bd8233dfd3baa8883c5610"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Mar 22 18:47:42 2011 -0700"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Mar 22 18:47:42 2011 -0700"
      },
      "message": "Fix adding of default route.\n\nIf you deleted the host routes (started a secondary network like mms, supl\nof hipri and then ended it) you would lose the host route to the default\ngateway.  Then if you needed to re-add the default gateway route (lost\nthe connection and removed the default route and then re-established)\nyou couldn\u0027t - can\u0027t add a gateway that isn\u0027t routable apparently.\n\nThis happens if you are in a video chat and lose your connection without\nlosing the interface (PPP keeps it up for a bit).\n\nFixed it by having addDefaultRoute first add a hsot route for the gateway\nbefore adding the default route.  This allows the default add to succeed.\n\nbug:3490353\nChange-Id: I415e7319832e6456f8757b14c4f79f098a08839b\n"
    },
    {
      "commit": "1c0e543638fa940651b675645146fd71c2ebd9b9",
      "tree": "1283ad0bed75d2269217557c6c9f63ac0b67e40f",
      "parents": [
        "1d50ad7914de36b63a04d39bdc4791c1dadc7eae"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sat Mar 19 12:03:46 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sat Mar 19 12:03:46 2011 -0400"
      },
      "message": "UsbService: Handle the case where a USB accessory connects as the device is booting\n\nBug: 4129297\n\nChange-Id: I8f9d085805fb598572f9b00952c3cd38cfab461b\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "199d1c131d29b5356f71fbd7826a592c1dd8575f",
      "tree": "b02c7ab5a0662020447a3324c7a09c1d4294c5e0",
      "parents": [
        "2f1f2248c8439adbd686810e306c55f9e6a5abc3"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Mar 17 11:48:13 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Mar 17 14:43:12 2011 -0700"
      },
      "message": "Fix missing AOSP copyright headers for more files\n\no Update the copyright date on InputDispatcher_test.cpp and InputReader_test.cpp\n  because these two files were moved from other places to the current location,\n  and were actually created in 2010.\n\nbug - 4119349\n\nChange-Id: Ic93b81ddafb58e9e72a2e9e02ca3d9f173d6dca7\n"
    },
    {
      "commit": "87f50f19eef2e70fcf7294c3b9cd5ca0344b99ee",
      "tree": "6aa498a88737a590d859aa362d9ef5a6037fc584",
      "parents": [
        "11473332b4df78610ebb903e255d69ab35e5bf59",
        "a57db345d3f7b70854fd66e28b8b48d3fb27c606"
      ],
      "author": {
        "name": "Paul Milovanov",
        "email": "pmilovanov@google.com",
        "time": "Thu Mar 17 10:23:48 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 17 10:23:48 2011 -0700"
      },
      "message": "Merge \"PACKAGE_FIRST_LAUNCH intent sent to wrong pkg\" into honeycomb-mr1"
    },
    {
      "commit": "a57db345d3f7b70854fd66e28b8b48d3fb27c606",
      "tree": "9bde5e4d77dcd7fc9874ccb80990aace7aa84de8",
      "parents": [
        "fc59176241f498ad4eeb4237800c2eb5edd9efcd"
      ],
      "author": {
        "name": "Paul Milovanov",
        "email": "pmilovanov@google.com",
        "time": "Wed Mar 16 23:03:10 2011 -0700"
      },
      "committer": {
        "name": "Paul Milovanov",
        "email": "pmilovanov@google.com",
        "time": "Wed Mar 16 23:12:31 2011 -0700"
      },
      "message": "PACKAGE_FIRST_LAUNCH intent sent to wrong pkg\n\nIn PackageManagerService, intent with ACTION_PACKAGE_FIRST_LAUNCH was\nbeing sent to wrong package. It was being sent to the installed\npackage with installer package in the URI, whereas it should be sent\nto installer package with installed package in the URI.\nComment in Intent.java:1417 seems to support that intent with this\naction should be sent to the installer package, not installed.\n\nBug: 3426299\nChange-Id: Iadec4ae7a1af6bab434716f8fcdb7d0b099d1ee1\n"
    },
    {
      "commit": "c2be22cf209b675e36893d31ebe3166b6321ba6b",
      "tree": "97cea8cfc8dbbc34145a9304bb85bd1cd716ff18",
      "parents": [
        "7ddd62b5bedf9065bba00e25aa62f2eae14cf92e"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Wed Mar 16 16:33:53 2011 -0700"
      },
      "committer": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Wed Mar 16 16:33:53 2011 -0700"
      },
      "message": "Catching all Exceptions when calling through to RemoteViewsFactory\n\nChange-Id: Ib20c880bb7626565541ab4697317fcfaa2e6b5b7\n"
    },
    {
      "commit": "b548a3cfa022451098cc73e25ce79f1776e78715",
      "tree": "78b48001eca82eb60412d7bbef051e121d528cfb",
      "parents": [
        "e21110f8b1e4aa884f7a4e2164ae90dab8d5f3fa"
      ],
      "author": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Mon Mar 14 12:38:34 2011 -0700"
      },
      "committer": {
        "name": "satok",
        "email": "satok@google.com",
        "time": "Mon Mar 14 12:38:34 2011 -0700"
      },
      "message": "Remove a workaround for the data inconsistency of SystemProperties\n\nBug: 3473532\nReverting: Ie3f5b484b5574e10a4\n\nDepends on Bug: 3511230\nThis must be fixed before submitting this CL.\n\nChange-Id: I435a294a818bec5675f0ada00d81c1b3e37d1dce\n"
    },
    {
      "commit": "e21110f8b1e4aa884f7a4e2164ae90dab8d5f3fa",
      "tree": "51c052ddc66c30afd10d97660882e58a854e0fb1",
      "parents": [
        "8503af848657356411a9bb4cf15d798d4f15111b",
        "4aeca7c5908387bc7efb0785830aea1053264062"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon Mar 14 11:48:35 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 14 11:48:35 2011 -0700"
      },
      "message": "Merge \"Backup and restore IP and proxy settings\" into honeycomb-mr1"
    },
    {
      "commit": "bce6f8f249ff2b65df9ed790cc460053ab8eccec",
      "tree": "f7a4d6539c5f65dd1bacc5dff5f0c3a159ee0482",
      "parents": [
        "767d7a03733c867da7cad466a9303208eb51699f"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sun Mar 13 17:26:52 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sun Mar 13 19:18:08 2011 -0400"
      },
      "message": "Add a dialog to ask user to start an application for a USB device or accessory\n\nThis is used when there is only one application available and the user has\nnot chosen to start it by default.\nIf more than one application is available we continue to use UsbResolverActivity\n\nBug: 4074719\n\nChange-Id: Id61f2ccc6de5b9ac70fb4670006ff1fee2028d55\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "14c875eac750ca096de439225b1a028b1facc58e",
      "tree": "4b16f2b27a690839caa38a157bc5f835c398f32f",
      "parents": [
        "761b84409135641ec27bb828dbd8a1d04a7252fe",
        "c7d32d106591fdfe759f48bbd6f7f1af7f92a61c"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Mar 11 13:24:01 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 11 13:24:01 2011 -0800"
      },
      "message": "Merge \"Clear default for USB device/accessory when new matching app is installed\" into honeycomb-mr1"
    },
    {
      "commit": "c7d32d106591fdfe759f48bbd6f7f1af7f92a61c",
      "tree": "fee5189a5885964004309ac9d90ec1774259206c",
      "parents": [
        "a75075e1671f57217d8b8bb75b2d9c3a6bab37d8"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Mar 11 16:12:07 2011 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Mar 11 16:12:07 2011 -0500"
      },
      "message": "Clear default for USB device/accessory when new matching app is installed\n\nBug: 4063041\n\nChange-Id: Ia1b4f29d3e54ec21aa64407720d9d5db62855380\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "7b076307bb1f78d3f5616b7f2f2ad496aa4a33d7",
      "tree": "8083519c85c827ec32bde532e199aac987ee00e0",
      "parents": [
        "492eb33d549afa65e630d2f4886b1bdf3d979d04",
        "cb44d96173e59139a8a5c83246a3a40aaca1d277"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 11 10:39:46 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 11 10:39:46 2011 -0800"
      },
      "message": "Merge \"Fix issue #4084124: Wingray Often see black screen after market ANR due to 4084121\" into honeycomb-mr1"
    },
    {
      "commit": "492eb33d549afa65e630d2f4886b1bdf3d979d04",
      "tree": "b81d539de08011e9345b944edcee76da5922de62",
      "parents": [
        "92f2f3ff2ea5c5b474722f2055cfee4916010e26",
        "a925cd4101dceefae6b9c0634084f9fa72b12344"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 11 10:38:52 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 11 10:38:52 2011 -0800"
      },
      "message": "Merge \"Fix issue #4081756: Crash when un-stopping applications\" into honeycomb-mr1"
    },
    {
      "commit": "cb44d96173e59139a8a5c83246a3a40aaca1d277",
      "tree": "41ac65e63a8dc013e3b77b8be376a5d4d60dda8c",
      "parents": [
        "a925cd4101dceefae6b9c0634084f9fa72b12344"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 10 17:02:27 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 10 17:02:27 2011 -0800"
      },
      "message": "Fix issue #4084124: Wingray Often see black screen after market ANR due to 4084121\n\nNeed to resume the top activity after force removing a crashing\napp\u0027s activities.\n\nChange-Id: Id3384b2aa73039a9b1e72c2201d3ab0ef5b4f61f\n"
    },
    {
      "commit": "4aeca7c5908387bc7efb0785830aea1053264062",
      "tree": "1f8a718c28c4fd65c506fbe3968d2ceda36db140",
      "parents": [
        "b22bb1dae1213fe9383020a53eeb89de40e7bbd0"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Mar 10 16:53:33 2011 -0800"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Mar 10 16:57:10 2011 -0800"
      },
      "message": "Backup and restore IP and proxy settings\n\nBug: 4081954\nChange-Id: I27266637c6ade0c5c8242792176d1edae0983446\n"
    },
    {
      "commit": "a925cd4101dceefae6b9c0634084f9fa72b12344",
      "tree": "8514698b53c5be0d11dfb7949fd030aa57bbb141",
      "parents": [
        "0837fde9fd9e29f8ef66a3fe00764e15a6f3d515"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 10 13:18:20 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 10 13:18:20 2011 -0800"
      },
      "message": "Fix issue #4081756: Crash when un-stopping applications\n\nChange-Id: Ifc23481f8feaeacb410375eefd015ebdb997e39c\n"
    },
    {
      "commit": "024b4f14945bd2a285f730faa3a0fdbb6c47abc1",
      "tree": "6bb68d7fe716e9d5b41512e504f51216e6983822",
      "parents": [
        "0837fde9fd9e29f8ef66a3fe00764e15a6f3d515"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Mar 10 12:12:31 2011 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Mar 10 14:35:33 2011 -0500"
      },
      "message": "Support for USB accessory URIs\n\nIf a USB accessory is attached and we have no application that supports it,\ndisplay a dialog offering the user the option to visit the accessory\u0027s website\nif the accessory has a URI.\n\nBug: 4073248\n\nChange-Id: I30e2a802493fb6e203532a7f79402379c40bc3b8\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "cc08c439bc7b0afbdafc5ca18c584d2f7724f3df",
      "tree": "219bad973dd1af80c377bb8e9e5355e70b843bac",
      "parents": [
        "3de30a4c1e48d92af14154abddd4fb6fe0c6aa13",
        "ac36d7c715a9cd793b2dce6de547594810101c3a"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Mar 10 07:50:30 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 10 07:50:30 2011 -0800"
      },
      "message": "Merge \"UsbAccessory: Add URI string, replace type string with description\" into honeycomb-mr1"
    },
    {
      "commit": "ac36d7c715a9cd793b2dce6de547594810101c3a",
      "tree": "5f347132f5896785d47519c1ae728af1113db1f0",
      "parents": [
        "b966b9d9e882835691e5adda292d89dd704df71c"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 09 22:03:57 2011 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 09 22:12:49 2011 -0500"
      },
      "message": "UsbAccessory: Add URI string, replace type string with description\n\nThis is a first step toward adding USB accessory URI support\n\nBUG: 4073248\n\nModified USB accessory matching logic to look only at manufacturer, model and version\n(description and URI are not considered when matching apps to accessories)\n\nAlso added test for USB accessory protocol version to accessorytest\n\nBUG: 4080288\n\nChange-Id: I992a3433c74efa7a7db37bf030f02c1f0c92f9e2\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "564f12ebe409bead467eee04dfd719e97367e520",
      "tree": "ee566495df013526c9163e0e8ef6fe9fd6e61bfc",
      "parents": [
        "37c2e3e55641e91dd0ec3dbd296bc6bc7c7641cf",
        "b966b9d9e882835691e5adda292d89dd704df71c"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 09 15:47:10 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 09 15:47:10 2011 -0800"
      },
      "message": "Merge changes Ifd78cca3,Ieadb86fe,If5b44ebd into honeycomb-mr1\n\n* changes:\n  MTP: Convert date created and modified values from seconds to milliseconds\n  Update USB accessory compatibility library to support new requestPermission API\n  UsbService: Don\u0027t require permissions for UsbManager.getCurrentAccessory()\n"
    },
    {
      "commit": "5c9248f668201a751500f67cc60bd45ff905751a",
      "tree": "bd8a8af74cdb2a5d9665afadfe0d429b2010876a",
      "parents": [
        "788dd5e076821d8604be7a8e44a1c5ae5f4e198e",
        "e70d506ab329f1f96b0ee132317aa36edea1b94e"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Wed Mar 09 14:42:56 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 09 14:42:56 2011 -0800"
      },
      "message": "Merge \"Fix 4027057: Improve resolution of RecentApps thumbnail images.\" into honeycomb-mr1"
    },
    {
      "commit": "607710ad12a7503c3b84c34430d1716fe7264f20",
      "tree": "39eae0cd2ddbc9599f82bd4a395376f9050760e4",
      "parents": [
        "980f0430c16a8767061a6f7f3506aabf79735ef6"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 09 16:43:35 2011 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 09 16:43:35 2011 -0500"
      },
      "message": "UsbService: Don\u0027t require permissions for UsbManager.getCurrentAccessory()\n\nPermission check should only happen in openAccessory()\nOtherwise an application will not be able to check for the current accessory\nand ask for permissions (if it is a suitable match for the application)\n\nBUG: 4069037\n\nChange-Id: If5b44ebda2e8077598d96629163cc74aa336589e\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "2c3ed82600af117e791a087330a198fe90d298b7",
      "tree": "c58c642458e1185aec8ff0caf16b613c615817f0",
      "parents": [
        "5fa7aac81b471557cd944f762340281e5fa012f9",
        "c6f23e8521dedac7a07119031913235be3ca37c3"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 09 10:44:19 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 09 10:44:19 2011 -0800"
      },
      "message": "Merge \"Change UsbManager.requestPermission to only grant permission temporarily\" into honeycomb-mr1"
    },
    {
      "commit": "c6f23e8521dedac7a07119031913235be3ca37c3",
      "tree": "0e25041664958b4f96b41475f25f95b13b8d6b6d",
      "parents": [
        "ea44c7c71431adbce348cf9ef3f22d9561bb7fc1"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 09 12:05:20 2011 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 09 12:33:00 2011 -0500"
      },
      "message": "Change UsbManager.requestPermission to only grant permission temporarily\n\nIf the user approves an application to access a USB device or accessory\nwithout choosing it as the default application, then permission is granted\nonly until the device or accessory is disconnected.\nOnly applications chosen as the default choice have permissions assigned persistently.\n\nBUG: 4061035\n\nChange-Id: Ic4f6271a91b2fc56bbeef82c579e26d88c63ae56\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "7ad85eb62f9f332cc8002ec996cd359333ba590e",
      "tree": "1e0c037e0317ef0a575c60fb9dff30e42a1cf6cb",
      "parents": [
        "ea44c7c71431adbce348cf9ef3f22d9561bb7fc1",
        "658772f0e6bcf2b0a3e26778c2fc47accbdfeb2e"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Mar 09 09:30:28 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 09 09:30:28 2011 -0800"
      },
      "message": "Merge \"Persist wifi override in airplane mode\" into honeycomb-mr1"
    },
    {
      "commit": "9e8e4ea0a839b561d329758cddbfd0f7ea23f593",
      "tree": "5245dd205851ea4b68918accdb640467fac7ccf6",
      "parents": [
        "36b077d558727ead246434b08de0ce7b955508e1",
        "d591357524091254483849e37697255cc8fce2ad"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 09 03:52:47 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 09 03:52:47 2011 -0800"
      },
      "message": "Merge changes Ib517e5e4,I93be7695,I49bf22a4 into honeycomb-mr1\n\n* changes:\n  Close USB dialogs if their corresponding accessory or device has disconnected\n  USB: Add API and dialog for apps to request permissions for USB devices and accessories\n  UsbService: Automatically use system apps by default if it is the only choice\n"
    },
    {
      "commit": "658772f0e6bcf2b0a3e26778c2fc47accbdfeb2e",
      "tree": "b4bbd4c88ba5f164feb8695fe92bc71cff4ca6ab",
      "parents": [
        "6e71c954faff34b78a2952436b4f48d84a8c20cd"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Mar 08 14:52:31 2011 -0800"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Mar 08 21:52:35 2011 -0800"
      },
      "message": "Persist wifi override in airplane mode\n\nPersist the setting of wifi override in airplane mode\nso that it can be restored on reboot\n\nBug: 3250824\nChange-Id: I2af38c282ba55fc150fd9ef783d43600f0d4260f\n"
    },
    {
      "commit": "e70d506ab329f1f96b0ee132317aa36edea1b94e",
      "tree": "4fe69054ee991723dcd309d906614e77d7cbb690",
      "parents": [
        "8496ddc536eb917c813b7928f174c828d2275ada"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Mar 08 21:38:39 2011 -0800"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Mar 08 21:47:13 2011 -0800"
      },
      "message": "Fix 4027057: Improve resolution of RecentApps thumbnail images.\n\nThis fix ensures captured thumbnails in portrait mode have the\nsame resolution as those in landscape by fixing the horizontal\nresolution and vertical resolution of the target image.\n\nThe returned image is now always the same size and matches\nthe landscape screen exactly. In portrait mode, it grabs\nthe upper portion of the screen based on the vertical dimension\nof the target image.\n\nChange-Id: I203c39843f2f21ca28f6ef0dffec308ce5cb39fb\n"
    },
    {
      "commit": "3a68b8338b431eb15d28e92f06452efbbda9493e",
      "tree": "51d551ff5d51e1a141250aff2d6dd604ee3e6e4d",
      "parents": [
        "8c7d8c3ccb37edff424ca01c6474cbed2154d954"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 08 10:08:59 2011 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 08 21:22:19 2011 -0500"
      },
      "message": "USB: Add API and dialog for apps to request permissions for USB devices and accessories\n\nNew APIs:\n\nUsbManager.hasPermission returns true if the caller has permission\nfor the given device or accessory\n\nUsbManager.requestPermission poses a dialog to allow the user to give the caller\npermission for the device or accessory.\nResult is returned via a PendingIntent.\nNo dialog is displayed if the caller already has permission.\n\nAlso moved UsbResolverActivity to SystemUI package\n\nBUG: 4069037\n\nChange-Id: I93be769501a8776b49ac26e468af19f8fa2114c9\n"
    },
    {
      "commit": "8c7d8c3ccb37edff424ca01c6474cbed2154d954",
      "tree": "a0907ec4b396a5cb5b6ca5aa9d0ddfafe41a53e6",
      "parents": [
        "102930a0deaf8280a65321de0d6c120a638da9e2"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Mar 07 16:33:21 2011 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 08 20:32:15 2011 -0500"
      },
      "message": "UsbService: Automatically use system apps by default if it is the only choice\n\nIf only one app is installed that supports a USB device or accessory\nand that app is in the system partition, then use that activity by default\nand rather than displaying the USB app chooser dialog.\n\nBUG: 4060064\n\nChange-Id: I49bf22a439e9676039b6f612c9bb622ab426066c\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "3de6a9b692437d5ce14d672cad4eff4c7ed0ae23",
      "tree": "fd356144b570bf676e210dd0157deb92936bb30f",
      "parents": [
        "09a31662055605e90d6e81e06437de0d92c7cf95",
        "2aded18b0ef9f189771f70f05091493a44ec46ae"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Mar 08 15:43:16 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 08 15:43:16 2011 -0800"
      },
      "message": "Merge \"Fix 4025684: Don\u0027t include wallpaper dimensions in bounds calculation\" into honeycomb-mr1"
    },
    {
      "commit": "2aded18b0ef9f189771f70f05091493a44ec46ae",
      "tree": "53e2a83405e043183580777cd4c91ea93df70619",
      "parents": [
        "8496ddc536eb917c813b7928f174c828d2275ada"
      ],
      "author": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Mar 08 15:32:42 2011 -0800"
      },
      "committer": {
        "name": "Jim Miller",
        "email": "jaggies@google.com",
        "time": "Tue Mar 08 15:34:20 2011 -0800"
      },
      "message": "Fix 4025684: Don\u0027t include wallpaper dimensions in bounds calculation\n\nThis fixes a bug where we would capture the statusbar region in\nthumbnails because the wallpaper was used in the bounds calculation.\n\nChange-Id: I572221e83c4c363afe90e59bece9a291ce694a15\n"
    },
    {
      "commit": "cc1d9f7942f7e70c240f0cc745840262345f506f",
      "tree": "2ab2592ba14c311924328ac35b4226467cb7c2d4",
      "parents": [
        "0aaa11ed5be45170fb2535a6ce021c92b18d8878"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 08 10:33:55 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 08 10:33:55 2011 -0800"
      },
      "message": "Fix issue #3505861: Need to decide large/xlarge screen size limits\n\nDecided.\n\nChange-Id: I8292d65e3d47755778fdf85207c49f160c756452\n"
    },
    {
      "commit": "6e38d26c1e66cc957c33d4263013e02623ebd6da",
      "tree": "e8a868158ed06580f852901598a5dcdad7afcaed",
      "parents": [
        "f8b8a3fa955b545843ca264428c620b67c2a5359",
        "761eb3762f3602dd1859905ee4ba80f0ef6aec56"
      ],
      "author": {
        "name": "Ken Wakasa",
        "email": "kwakasa@google.com",
        "time": "Fri Mar 04 02:57:20 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 04 02:57:20 2011 -0800"
      },
      "message": "Merge \"Fix the sort order of the input methods \u0026 subtypes in the settings.\" into honeycomb-mr1"
    },
    {
      "commit": "761eb3762f3602dd1859905ee4ba80f0ef6aec56",
      "tree": "c1d72613ff54a5fa5c01ef57ba60b814de1a1d04",
      "parents": [
        "1e158e9ce78c25dc5de402f14654a8955de7fddc"
      ],
      "author": {
        "name": "Ken Wakasa",
        "email": "kwakasa@google.com",
        "time": "Fri Mar 04 19:06:18 2011 +0900"
      },
      "committer": {
        "name": "Ken Wakasa",
        "email": "kwakasa@google.com",
        "time": "Fri Mar 04 19:30:12 2011 +0900"
      },
      "message": "Fix the sort order of the input methods \u0026 subtypes in the settings.\n\nIt should have been the same as how the IME switcher panel does.\n\nbug: 3364167\nChange-Id: I48b98c9c4598720edf7cf09d1b9358a9ebed6051\n"
    },
    {
      "commit": "f8b8a3fa955b545843ca264428c620b67c2a5359",
      "tree": "1894879f81ad7b9cf85d0196a1a29fe91f347777",
      "parents": [
        "48f91e35c5188f3dc78c12b8e8638a248221691b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 04 00:05:31 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 04 00:08:04 2011 -0800"
      },
      "message": "Refector preferred activity code out of package manager.\n\nThis may be useful for others...  such as USB preferred devices, maybe?\n\nChange-Id: I204081e2c84ccff6982a500baaf3540a80839a4b\n"
    },
    {
      "commit": "48f91e35c5188f3dc78c12b8e8638a248221691b",
      "tree": "b4921f287b2d23044f7bd9b865d0cce06474497f",
      "parents": [
        "1e158e9ce78c25dc5de402f14654a8955de7fddc",
        "e3a7f628c6d9fef42be24999b3137ebe5c6f3525"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 03 22:23:07 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 03 22:23:07 2011 -0800"
      },
      "message": "Merge \"Fix Fragment.onInflate() to actually work correctly.\" into honeycomb-mr1"
    },
    {
      "commit": "e3a7f628c6d9fef42be24999b3137ebe5c6f3525",
      "tree": "48ea9dc2b28e2d27c4da5c104491b31d087d2192",
      "parents": [
        "6c8d76527c938eb49182a6fd0677ccbc1618e7a8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 03 21:48:24 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 03 22:17:16 2011 -0800"
      },
      "message": "Fix Fragment.onInflate() to actually work correctly.\n\nLike, um, it needs to be given the Activity since this is called before\nthe activity is attached.\n\nAnd it was called after the entire fragment and its *view* was created\nwhen being restored from saved state.\n\nAnd the documentation was whacked.\n\nAlso fix the IME selector to dismiss when you tap outside of it.\n\nChange-Id: Icbcafe7558965a570bdef9cda3441b1f0f7a317c\n"
    },
    {
      "commit": "1e158e9ce78c25dc5de402f14654a8955de7fddc",
      "tree": "5ac6b680d2f41a07821a9f2267672fc16e11b23c",
      "parents": [
        "327e94daff12ab4ac4da61a3ea802f3f225d1b3a",
        "9aa597e68b3fb30b079d627e1fcdea766e98ad26"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Mar 03 20:28:59 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 03 20:28:59 2011 -0800"
      },
      "message": "Merge \"Propagating core settings to the system process.\" into honeycomb-mr1"
    },
    {
      "commit": "327e94daff12ab4ac4da61a3ea802f3f225d1b3a",
      "tree": "00b321f0727b66bddfb7a7af867a93a8053d07b0",
      "parents": [
        "72b3524eef79abc6680aae713b270cbf3d88be6c",
        "88dd6e665a6cf6f0ffca456a8f8dcf979075b856"
      ],
      "author": {
        "name": "Rebecca Schultz Zavin",
        "email": "rebecca@android.com",
        "time": "Thu Mar 03 18:43:04 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 03 18:43:04 2011 -0800"
      },
      "message": "Merge \"set max_events_per_sec to 55\" into honeycomb-mr1"
    },
    {
      "commit": "9aa597e68b3fb30b079d627e1fcdea766e98ad26",
      "tree": "331c05d3a5372bdd3ce89ab326929ec5f6085dbf",
      "parents": [
        "6e71c954faff34b78a2952436b4f48d84a8c20cd"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Mar 03 18:17:41 2011 -0800"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Mar 03 18:20:43 2011 -0800"
      },
      "message": "Propagating core settings to the system process.\n\nbug:3511123\n\nNow the core settins are stored in the ActivityThread\ninstad in the AppBindData of the currently bound app.\nAlso the settings are pushed to the system process on\ninit.\n\nChange-Id: I100bb7dc80d0d4548def22c328427bbef1694eb7\n"
    },
    {
      "commit": "87ed42d065653aa30b2d1b8b220b75375cf9af30",
      "tree": "21173e10f4c1841c5f14aa1c9b05b97c28caab47",
      "parents": [
        "d7e80b9d5046603ac4a36ea74e204a2ad70a4dca",
        "2a935096db65857b32bcc5c1e1403cc65871a2a9"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Mar 03 17:33:13 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 03 17:33:13 2011 -0800"
      },
      "message": "Merge \"Don\u0027t spuriously time out restore sessions\" into honeycomb-mr1"
    },
    {
      "commit": "2a935096db65857b32bcc5c1e1403cc65871a2a9",
      "tree": "ffe13a32b8019d0e7b00f79b36faca95dbd357c8",
      "parents": [
        "6e71c954faff34b78a2952436b4f48d84a8c20cd"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Mar 03 17:30:32 2011 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Mar 03 17:30:32 2011 -0800"
      },
      "message": "Don\u0027t spuriously time out restore sessions\n\nIf a restore set lookup took a long time, the client\u0027s restore\nsession could be declared timed out even though the client was\nnot at fault.  Handle this properly by resetting the timeout clock\nwhen control of the session is returned to the client.\n\nBug 3477324\n\nChange-Id: I43afaf1063e8e706ef16b70be77f9eeeea6a321f\n"
    },
    {
      "commit": "88dd6e665a6cf6f0ffca456a8f8dcf979075b856",
      "tree": "fcd21c84cee228249486a8b0f90c837aecb668cd",
      "parents": [
        "f634ded277f246bd9568e9b7dcad40790767c6ab"
      ],
      "author": {
        "name": "makarand.karvekar",
        "email": "makarand.karvekar@motorola.com",
        "time": "Wed Mar 02 17:11:14 2011 -0600"
      },
      "committer": {
        "name": "Rebecca Schultz Zavin",
        "email": "rebecca@android.com",
        "time": "Thu Mar 03 17:04:21 2011 -0800"
      },
      "message": "set max_events_per_sec to 55\n\nreduce touch lag.\nno Dispatcher fix w/throttle at 60: 75.9ms (range is 71.4ms - 80.1ms)\nInputDispatcher fix w/throttle at 60: 49.0ms (range is 38.1ms - 66.7ms)\nInputDispatcher fix w/throttle at 55: 41.2ms (range is 28.6ms - 66.7ms)\n\nChange-Id: I76c0ba83abcd6a3d408a29ec76997a2e07e48a70\nSigned-off-by: makarand.karvekar \u003cmakarand.karvekar@motorola.com\u003e\n"
    },
    {
      "commit": "a7001ee8b60d66c25de69c8496108c40a0f2df88",
      "tree": "b8de71f6cba9a5262e62117486692d36126553ff",
      "parents": [
        "6e71c954faff34b78a2952436b4f48d84a8c20cd",
        "81f6e3d8d214a8ffadb6bae63b705602fe165156"
      ],
      "author": {
        "name": "Ken Wakasa",
        "email": "kwakasa@google.com",
        "time": "Thu Mar 03 17:02:47 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 03 17:02:47 2011 -0800"
      },
      "message": "Merge \"Append IME\u0027s name to the subtype name in the \"Select input method\" dialog\" into honeycomb-mr1"
    },
    {
      "commit": "81f6e3d8d214a8ffadb6bae63b705602fe165156",
      "tree": "277221e1567750f4d916839e7581ec199d05734e",
      "parents": [
        "6c8d76527c938eb49182a6fd0677ccbc1618e7a8"
      ],
      "author": {
        "name": "Ken Wakasa",
        "email": "kwakasa@google.com",
        "time": "Fri Mar 04 09:59:52 2011 +0900"
      },
      "committer": {
        "name": "Ken Wakasa",
        "email": "kwakasa@google.com",
        "time": "Fri Mar 04 09:59:52 2011 +0900"
      },
      "message": "Append IME\u0027s name to the subtype name in the \"Select input method\" dialog\n\nbug: 3364167\nChange-Id: I79b5435ec457e9e71ae69dbfaad8e719db6ff6d3\n"
    },
    {
      "commit": "eca208fae6d1b6ae9c8c0e42eee092e86dbddbb7",
      "tree": "936d2b8c1e507d14477e2ddc541e6d10e009f2f6",
      "parents": [
        "268c7111f65c1f27598464c5f29ef4621bbf0407"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Thu Mar 03 09:53:52 2011 -0800"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Thu Mar 03 09:53:52 2011 -0800"
      },
      "message": "DO NOT MERGE: Revert \"LTE Changes for Telephony including Multiple PDN support and IPV6 support\"\n\nThis reverts commit 2b8bcfe5b74e1a34d136f4ff46e3c94397f38f82.\n\nChange-Id: Ifc4e9aaccb54e065a36380710694cd6e4d347636\n"
    },
    {
      "commit": "63e1cea248cde3db3e89f49e5fcc3458aa87951e",
      "tree": "93080ab6905f8b614c9e49219aca7d77a87e25fb",
      "parents": [
        "ef83a3d591cbeae8f87557b0857eeedffa762e2a",
        "648251710162cdaf7371012a1cbb79b9bc5bc0e4"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 02 22:44:55 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 02 22:44:55 2011 -0800"
      },
      "message": "Merge \"Fix issue #3485923: Gmail crash\""
    },
    {
      "commit": "648251710162cdaf7371012a1cbb79b9bc5bc0e4",
      "tree": "a98c62fcd2391c1dfa2623f899346de0a7619fe9",
      "parents": [
        "cbf9cb35bb7064f303c6dd9da4485cd5344b6779"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 02 21:32:58 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 02 22:38:58 2011 -0800"
      },
      "message": "Fix issue #3485923: Gmail crash\n\nAllow application to try to recover if a surface OOM error\nhappens on the client side.\n\nChange-Id: I0308bd99647a35e4bcac448340b7fc6330a828f6\n"
    },
    {
      "commit": "4c384fdd9fe03fee02cbdce486a95956eebed0ec",
      "tree": "58ab9cc3f532effeadb5e376fc1c44e09d466003",
      "parents": [
        "570d2dfbbcfefc9b0dcf5d2ef3a98dc520b032a7",
        "805b6bbea9676dafce3d6cd7dd2732f9f3f8fb23"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 02 22:00:02 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 02 22:00:02 2011 -0800"
      },
      "message": "Merge \"    UsbManager: Don\u0027t display activity picker if there are no apps available for an accessory\""
    },
    {
      "commit": "805b6bbea9676dafce3d6cd7dd2732f9f3f8fb23",
      "tree": "323c8c4f629bded134bdec23a6f3a1a149f59ce8",
      "parents": [
        "cb067ef52ab5bca35a37224da59c5c173b486134"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 02 21:53:39 2011 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 02 21:53:39 2011 -0800"
      },
      "message": "    UsbManager: Don\u0027t display activity picker if there are no apps available for an accessory\n\nChange-Id: I3ef569121e8d7d45584dbca9761451cbdf99a3e9\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "570d2dfbbcfefc9b0dcf5d2ef3a98dc520b032a7",
      "tree": "80fe5877ad6c84708824675c9b8bf8c751f39770",
      "parents": [
        "fe87916f04036d807b12a2a9935516719042d4a7",
        "a454767b09ecb7d25d00beae0e5a1fdd48605c63"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Mar 02 21:43:40 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 02 21:43:40 2011 -0800"
      },
      "message": "Merge \"Get key repeat timeout and delay from ViewConfiguration.\""
    },
    {
      "commit": "fe87916f04036d807b12a2a9935516719042d4a7",
      "tree": "91cf1f250958dd86e026ab91d728d45a27501048",
      "parents": [
        "82c67db3a2240b1a208cef6f6ca4a37316900dbc",
        "cb067ef52ab5bca35a37224da59c5c173b486134"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 02 21:41:53 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 02 21:41:53 2011 -0800"
      },
      "message": "Merge \"UsbManager: Don\u0027t display activity picker if there are no apps available for a device\""
    },
    {
      "commit": "a454767b09ecb7d25d00beae0e5a1fdd48605c63",
      "tree": "21bd62830a3bacf4776aafa631ba60e45441b116",
      "parents": [
        "e2e012683d6f35f5eedfd0c39167ea78e32e2650"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Mar 02 21:38:11 2011 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Mar 02 21:38:11 2011 -0800"
      },
      "message": "Get key repeat timeout and delay from ViewConfiguration.\n\nReplaces previously hardcoded values.  This ensures that key repeat\ntakes the accessibility long press timeout setting into account.\n\nUnfortunately the system must be rebooted for the change to take\neffect.  We will fix that later.\n\nChange-Id: I3ab70bb037331620b7e532170c1727287b5c6f91\n"
    },
    {
      "commit": "cb067ef52ab5bca35a37224da59c5c173b486134",
      "tree": "66759367df488a38b2e290fa6b8155a0bb492fca",
      "parents": [
        "b98d02b8b29062025fa702b82894944e242fe2e7"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 02 21:10:07 2011 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 02 21:10:07 2011 -0800"
      },
      "message": "UsbManager: Don\u0027t display activity picker if there are no apps available for a device\n\nBUG: 3506988\n\nChange-Id: Iaf3c50b9ba422e6bcd687338db996a4193441c97\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "55acdf7dcd0cf5b9aacfe48808e98056c7d60e5b",
      "tree": "813264191a49825a580873daa5fea758910400f1",
      "parents": [
        "9433fec4c5a1f41b2651059cc1b6a8c219b3b4a5",
        "56194ebec6212e229f4ccdaa4b187166d20013ef"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Mar 02 19:59:07 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 02 19:59:07 2011 -0800"
      },
      "message": "Merge \"Wake screen from external HID peripherals.\""
    },
    {
      "commit": "56194ebec6212e229f4ccdaa4b187166d20013ef",
      "tree": "51276000061ba703b6ddda32ecce3ce10a06f4f5",
      "parents": [
        "05dc66ada6b61a6bdf806ffaa62617ac5394695d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Mar 02 19:23:13 2011 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Mar 02 19:57:07 2011 -0800"
      },
      "message": "Wake screen from external HID peripherals.\n\nAdded some plumbing to enable the policy to intercept motion\nevents when the screen is off to handle wakeup if needed.\n\nAdded a basic concept of an external device to limit the scope\nof the wakeup policy to external devices only.  The wakeup policy\nfor internal devices should be based on explicit rules such as\npolicy flags in key layout files.\n\nMoved isTouchEvent to native.\n\nEnsure the dispatcher sends the right event type to userActivity\nfor non-touch pointer events like HOVER_MOVE and SCROLL.\n\nBug: 3193114\nChange-Id: I15dbd48a16810dfaf226ff7ad117d46908ca4f86\n"
    },
    {
      "commit": "2da0c5826df40d9f528bfe7d2e762c3fbea03f7f",
      "tree": "ba23d0ff87d035f5933c5aa3ba082f985221899d",
      "parents": [
        "f99c91c9cf780f925d493e60e1ec479073580434",
        "54d068ec6af0ee6d261a135400efe6816c6f5ffe"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Mar 02 19:17:06 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 02 19:17:06 2011 -0800"
      },
      "message": "Merge \"Add system wide management of core settings\""
    },
    {
      "commit": "54d068ec6af0ee6d261a135400efe6816c6f5ffe",
      "tree": "066b6a2ef26c1b18c446a46803cf7429c0fe5bae",
      "parents": [
        "5a39c95c004d856b47a844c962b1c2b18f4e96aa"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Mar 02 12:58:40 2011 -0800"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Mar 02 18:22:49 2011 -0800"
      },
      "message": "Add system wide management of core settings\n\nbug:3505060\n\nSince we want to have some settings that are used very frequently\nby many applications (long-press timeout is one example) these should\nbe managed efficiently to reduce lookups from different processes\nbecause in the case of a cache miss a disk I/O is performed. Now\nthe system manages such core settings and propagates them to the\napplication processes.\n\nChange-Id: Ie793211baf8770f2181ac8ba9d7c2609dfaa32a7\n"
    },
    {
      "commit": "aabf823593b25b030decee8c8d31ba5ead2f0343",
      "tree": "ae123768fd9db9f12911965a683de33ca3c54d0c",
      "parents": [
        "acc3944dd16074491885bf0252c456e0ac190168",
        "b98d02b8b29062025fa702b82894944e242fe2e7"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 02 18:20:25 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 02 18:20:25 2011 -0800"
      },
      "message": "Merge \"UsbService: Make sure the USB accessory function is disabled when we disconnect\""
    },
    {
      "commit": "b98d02b8b29062025fa702b82894944e242fe2e7",
      "tree": "d512d9378172d0269d650221f6575664504a251b",
      "parents": [
        "1bdeef34efc4245c8ec47799e2bd0bfa4408ef2b"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 02 17:58:48 2011 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Mar 02 17:58:48 2011 -0800"
      },
      "message": "UsbService: Make sure the USB accessory function is disabled when we disconnect\n\nBUG: 3493041\n\nChange-Id: I95a34742d4b670a13ba5717f0551f3ce40af3c24\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "cbf9cb35bb7064f303c6dd9da4485cd5344b6779",
      "tree": "23a9dbc8b984e52e7b8f0194c4d5c6535858764f",
      "parents": [
        "37b05d7d61cb7e7313736e14ca46c1287c5d1089",
        "de75cb4738376c4cfe15c56aba7cd78d90e3100e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 02 17:19:39 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 02 17:19:39 2011 -0800"
      },
      "message": "Merge \"Fix issue #3400119: API to specify a black background behind a window transition\""
    },
    {
      "commit": "de75cb4738376c4cfe15c56aba7cd78d90e3100e",
      "tree": "17c9f8e9475a88825c2e396a49f424ede8387a11",
      "parents": [
        "0528bc77948e49bd75cfd4082fb8fef3a7238626"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 02 17:11:21 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 02 17:15:58 2011 -0800"
      },
      "message": "Fix issue #3400119: API to specify a black background behind a window transition\n\nThere is now an API, which is used for task switching.\n\nAlso improved how we handle rotation animation when we can\u0027t take a\nscreen shot, to cleanly revert to the old freeze behavior.  This removes\nthe need to special case the emulator.\n\nChange-Id: I7227432a2309370437ec6ac78db02c6f1e7eedd5\n"
    },
    {
      "commit": "05dc66ada6b61a6bdf806ffaa62617ac5394695d",
      "tree": "a7e395476241706de31498185a5c2ccb979bcb54",
      "parents": [
        "e43111fad31ad8e36a66df52a8c6002799996413"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Mar 02 14:41:58 2011 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Mar 02 15:37:57 2011 -0800"
      },
      "message": "Fade out the mouse pointer after inactivity or other events.\n\nFades out the mouse pointer:\n- after 15 seconds of inactivity normally\n- after 3 seconds of inactivity in lights out mode\n- after a non-modifier key down\n- after a touch down\n\nExtended the native Looper to support enqueuing time delayed\nmessages.  This is used by the PointerController to control\npointer fade timing.\n\nChange-Id: I87792fea7dbe2d9376c78cf354fe3189a484d9da\n"
    },
    {
      "commit": "f867706180c0ce374b30769f367df263aaab4e08",
      "tree": "c2d6133712315234080c6603f59aa9b1519ef4e3",
      "parents": [
        "403af5c688eedbe191e7900c1c315286807caf7c",
        "0e99d3bfab99254cc187de127a7a4767f165cde8"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Mar 02 14:20:36 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 02 14:20:36 2011 -0800"
      },
      "message": "am 0e99d3bf: am df33b8c5: Merge \"Check for NTP time as soon as WIFI is connected.\" into honeycomb\n\n* commit \u00270e99d3bfab99254cc187de127a7a4767f165cde8\u0027:\n  Check for NTP time as soon as WIFI is connected.\n"
    },
    {
      "commit": "7e48e76cab10377367b925790cf3a840651009fa",
      "tree": "74833222c8eeb9fd4c53711b61999d30761de74a",
      "parents": [
        "76bb1200c2ea08665f33fb0d54023113c19b8286",
        "e590373ea71251cfffc8f22f011e2e6335dce716"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Mar 02 12:10:51 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 02 12:10:51 2011 -0800"
      },
      "message": "Merge \"Start using NetworkUtils.numericToInetAddress.\""
    },
    {
      "commit": "e590373ea71251cfffc8f22f011e2e6335dce716",
      "tree": "4fb1c57267a51143b6a0ebaf10174ae89280b6c2",
      "parents": [
        "0390191392e62314d9dfeba655f737a0e2594950"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Tue Feb 22 16:00:42 2011 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Wed Mar 02 11:37:32 2011 -0800"
      },
      "message": "Start using NetworkUtils.numericToInetAddress.\n\nGenerates InetAddresses without risking an accidental dns lookup.  For use with supposedly\nnumeric-only ip address strings.\n\nChange-Id: I694f3976ce1c6382854706f6557ea88a289add3a\n"
    },
    {
      "commit": "0528bc77948e49bd75cfd4082fb8fef3a7238626",
      "tree": "325f0ba3b0b07953c73b099f1ea57f3c50ab2b96",
      "parents": [
        "65a63a2b5da5309aac78646d01fc71a03bcf82c6",
        "f02e57bec0d5496555f7dcb8a126268ec46d9d51"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Mar 02 10:19:12 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 02 10:19:12 2011 -0800"
      },
      "message": "Merge \"Fix issue #3431230: \"am\" debugging commands failing on -userdebug builds\""
    },
    {
      "commit": "3dee21eb0f253a7e78572872b8dfc7b5d990a063",
      "tree": "97486f257e38dcbc1654ade0c2c71838e157e283",
      "parents": [
        "79cabf8c855e415cd2528736557da1af1cf6d620",
        "c39bb4aaa7be1b9b0cc9fb0b1f03d54f7609ffeb"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Mar 02 08:50:42 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 02 08:50:42 2011 -0800"
      },
      "message": "Merge \"Switch to returnCode for IPackageDeleteObserver\""
    },
    {
      "commit": "f02e57bec0d5496555f7dcb8a126268ec46d9d51",
      "tree": "40969d63d2f240c92db943916629dd7d5bd3071f",
      "parents": [
        "3cc66b30bf78f1badd94c8db1f8295c4183651ac"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 01 22:21:04 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 01 22:21:04 2011 -0800"
      },
      "message": "Fix issue #3431230: \"am\" debugging commands failing on -userdebug builds\n\nChange-Id: I6b5a8bf68d3bd76c7331ee97bab9a68b5033cb5a\n"
    },
    {
      "commit": "0e99d3bfab99254cc187de127a7a4767f165cde8",
      "tree": "3d60956a536f274ee72928f1de41394dcfdeff3a",
      "parents": [
        "f6d1d87df5a8b85c5129aa952f7652eaedd92645",
        "df33b8c51d431a7c0f7a89ead8dfacdd3660ff48"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Mar 01 15:50:41 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 01 15:50:41 2011 -0800"
      },
      "message": "am df33b8c5: Merge \"Check for NTP time as soon as WIFI is connected.\" into honeycomb\n\n* commit \u0027df33b8c51d431a7c0f7a89ead8dfacdd3660ff48\u0027:\n  Check for NTP time as soon as WIFI is connected.\n"
    },
    {
      "commit": "df33b8c51d431a7c0f7a89ead8dfacdd3660ff48",
      "tree": "5269ff595df065bdab1575f39dda4f2d8a08ee4e",
      "parents": [
        "86b7a59726010e0952b0ede4fd40d933aeb83384",
        "8d394fa8993f7143dee6f894a41be888bdd16bc0"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Mar 01 15:47:57 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 01 15:47:57 2011 -0800"
      },
      "message": "Merge \"Check for NTP time as soon as WIFI is connected.\" into honeycomb"
    },
    {
      "commit": "fd938f323c7507405e18b997173e0b5b2ebe9717",
      "tree": "50920c7b01bc20804d69b25ce19f2a4719fb2c10",
      "parents": [
        "6910f429cdfa000628b82e164131a47a8748c8af",
        "3a28f22eb65c57342749fa9535bc7ff53e550117"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 01 14:36:12 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 01 14:36:12 2011 -0800"
      },
      "message": "Merge \"Fix Issue 14340: Sticky Service killed with onDestroy not called, not restarted.\""
    },
    {
      "commit": "8d394fa8993f7143dee6f894a41be888bdd16bc0",
      "tree": "61fd6fce4eb1a46f78b81049ddc563cca672edda",
      "parents": [
        "9967ce04572e916a5f68ae0f9345f13b35ec20b0"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Mar 01 12:41:04 2011 -0800"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Tue Mar 01 12:41:04 2011 -0800"
      },
      "message": "Check for NTP time as soon as WIFI is connected.\n\nListen for connectivity changes. If WIFI is connected, check if\nwe have recently checked for NTP time. If we haven\u0027t yet checked the\ntime or it has been long enough (a day), then connect to the NTP server\nand get the latest time. Update the time if it is significantly out of sync.\n\nThis doesn\u0027t poll the NTP server every time there is connectivity, only\nif it hasn\u0027t been checked since boot or has been a day.\n\nThis fixes the problem that during SetupWizard, we try to contact the NTP\nserver before there is connectivity and fail. Now, as soon as the user\nchooses a WiFi network to connect to, it will update the time before\ngetting to the Date/Time step. Then as soon as the user corrects the TZ,\nthe date/time should be correct.\n\nBug: 3491920\nChange-Id: I62664156616510b67ecd6a1c24dd838b98d5204f\n"
    },
    {
      "commit": "3a28f22eb65c57342749fa9535bc7ff53e550117",
      "tree": "49ea3a5163a64cec6252c7526ac04014fe504934",
      "parents": [
        "6c2193a7e26c0794f45dfb60d2a0cf6ae776f390"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 01 12:25:54 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 01 12:25:54 2011 -0800"
      },
      "message": "Fix Issue 14340: Sticky Service killed with onDestroy not called, not restarted.\n\nChange-Id: I2804c49ad5669ca89744c6d92ead0c7d21ee31d5\nhttp://code.google.com/p/android/issues/detail?id\u003d14340\n"
    },
    {
      "commit": "6ebc6bde63d3d1591a1fea72e56487388c827aa6",
      "tree": "4ede99f62f7528f561ebda1503f2666cf4a82f2b",
      "parents": [
        "b4948d4d3ff9e4fa42fbfcfa1d11ce08d42eec31",
        "31ad11eb44a1c5316ffb478314f4e5c55bf09d13"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 01 12:00:09 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 01 12:00:09 2011 -0800"
      },
      "message": "Merge \"UsbDeviceSettingsManager: don\u0027t write settings file when not necessary\""
    },
    {
      "commit": "b4948d4d3ff9e4fa42fbfcfa1d11ce08d42eec31",
      "tree": "f77b81513d721edc257260ab3f80aee7b69c2bd7",
      "parents": [
        "04e1a9620f94319c455c9422776adb4a8963f920",
        "7a976a43700a17a29a0671c8456e41ec0a1086b9"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 01 11:59:32 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 01 11:59:32 2011 -0800"
      },
      "message": "Merge \"Fix UsbDeviceSettingsManager locking.\""
    },
    {
      "commit": "04e1a9620f94319c455c9422776adb4a8963f920",
      "tree": "e01ddd770061dc1917ef7365f9743f9a0ff29cf9",
      "parents": [
        "42b3de5833c737c8ec16babeb1f254baf623abfc",
        "c4308f01c965571dc2354107c3574df113e397ee"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 01 11:58:22 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 01 11:58:22 2011 -0800"
      },
      "message": "Merge \"Move USB framework support from android.hardware to android.hardware.usb package\""
    },
    {
      "commit": "2f6409686f4ecced13474db9307fcd33a805b2bf",
      "tree": "ae2182b9cbbcf6b5ab14cf230b972ae026bdf5fe",
      "parents": [
        "6e0e0ec980505c0717d3bf4b1b5e048f25da9c95",
        "ebe606fccd9293674273d5f73246e0e8e6e6ddcf"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Tue Mar 01 11:32:24 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 01 11:32:24 2011 -0800"
      },
      "message": "Merge \"Using AsyncChannel for wifi connectivity\""
    },
    {
      "commit": "31ad11eb44a1c5316ffb478314f4e5c55bf09d13",
      "tree": "56769fe93132706911c9b320e01905281141662f",
      "parents": [
        "7a976a43700a17a29a0671c8456e41ec0a1086b9"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 01 11:02:34 2011 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 01 11:03:19 2011 -0800"
      },
      "message": "UsbDeviceSettingsManager: don\u0027t write settings file when not necessary\n\nChange-Id: I48772f71822e3489f9e6c640985055569a656124\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "7a976a43700a17a29a0671c8456e41ec0a1086b9",
      "tree": "174350b9eded8be9eb06318e75bee4f04f4a04d4",
      "parents": [
        "c4308f01c965571dc2354107c3574df113e397ee"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 01 09:40:07 2011 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 01 09:40:07 2011 -0800"
      },
      "message": "Fix UsbDeviceSettingsManager locking.\n\nChange-Id: I93117ce791de95b0ab95017601f5d90ed5dd7a6a\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "c39bb4aaa7be1b9b0cc9fb0b1f03d54f7609ffeb",
      "tree": "a17b98261c9fa066d13363442585f0a227a29ce7",
      "parents": [
        "051d4430715ea257f0afd124b919a14ced6385b8"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Mon Feb 28 13:27:19 2011 -0800"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Mar 01 09:27:57 2011 -0800"
      },
      "message": "Switch to returnCode for IPackageDeleteObserver\n\nBefore the IPackageDeleteObserver only knew whether the deletion\nsucceeded or failed, but not the reason why.\n\nBug: 2520191\nChange-Id: I1f0d7c04f06c539660b6e17e7e133defb0f61b5b\n"
    },
    {
      "commit": "c4308f01c965571dc2354107c3574df113e397ee",
      "tree": "fa0c8c934147ab99f2ff6aec87edfb7266ba7890",
      "parents": [
        "43cdf9b4191e18b5a4d646d23b06438c0e10b8dd"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 01 08:04:54 2011 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue Mar 01 08:07:20 2011 -0800"
      },
      "message": "Move USB framework support from android.hardware to android.hardware.usb package\n\nChange-Id: I00fd4f0caaa4aebe48f71c576bb211b5f38bf88d\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "c93f67c2b746a6247744c8b50e8a1d5a566694c9",
      "tree": "9e31e6622b18de46611817d447b7311b974aed0f",
      "parents": [
        "fae640b174f0a720690bab31a31dfd2693c67c63",
        "f4ca247158ffb83139d675ac0e1d25239c310be2"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Feb 28 17:05:12 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 28 17:05:12 2011 -0800"
      },
      "message": "Merge \"Add platform features for USB host and USB accessory support.\""
    },
    {
      "commit": "fae640b174f0a720690bab31a31dfd2693c67c63",
      "tree": "e558c98eea382ab59eb1355c6da58456cf530e4e",
      "parents": [
        "a8049111ffdef6b58c32121d4d9d306fa7df3897",
        "02eb8746de2d60563ec2751a34d20923192e4293"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Feb 28 17:04:23 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 28 17:04:23 2011 -0800"
      },
      "message": "Merge \"UsbManager: Enhancements for managing USB devices and accessories\""
    },
    {
      "commit": "f4ca247158ffb83139d675ac0e1d25239c310be2",
      "tree": "04a2d16b602110e22ddd90f8120a2b769b5522d1",
      "parents": [
        "02eb8746de2d60563ec2751a34d20923192e4293"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sun Feb 27 11:23:25 2011 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Feb 28 17:00:46 2011 -0800"
      },
      "message": "Add platform features for USB host and USB accessory support.\n\nAlso removed config_hasUsbHostSupport framework resource, which is now obsolete.\n\nChange-Id: I6f18cc1c4f68085de8b8363e1b5edff79aff404f\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "02eb8746de2d60563ec2751a34d20923192e4293",
      "tree": "7bf0390f0cdfd07857581ed98911fca857979f13",
      "parents": [
        "12511f64a05733d15d1a80a884b7b4711e7dd3b1"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sun Feb 27 09:10:37 2011 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Feb 28 17:00:45 2011 -0800"
      },
      "message": "UsbManager: Enhancements for managing USB devices and accessories\n\nWhen a USB device or accessory is connected, the UsbService now asks the\nuser which application to associate with the device or accessory.\nApplications interested in devices or accessories must specify the\ndevices they work with via meta-data attached to their manifest.\nPermission to communicate with the device is assigned when the user chooses\nthe activity to use for the device.\nThe user has the option of clicking the \"always use this application\" checkbox\nto make the assignment automatic in the future.\nThe user may later clear this preference and revoke permission for an application\nto have permission to communicate with the device by clicking the \"Clear defaults\"\nbutton for the activity in the Manage Applications panel in Settings.\n\nAdded class UsbResolveActivity (a subclass or ResolveActivity for choosing\nan activity for a USB device or accessory)\n\nAdded UsbDeviceManager, which manages the mapping between USB devices/accessories\nand applications, including default applications for devices and accessories,\nand manages application permissions.\n\nAdd interface to allow Settings to clear device and accessory\npreferences and permissions for an application.\n\nRemove obsolete ACCESS_USB permission.\n\nAdd new signatureOrSystem MANAGE_USB permission to allow administrating\npreferences and permissions.\n\nMoved UsbService.java to a \"usb\" subdirectory, along with new classes\nUsbResolveActivity and UsbDeviceManager.\n\nChange-Id: I92554381e9779e68ce380daaee4e1401fb875703\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "23fe005900aab2955052e0c9dc36ca05ea351a1a",
      "tree": "cc85d2f589b4d83f9fbb06559bef035c38641ad6",
      "parents": [
        "ae7fb4887394615b58c4e97fc5b1ad2e04441903",
        "0eb6af892948ba23bf9de5c5a6172c6ec50f8f71"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Mon Feb 28 16:00:22 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 28 16:00:22 2011 -0800"
      },
      "message": "am 0eb6af89: Merge \"Fixing the write of BackgroundData setting, DO NOT MERGE.\" into honeycomb\n\n* commit \u00270eb6af892948ba23bf9de5c5a6172c6ec50f8f71\u0027:\n  Fixing the write of BackgroundData setting, DO NOT MERGE.\n"
    },
    {
      "commit": "ebe606fccd9293674273d5f73246e0e8e6e6ddcf",
      "tree": "c85410d798dad4a8806a2a4dd2c9e1489961ba1f",
      "parents": [
        "f272ad210c6834d92b4b4ddaacd069baedf90dcf"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Thu Feb 24 11:39:15 2011 -0800"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon Feb 28 15:54:51 2011 -0800"
      },
      "message": "Using AsyncChannel for wifi connectivity\n\nChange-Id: Ieee5a3a1a739238d8a6659493684f1be0cbea691\n"
    },
    {
      "commit": "d2ab6a19e0b7a19cf06f62386d09258d0bf1cbd8",
      "tree": "5fb2c01670861b9f9c10b6809a6a55acf13f304e",
      "parents": [
        "a47ef32e8bd8eb944e97e12e3b1fac87f87bcd76"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Mon Feb 28 15:32:41 2011 -0800"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Mon Feb 28 15:32:41 2011 -0800"
      },
      "message": "Fixing the write of BackgroundData setting, DO NOT MERGE.\n\nI outsmarted myself trying to minimize writes and caused no writes to occur.\n\nbug:3485934\nChange-Id: I43b6ebbed3f13277edfb2e28f09cf7b98ea66776\n"
    },
    {
      "commit": "9611f2ea6c962c7eb05a2841d06656745f524097",
      "tree": "528e025774f126d43ada6711087d624fcb377d71",
      "parents": [
        "9b1aa5e80cd1286ed7971fd4d0232588096bfe82"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Mon Feb 28 13:39:38 2011 -0800"
      },
      "committer": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Mon Feb 28 14:53:09 2011 -0800"
      },
      "message": "Small change to AppWidgetProviderInfo  public field name and docs\n\nChange-Id: Ia799cfc1824ccee1f7fd041ae8ecaa1a0395c3f6\n"
    },
    {
      "commit": "99aac7beca18b6d73e40db5e8e49f52f94be638e",
      "tree": "86af865bb91bd3cacaa3360c85247d3272685f69",
      "parents": [
        "12511f64a05733d15d1a80a884b7b4711e7dd3b1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Feb 25 17:33:02 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Feb 28 11:23:18 2011 -0800"
      },
      "message": "You can now specify a custom display size as NxM.\n\nChange-Id: Ieb6df51aab009689f0f19b8887025261c5ceb69f\n"
    },
    {
      "commit": "bbd460d76dc69eca9a14ab1127b95a55429f460a",
      "tree": "f3f181780e271904f5a91f35284a8c33a9fdaa7d",
      "parents": [
        "cd6828e84220c6bdf92bbca12fcd88a8da76387c",
        "6aea1154bae3a0935fdb9b09b2d91d9548232eb0"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sat Feb 26 13:21:05 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Feb 26 13:21:05 2011 -0800"
      },
      "message": "am 6aea1154: DO NOT MERGE: KeyguardManager: Add isKeyguardLocked() and isKeyguardSecure()\n\n* commit \u00276aea1154bae3a0935fdb9b09b2d91d9548232eb0\u0027:\n  DO NOT MERGE: KeyguardManager: Add isKeyguardLocked() and isKeyguardSecure()\n"
    },
    {
      "commit": "6aea1154bae3a0935fdb9b09b2d91d9548232eb0",
      "tree": "206442645528a10d3b0546273e1303f15cbbc482",
      "parents": [
        "2332cd8c675628f3bdd6e46a8dd6da639bd7f76e"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Feb 18 13:23:13 2011 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sat Feb 26 14:32:00 2011 -0500"
      },
      "message": "DO NOT MERGE: KeyguardManager: Add isKeyguardLocked() and isKeyguardSecure()\n\nBUG: 3402847\n\nChange-Id: I7cb199763e8d5386914b4c2173c9e1579b08674c\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "d752c3b3e6c576ed1f18e86a7b18c33dc7c65791",
      "tree": "904a8f1e186aba26518269e3bf3271d765e31897",
      "parents": [
        "53c7b1d544f1b78cc4fb206c74dc52b39b58b258",
        "e7f972122db87dc54e41ed1a6e417534d43bca3a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Feb 25 16:15:27 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 25 16:15:27 2011 -0800"
      },
      "message": "Merge \"Implement issue #3426299: Introduce application \"stopped\" state\""
    }
  ],
  "next": "54a351ed629e7c4adf71dc10bf3eddd653a0d84b"
}
