)]}'
{
  "log": [
    {
      "commit": "b46ed7636be9341b6ce0b158b3d86f34a437e6da",
      "tree": "e3c3a0869e7612afc286c821f5212aa4023b75d5",
      "parents": [
        "e1718de61c20c8d401633f83589f18d2c0c652db"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 02 18:33:15 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 02 19:18:07 2011 -0700"
      },
      "message": "Add new Fragment API for explicitly saving/restoring state.\n\nAlso fix issue #4519821:\nBlank screen displayed on tapping \"Battery Use\" option in the settings\n\nWe weren\u0027t correctly doing the full Activity resume code when coming\nback from delivering a new Intent or result.\n\nAnd fix a fragment problem where we still weren\u0027t correctly restoring\nthe state of list views.  (I think this was from a bad manual-merge\nfrom master.)\n\nChange-Id: If79dc7e998155c39ab8c04781f6c73a82238a9ef\n"
    },
    {
      "commit": "1a84fd1fb7a51f3fe4f8865e1cdd09f3490f696c",
      "tree": "cf9491aedb10c8355e62ae8384db0e9f005beb1c",
      "parents": [
        "19c97d46fb57f87ff45d9e6ea7122b4eb21ede8c"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Thu Jun 02 01:26:32 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Thu Jun 02 15:39:21 2011 -0700"
      },
      "message": "Add a preference panel for mouse speed.\n\nBug: 4124987\nChange-Id: I3ce175d268a1d043cf5878481261b1049a15a149\n"
    },
    {
      "commit": "2762ff3dc864018352362f6d103de471f9529ba6",
      "tree": "336a610d1901f4e3ccb526057bed4d0de8ae674a",
      "parents": [
        "e66763516a9c27c192adaba417616371a1c3c9bf"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 01 21:27:05 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 01 22:20:38 2011 -0700"
      },
      "message": "Add new supports-screen API to set maximum allowed size.\n\nChange-Id: I0a7cd4ba73a4c18558e6daee28963d5fd12c7978\n"
    },
    {
      "commit": "b96cbbd11c4590bec846212c33361e02293f18b5",
      "tree": "ac02f12136339bb608c07d8b26eaae1cddccf792",
      "parents": [
        "ff7622992f39d8e401ab23c5ce6a84f318906e52"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 27 13:40:26 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 27 13:40:26 2011 -0700"
      },
      "message": "Add \"tv\" density for 720p screens.\n\nChange-Id: I028969b007f2fceea66947d77a2ae31ef1d1a630\n"
    },
    {
      "commit": "df6e980e3f63eb0f6f9eb437fa925d5009cd9c44",
      "tree": "5440eeb979427cf2d0be09e067b0dd5c0d62a943",
      "parents": [
        "7a09f72b8850ec22e4ca7fd50aba20ead7666f67"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 26 14:20:23 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 26 14:48:04 2011 -0700"
      },
      "message": "Add new supports-screens attributes for declaring the compatible screens.\n\nChange-Id: I40d57e4354e48accc1027c9f90916ea73eb5190d\nandroid:requiresSmallestWidthDp provides the smallest supported width.\nandroid:compatibleWidthLimitDp provides the largest compatible width.\n"
    },
    {
      "commit": "d0132e8e187ebf69bf4d2d6d0ef0027ff3f7a727",
      "tree": "ad20046d37eeef1968feaaca6b9b3d87f51905f3",
      "parents": [
        "eea0aa25870d49e381567f09abbfb41de52a5a32"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Apr 06 15:33:01 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Wed May 25 14:37:15 2011 -0700"
      },
      "message": "Minor Alt-TAB / Recent Apps Dialog improvements. (DO NOT MERGE)\n\nAlt-TAB should have different semantics from the APP_SWITCH key\nor long-press on HOME.  Accordingly, remove the fallback action\nfor Alt-TAB and initiate the task switching behavior directly\nin the policy.\n\nModified RecentApplicationsDialog to be more precise about the\ninitial modifiers that it considers to be holding the dialog.\n\nThe dialog is now dismissed by a second press on the APP_SWITCH\nkey or by a second long press on HOME.\n\nChange-Id: I07e72dc4e1f3cd8edaf357c1d49e79f60d6d1604\n"
    },
    {
      "commit": "e360bb6bd8ea84b8d37604fc11dfc744b18fb0de",
      "tree": "7e833a630e8108be1345d8595438eea5a30e7173",
      "parents": [
        "1b144e625fb0d34cd680c44cbcfb2deb8a76d4c6"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 20 16:11:04 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 23 15:11:08 2011 -0700"
      },
      "message": "Add \"television\" mode.\n\nChange-Id: Ida1fdb61b036a8b489dbeda196fb4bc82e651b2b\n"
    },
    {
      "commit": "ea2117bdc03316a9292e2344c6fd157c85c13167",
      "tree": "f1bc6b8428311c333b94d08e58c17ede1b2e54d5",
      "parents": [
        "69cb87576ba163b61bb0e6477a3b7c57a9b11d40"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 20 10:37:34 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 20 12:48:22 2011 -0700"
      },
      "message": "Add ParcelFileDescriptor.fromFd() and .adoptFd().\n\nChange-Id: I2fe0429188dc80abaa0c8977f2e43a010e0f4da2\n"
    },
    {
      "commit": "69cb87576ba163b61bb0e6477a3b7c57a9b11d40",
      "tree": "a44be0af3d008409403be133358bdcd628741c01",
      "parents": [
        "b9537db8d9ee27efb4a98415ad2d6b50c1806e5d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 19 18:13:32 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 19 18:23:29 2011 -0700"
      },
      "message": "Add new \"-swNNNdp\" resource qualifier.\n\nChange-Id: I0101e88ca9d8d44138bdcaf571f24b0352f4f6ce\n"
    },
    {
      "commit": "51fb97031f62b1181fc9eb6c636d09a68987d939",
      "tree": "2af22ed218e554dd8c565958e56bb4d6b9686551",
      "parents": [
        "146a0b4522db2d782953a464fe63adcd7e1569c2",
        "19e748a3d1702f911476e103b590a36adefb83ca"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Thu May 19 13:57:03 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 19 13:57:03 2011 -0700"
      },
      "message": "Merge \"DO NOT MERGE: Add custom fragment anims for popping backstack\" into honeycomb-mr2"
    },
    {
      "commit": "19e748a3d1702f911476e103b590a36adefb83ca",
      "tree": "028f40a2c8ff26baaed0e5ec09709c34907628e9",
      "parents": [
        "b7ec3e41a6b3423d1669ae784a8ad8fbe32df29d"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Tue Mar 22 11:35:22 2011 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Thu May 19 13:44:40 2011 -0700"
      },
      "message": "DO NOT MERGE: Add custom fragment anims for popping backstack\n\nThe previous fragment implementation allowed for animations\nduring fragment transitions, but did not account for the\ndifferent behavior of fragments when popping the back stack.\nIn general, you probably don\u0027t want to run the same animation\nfor putting a fragment on the stack as for popping it off, which\nis what happens now. For example, you might fade a fragment out when\nputting it on the stack. But when popping ot off, fading it out\nis probably not the behavior you want.\n\nThe new API (setCustomAnimations() overload with two additional\nparameters) allows developers to specify animations to be run\nin the popping operation. Otherwise, the animations are null and\nthe operation will not be animated.\n\nChange-Id: I53bbc6e6ec4e953b7ecdd99e2452d81857917de2\n"
    },
    {
      "commit": "a88b42d569a91290477d8f5731a2ee43931271da",
      "tree": "bd3b4a2abc8971a62b983651898f0ab0a6c62567",
      "parents": [
        "b7ec3e41a6b3423d1669ae784a8ad8fbe32df29d"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu May 19 11:52:40 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu May 19 12:57:41 2011 -0400"
      },
      "message": "USB: Add method to access raw USB device descriptors\n\nChange-Id: Id5b46ede14a838198a59bdc8ed4732942044cfa8\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "ac8dea12c17aa047e03a358110aeb60401d36aa2",
      "tree": "373ab19dcf21fce62352a6b511855261017649b5",
      "parents": [
        "700ab1c75862babba90f54e02bdc877becd4f4fc"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 20 18:18:51 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 16 11:58:27 2011 -0700"
      },
      "message": "DO NOT MERGE.  Integrate from master: Rework display size access.\n\nApplications now get the display size from the window manager.  No\nbehavior should be changed yet, this is just prep for some real\nchanges.\n\nChange-Id: I47bf8b55ecd4476c25ed6482494a7bcc5fae45d2\n"
    },
    {
      "commit": "9a84983a9fd9959671e102045eaf185b83291269",
      "tree": "7235da3c8ad520b16425fee7984cbcd0cacf9b0b",
      "parents": [
        "f9dd34f4d3203fd50363b3b0247c5d0db6fe2c8f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Apr 07 15:11:57 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 13 18:38:19 2011 -0700"
      },
      "message": "DO NOT MERGE.  Integrate from master: Improve activity manager debug dumps.\n\nActivity manager now does all dump requests into apps\nasynchronously, so it can nicely timeout if there is an\napp problem.  Also lots of general cleanup of the am\ndump output.\n\nChange-Id: I99447b87f77a701af52aeca984d93dfe931f065d\n"
    },
    {
      "commit": "f9dd34f4d3203fd50363b3b0247c5d0db6fe2c8f",
      "tree": "aff70d8e3fd3a2ff17231603758c634c5377fb1a",
      "parents": [
        "738c5e6072459c772064c96233cf59639bbfe2fd"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Apr 19 18:44:03 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 13 18:31:04 2011 -0700"
      },
      "message": "DO NOT MERGE: Integrate from main - Deprecate a bunch of APIs.\n\nAnd clean up some documentation.\n\nChange-Id: I8f06e2fc3bb6c552581b64657e82ba690d524232\n"
    },
    {
      "commit": "16f6e89c2a4bbf73fe15cb2e81c8fec98c7ac831",
      "tree": "41fa80ed8d08aa627ac827c0adbc124d11a2f29a",
      "parents": [
        "0ed2e845db3f6bc7bc12a08ada18363942c2fb3d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Apr 15 19:00:20 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 13 12:42:22 2011 -0700"
      },
      "message": "DO NOT MERGE.  Integrate fragment work from master\n\nBack-port new fragment detach APIs from support lib.\n\nThis allow a much cleaner implementation of things like the\nfragment pager class.\n\nIntegrate from support lib: fix restore of list state.\n\nThe FragmentManager/ListFragment impl was restoring the list\nstate before setting its adapter.  This caused the list view to\nlose the state, since it gets cleared as part of setting the\nadapter.  Now the fragment manager waits on restoring the view\nhierarchy state until after it has done onActivityCreated(),\nat which point we have set the adapter.\n\nIt would be nice to make list view less fragile in this regard,\nbut that is for a different change.\n\nChange-Id: I38606ef7d0b06478995f3fb7726aead67420e172\n"
    },
    {
      "commit": "ebff8f92f13513ce37bd74759eb1db63f2220590",
      "tree": "909da02ab7ff47483e227f032828dbdbe7f959af",
      "parents": [
        "a8138732a01b92f0a40f72050b74a3bd4cf6d215"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 12 18:07:47 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 12 18:39:51 2011 -0700"
      },
      "message": "DO NOT MERGE.  Integrate add new screen width/height in \"dp\" configs.\n\nYou can now specify resource configuration variants \"wNNNdp\"\nand \"hNNNdp\".  These are the minimum screen width/height in \"dp\"\nunits.  This allows you to do things like have your app adjust\nits layout based only on the about of horizontal space available.\n\nThis introduces a new configuration change flag for screen size.\nNote that this configuration change happens each time the orientation\nchanges.  Applications often say they handle the orientation change\nto avoid being restarted at a screen rotation, and this will now\ncause them to be restarted.  To address this, we assume the app can\nhandle this new config change if its target SDK version is \u003c ICS.\n\nChange-Id: I4acb73d82677b74092c1da9e4046a4951921f9f4\n"
    },
    {
      "commit": "a8138732a01b92f0a40f72050b74a3bd4cf6d215",
      "tree": "d8b5e54795d4663251c2229572ea3d58f68d316a",
      "parents": [
        "df9799f0fc3ef04d9b004ebbda44883f85321b24"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 12 15:45:21 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 12 16:26:47 2011 -0700"
      },
      "message": "MR2 is going to be API 13.\n\nChange-Id: I05b65ace073b8731e85b41ac4ae63e2745cb46b5\n"
    },
    {
      "commit": "99ca5cc5c7e5c29740c03401a16fe4dc1242998e",
      "tree": "07ee24ddd90f0abb9357eb4e8c6d8971b0b2567a",
      "parents": [
        "453c0d5f16a09473b0653566973bf8b6a867cf79"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 22 10:44:59 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 22 10:46:42 2011 -0700"
      },
      "message": "Now have a final API 12.\n\nChange-Id: I7475ed7f82e4875c7e51671703821e5735dc1433\n"
    },
    {
      "commit": "edf1fc6ce642c8d0f675795635d223b26d9f825c",
      "tree": "6c6fe44bace79b645e4fd663e8a682f91a014f16",
      "parents": [
        "5dbd0978cd7f2d3ff1e28bbfdef2f757de28e1bc"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 17 18:34:48 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Mar 17 18:34:48 2011 -0700"
      },
      "message": "Whoops, forgot the HONEYCOMB_MR1 constant. :(\n\nIt shouldn\u0027t be a problem to put this in -- it is a static final\nso it doesn\u0027t actually need to be in the on-device system image.\n\nThis is important for the SDK.\n\nChange-Id: Iaa086247d0d65fe708c40fbab506aa60cd3e1396\n"
    },
    {
      "commit": "def35f7a47cde8bf66d4cba4570b289e0e9d625a",
      "tree": "4101430bfb7257571ab92ec9a33fe00a37e7a1cc",
      "parents": [
        "87f50f19eef2e70fcf7294c3b9cd5ca0344b99ee",
        "f8bf3c46f524b1252bf466a351daaef61afdcecb"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Mar 17 10:49:43 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 17 10:49:43 2011 -0700"
      },
      "message": "Merge \"Fix for 4089881. - Add one more parameter in the interface of DrmEvent and its subclasses   DrmInfoEvent and DrmErrorEvent - Send back DrmInfo in the response of async processDrmInfo calls\" into honeycomb-mr1"
    },
    {
      "commit": "f8bf3c46f524b1252bf466a351daaef61afdcecb",
      "tree": "40f222d60751b8278291b5890d7fc3f2fb6a75eb",
      "parents": [
        "3913c131c61288c5b4eedb063d9eb6b6204d2a1f"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Mar 16 10:44:03 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Mar 16 21:36:30 2011 -0700"
      },
      "message": "Fix for 4089881.\n- Add one more parameter in the interface of DrmEvent and its subclasses\n  DrmInfoEvent and DrmErrorEvent\n- Send back DrmInfo in the response of async processDrmInfo calls\n\nChange-Id: Ia9b1a641296629a19ae4ffa7913e6c878fd340f8\n"
    },
    {
      "commit": "e54f66524e8beaa681015c6ac20036a5fbf0aa92",
      "tree": "0467376a91cd09f7d4a3711dae452a30661d16e5",
      "parents": [
        "ff51d29a0bbf7006833ad67b1aa8a52a8a9a2514"
      ],
      "author": {
        "name": "Michael Kolb",
        "email": "kolby@google.com",
        "time": "Wed Mar 16 09:11:51 2011 -0700"
      },
      "committer": {
        "name": "Michael Kolb",
        "email": "kolby@google.com",
        "time": "Wed Mar 16 09:25:23 2011 -0700"
      },
      "message": "deprecate getVisibleTitleHeight\n\n\t  Bug: 4104535\n\nChange-Id: I8a6ef21d38a25848efa28e2c06cf2da0ff7af9c4\n"
    },
    {
      "commit": "221830b93d6f35bcf20db2d34978392b43f44221",
      "tree": "d6820eb7f53c45190f6603e9f95b9dd2d0981157",
      "parents": [
        "3fabad87f6cade6ccf7dc6d716e8b91675982088",
        "015b1ecaec27b7cf5f1a78099d9ae34a0c3169f2"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Mar 14 17:39:43 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 14 17:39:43 2011 -0700"
      },
      "message": "Merge \"Add support for USB accessory serial numbers\" into honeycomb-mr1"
    },
    {
      "commit": "015b1ecaec27b7cf5f1a78099d9ae34a0c3169f2",
      "tree": "3b7a7bca14b9579c6fe647696d4623ad8acb8c71",
      "parents": [
        "9f3f36c95b87aab2c5f7cd6b6e18927f8ebfa9c4"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Mar 14 18:24:35 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Mon Mar 14 20:10:47 2011 -0400"
      },
      "message": "Add support for USB accessory serial numbers\n\nChange-Id: I47b79f091b300ced60bfc61eff2f771139663aae\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "27b277779c89251f2aafcc7a56db95d264900c9d",
      "tree": "9bec6bf81a5b201b570c8d1a3255c50905679d47",
      "parents": [
        "3ec9d06f070db3a8899ad235736abd0ffaf6f578"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Mar 14 12:04:15 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Mar 14 15:29:08 2011 -0700"
      },
      "message": "For issue 4082089\nAdd more info and error events into the DRM framework\n\nChange-Id: I0bb3251c5947fc8e977d478e1ba46b242cb97e9d\n"
    },
    {
      "commit": "9ff6483843bfa23751b1acf32b169fca9ad97f7f",
      "tree": "cfb9d5fc5d2903031167476fb7917329c0db30a2",
      "parents": [
        "9fffd9a8bb73e9b225878686862d49b27e98c659",
        "cf407ad88bef3bc640489b300f23eaa8ea0b724e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 11 18:01:47 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 11 18:01:47 2011 -0800"
      },
      "message": "Merge \"Fix issues #4087362 and #4087356\" into honeycomb-mr1"
    },
    {
      "commit": "62cfeeb821afb2f3d3b78ad93caa13408cd26eac",
      "tree": "e96a73bc962ae854f737f35d355ac0cbea6c3c50",
      "parents": [
        "14c875eac750ca096de439225b1a028b1facc58e"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Mar 11 18:39:03 2011 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Mar 11 18:51:29 2011 -0500"
      },
      "message": "USB: minor cleanup work\n\nBug: 4067029\n\nChange-Id: Icd8f912ab8732b5f770a217b9b3731092597ce02\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "cf407ad88bef3bc640489b300f23eaa8ea0b724e",
      "tree": "e4690beb12fc2a68a7466a08a0a302fa41b2fdb3",
      "parents": [
        "0eb7b697b7c180660647b5cd0cd7dd067f6b6abb"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 11 13:17:57 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Mar 11 13:48:32 2011 -0800"
      },
      "message": "Fix issues #4087362 and #4087356\n\n4087362: Provide a safer way to call DialogFragment.dismiss()\n4087356: PreferenceActivity.invalidateHeaders() can cause\nIllegalStateException: Can not perform this action after onSaveInstanceState\n\nThese are very safe; the first is just a new public API that\nallows you to use an existing feature in DialogFragment, and the\nsecond just uses the version of commit that avoids the failure if\nhappening at a point where the operation would be lost if restored\nfrom the last state (which is no big deal for preferences).\n\nChange-Id: I53971c9fb1efdcd599694cdcd4585b81afc156b8\n"
    },
    {
      "commit": "a75075e1671f57217d8b8bb75b2d9c3a6bab37d8",
      "tree": "72d381b474edda72795dd9c01a02b6097eaddb2b",
      "parents": [
        "c72eb9113a2f3f7886afcecf5c29507e0a3a8266"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Mar 11 11:26:11 2011 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Mar 11 11:26:38 2011 -0500"
      },
      "message": "UsbManager: Hide APIs not needed for USB host or accessory support.\n\nBug: 4067029\n\nChange-Id: Ib63ab95a6571d6a691834bfb583a68d2e4cfd22e\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "acc29cc91be634070c92a807df412ced97b9b375",
      "tree": "0d4f25642cd68ac9d15966129d04ea127665d00d",
      "parents": [
        "364903bac6b9bfde694f1c0c5c40b6a2af628408"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Mar 11 08:18:08 2011 -0500"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Fri Mar 11 10:24:21 2011 -0500"
      },
      "message": "UsbDevice: Move IO related methods to new UsbDeviceConnection class\n\nUsbDevice is now just an immutable parcelable object like UsbInterface and\nUsbEndpoint.\nAll IO related functionality is now contained in UsbDeviceConnection\nand UsbRequest.\n\nBug: 4067029\n\nChange-Id: Ia84da0b512a697acc940eee0c3566711c62e1a68\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": "3de30a4c1e48d92af14154abddd4fb6fe0c6aa13",
      "tree": "78f10c5c5f4f053305dca839be8783a04225783d",
      "parents": [
        "efd3266b719eed5f1b217021c0a9e76e4b274b06"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Mar 09 19:13:11 2011 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Mar 09 19:13:11 2011 -0800"
      },
      "message": "Update API.\n\nNot sure the changes were correctly rebased last time.\n\nChange-Id: If6ab4014f312bef240df60f0b1cd6d923f472836\n"
    },
    {
      "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": "efd3266b719eed5f1b217021c0a9e76e4b274b06",
      "tree": "f76032f2a0bdfdc9910860063455116a9c792687",
      "parents": [
        "9e8e40cb5f8aeb0702002eee60d1ce394bf699ee"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Mar 08 15:13:06 2011 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Mar 09 18:30:28 2011 -0800"
      },
      "message": "Input improvements and bug fixes.\n\nAssociate each motion axis with the source from which it comes.\nIt is possible for multiple sources of the same device to define\nthe same axis.  This fixes new API that was introduced in MR1.\n(Bug: 4066146)\n\nFixed a bug that might cause a segfault when using a trackball.\n\nOnly fade out the mouse pointer when touching the touch screen,\nignore other touch pads.\n\nChanged the plural \"sources\" to \"source\" in several places in\nthe InputReader where we intend to refer to a particular source\nrather than to a combination of sources.\n\nImproved the batching code to support batching events from different\nsources of the same device in parallel.  (Bug: 3391564)\n\nChange-Id: I0189e18e464338f126f7bf94370b928e1b1695f2\n"
    },
    {
      "commit": "ea44c7c71431adbce348cf9ef3f22d9561bb7fc1",
      "tree": "dbc4c7984ed917a530623da954dc11c250462c97",
      "parents": [
        "9e697ee9fc9dcc21348d799e1e0bc83dd3abdb18",
        "85a50ff48b2331913cc87f483eafba9f231c8c8c"
      ],
      "author": {
        "name": "Patrick Scott",
        "email": "phanna@android.com",
        "time": "Wed Mar 09 05:05:21 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 09 05:05:21 2011 -0800"
      },
      "message": "Merge \"Pass the auto login header information to the app.\" into honeycomb-mr1"
    },
    {
      "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": "85a50ff48b2331913cc87f483eafba9f231c8c8c",
      "tree": "a75bba4c918282176649159c3aac039e3990582f",
      "parents": [
        "102930a0deaf8280a65321de0d6c120a638da9e2"
      ],
      "author": {
        "name": "Patrick Scott",
        "email": "phanna@android.com",
        "time": "Tue Jan 25 14:42:12 2011 -0500"
      },
      "committer": {
        "name": "Patrick Scott",
        "email": "phanna@android.com",
        "time": "Tue Mar 08 08:35:54 2011 -0500"
      },
      "message": "Pass the auto login header information to the app.\n\nAdd a new callback to handle auto login requests.\n\nBug: 3367381\nChange-Id: I2ee8038cdf8a4ff9d1d3de0c871a0c60f1769655\n"
    },
    {
      "commit": "102930a0deaf8280a65321de0d6c120a638da9e2",
      "tree": "24296ed0519714186a5b3c764a6073404243756e",
      "parents": [
        "bc8a8e8c926115cb7b3910d016e5cff12b0f7b0a",
        "dfed7c006a2f1c36c45043da7264c0a8a8f12bbf"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Mon Mar 07 23:23:36 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 07 23:23:36 2011 -0800"
      },
      "message": "Merge \"Remove deprecated and unused entryEvicted method.\" into honeycomb-mr1"
    },
    {
      "commit": "6defd2d47e81b206d76430266120294a40592b27",
      "tree": "08690e4360fe67b6cbb1c254bc8f060dad6a0a3b",
      "parents": [
        "6478e4f0b0a6d34251ca0125eb6067f038e344aa"
      ],
      "author": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Thu Mar 03 08:58:05 2011 +0800"
      },
      "committer": {
        "name": "Chia-chi Yeh",
        "email": "chiachi@android.com",
        "time": "Tue Mar 08 05:59:09 2011 +0800"
      },
      "message": "NEW_API: Unhide RTP APIs.\n\nThis change unhides RTP related classes including AudioCodec,\nAudioGroup, AudioStream, and RtpStream. This allows developers\nto control audio streams directly and also makes conference\ncalls possible with the combination of the public SIP APIs.\n\nChange-Id: Idfd4edf65a1cbf3245ec2786fbc03b06438b0fb3\n"
    },
    {
      "commit": "0f73fe1c847f260d52675ffc1ef54b6daf136772",
      "tree": "0875cc55d2d16c5513fe6bc37ab3d423e5be349d",
      "parents": [
        "19960989e2c5ad60e4d05ebb3b31bc25ecd751af",
        "372813031008dd335c9d7abbc1c8d284cbd1b1dd"
      ],
      "author": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Mon Mar 07 12:46:59 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 07 12:46:59 2011 -0800"
      },
      "message": "Merge \"bug:3513950 Rename \"completedDownload\" to \"addCompletedDownload\"\" into honeycomb-mr1"
    },
    {
      "commit": "372813031008dd335c9d7abbc1c8d284cbd1b1dd",
      "tree": "0cdd1b977a76d967ade110d2b92682b1a5de3376",
      "parents": [
        "ec1f1f4cfc6e253cee4320fe33a385d2218a9bb2"
      ],
      "author": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Mon Mar 07 11:25:01 2011 -0800"
      },
      "committer": {
        "name": "Vasu Nori",
        "email": "vnori@google.com",
        "time": "Mon Mar 07 11:51:14 2011 -0800"
      },
      "message": "bug:3513950 Rename \"completedDownload\" to \"addCompletedDownload\"\n\nChange-Id: I28b33a0268309d74fd2512b5bdb599f38ff3a96d\n"
    },
    {
      "commit": "f0210c36218c03dc30e444ef85690dc815097920",
      "tree": "87ec17e932fe4e94182e16314e25369478ffdd75",
      "parents": [
        "0aaa11ed5be45170fb2535a6ce021c92b18d8878",
        "8529745b27877d98a0c76692295a3fcac238b1e6"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Mar 07 11:47:58 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 07 11:47:58 2011 -0800"
      },
      "message": "Merge \"Joystick tweaks. (DO NOT MERGE)\" into honeycomb-mr1"
    },
    {
      "commit": "dfed7c006a2f1c36c45043da7264c0a8a8f12bbf",
      "tree": "eed1643e0291d34fa41014930082053100caa99d",
      "parents": [
        "ef56004420cd9f1cb84f22e20d649ba8f1791dea"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Fri Feb 25 17:57:04 2011 -0800"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Mon Mar 07 09:07:07 2011 -0800"
      },
      "message": "Remove deprecated and unused entryEvicted method.\n\nChange-Id: I30ccf3d798a3ebfc88a1b340efaaacf524d56fae\nhttp://b/3461302\n"
    },
    {
      "commit": "9f5f7af6ccaf14303c109bfd5b2605eac16c46c6",
      "tree": "f56345b5521f7e76d20a984f9470adc266a8293f",
      "parents": [
        "7d83f6020c31c21b84114b35e6303895d082e18d"
      ],
      "author": {
        "name": "Kristian Monsen",
        "email": "kristianm@google.com",
        "time": "Thu Feb 24 11:14:11 2011 +0000"
      },
      "committer": {
        "name": "Kristian Monsen",
        "email": "kristianm@google.com",
        "time": "Mon Mar 07 13:01:28 2011 +0000"
      },
      "message": "Deprecating webkit API\u0027s that might not be supported in the future do not merge\n\nChange-Id: I7ed9498a24aceee529397bbe1ed96a15f834b4eb\n"
    },
    {
      "commit": "8529745b27877d98a0c76692295a3fcac238b1e6",
      "tree": "0327e434025461d9ed376ef6982855fd7f1e5a35",
      "parents": [
        "54bb98698a3550250b332b2f4d756b1a5c7473f5"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Mar 04 13:07:49 2011 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Mar 04 19:12:41 2011 -0800"
      },
      "message": "Joystick tweaks. (DO NOT MERGE)\n\nEnsure that the joystick can always reach -1.0, 0.0 and 1.0 positions\neven when noise filtering is applied.  (Bug: 3514510)\n\nAdd support for a few more standard axes.\n\nAdd additional mapping modes for axes.\nSome axes are inverted from standard interpretation\nor are actually intended to be split into two distict axes\nsuch as left/right trigger controls or accelerator/brake.\n\nAdd key layout file for a G25 racing wheel and XBox 360 controller\nto tweak behavior.  They work fine without them but the axis mappings\nare not ideal.\n\nChange-Id: I0fddd90309af4dc14d35f34fe99ed6e521c0b7c7\n"
    },
    {
      "commit": "78e7684713ddac5e8e3cf69b702cbcb4e473aacd",
      "tree": "8f41ad3154274cf5974040d2a2a19f2d0e2a8fc0",
      "parents": [
        "42424da28b7e2c61d48b13f0daaf2f5b94788c93",
        "b0b225602cc84e0602450a417a562e8f53f29c6b"
      ],
      "author": {
        "name": "Gilles Debunne",
        "email": "debunne@google.com",
        "time": "Fri Mar 04 11:36:17 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 04 11:36:17 2011 -0800"
      },
      "message": "Merge \"getTextRunCursor gets deprecated in SpannableStringBuilder\" into honeycomb-mr1"
    },
    {
      "commit": "b0b225602cc84e0602450a417a562e8f53f29c6b",
      "tree": "6219af43c4f88418ccef686e04b78325b0871970",
      "parents": [
        "6c8d76527c938eb49182a6fd0677ccbc1618e7a8"
      ],
      "author": {
        "name": "Gilles Debunne",
        "email": "debunne@google.com",
        "time": "Thu Mar 03 14:51:39 2011 -0800"
      },
      "committer": {
        "name": "Gilles Debunne",
        "email": "debunne@google.com",
        "time": "Fri Mar 04 11:19:40 2011 -0800"
      },
      "message": "getTextRunCursor gets deprecated in SpannableStringBuilder\n\nChange-Id: I2d408ebff90add7afc242bb01df9ab96c6fc7fa7\n"
    },
    {
      "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": "9225b00a3dc45bdbcfb6adafa4dbbc0cbe9be864",
      "tree": "8c2ec6a6018cdcf6a420bbd3b4694af391a7a2fb",
      "parents": [
        "a454767b09ecb7d25d00beae0e5a1fdd48605c63"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Mar 02 22:50:07 2011 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Mar 02 22:50:35 2011 -0800"
      },
      "message": "Add new ViewConfiguration accessors for key repeat parameters.\n\nChange-Id: I18ea2c510dc85c8f9b68727657ba74298342dd43\n"
    },
    {
      "commit": "acc3944dd16074491885bf0252c456e0ac190168",
      "tree": "ea721481b0a7072f3062780b0eb5fdeaa05b8b90",
      "parents": [
        "5a39c95c004d856b47a844c962b1c2b18f4e96aa",
        "f1ae10640fe152b56465e7e7184731226f95b0dd"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Mar 02 18:18:06 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 02 18:18:06 2011 -0800"
      },
      "message": "Merge \"Add an API to force Views to render their layer.\""
    },
    {
      "commit": "f1ae10640fe152b56465e7e7184731226f95b0dd",
      "tree": "5b4ed6e28009e6e51d8247e1f4de00bee70b8799",
      "parents": [
        "84962f2fe6ce779c583cc54b11a9de2b6a568117"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Mar 02 18:16:04 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Mar 02 18:16:04 2011 -0800"
      },
      "message": "Add an API to force Views to render their layer.\n\nChange-Id: Id5776f3b0880fdf75835f16560a1d03a3175d139\n"
    },
    {
      "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": "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": "a6cbf50c766c461e06aadac1b1954efbdfec564b",
      "tree": "354cf909e80a065bfbde227e609be9d60fbe9441",
      "parents": [
        "f37fccd9d867af5c1ea1770dea64e600fda04500",
        "c9119f5034d36f548bbddd8f60291e24ab4e270b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Feb 28 18:36:48 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 28 18:36:48 2011 -0800"
      },
      "message": "Merge \"Add ParcelFileDescriptor APIs to get raw fd.\""
    },
    {
      "commit": "c9119f5034d36f548bbddd8f60291e24ab4e270b",
      "tree": "040920e1f2474bcc7c8aa460377c976baa684488",
      "parents": [
        "6c2193a7e26c0794f45dfb60d2a0cf6ae776f390"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Feb 28 18:03:26 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Feb 28 18:03:26 2011 -0800"
      },
      "message": "Add ParcelFileDescriptor APIs to get raw fd.\n\nChange-Id: I66ba72ffffd27237e60c9411453eef950ae62705\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": "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": "8f34567c71003505456a9b1a0d461a4e62883d70",
      "tree": "240e21488177c7bcd966a7473c009ca311ca331a",
      "parents": [
        "505312482782a600e997c91712f03f83c7a70428"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Feb 26 13:29:53 2011 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Feb 26 13:35:35 2011 -0800"
      },
      "message": "Add scroll wheel support to TextView.\n\nChange-Id: I6e4258c50b0d754dccf07266ff4b2abcbccd733a\n"
    },
    {
      "commit": "42c5eec0cec615dd7670527395d9d9a332d8b3f2",
      "tree": "3f9677b41d6ba6de98ad8fddc7eab6a112e214be",
      "parents": [
        "affe40af3c53440d8bfed2e14e8f28218200b206",
        "33bbfd2232ea9eaae9a9d87a05a95a430f09bd83"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Feb 25 17:28:50 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 25 17:28:50 2011 -0800"
      },
      "message": "Merge \"Add support for mouse hover and scroll wheel.\""
    },
    {
      "commit": "affe40af3c53440d8bfed2e14e8f28218200b206",
      "tree": "81b8ad2d8453d25f089a1164a42d442f133e7b17",
      "parents": [
        "506b70c17b4bb5d2a720474365c07d37849e257c",
        "7db1b40a03ff04ac8b49b3b53839b3c5d1c6f16a"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Fri Feb 25 17:15:44 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 25 17:15:44 2011 -0800"
      },
      "message": "Merge \"Callback on any removal, not just evictions.\""
    },
    {
      "commit": "506b70c17b4bb5d2a720474365c07d37849e257c",
      "tree": "3f3a5d148c8aaa4e106678f3c14de705d39eaed9",
      "parents": [
        "d752c3b3e6c576ed1f18e86a7b18c33dc7c65791",
        "c0f5d72a985f1e35b4289d8dd8c0f61220df4157"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 25 17:10:00 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 25 17:10:00 2011 -0800"
      },
      "message": "Merge \"Revert the 11.xml part of bug 3438513\""
    },
    {
      "commit": "7db1b40a03ff04ac8b49b3b53839b3c5d1c6f16a",
      "tree": "9410459a90ecbe717c152644ee59397e87de936c",
      "parents": [
        "261f33c12d012fbc1f2fdd3dc8c21933c0798a1b"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Fri Feb 25 16:38:40 2011 -0800"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Fri Feb 25 17:06:34 2011 -0800"
      },
      "message": "Callback on any removal, not just evictions.\n\nDon\u0027t hold locks while running create or remove callbacks. That gets a bit\nugly because it means a create could be unwanted by the time it returns.\n\nChange-Id: I14b2b3ed41a446750f8ee5a7e35cb8d801c4ce6d\nhttp://b/3461302\n"
    },
    {
      "commit": "33bbfd2232ea9eaae9a9d87a05a95a430f09bd83",
      "tree": "88e8e2513676dccf07b9764522a681aae370f020",
      "parents": [
        "d752c3b3e6c576ed1f18e86a7b18c33dc7c65791"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Feb 24 20:55:35 2011 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Feb 25 17:06:07 2011 -0800"
      },
      "message": "Add support for mouse hover and scroll wheel.\n\nDispatch ACTION_HOVER_MOVE and ACTION_SCROLL through the View\nhierarchy as onGenericTouchEvent.  Pointer events dispatched\nthis way are delivered to the view under the pointer.  Non-pointer\nevents continue to be delivered to the focused view.\n\nAdded scroll wheel support to AbsListView, ScrollView,\nHorizontalScrollView and WebView.  Shift+VSCROLL is translated\nto HSCROLL as appropriate.\n\nAdded logging of new pointer events in PointerLocationView.\n\nFixed a problem in EventHub when a USB device is removed that\nresulted in a long stream of ENODEV errors being logged until INotify\nnoticed the device was gone.\n\nNote that the new events are not supported by wallpapers at this time\nbecause the wallpaper engine only delivers touch events.\n\nMake all mouse buttons behave identically.  (Effectively we only\nsupport one button.)\n\nChange-Id: I9ab445ffb63c813fcb07db6693987b02475f3756\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\""
    },
    {
      "commit": "d2e20de64b6de8b6391c63e2f5b02ce7698bf4bf",
      "tree": "f8467e4deac16cdb5a8bc1aca57c97e7b1345e3f",
      "parents": [
        "0277c171283826dce53cc48e8dd66187051227e4"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Fri Feb 25 12:03:37 2011 -0800"
      },
      "committer": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Fri Feb 25 15:10:40 2011 -0800"
      },
      "message": "Adding framework support for resizable widgets\n\n-\u003e Added resizeMode to the widget xml\n-\u003e Fixed an unexposed bug in AppWidgetHost where\n   minWidth and minHeight were never being converted\n   from complex type to dp\n\nChange-Id: Ibbc4fc6542d095623ac2a40694b6a3dbfeb279ad\n"
    },
    {
      "commit": "e7f972122db87dc54e41ed1a6e417534d43bca3a",
      "tree": "8342973439086cceaa3c66fed400bf894abf36de",
      "parents": [
        "56d9353195e4c767e60ecfab1e118d3cc30f3a91"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Feb 24 14:40:20 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Feb 25 14:46:27 2011 -0800"
      },
      "message": "Implement issue #3426299: Introduce application \"stopped\" state\n\nThe package manager now keeps track of whether an application is\nstopped.  There are new intent flags to control whether intent\nfilters in a stopped application will match the intent.  This is\ncurrently used in one place, sending broadcasts, so that stopped\napps can not be launched due to background processes.\n\nThe package manager during first init makes sure no applications\nare in the stopped state.  When new applications are installed,\nthat begin in the stopped state.  When the activity manager is\nlaunching a component of an application, it ensures the application\nis taken out of the stopped state.\n\nThe \"force stop\" button in manage applications will now put an\napplication back in to the stopped state; it can\u0027t go back out\nof the stopped state until one of its components is launched by\nthe activity manager.\n\nThere will probably be a few more places where we need to filter\nstopped applications out of intent matches, but doing this for\nbroadcast is a very big first step.\n\nThis also introduces a new broadcast that is sent to an application\nafter it is replaced with a new .apk.  But only if the app is not\nin the stopped state.  This makes it a lot easier for developers to\nimplement code to get their application back in proper running shape\nafter an upgrade.\n\nFinally another new broadcast is added that is sent to a package\u0027s\ninstaller at the first time it is launched.  This allows the installer\nto tell the package about it being installed only when it is first\nactually used.\n\nChange-Id: I589c53ff0e0ece868fe734ace4439c0d202dca2d\n"
    },
    {
      "commit": "a00f3865f55c5c9cb74510ee2b239d101230133c",
      "tree": "4422efdd9ffd172caaffb576cf81a0b266b76ee5",
      "parents": [
        "11f4ae76f016d72486aedd33cfef47ba41e6592e"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Tue Feb 22 06:34:40 2011 -0800"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Fri Feb 25 06:47:53 2011 -0800"
      },
      "message": "Add ViewPropertyAnimator for easy animation of View properties\n\nChange-Id: I2bc52ca16507d8d20004d2d6823e587791272aac\n"
    },
    {
      "commit": "50fc0e5c1bafb458ae9cd8cca6a3732828e821df",
      "tree": "c6a931f4f8f4239888bf8c1633b0f0f9afd8f23c",
      "parents": [
        "7547a8be941cff4794a276e98752bfcfb2e805d1",
        "a0f8bc51aff98c2e23e73069e447f63397471a0a"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Thu Feb 24 19:37:00 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 24 19:37:00 2011 -0800"
      },
      "message": "Merge \"Remove default constructors from static utility classes.\""
    },
    {
      "commit": "30b1fe07a73d522e97b7140cc227232a0c8c1a1e",
      "tree": "686a7e7e3d467674c193f177c0ceecf556441553",
      "parents": [
        "d5623fab340c65d437eb7b52670eab07ae19a15d",
        "5f3f6ce154ca1a0075f8ca13872d74f935acbe3d"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Feb 24 16:48:38 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 24 16:48:38 2011 -0800"
      },
      "message": "Merge \"Exposing the CalendarView of the DatePicker.\""
    },
    {
      "commit": "a5364ee8942cd9f0546f80f6430812ca2ee59f30",
      "tree": "1f9843d1be07167d0d2f7ec61b00e02b19608718",
      "parents": [
        "7d4da25c5cbc75c7443389a25e7e30d1c2888723"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Feb 24 14:46:04 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Feb 24 16:49:47 2011 -0800"
      },
      "message": "Add an API to control the distance between a View and its camera.\n\nChange-Id: Ibaf4e7dc827933f7ad2bb7ab50c1dcef45fee83c\n"
    },
    {
      "commit": "5f3f6ce154ca1a0075f8ca13872d74f935acbe3d",
      "tree": "3c65a1085925ff151c861c0ef7e2039f98f1d80d",
      "parents": [
        "a28f6f11f22963e3679537e83f243edeaa5ee17c"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Feb 24 15:36:13 2011 -0800"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Feb 24 15:36:19 2011 -0800"
      },
      "message": "Exposing the CalendarView of the DatePicker.\n\nbug:3272194\n\n1. Added a getter to DatePicker.\n\nChange-Id: If0c7fee4ab5f6abf6b12a02dbd5d519c00683115\n"
    },
    {
      "commit": "b607b884bd94d4f75fb4b2ead7457f2027ceb850",
      "tree": "9ff1d84331d0c531cfb68d3e154ab32a25c6e1ed",
      "parents": [
        "c950cf2269bd1cbb874f70a225bd0d776cd126dc",
        "188d00b07ef0b8968868b3489e80dd9f53d3bafa"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Thu Feb 24 14:05:02 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 24 14:05:02 2011 -0800"
      },
      "message": "Merge \"UsbManager: Remove redundant Intent extras from USB device and accessory broadcasts\""
    },
    {
      "commit": "a0f8bc51aff98c2e23e73069e447f63397471a0a",
      "tree": "4a4b5ae01d3320818cf41a95e2939fd9f8b7e54f",
      "parents": [
        "7b76c8d3fc25aedea6edfed9638b008faa2f6ae8"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Thu Feb 24 10:44:33 2011 -0800"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Thu Feb 24 10:46:22 2011 -0800"
      },
      "message": "Remove default constructors from static utility classes.\n\nChange-Id: Id8dc55a30a03e1da87500b66c429de9268033b9e\nhttp://b/3344646\n"
    },
    {
      "commit": "256d603d11a6ecc15550593ff13fb555c2542ca8",
      "tree": "ea2919e23d091e5193de7cee41589f8a74a840cc",
      "parents": [
        "62c7574c02f2d83bafe7fc91bba6dbdf01b92a62",
        "f0d973131389621609dfad5befb9afe8b767e08c"
      ],
      "author": {
        "name": "Kristian Monsen",
        "email": "kristianm@google.com",
        "time": "Thu Feb 24 08:02:34 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 24 08:02:34 2011 -0800"
      },
      "message": "Merge \"Hiding deprecated classes and methods\""
    },
    {
      "commit": "47b8adec3904535c8d8ce2b6e42ecd736f2d90ce",
      "tree": "3aa0807a2963ea256c378bf7dd5200fac9f39484",
      "parents": [
        "81904fa40b501d3907c086e7d4fdc4a3e25cd922"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Feb 23 19:46:33 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Feb 23 19:51:42 2011 -0800"
      },
      "message": "Add a new Camera API to control the camera\u0027s location\n\nChange-Id: Id9a082d2def803eb527e1987875e0d8a22c6e8aa\n"
    },
    {
      "commit": "f0d973131389621609dfad5befb9afe8b767e08c",
      "tree": "bdf1ad034028e2a0bf79470cc1f58eceeaeb7462",
      "parents": [
        "17f49e4f91c04290721dc029b73b9a430f5298d5"
      ],
      "author": {
        "name": "Kristian Monsen",
        "email": "kristianm@google.com",
        "time": "Wed Jan 12 19:15:35 2011 +0000"
      },
      "committer": {
        "name": "Kristian Monsen",
        "email": "kristianm@google.com",
        "time": "Wed Feb 23 23:07:42 2011 +0000"
      },
      "message": "Hiding deprecated classes and methods\n\nThese have been deprecated for more than a yearm so hiding them.\n\nNote that this CL was approved in honeycomb, but moved to MR1:\nhttps://android-git.corp.google.com/g/#change,89487\n"
    },
    {
      "commit": "188d00b07ef0b8968868b3489e80dd9f53d3bafa",
      "tree": "06f0784819432134832e7d20e5a61475e33c16db",
      "parents": [
        "16dc3073a2f06a77d9873e536f633a4adf575fce"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Feb 23 13:14:33 2011 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Feb 23 13:14:33 2011 -0800"
      },
      "message": "UsbManager: Remove redundant Intent extras from USB device and accessory broadcasts\n\nThese extras are also accessable via the UsbDevice and UsbAccessory classes,\nwhich are also included as extras.\nSince you can\u0027t filter Intents based on extras there is no point in duplicating\nthis information as separate extras.\n\nChange-Id: I4c8d1e70d66023a1800b3f8f06118898da6b37af\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "af5b406ad62af6f9d9e9f9f278683fb42015a4a2",
      "tree": "f13e82195eb6afd15018346681f60592a4bd4ba2",
      "parents": [
        "ad788884de1dcac2c979efc57f12c58de156e801"
      ],
      "author": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Tue Feb 22 16:35:13 2011 -0500"
      },
      "committer": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Wed Feb 23 10:46:35 2011 -0500"
      },
      "message": "New flag to open intent in a new tab.\n\nBug:3405773\n\nChange-Id: I363bfbfee90e98cd1e6a57452e599a79637a8555\n"
    },
    {
      "commit": "b153bc9d55d726b59701aa5fd3ec046f866460c4",
      "tree": "4b169e6acf38aca70e0f7562c5b93349de3451f3",
      "parents": [
        "8eb18b114ee96c07940be5ef0228fb38ae4a7a43",
        "363d4913cb9633b811767084381d2c84a1c290be"
      ],
      "author": {
        "name": "Gilles Debunne",
        "email": "debunne@google.com",
        "time": "Tue Feb 22 13:57:36 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 22 13:57:36 2011 -0800"
      },
      "message": "Merge \"Cursor background attribute made public\""
    },
    {
      "commit": "cc0c159e9b3dd4e0f48da0ce3e33d2c68a651413",
      "tree": "7a4e3c578e3e0f2c01fef4d64e721d81c851748e",
      "parents": [
        "6f2fba428ca5e77a26d991ad728e346cc47609ee"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Feb 19 05:07:28 2011 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Feb 19 06:14:21 2011 -0800"
      },
      "message": "Add new hover move action and scroll wheel plumbing.\n\nAdded support for tracking the mouse position even when the mouse button\nis not pressed.  To avoid confusing existing applications, mouse movements\nare reported using the new ACTION_HOVER_MOVE action when the mouse button\nis not pressed.\n\nAdded some more plumbing for the scroll wheel axes.  The values are\nreported to Views but they are not yet handled by the framework.\n\nChange-Id: I1706be850d25cf34e5adf880bbed5cc3265cf4b1\n"
    },
    {
      "commit": "6f2fba428ca5e77a26d991ad728e346cc47609ee",
      "tree": "5dd07c24bd9b474ccfbcba4f63e078598fbd2b50",
      "parents": [
        "b1bdb64d641ac63097619e5ef08d5a25bfdc61bb"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Feb 19 01:08:02 2011 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Feb 19 05:23:10 2011 -0800"
      },
      "message": "Add new axes for joysticks and mouse wheels.\n\nAdded API on InputDevice to query the set of axes available.\nAdded API on KeyEvent and MotionEvent to convert keycodes and axes\nto symbolic name strings for diagnostic purposes.\nAdded API on KeyEvent to query if a given key code is a gamepad button.\nAdded a new \"axis\" element to key layout files to specify the\nmapping between raw absolute axis values and motion axis ids.\nExpanded the axis bitfield to 64bits to allow for future growth.\nModified the Makefile for keyboard prebuilts to run the keymap\nvalidation tool during the build.\nAdded layouts for two game controllers.\nAdded default actions for game pad button keys.\nAdded more tests.\nFixed a bunch of bugs.\n\nChange-Id: I73f9166c3b3c5bcf4970845b58088ad467525525\n"
    },
    {
      "commit": "363d4913cb9633b811767084381d2c84a1c290be",
      "tree": "0fa2763e171be42758c2762f11ac47d8be692691",
      "parents": [
        "3ca6d6bbfe614312ad936bce9ab5805615103267"
      ],
      "author": {
        "name": "Gilles Debunne",
        "email": "debunne@google.com",
        "time": "Fri Feb 18 14:48:29 2011 -0800"
      },
      "committer": {
        "name": "Gilles Debunne",
        "email": "debunne@google.com",
        "time": "Fri Feb 18 16:16:34 2011 -0800"
      },
      "message": "Cursor background attribute made public\n\nSince MR1 will get a new API number.\n\nNew section in public. Assumed MR1 will be version 3.1\n\nChange-Id: I42d33d17abd6f828ece18a2c774acf341a47c321\n"
    },
    {
      "commit": "4afd62b18c52a55371ab923d54f93615ad68fd7a",
      "tree": "6034918377b4128e00d6e4c5752bbd87fd2cc911",
      "parents": [
        "10d63fada8a0e67095422d60b381906ebe5b65ee"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Feb 18 15:02:18 2011 -0800"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Feb 18 15:03:20 2011 -0800"
      },
      "message": "Add an API to listen for window attach/detach events on a View.\n\nFix bug 3312949 - inconsistent state in MenuPopupHelper\n\nChange-Id: Ie802ada3f8de4cf71c92fcc7c6abce9ba85e7b75\n"
    },
    {
      "commit": "6166bacbb0428a400fbf0e8d2fd4f98454eec81b",
      "tree": "93ab3d24496577d27318125a97cc0df37b7bb867",
      "parents": [
        "12669b6c8073defcfae369e9f7b6f879b1ac218e",
        "9e25df44631e3c7881a6816cf26f34ea24055c72"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Thu Feb 17 18:29:38 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 17 18:29:38 2011 -0800"
      },
      "message": "Merge \"Make SIP AuthName APIs public.\""
    },
    {
      "commit": "51510388ee26ac5f3fc662e67f9d8a17f806713a",
      "tree": "6d7fd7bb3127e419c02732e9e499c3ee83f6ecd2",
      "parents": [
        "7cb0d07fcf03150ecd04cc5c2573923dae72a366",
        "d94df45b3d1ab4004ef517acfc56a9310330f8d8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Feb 17 12:14:33 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 17 12:14:33 2011 -0800"
      },
      "message": "Merge \"Rework thumbnail API to not suffer from IPC failures.\""
    },
    {
      "commit": "9e25df44631e3c7881a6816cf26f34ea24055c72",
      "tree": "06a8fab71076f0d90210f7627c1410696d3e696a",
      "parents": [
        "88083d4f2b9c2dc66ba39bd2c4ffa0ff7c1fbcd4"
      ],
      "author": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Thu Feb 10 15:20:41 2011 +0800"
      },
      "committer": {
        "name": "Chung-yih Wang",
        "email": "cywang@google.com",
        "time": "Thu Feb 17 15:06:08 2011 +0800"
      },
      "message": "Make SIP AuthName APIs public.\n\nbug:3326867\nChange-Id: I766e6e28f6ad3e84de2c9e24850d472ad00271cc\n"
    },
    {
      "commit": "45708bf2f03f9f50c22f86cb794c2a088bab1c05",
      "tree": "e08b9a0954795be704c9473d0d31716a98e0cb09",
      "parents": [
        "88083d4f2b9c2dc66ba39bd2c4ffa0ff7c1fbcd4",
        "91c69ab01539f7ba28708f41ec1835cc2920d0a0"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Feb 16 20:00:21 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 16 20:00:21 2011 -0800"
      },
      "message": "Merge \"Add support for arbitrary axes in MotionEvents.\""
    },
    {
      "commit": "d94df45b3d1ab4004ef517acfc56a9310330f8d8",
      "tree": "817f42868f53f4dfd6393726a4049a8c2a4194b6",
      "parents": [
        "6c0dc5a5c1b0b8edd0706f97ed9e8c5d486afdc2"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Feb 16 18:53:31 2011 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Feb 16 18:53:31 2011 -0800"
      },
      "message": "Rework thumbnail API to not suffer from IPC failures.\n\nThumbnails are now requested separately, so we don\u0027t exceed the\nIPC buffer size limit.\n\nAlso implement issue #3349553: Please provide a hook to intercept\nfragment-breadcrumb clicks\n\nAnd maybe fix issue #3439199: Music Notification does not turn on\nwhen app switching out of Music app\n\nChange-Id: Ie939e78cc8ded07b18112760e053185947549f61\n"
    },
    {
      "commit": "88083d4f2b9c2dc66ba39bd2c4ffa0ff7c1fbcd4",
      "tree": "bfce603a9018aaa97496d470fab163fb6ee9011a",
      "parents": [
        "248e330092c148ff194d7742a64c1948e7d19964",
        "652bc96444b0a82d34e6c3766b7862effac11adb"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Feb 16 18:18:10 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 16 18:18:10 2011 -0800"
      },
      "message": "Merge \"Make high performance wifi lock public\""
    },
    {
      "commit": "f7f9d9c39df22ad6929f001f07588469f77e8bf5",
      "tree": "f5b12af320df4d2b6d3c037fe1c2c40056fc200f",
      "parents": [
        "260a13a95edbe41fb8042b96b8c35a8a65546ec0"
      ],
      "author": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Wed Feb 16 15:46:12 2011 -0800"
      },
      "committer": {
        "name": "Jesse Wilson",
        "email": "jessewilson@google.com",
        "time": "Wed Feb 16 17:50:43 2011 -0800"
      },
      "message": "Expose an API to get a bitmap\u0027s size in bytes.\n\nChange-Id: I960c3b02b1ba8d3a8d92aaa98955a159e6f3a228\nhttp://b/3184897\n"
    },
    {
      "commit": "652bc96444b0a82d34e6c3766b7862effac11adb",
      "tree": "9b87050d52869ca1591a655f534c6ee9c674426a",
      "parents": [
        "439f5c6b39fe648da835d4c86dfcffed0f46dd94"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Feb 16 12:13:59 2011 -0800"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Wed Feb 16 14:28:45 2011 -0800"
      },
      "message": "Make high performance wifi lock public\n\ngtalk and sip already use the high perf lock. Improve\nthe comments and make the constant public.\n\nThis will allow applications that use voice or video\nto keep the connection good even when device screen\nis off\n\nChange-Id: I3608cd478175c773bd835b26a686a61b8baf5471\n"
    },
    {
      "commit": "7343bb5f1d6441a882423dd8b17e3029d2178514",
      "tree": "a8154ccb51eb20978e5951b333dedd9a11dc5dca",
      "parents": [
        "44c3109055e6a440b31f9c53a76dbb7dd78c6625",
        "cc687c52a0313b3b42d2960c8ca669cf1d94aae8"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Feb 16 12:56:36 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 16 12:56:36 2011 -0800"
      },
      "message": "Merge \"Deprecate non-X509Certificate SslCertificate constructors\""
    },
    {
      "commit": "cc687c52a0313b3b42d2960c8ca669cf1d94aae8",
      "tree": "6befb17ab310d2aa5371c93a8aa3a851e31722bd",
      "parents": [
        "439f5c6b39fe648da835d4c86dfcffed0f46dd94"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Feb 16 11:40:15 2011 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Feb 16 12:50:56 2011 -0800"
      },
      "message": "Deprecate non-X509Certificate SslCertificate constructors\n\nChange-Id: I45541c48b321fbd6054712c08d8ac64108d32674\n"
    },
    {
      "commit": "984dd8a206e782027c2b0c866aa845e6d236f218",
      "tree": "bc19dd5e86fe963321b06b72b09479a6a6725907",
      "parents": [
        "ca20af0c2990a969f1a793821d2ee239b0310d45",
        "9182d3c4eb1f9065cb33df5a3594969dd0d42acc"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Feb 16 12:42:35 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 16 12:42:35 2011 -0800"
      },
      "message": "Merge \"UsbManager: New APIs for USB accessories\""
    },
    {
      "commit": "b84133740a358ff41f7e50172403f233e1603e68",
      "tree": "be8627bf077eff1ce49c461e79d07037c5ccd453",
      "parents": [
        "d5444802b7be29d385ad8a12d06b966aa940805f",
        "04ddff6905a72d0d39d791eaba33546fb66b15a6"
      ],
      "author": {
        "name": "Andy Stadler",
        "email": "stadler@google.com",
        "time": "Wed Feb 16 12:22:57 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 16 12:22:57 2011 -0800"
      },
      "message": "am 04ddff69: am b1835085: Merge \"@hide DPM global proxy settings\" into honeycomb\n\n* commit \u002704ddff6905a72d0d39d791eaba33546fb66b15a6\u0027:\n  @hide DPM global proxy settings\n"
    },
    {
      "commit": "d26727273d16745ceddc2203121d29c3a9e7733c",
      "tree": "ec40a47275a82ad3e8c0acce90048111dd2a9946",
      "parents": [
        "f79bbc305bdb0c8aa46dd7e621e229b8fd447ab9"
      ],
      "author": {
        "name": "Andy Stadler",
        "email": "stadler@google.com",
        "time": "Wed Feb 16 10:53:33 2011 -0800"
      },
      "committer": {
        "name": "Andy Stadler",
        "email": "stadler@google.com",
        "time": "Wed Feb 16 10:53:33 2011 -0800"
      },
      "message": "@hide DPM global proxy settings\n\nThey don\u0027t work as advertised, so remove from SDK.\n\nBug: 3460938\n\nChange-Id: I87f80ebf38b228a4085630f1c2526c1d86b93dd7\n"
    }
  ],
  "next": "9182d3c4eb1f9065cb33df5a3594969dd0d42acc"
}
