)]}'
{
  "log": [
    {
      "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": "09a31662055605e90d6e81e06437de0d92c7cf95",
      "tree": "d8f1e512fda179895385d873a0240116e1bb2df3",
      "parents": [
        "7b27dc1201b10e40bcd9fbc73482640ccc15a6bf",
        "cc1d9f7942f7e70c240f0cc745840262345f506f"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Mar 08 15:41:24 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 08 15:41:24 2011 -0800"
      },
      "message": "Merge \"Fix issue #3505861: Need to decide large/xlarge screen size limits\" 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": "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": "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": "72b3524eef79abc6680aae713b270cbf3d88be6c",
      "tree": "882019a542ac592bb7619cd196e9018ec221c97b",
      "parents": [
        "73016396993efaa7b4bc23b5e8bf198deb230a2a",
        "f634ded277f246bd9568e9b7dcad40790767c6ab"
      ],
      "author": {
        "name": "Rebecca Schultz Zavin",
        "email": "rebecca@android.com",
        "time": "Thu Mar 03 18:42:55 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 03 18:42:55 2011 -0800"
      },
      "message": "Merge \"Set last event time to previous event batch delivery time to apps\" 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": "f634ded277f246bd9568e9b7dcad40790767c6ab",
      "tree": "dbcebd2019a56b2d301e4264bdf02032d94408f1",
      "parents": [
        "6e71c954faff34b78a2952436b4f48d84a8c20cd"
      ],
      "author": {
        "name": "makarand.karvekar",
        "email": "makarand.karvekar@motorola.com",
        "time": "Wed Mar 02 15:41:03 2011 -0600"
      },
      "committer": {
        "name": "Rebecca Schultz Zavin",
        "email": "rebecca@android.com",
        "time": "Thu Mar 03 17:01:43 2011 -0800"
      },
      "message": "Set last event time to previous event batch delivery time to apps\n\nDetermination of the last event time. Currently, uses\nthe time that the first event in the previous batch that\nwas sent from hardware. This produces inconsistent timing\nintervals for event delivery to apps. Now, use the time that the\nprevious batch was delivered to the application.\n\nOriginal Author: Stephen Moore \u003csteve.moore@motorola.com\u003e\nSigned-off-by: makarand.karvekar \u003cmakarand.karvekar@motorola.com\u003e\n\nChange-Id: I2a3701915702d622dc04fbf4bbd4918a9ebe8856\n"
    },
    {
      "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": "e2e012683d6f35f5eedfd0c39167ea78e32e2650",
      "tree": "9dc51c3b108de52fd7bc374ae79fa88e930282eb",
      "parents": [
        "55acdf7dcd0cf5b9aacfe48808e98056c7d60e5b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Mar 02 20:34:30 2011 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Mar 02 20:34:30 2011 -0800"
      },
      "message": "Only set KeyEvent long press flag when repeat count equals 1.\n\nThis fixes a Gingerbread regression.\n\nBug: 3507021\nChange-Id: I8c2acb35be718fea7e996175c1407e84315d17ef\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": "396f6de6606e44bcbef9548d369e31945dfa46b1",
      "tree": "a445656771a0679ed71938ff3bb9ffaad5475a61",
      "parents": [
        "6c1bebe33e42e584951314116b7b370ebc32aa64",
        "9b3f1521b521fd7248632fed71a81423e479a523"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Mar 02 19:51:04 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 02 19:51:04 2011 -0800"
      },
      "message": "Merge \"- To track the usage of all audio output devices - To track the currently used audio device - The devices are separated as speaker and other audio devices - Provide the collected data to battery application through pullBatteryData()\""
    },
    {
      "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": "f99c91c9cf780f925d493e60e1ec479073580434",
      "tree": "71cca2c3718cc3e2996281a70f15d2da937134ad",
      "parents": [
        "9402a667e90c86947834df172ae5a1db6e49eecb",
        "32ae094d87cbb35f8b31acb7b83b430db62d5925"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Mar 02 18:51:00 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 02 18:51:00 2011 -0800"
      },
      "message": "Merge \"remove some logs\""
    },
    {
      "commit": "32ae094d87cbb35f8b31acb7b83b430db62d5925",
      "tree": "5dd87a38a1afaa31170eb4f8fa2313fd97e2cb8c",
      "parents": [
        "7c4beadf57c893f17efc0550b13498a06958f90c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Mar 02 18:45:50 2011 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Mar 02 18:45:50 2011 -0800"
      },
      "message": "remove some logs\n\nChange-Id: Ia476184048ee419e19330a56dc8e6553189f6a24\n"
    },
    {
      "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": "9b3f1521b521fd7248632fed71a81423e479a523",
      "tree": "0d441152de3df130c3334494289badb20b65d857",
      "parents": [
        "0528bc77948e49bd75cfd4082fb8fef3a7238626"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Feb 24 14:51:45 2011 -0800"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Mar 02 16:53:24 2011 -0800"
      },
      "message": "- To track the usage of all audio output devices\n- To track the currently used audio device\n- The devices are separated as speaker and other audio devices\n- Provide the collected data to battery application through pullBatteryData()\n\nChange-Id: I374c755266b5ac6b1c6c630400f4daf901ea8acc\n"
    },
    {
      "commit": "192f0b0608579650c882f91e9f5842294523bcd0",
      "tree": "bf289be27d1ef955dcc176c607d8988a437e239e",
      "parents": [
        "058f47e8455464d7c9d59297a5d4db026c61eafd",
        "05dc66ada6b61a6bdf806ffaa62617ac5394695d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Mar 02 15:54:42 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 02 15:54:42 2011 -0800"
      },
      "message": "Merge \"Fade out the mouse pointer after inactivity or other events.\""
    },
    {
      "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": "1254169260954c72eefa5fd99a9b2bd9de44efa1",
      "tree": "9e2921282a5e9dbf612f6015ca33c18d4fcc90bb",
      "parents": [
        "a91320e364140ca7d6b33115d83b75f12fba548e",
        "bbc9fd3acabd067c36c5115f3f11547b78b63eaa"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 02 15:19:38 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 02 15:19:38 2011 -0800"
      },
      "message": "Merge \"Fix issue 3388775.\""
    },
    {
      "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": "42b3de5833c737c8ec16babeb1f254baf623abfc",
      "tree": "e2fdba3b7c09ebf19a2559c5cdb4d34ba202d4cf",
      "parents": [
        "7fc013753bdaddd429ffbc13ba33cc405f4ebcee",
        "4bb21c496b2c9427c18b8370dd631339e4e11094"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 01 11:46:15 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 01 11:46:15 2011 -0800"
      },
      "message": "Merge \"Fix issue 3479042.\""
    },
    {
      "commit": "bbc9fd3acabd067c36c5115f3f11547b78b63eaa",
      "tree": "ffac346c09ca19c66fe7a929cff63aa9cd0f06dc",
      "parents": [
        "dbb520e0a0026b58fb6ba8be65ae4754f154feea"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 01 10:28:01 2011 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 01 11:42:43 2011 -0800"
      },
      "message": "Fix issue 3388775.\n\nDo not select A2DP output for media strategy when it is suspended because\nBT SCO is active. Media audio will be routed to speakers or SCO HS\n(depending on phone state and activity on stream VOICE_CALL) which is less\nconfusing than not hearing anything while music progress bar is moving.\n\nChange-Id: Iff8cc1ea9bf9bde0b33035c4d91398db0934b836\n"
    },
    {
      "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": "4bb21c496b2c9427c18b8370dd631339e4e11094",
      "tree": "db4452dbae5ed341dc85fcef513b2359c4a363d4",
      "parents": [
        "dd1ddc3b1626f8bc335b6e54a73e8dc18bc71bb5"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Feb 28 16:52:51 2011 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Feb 28 16:52:51 2011 -0800"
      },
      "message": "Fix issue 3479042.\n\nThe problem is that when an AudioRecord using the resampler is restarted,\nthe resampler state is not reset (as there is no reset function in the resampler).\nThe consequence is that the first time the record thread loop runs, it calls the resampler\nwhich consumes the remaining data in the input buffer and when this buffer is released\nthe input index is incremented over the limit.\n\nThe fix consists in implementing a reset function in the resampler.\n\nA similar problem was also present for playback but unoticed because the track buffer is always\ndrained by the mixer when a track stops. The only problem for playback was that the initial\nphase fraction was wrong when restarting a track after stop (it was correct after a pause).\n\nChange-Id: Ifc2585d685f4402d29f4afc63f6efd1d69265de3\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": "d36d653c1cb9de3de446cc692313b95b883b9106",
      "tree": "b56984097dde708dbda2849f51541c99a07cb2fb",
      "parents": [
        "8f77b413e8a31e508859e9cc257c9543a5b7887d",
        "99aac7beca18b6d73e40db5e8e49f52f94be638e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Feb 28 11:28:38 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 28 11:28:38 2011 -0800"
      },
      "message": "Merge \"You can now specify a custom display size as NxM.\""
    },
    {
      "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": "b732b7b5e8192501360edc15fb8c6399d11fb97d",
      "tree": "a2fab9c785f055c9962e565896d5e4a1bdadc769",
      "parents": [
        "1649d91f781445a78ce09ed5500503fd96eb9113",
        "ce57a7f35344e76689d30f45964d1e37b78280cb"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Feb 28 10:10:38 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 28 10:10:38 2011 -0800"
      },
      "message": "am ce57a7f3: am 6504490c: am dff6b8e7: Merge \"Add --non-constant-id to aapt.\"\n\n* commit \u0027ce57a7f35344e76689d30f45964d1e37b78280cb\u0027:\n  GpsLocationProvider: Clean up HAL initialization/cleanup sequence\n  Fixed GSM encoded network initiated position request\n  Ensuring thread-safe usage of DateFormat.\n  Fixing infinite loop for zero duration.\n  Fix for an infinite loop while scrolling lists.\n  WAPPushManager, WAP Push over SMS message handler\n  Add --non-constant-id to aapt.\n"
    },
    {
      "commit": "ce57a7f35344e76689d30f45964d1e37b78280cb",
      "tree": "880399208681c04fb55a240b9317b65fc135c91b",
      "parents": [
        "e630e5f49ba15005172dceeda7299569b2d2351f",
        "6504490cde3ec5d48321d539e654d1f2072b33f9"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Feb 28 09:51:38 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 28 09:51:38 2011 -0800"
      },
      "message": "am 6504490c: am dff6b8e7: Merge \"Add --non-constant-id to aapt.\"\n\n* commit \u00276504490cde3ec5d48321d539e654d1f2072b33f9\u0027:\n  GpsLocationProvider: Clean up HAL initialization/cleanup sequence\n  Fixed GSM encoded network initiated position request\n  Ensuring thread-safe usage of DateFormat.\n  Fixing infinite loop for zero duration.\n  Fix for an infinite loop while scrolling lists.\n  WAPPushManager, WAP Push over SMS message handler\n  Add --non-constant-id to aapt.\n"
    },
    {
      "commit": "6504490cde3ec5d48321d539e654d1f2072b33f9",
      "tree": "d149151c9f41af11830023ee8b9dd783d13e9383",
      "parents": [
        "a2090bea4824cf153c4d9c735ee779613cf2e3d7",
        "dff6b8e71dda9f5d841fa26408714aec2aef1505"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Mon Feb 28 09:16:38 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 28 09:16:38 2011 -0800"
      },
      "message": "am dff6b8e7: Merge \"Add --non-constant-id to aapt.\"\n\n* commit \u0027dff6b8e71dda9f5d841fa26408714aec2aef1505\u0027:\n  GpsLocationProvider: Clean up HAL initialization/cleanup sequence\n  Fixed GSM encoded network initiated position request\n  Ensuring thread-safe usage of DateFormat.\n  Fixing infinite loop for zero duration.\n  Fix for an infinite loop while scrolling lists.\n  WAPPushManager, WAP Push over SMS message handler\n  Add --non-constant-id to aapt.\n"
    },
    {
      "commit": "191ff092b8e3ac083685f6d22895c716f2c3a79b",
      "tree": "35a0c457cfa8cf80c719e5d003950c83ccd4b6d7",
      "parents": [
        "f272ad210c6834d92b4b4ddaacd069baedf90dcf"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Sun Feb 27 16:41:21 2011 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Sun Feb 27 16:41:21 2011 -0800"
      },
      "message": "Fix bug 3376700 Volume too loud at lowest setting\n\nChange volume attenuation curve to provide more attenuation at\n low volume settings, and finer steps at high volume.\nSee bug entry for link to doc with curve values.\n\nChange-Id: I750548b2161a4c550ef982ba793156e4518119e8\n"
    },
    {
      "commit": "f272ad210c6834d92b4b4ddaacd069baedf90dcf",
      "tree": "439e94ac6d6017371b7a14797588b0f0273a83b7",
      "parents": [
        "47b500385196d11dcc68cf8c541f427d8459dad7",
        "0dc5fdb9b2fd3b3e2ede5e9607bc21423f357a01"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sun Feb 27 16:04:42 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Feb 27 16:04:42 2011 -0800"
      },
      "message": "am 0dc5fdb9: am e630e5f4: am 919853ce: Merge \"Prevent SurfaceFlinger from using layer token 31.\" into gingerbread\n\n* commit \u00270dc5fdb9b2fd3b3e2ede5e9607bc21423f357a01\u0027:\n  Prevent SurfaceFlinger from using layer token 31.\n"
    },
    {
      "commit": "0dc5fdb9b2fd3b3e2ede5e9607bc21423f357a01",
      "tree": "ac13c0be9758579d467da88f8e7675daee85146a",
      "parents": [
        "710c510b36a2d260736ca6d036365b18c86b1774",
        "e630e5f49ba15005172dceeda7299569b2d2351f"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sun Feb 27 15:55:21 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Feb 27 15:55:21 2011 -0800"
      },
      "message": "am e630e5f4: am 919853ce: Merge \"Prevent SurfaceFlinger from using layer token 31.\" into gingerbread\n\n* commit \u0027e630e5f49ba15005172dceeda7299569b2d2351f\u0027:\n  Prevent SurfaceFlinger from using layer token 31.\n"
    },
    {
      "commit": "e630e5f49ba15005172dceeda7299569b2d2351f",
      "tree": "891d6bd6a98c70e37e3993fec0ae906df6ac3bc3",
      "parents": [
        "6c5d9a0622ed33be8549f8d4dcdf597b0dc499cf",
        "919853ce244f853966817d4adb2f3b7b6e4bbe74"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sun Feb 27 15:44:36 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Feb 27 15:44:36 2011 -0800"
      },
      "message": "am 919853ce: Merge \"Prevent SurfaceFlinger from using layer token 31.\" into gingerbread\n\n* commit \u0027919853ce244f853966817d4adb2f3b7b6e4bbe74\u0027:\n  Prevent SurfaceFlinger from using layer token 31.\n"
    },
    {
      "commit": "919853ce244f853966817d4adb2f3b7b6e4bbe74",
      "tree": "733ed1b30ade379432e83e72208bd357cbe37584",
      "parents": [
        "092238916fd5d10090c0bcad33644778a1f366e7",
        "c86d904b71be950ad973d803d1a19c6cd13be669"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sun Feb 27 15:27:22 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Feb 27 15:27:22 2011 -0800"
      },
      "message": "Merge \"Prevent SurfaceFlinger from using layer token 31.\" into gingerbread"
    },
    {
      "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": "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": "54a351ed629e7c4adf71dc10bf3eddd653a0d84b",
      "tree": "ebd007aa15bb41a303a082850b956c6744f012cb",
      "parents": [
        "7532d9972cd59025fa76691f8309fd0857bdcb20",
        "d2e20de64b6de8b6391c63e2f5b02ce7698bf4bf"
      ],
      "author": {
        "name": "Adam Cohen",
        "email": "adamcohen@google.com",
        "time": "Fri Feb 25 15:28:29 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 25 15:28:29 2011 -0800"
      },
      "message": "Merge \"Adding framework support for resizable widgets\""
    },
    {
      "commit": "7532d9972cd59025fa76691f8309fd0857bdcb20",
      "tree": "b73ba439df89e13deb11cf21a65afaa9a5fe78de",
      "parents": [
        "e2ed9562fc6c88dfdeb924063f5d0ccea1912754",
        "db4afae70aa404f20c271965a8d7c1e2d64cb818"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Feb 25 15:20:30 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 25 15:20:30 2011 -0800"
      },
      "message": "Merge \"Fixing the write of BackgroundData setting.\""
    },
    {
      "commit": "04ee429e8907515c35ed4c6bc8189389af5e33fb",
      "tree": "6a5f25602cc7577c6db8a3e183df818c2894c29d",
      "parents": [
        "45b1adf94776856447cad7c591614d31e572dbc8",
        "22bc69de50ebd9e6437eb3775ce6b06b8c6052dc"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Fri Feb 25 15:17:17 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 25 15:17:17 2011 -0800"
      },
      "message": "Merge \"Fixing build\""
    },
    {
      "commit": "22bc69de50ebd9e6437eb3775ce6b06b8c6052dc",
      "tree": "1477177e96417e37a28f693189ebc7446b5cd0c4",
      "parents": [
        "84bbb020217adcdfe0694c44ccab57e208ffde16"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Fri Feb 25 15:13:38 2011 -0800"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Fri Feb 25 15:14:40 2011 -0800"
      },
      "message": "Fixing build\n\nChange-Id: I3d60c115190a6e478777229d4851dedc78111c39\n"
    },
    {
      "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": "541466f6d6a5b4f4bcb94c5154ac3971ad8c3f3f",
      "tree": "c35f18a73bc988084ec69ebfed104d2d726ae4a9",
      "parents": [
        "75321ebf79ffc7613babfb644f32cb5f9d7b30d7",
        "84bbb020217adcdfe0694c44ccab57e208ffde16"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Fri Feb 25 14:30:37 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 25 14:30:37 2011 -0800"
      },
      "message": "Merge \"Fixing issue where RemoteViewsService.onDestroy() was never being called.\""
    },
    {
      "commit": "84bbb020217adcdfe0694c44ccab57e208ffde16",
      "tree": "35b5e3e319a134a82ed526742ce3e8ac8d91a329",
      "parents": [
        "e4ce73763de01a6d3e0281ad90f6eca08d455f10"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Mon Feb 21 13:57:45 2011 -0800"
      },
      "committer": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Fri Feb 25 14:06:47 2011 -0800"
      },
      "message": "Fixing issue where RemoteViewsService.onDestroy() was never being called.\n\nChange-Id: I15ad04eee18bc3e09d4846c7f2f2d2d8d168e518\n"
    },
    {
      "commit": "db4afae70aa404f20c271965a8d7c1e2d64cb818",
      "tree": "4c2ae5c3efa754f1f45ac53f1db9484f929d59c5",
      "parents": [
        "66d16910a84c9a67d854cf1d2d78cee94641be1f"
      ],
      "author": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Feb 25 13:44:09 2011 -0800"
      },
      "committer": {
        "name": "Robert Greenwalt",
        "email": "rgreenwalt@google.com",
        "time": "Fri Feb 25 13:44:09 2011 -0800"
      },
      "message": "Fixing the write of BackgroundData setting.\n\nI outsmarted myself trying to minimize writes and caused no writes to occur.\n\nbug:3485934\nChange-Id: I292e6837d29903a21abb6e001d25d96a4cdc18ec\n"
    },
    {
      "commit": "2b8bcfe5b74e1a34d136f4ff46e3c94397f38f82",
      "tree": "844f05bd2168e872f5e2d8a0e49227fd665c5d20",
      "parents": [
        "66d16910a84c9a67d854cf1d2d78cee94641be1f"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Thu Feb 24 17:58:51 2011 -0800"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Thu Feb 24 18:23:36 2011 -0800"
      },
      "message": "LTE Changes for Telephony including Multiple PDN support and IPV6 support\n\nAdded init for CDMAPhone.java\n\nChange-Id: I2392b5ad3382ee1993537b8477ef00dd036c6fe9\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\""
    }
  ],
  "next": "6588c7cf73a9d09cad1fa5d4e558a55a5e5e18df"
}
