)]}'
{
  "log": [
    {
      "commit": "05bd19f608705363b4e705af8a2d2a8be05f5719",
      "tree": "5516a5fa9652b0a0066d0ee6d10604c8aea962bf",
      "parents": [
        "4f7adcf76a6f97076c05720d9c20a221a57692cb",
        "8b02b994348431dca6979fc0f03bf9787164a2a0"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 14 09:44:47 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 14 09:44:47 2012 -0800"
      },
      "message": "Merge \"Fix races related to volume and mute\""
    },
    {
      "commit": "4f7adcf76a6f97076c05720d9c20a221a57692cb",
      "tree": "9b7b6e374d61861cee5b9bf0da389b7f0b2d0d52",
      "parents": [
        "c87b0084e3dbf5c0862d29f039ee908bccf39e9d",
        "b3db213eb55acb661e4b9ea40bcc00af4b76fab9"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 14 09:42:32 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 14 09:42:32 2012 -0800"
      },
      "message": "Merge \"Update comments\""
    },
    {
      "commit": "c87b0084e3dbf5c0862d29f039ee908bccf39e9d",
      "tree": "c6c3c9131d6684904f103231c635b1a8f069ef48",
      "parents": [
        "f4e1bdc13e0c9bb6352e458bef283dfc7165e23f",
        "bcca79acb1ed31238a80079930bc69f8b9d8cceb"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Tue Feb 14 09:19:59 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 14 09:19:59 2012 -0800"
      },
      "message": "Merge \"Refactor animation code in new Draw() method into its own method.\""
    },
    {
      "commit": "b3db213eb55acb661e4b9ea40bcc00af4b76fab9",
      "tree": "53cdccc6ea5bfd7a549b67ac15dcd66e2735e01d",
      "parents": [
        "d23d2b1662dc61222541310f7297cbee4e8b2b9d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 19 08:59:58 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 14 09:17:59 2012 -0800"
      },
      "message": "Update comments\n\nWe no longer put the filename at start of file.\n\nChange-Id: Ic435b159a23105681e3d4a6cb1ac097bc853302e\n"
    },
    {
      "commit": "bcca79acb1ed31238a80079930bc69f8b9d8cceb",
      "tree": "6ff5f2f8ad4ac1b85353ed55d33eb9fe10e9aa46",
      "parents": [
        "4212d3fc736712d6e5fb69d5067ce8d9a83806ef"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Tue Feb 14 08:45:14 2012 -0800"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Tue Feb 14 09:16:39 2012 -0800"
      },
      "message": "Refactor animation code in new Draw() method into its own method.\n\nOngoing cleanup of View drawing code, continuation of drawChild() refactoring.\n\nChange-Id: I6d7383bb858d39ced6917d559defe7713e53de38\n"
    },
    {
      "commit": "f4e1bdc13e0c9bb6352e458bef283dfc7165e23f",
      "tree": "686bacdffabc2bf4e88b64808e97ddb431e5f6aa",
      "parents": [
        "150d238f3a5218846c5f16e64958079d22ac11c4",
        "6c9ddd2cbbdf59eaa1bdd83e7b6b0bc7d32bf7ca"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 14 09:09:03 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 14 09:09:03 2012 -0800"
      },
      "message": "Merge \"Remove dead code AudioTrack::getLoop\""
    },
    {
      "commit": "150d238f3a5218846c5f16e64958079d22ac11c4",
      "tree": "50ca8fd00050edd53f63896fabe0c9fa60886375",
      "parents": [
        "d23d2b1662dc61222541310f7297cbee4e8b2b9d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Feb 08 14:04:28 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 14 09:06:20 2012 -0800"
      },
      "message": "Use size_t and ssize_t with Vector\n\nUse size_t with size() and ssize_t with indexOfKey().  Exception:\nuse ssize_t for backwards loops, and indices that are overloaded as a\nmarker or error code.\n\nChange-Id: Ibf2a360af4539b72b09c818dda22ea2a0de92431\n"
    },
    {
      "commit": "d23d2b1662dc61222541310f7297cbee4e8b2b9d",
      "tree": "4f62a6a7f8a688ba9ccb30c1adca7b375c3045f8",
      "parents": [
        "c26b3a7f12da9f5d495378749a098811a29daf85",
        "6a20b26d99d40b32a711e6fd5da51da73949aa73"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 14 09:01:04 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 14 09:01:04 2012 -0800"
      },
      "message": "Merge \"AudioRecord and AudioTrack client tid\""
    },
    {
      "commit": "c26b3a7f12da9f5d495378749a098811a29daf85",
      "tree": "b80525bfb8f5e1384eb48a0a8f47da4584a2e3b1",
      "parents": [
        "4212d3fc736712d6e5fb69d5067ce8d9a83806ef",
        "128dfa514818399ff8b5fde56fa487374f6fd504"
      ],
      "author": {
        "name": "Ramanan Rajeswaran",
        "email": "ramanan@google.com",
        "time": "Tue Feb 14 07:36:53 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Feb 14 07:36:53 2012 -0800"
      },
      "message": "am 128dfa51: (-s ours) Merge \"DO NOT MERGE\" into ics-scoop-plus-aosp\n\n* commit \u0027128dfa514818399ff8b5fde56fa487374f6fd504\u0027:\n  DO NOT MERGE\n"
    },
    {
      "commit": "128dfa514818399ff8b5fde56fa487374f6fd504",
      "tree": "caaee5e70673bd0d404a2c0addb6864f826b2342",
      "parents": [
        "6466f400a40224dc113eb6d06009a1c655151045",
        "68de7f5439cad8ba3d378adc8a68cef7127cfc9b"
      ],
      "author": {
        "name": "Ramanan Rajeswaran",
        "email": "ramanan@google.com",
        "time": "Tue Feb 14 07:35:13 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 14 07:35:13 2012 -0800"
      },
      "message": "Merge \"DO NOT MERGE\" into ics-scoop-plus-aosp"
    },
    {
      "commit": "6a20b26d99d40b32a711e6fd5da51da73949aa73",
      "tree": "4f62a6a7f8a688ba9ccb30c1adca7b375c3045f8",
      "parents": [
        "4212d3fc736712d6e5fb69d5067ce8d9a83806ef"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 02 10:56:47 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 14 07:30:48 2012 -0800"
      },
      "message": "AudioRecord and AudioTrack client tid\n\nInform AudioFlinger of the tid of the callback thread.\n\nChange-Id: I670df92dd06749b057238b48ed1094b13aab720b\n"
    },
    {
      "commit": "4212d3fc736712d6e5fb69d5067ce8d9a83806ef",
      "tree": "b80525bfb8f5e1384eb48a0a8f47da4584a2e3b1",
      "parents": [
        "a9daa164a58fc70d08702787e69a56212f5ad8c9",
        "64a48c1d3daca9e0565f2aa4d56f6e94ea073d9b"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Tue Feb 14 06:20:16 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 14 06:20:16 2012 -0800"
      },
      "message": "Merge \"Refactor ViewGroup.drawChild() into View.draw()\""
    },
    {
      "commit": "a9daa164a58fc70d08702787e69a56212f5ad8c9",
      "tree": "15355c230009339ff7248260865c84030f44fb26",
      "parents": [
        "b35b9a8642365921a185eab5e8d4716f247fed85",
        "58aedbc9bea13415e2d42cf7c9fe8a7efd243e66"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Feb 13 20:38:24 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 20:38:24 2012 -0800"
      },
      "message": "Merge \"Fix possible races in vsync infrastructure.\""
    },
    {
      "commit": "58aedbc9bea13415e2d42cf7c9fe8a7efd243e66",
      "tree": "c25651216fd10f0cc3cb36401d499556d041ed7c",
      "parents": [
        "0952c30ac279d5f4cdc032fcbafa372213aa6d86"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Feb 13 20:15:01 2012 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Feb 13 20:34:38 2012 -0800"
      },
      "message": "Fix possible races in vsync infrastructure.\n\nApplications sometimes crashed on exit due to the display event\nreceiver pipe apparently being closed while still a member of the\nLooper\u0027s epoll fd set.\n\nThis patch fixes a few different possible races related to\nthe display event receiver lifecycle.\n\n1. The receiver used to play a little dance with the Looper,\nregistering and unregistering its callback after each vsync\nrequest.  This code was a holdover from a time before the\nsurface flinger supported one-shot vsync requests, so we can\nget rid of it and make things a lot simpler.\n\n2. When the Choreographer is being accessed from outside the UI\nthread, it needs to take great care that it does not touch\nthe display event receiver.  Bad things could happen if the receiver\nis handling a vsync event on the Looper and the receiver is\ndisposed concurrently.\n\n3. It was possible for the Choreographer to attempt to dispose\nthe receiver while handling a vsync message.  Now we defer disposing\nthe receiver for a little while, which is also nice because we\nmay be able to avoid disposing the receiver altogether if we find\nthat we need it again a little while later.\n\nBug: 5974105\nChange-Id: I77a158f51b0b689af34d07aee4245b969e6260d6\n"
    },
    {
      "commit": "b35b9a8642365921a185eab5e8d4716f247fed85",
      "tree": "de7273875bceff3f4854de0bdf4eeed0141f429e",
      "parents": [
        "6ae14555f945a1a0fc04d6acc0131254c9b2c2e2",
        "6466f400a40224dc113eb6d06009a1c655151045"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Feb 13 20:02:50 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 13 20:02:50 2012 -0800"
      },
      "message": "am 6466f400: am fca4ff38: am eaf2617f: am 472512f6: Merge \"Fix incorrect prototype for JNI call\"\n\n* commit \u00276466f400a40224dc113eb6d06009a1c655151045\u0027:\n  Fix incorrect prototype for JNI call\n"
    },
    {
      "commit": "6466f400a40224dc113eb6d06009a1c655151045",
      "tree": "d075d1abfaa053d581ae1c457f35ffa1a14d3290",
      "parents": [
        "8885596a9109794ebd61e6a91e5199aa1750ed8c",
        "fca4ff3851508d9d2c414aa535a86d7ac0eb5e72"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Feb 13 20:00:40 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 13 20:00:40 2012 -0800"
      },
      "message": "am fca4ff38: am eaf2617f: am 472512f6: Merge \"Fix incorrect prototype for JNI call\"\n\n* commit \u0027fca4ff3851508d9d2c414aa535a86d7ac0eb5e72\u0027:\n  Fix incorrect prototype for JNI call\n"
    },
    {
      "commit": "fca4ff3851508d9d2c414aa535a86d7ac0eb5e72",
      "tree": "d467b81619595a86207ba3ebc88465cc92d659e0",
      "parents": [
        "3ded587cc199d4ba592e675dc47fb80a28d1dacd",
        "eaf2617fc20dd6484722edc9df41faf6e91d73cc"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Feb 13 19:58:09 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 13 19:58:09 2012 -0800"
      },
      "message": "am eaf2617f: am 472512f6: Merge \"Fix incorrect prototype for JNI call\"\n\n* commit \u0027eaf2617fc20dd6484722edc9df41faf6e91d73cc\u0027:\n  Fix incorrect prototype for JNI call\n"
    },
    {
      "commit": "eaf2617fc20dd6484722edc9df41faf6e91d73cc",
      "tree": "4636be449efadb5e81aa55792c26920accaa86cf",
      "parents": [
        "07bebe8b12555ea0fb57729e8ee2e7efc343e7e2",
        "472512f6970fa170e2e1a3e1c24ac2b742e2e6b6"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Feb 13 19:55:52 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 13 19:55:52 2012 -0800"
      },
      "message": "am 472512f6: Merge \"Fix incorrect prototype for JNI call\"\n\n* commit \u0027472512f6970fa170e2e1a3e1c24ac2b742e2e6b6\u0027:\n  Fix incorrect prototype for JNI call\n"
    },
    {
      "commit": "6ae14555f945a1a0fc04d6acc0131254c9b2c2e2",
      "tree": "bb4fc736fa6d978146fd9beabe455a352b02e992",
      "parents": [
        "4535e0c765654574c6244b97385ee25f0584bcae",
        "2995f95f0d13de9989e9998401468d7988e18896"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Mon Feb 13 18:38:54 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 18:38:54 2012 -0800"
      },
      "message": "Merge \"fix build\""
    },
    {
      "commit": "2995f95f0d13de9989e9998401468d7988e18896",
      "tree": "9d853e77d404509eb00079506d5ce63a620a0672",
      "parents": [
        "06a240e826107b32f1ebe305b0add1b72ef801ee"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Mon Feb 13 18:36:12 2012 -0800"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Mon Feb 13 18:36:12 2012 -0800"
      },
      "message": "fix build\n\nremove extra import\n\nChange-Id: Ia3f764e87bc412ec65da82f7ffd5c21f508229c4\n"
    },
    {
      "commit": "4535e0c765654574c6244b97385ee25f0584bcae",
      "tree": "30b48d24b9555c095793b097e4dfdbd423721103",
      "parents": [
        "96d2ababf5c9a8ccd42d67587a62637a18dc1beb",
        "af99ce7964cb36ec37f98244e3ea5f635967122a"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Mon Feb 13 18:15:57 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 18:15:57 2012 -0800"
      },
      "message": "Merge \"use hard coded WebViewProperties.gfxUseMinimalMemory\""
    },
    {
      "commit": "af99ce7964cb36ec37f98244e3ea5f635967122a",
      "tree": "5bb4195fb35d8dd051ac492367a9db92e6f81fc4",
      "parents": [
        "06a240e826107b32f1ebe305b0add1b72ef801ee"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Mon Feb 13 18:14:02 2012 -0800"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Mon Feb 13 18:14:02 2012 -0800"
      },
      "message": "use hard coded WebViewProperties.gfxUseMinimalMemory\n\nWebViewProperties is package private to browser\n\nChange-Id: I33e4b5f42c748bb6b8a1f730be140d6fd73059b5\n"
    },
    {
      "commit": "96d2ababf5c9a8ccd42d67587a62637a18dc1beb",
      "tree": "1da907f347d0ddb34deae83340371410d4b71021",
      "parents": [
        "ccdc6a6accdc898ade946b6aada6f15f45192b98",
        "330f676b7e282331f6987ca47526d2806a487457"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Mon Feb 13 18:06:22 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 18:06:22 2012 -0800"
      },
      "message": "Merge \"Revert \"Revert \"Test initialization of constant array exports.\"\"\""
    },
    {
      "commit": "ccdc6a6accdc898ade946b6aada6f15f45192b98",
      "tree": "c83fcafd67fac9d0d09ecb73a1265437cbc8dcb9",
      "parents": [
        "06a240e826107b32f1ebe305b0add1b72ef801ee",
        "a676ad7e34c9afbaafaeca8c3fe96e95c518828e"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Feb 13 18:03:44 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 18:03:44 2012 -0800"
      },
      "message": "Merge \"New debugging tool in adb shell dumpsys gfxinfo\""
    },
    {
      "commit": "a676ad7e34c9afbaafaeca8c3fe96e95c518828e",
      "tree": "4a48c68a0359e4c6776761b55fc5f2e51317a68d",
      "parents": [
        "75400e775e7f291720aa43fbe6bf2b4ab41265b1"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Feb 13 17:47:10 2012 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Feb 13 17:47:10 2012 -0800"
      },
      "message": "New debugging tool in adb shell dumpsys gfxinfo\n\nThis tool lets you visualize the time it took, in ms, to:\n- Build display lists (\"Draw\" phase)\n- Process display lists (\"Process\" phase)\n- Swap GL buffers (\"Execute\" phase)\n\nTo use this tool:\n- adb shell setprop hwui.profile true\n- adb shell dumpsys gfxinfo \u003cprocess name\u003e\n- Copy the profile data and paste it in a spreadsheet\n- Generate a graph (stacked graph) and enjoy\n\nChange-Id: I7840c0ea0f153550425aa798e3ada2f357688cf5\n"
    },
    {
      "commit": "06a240e826107b32f1ebe305b0add1b72ef801ee",
      "tree": "6de463d19a5fffcd4c4263e43c18fb7898b1aa3e",
      "parents": [
        "94355ed44a88d619f94948285a8dbe51ed7a7cb0",
        "c978c560c851d5f2d50ba406fb184841b984ac1f"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Mon Feb 13 17:39:08 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 17:39:08 2012 -0800"
      },
      "message": "Merge \"Increase transfer queue size for DRT\""
    },
    {
      "commit": "c978c560c851d5f2d50ba406fb184841b984ac1f",
      "tree": "7171cf9d7491109532745677c7aee4f0601bd15e",
      "parents": [
        "3be5c8565154c9a6aa7abf0a0d61eaecf114b450"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Mon Feb 13 17:15:57 2012 -0800"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Mon Feb 13 17:37:49 2012 -0800"
      },
      "message": "Increase transfer queue size for DRT\n\nTo maintain the baseline, DRT app should use the same\ntransfer queue size as before.\n\nBug: 6008123\n\nChange-Id: I143ebf86b7798c1a6608af2e37d618ffa09d1062\n"
    },
    {
      "commit": "94355ed44a88d619f94948285a8dbe51ed7a7cb0",
      "tree": "b87a0dde23b5a6d0c2120c05a25c20466d5f115c",
      "parents": [
        "5e264cc1c0fff5fa7a474605e446f7354b8450b0",
        "d7dd89095ff2041f0793317c4ee8e8be49388148"
      ],
      "author": {
        "name": "Philip Milne",
        "email": "pmilne@google.com",
        "time": "Mon Feb 13 17:05:01 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 17:05:01 2012 -0800"
      },
      "message": "Merge \"New hooks to allow layouts to improve their performance by doing more caching\""
    },
    {
      "commit": "64a48c1d3daca9e0565f2aa4d56f6e94ea073d9b",
      "tree": "05a2977ce0ef9e438fd8d1c86120d68a4db3ec43",
      "parents": [
        "5e264cc1c0fff5fa7a474605e446f7354b8450b0"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Mon Feb 13 16:33:29 2012 -0800"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Mon Feb 13 17:02:39 2012 -0800"
      },
      "message": "Refactor ViewGroup.drawChild() into View.draw()\n\nSome of the ongoing and upcoming jank work involves having\nViews optimize their rendering. For example, it would be more\nefficient for native display lists to be able to redraw themselves with\nupdated transform/alpha properties than it would be to do it the\nway we do now, which causes view hierarchy invalidation and display\nlist recreation.\n\nIn order to do this, we need to push more intelligence for view\nrendering into the Views themselves, rather than the complicated\nmechanism we have now of ViewGroup handling some View properties\n(transforms and alpha) and the Views handling the rest of their\nrendering.\n\nThe first step toward this is to take the current drawChild() method\nand push it into a new, package-private method in View that does the\nsame thing.\n\nFuture checkins will refactor the code further, simplifying it and\neventually optimizing around view property changes.\n\nChange-Id: Id44b94536fc3ff80b474db7ef06862f4f51eedce\n"
    },
    {
      "commit": "5e264cc1c0fff5fa7a474605e446f7354b8450b0",
      "tree": "1af9a884575743f5aca1cf6b87fb521f91174e51",
      "parents": [
        "7850783b73cda1d71e9a90a7256fe0348707f9dc",
        "4aa9bcd231d09eb62ea64799a2dfacf45a452049"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon Feb 13 16:59:34 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 16:59:34 2012 -0800"
      },
      "message": "Merge \"Fix shutdown delay\""
    },
    {
      "commit": "d7dd89095ff2041f0793317c4ee8e8be49388148",
      "tree": "9ee7b1cf9fa0261b0c6196c3d1c8e0c42880f3a5",
      "parents": [
        "07f941f026ed2aef8945d0d44134162b3db50eb5"
      ],
      "author": {
        "name": "Philip Milne",
        "email": "pmilne@google.com",
        "time": "Thu Jan 26 16:55:30 2012 -0800"
      },
      "committer": {
        "name": "Philip Milne",
        "email": "pmilne@google.com",
        "time": "Mon Feb 13 16:55:57 2012 -0800"
      },
      "message": "New hooks to allow layouts to improve their performance by doing more caching\n\nThis change allows layouts to be notified of changes to LayoutParameters that have occurred\nbetween layout operations.\n\nIf an assignment is made to the fields of LayoutParams instances that are already in use,\ncachced data may become inconsistent with the new values. For complex layouts, like\nGridLayout, in which the layout parameters define the structure of the layout, caching\ncould have caused  ArrayOutOfBoundsException to be raised without this change. This case is\nrare in normal code as initialisation is typically performed once. Its nevertheless possible\nand much more likely in environments like design tools where layout parametrs may be being\nedited on the fly.\n\nPrevent errors as follows (belt and braces):\n\n1. Change javadoc to request that changes to the fields of LayoutParams be accompanied with\na call to View.setLayoutParams(). (This calls requestLayout() which was what the previous\njavadoc advised.) Provide a (for now, private) hook for layouts with caches to receive notification\nof such calls so they can invalidate any relevant internal state.\n\n2. For GridLayout, we cannot clone layout parameters as traditional Java grids do without retaining\ntwo complete copies because of the public getLayoutParameters() method on View. Retaining two\ncopies is wasteful on constrainted devices. Instead, we keep just one copy and compute a hashCode\nfor the critical fields of a GridLayout\u0027s layoutParams. The hashChode is checked it prior to all\nlayout operations; clearing the cache and logging a warning when changes are detected, so that\ndevelopers can fix their code to provide the call to setLayoutParams() as above.\n\nChange-Id: I819ea65ec0ab82202e2f94fd5cd3ae2723c1a9a0\n"
    },
    {
      "commit": "7850783b73cda1d71e9a90a7256fe0348707f9dc",
      "tree": "135deab41efaf9edff84376cedafbd8fd261a615",
      "parents": [
        "2e20ce35e8c6b9c5fb4d1d198ef5d801ded21064",
        "8d3836c11efa6a33520720b4a3e5caf9d2c01a7f"
      ],
      "author": {
        "name": "Mangesh Ghiware",
        "email": "mghiware@google.com",
        "time": "Mon Feb 13 16:47:10 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 16:47:10 2012 -0800"
      },
      "message": "Merge \"Fix regression in default zoom setting\""
    },
    {
      "commit": "2e20ce35e8c6b9c5fb4d1d198ef5d801ded21064",
      "tree": "a92c77234ec7f9e2f4cc367049706376eaaf42ce",
      "parents": [
        "2e0f67159afa03133772d89f2d346b69a352a6eb",
        "db2e0537b46e934eb5b958dee9b683724c4f297e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Feb 13 16:43:43 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 16:43:43 2012 -0800"
      },
      "message": "Merge \"Fix build warnings\""
    },
    {
      "commit": "8d3836c11efa6a33520720b4a3e5caf9d2c01a7f",
      "tree": "74870b6a37c66c6f7a3f50bbbe10b0e768ea5b9b",
      "parents": [
        "ec5b5156e7a6f46cb90f1b3e980b70a11384f43c"
      ],
      "author": {
        "name": "Mangesh Ghiware",
        "email": "mghiware@google.com",
        "time": "Mon Feb 13 16:20:22 2012 -0800"
      },
      "committer": {
        "name": "Mangesh Ghiware",
        "email": "mghiware@google.com",
        "time": "Mon Feb 13 16:20:22 2012 -0800"
      },
      "message": "Fix regression in default zoom setting\n\nBug: 6000309\nChange-Id: I4255c847c0e7d2a5ab654014f6f4b5d32b5fdf67\n"
    },
    {
      "commit": "4aa9bcd231d09eb62ea64799a2dfacf45a452049",
      "tree": "ce50db118eb6773e70059c282fb30ab9d1f5a6f8",
      "parents": [
        "a17032eeb91f709360b6271b71b85e67f729bcc1"
      ],
      "author": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon Feb 13 16:12:48 2012 -0800"
      },
      "committer": {
        "name": "Irfan Sheriff",
        "email": "isheriff@google.com",
        "time": "Mon Feb 13 16:12:48 2012 -0800"
      },
      "message": "Fix shutdown delay\n\nWe were timing out on commands after shutting down supplicant\n\nBug: 5973030\nChange-Id: I442ae6a9ad206406dc5f1c8c27be2456a339bba2\n"
    },
    {
      "commit": "2e0f67159afa03133772d89f2d346b69a352a6eb",
      "tree": "0096f3d4e3da15fafd7ff14afcc2cf97a365b68a",
      "parents": [
        "75400e775e7f291720aa43fbe6bf2b4ab41265b1",
        "d121cfcbb45cb9ca734e702861f0bdd422999cf5"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Feb 13 15:47:58 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 15:47:58 2012 -0800"
      },
      "message": "Merge \"Further optimize media scanner.\""
    },
    {
      "commit": "d121cfcbb45cb9ca734e702861f0bdd422999cf5",
      "tree": "91e8f0261bce5bf996a2f82cf595afa1f256e046",
      "parents": [
        "0bbd872ea806470fd007b8ea35f953380a8b4162"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Feb 13 13:27:02 2012 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Feb 13 15:39:15 2012 -0800"
      },
      "message": "Further optimize media scanner.\n\nInserts of directories can be done in bulk as long as they\u0027re inserted before\nthe files contained within. Extend MediaInserter to accommodate giving priority\ntreatment to directories.\nBulk deleting of entries can be further sped up (by a factor of ~3 in my tests)\nby deleting entries in database order. Switch the file cache to use\nLinkedHashMap instead of HashMap to allow iterating over the cache in database\norder. Also use bindArgs to allow for better caching of sql statements.\n\nChange-Id: Ieb9ffc4e866c6cd505bf795eb80ff5d03ffc56bd\n"
    },
    {
      "commit": "68de7f5439cad8ba3d378adc8a68cef7127cfc9b",
      "tree": "072a3165db1da70212e7e696049754c944096728",
      "parents": [
        "8885596a9109794ebd61e6a91e5199aa1750ed8c"
      ],
      "author": {
        "name": "Ramanan Rajeswaran",
        "email": "ramanan@google.com",
        "time": "Mon Feb 13 13:53:39 2012 -0800"
      },
      "committer": {
        "name": "Ramanan Rajeswaran",
        "email": "ramanan@google.com",
        "time": "Mon Feb 13 15:21:04 2012 -0800"
      },
      "message": "DO NOT MERGE\n\nRevert \"Add xxhdpi; fix ActivityManager.getLauncherLargeIconSize() etc.\"\n\nThis reverts commit c1496d2d9a496e4aba817a58ecb9e07fe55cdba5.\n\nChange-Id: If60df742b19c925cc99b20d01108b84415b124ad\n"
    },
    {
      "commit": "75400e775e7f291720aa43fbe6bf2b4ab41265b1",
      "tree": "7e00d297b48cd5cf4dc7f46ee1540435c2402f83",
      "parents": [
        "dc38fd4c736b2beebfe5a77c79d2088ad3816a4d",
        "26cd243601fc05c5ed39c2d1e3ab203a8eb97c25"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Mon Feb 13 15:20:40 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 15:20:40 2012 -0800"
      },
      "message": "Merge \"Fix the 3-parameter formatNumber to correctly handle IDDs.\""
    },
    {
      "commit": "dc38fd4c736b2beebfe5a77c79d2088ad3816a4d",
      "tree": "26f929700e1acc79d7df590bf996d18777712e19",
      "parents": [
        "f53b451c4c60ddccb99624d5fd40733715e7a7fa",
        "0952c30ac279d5f4cdc032fcbafa372213aa6d86"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Feb 13 15:04:33 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 15:04:33 2012 -0800"
      },
      "message": "Merge \"Don\u0027t serialize motion events.\""
    },
    {
      "commit": "f53b451c4c60ddccb99624d5fd40733715e7a7fa",
      "tree": "24fb2df2c646faa07c923ca6e89a295d4d020e16",
      "parents": [
        "42a3e79d5ab5fb9d52b2bd3ea7d016d4b76e23e1",
        "0d2bda319d4d66d8fc840b043d3aacee9a8414db"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Mon Feb 13 14:58:53 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 14:58:53 2012 -0800"
      },
      "message": "Merge \"Update BiDiTest app for GridLayout RTL tests\""
    },
    {
      "commit": "0d2bda319d4d66d8fc840b043d3aacee9a8414db",
      "tree": "bc13d606f78bdf62db8a41220c6a11833638b528",
      "parents": [
        "95d4c9934f27b2c7276005b0235e0da44a89aea8"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Mon Feb 13 14:29:03 2012 -0800"
      },
      "committer": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Mon Feb 13 14:44:22 2012 -0800"
      },
      "message": "Update BiDiTest app for GridLayout RTL tests\n\n- add unit tests for GridLayout in RTL mode\n\nChange-Id: Icc983a6e2cc75b30e457fd822d81ef5630de0f10\n"
    },
    {
      "commit": "42a3e79d5ab5fb9d52b2bd3ea7d016d4b76e23e1",
      "tree": "c40a87063b8cd605c3f671a31524ecf8f7068af7",
      "parents": [
        "d2a4c2fa8fdaeb6bc4a51cb26b3419c5e5e1c083",
        "8885596a9109794ebd61e6a91e5199aa1750ed8c"
      ],
      "author": {
        "name": "Tsu Chiang Chuang",
        "email": "tsu@google.com",
        "time": "Mon Feb 13 14:42:42 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 13 14:42:42 2012 -0800"
      },
      "message": "am 8885596a: am 3ded587c: am 08eb7dd6: Merge \"extending timeout to stabilize tests\" into ics-mr1\n\n* commit \u00278885596a9109794ebd61e6a91e5199aa1750ed8c\u0027:\n"
    },
    {
      "commit": "d2a4c2fa8fdaeb6bc4a51cb26b3419c5e5e1c083",
      "tree": "c40a87063b8cd605c3f671a31524ecf8f7068af7",
      "parents": [
        "07f941f026ed2aef8945d0d44134162b3db50eb5",
        "84affb8ae6477c46c75f834b73daa13b2a751c21"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Feb 13 14:42:40 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 13 14:42:40 2012 -0800"
      },
      "message": "am 84affb8a: Add xxhdpi; fix ActivityManager.getLauncherLargeIconSize() etc.\n\n* commit \u002784affb8ae6477c46c75f834b73daa13b2a751c21\u0027:\n  Add xxhdpi; fix ActivityManager.getLauncherLargeIconSize() etc.\n"
    },
    {
      "commit": "8885596a9109794ebd61e6a91e5199aa1750ed8c",
      "tree": "3643c0ac51c24791ff4c3e063496b0a39cb5647b",
      "parents": [
        "84affb8ae6477c46c75f834b73daa13b2a751c21",
        "3ded587cc199d4ba592e675dc47fb80a28d1dacd"
      ],
      "author": {
        "name": "Tsu Chiang Chuang",
        "email": "tsu@google.com",
        "time": "Mon Feb 13 14:39:48 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 13 14:39:48 2012 -0800"
      },
      "message": "am 3ded587c: am 08eb7dd6: Merge \"extending timeout to stabilize tests\" into ics-mr1\n\n* commit \u00273ded587cc199d4ba592e675dc47fb80a28d1dacd\u0027:\n"
    },
    {
      "commit": "84affb8ae6477c46c75f834b73daa13b2a751c21",
      "tree": "3643c0ac51c24791ff4c3e063496b0a39cb5647b",
      "parents": [
        "352b8d03c63585f4eaec09d2e39a4d173be83164"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jan 25 15:12:23 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 13 14:39:45 2012 -0800"
      },
      "message": "Add xxhdpi; fix ActivityManager.getLauncherLargeIconSize() etc.\n\nChange-Id: I519d6cdc527a402d93b98df17a64fc1da52ad598\n"
    },
    {
      "commit": "07f941f026ed2aef8945d0d44134162b3db50eb5",
      "tree": "c40a87063b8cd605c3f671a31524ecf8f7068af7",
      "parents": [
        "95d4c9934f27b2c7276005b0235e0da44a89aea8",
        "40c8db5a28e9abae2033facce1354e3677911fcc"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Feb 13 14:34:26 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 14:34:26 2012 -0800"
      },
      "message": "Merge \"Move BroadcastQueue out of the ActivityManager class.\""
    },
    {
      "commit": "472512f6970fa170e2e1a3e1c24ac2b742e2e6b6",
      "tree": "56b1a1b34cba7426af44f50f8665ea2abc943b35",
      "parents": [
        "a081c7b8bc5a3ea19fc7562b333fac525b17bc5f",
        "8835f2928e56622955a05ec9f8aee043828575ca"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Feb 13 14:32:32 2012 -0800"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Feb 13 14:32:33 2012 -0800"
      },
      "message": "Merge \"Fix incorrect prototype for JNI call\""
    },
    {
      "commit": "95d4c9934f27b2c7276005b0235e0da44a89aea8",
      "tree": "c48ee5595535f290da82e2c7ccbe2e9fe656518b",
      "parents": [
        "5c6dfc374ad57175556ad4369edf0397cb91d57e",
        "352b8d03c63585f4eaec09d2e39a4d173be83164"
      ],
      "author": {
        "name": "Ramanan Rajeswaran",
        "email": "ramanan@google.com",
        "time": "Mon Feb 13 14:27:40 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 13 14:27:40 2012 -0800"
      },
      "message": "am 352b8d03: (-s ours) am 8046e294: Merge \"DO NOT MERGE\" into ics-scoop\n\n* commit \u0027352b8d03c63585f4eaec09d2e39a4d173be83164\u0027:\n  DO NOT MERGE\n"
    },
    {
      "commit": "5c6dfc374ad57175556ad4369edf0397cb91d57e",
      "tree": "c48ee5595535f290da82e2c7ccbe2e9fe656518b",
      "parents": [
        "fbd2e64346c3b86f62fdf2c94f0e3c558e029a6d",
        "6cbc99f9f0b26e048c806fc85ba302bffb432239"
      ],
      "author": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Mon Feb 13 14:26:03 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 14:26:03 2012 -0800"
      },
      "message": "Merge \"Import translations.\""
    },
    {
      "commit": "352b8d03c63585f4eaec09d2e39a4d173be83164",
      "tree": "072a3165db1da70212e7e696049754c944096728",
      "parents": [
        "5f5ea91f60b4b7d2fcf3da3603cd745a53cba48f",
        "8046e294c545b8e3712bff7925b024639936d5bf"
      ],
      "author": {
        "name": "Ramanan Rajeswaran",
        "email": "ramanan@google.com",
        "time": "Mon Feb 13 14:24:38 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 13 14:24:38 2012 -0800"
      },
      "message": "am 8046e294: Merge \"DO NOT MERGE\" into ics-scoop\n\n* commit \u00278046e294c545b8e3712bff7925b024639936d5bf\u0027:\n  DO NOT MERGE\n"
    },
    {
      "commit": "8046e294c545b8e3712bff7925b024639936d5bf",
      "tree": "45a0eb7dc22940877a340d3ac937dfed02048ff8",
      "parents": [
        "eb56ad183af8a9833ff22a22b97f174f05266c58",
        "9d29031417bd2256a287969271edcd57c0cbd9c2"
      ],
      "author": {
        "name": "Ramanan Rajeswaran",
        "email": "ramanan@google.com",
        "time": "Mon Feb 13 14:22:44 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 14:22:44 2012 -0800"
      },
      "message": "Merge \"DO NOT MERGE\" into ics-scoop"
    },
    {
      "commit": "fbd2e64346c3b86f62fdf2c94f0e3c558e029a6d",
      "tree": "2c8af45d74acf97ab7c087ef6690f875ad4b2d7c",
      "parents": [
        "a17032eeb91f709360b6271b71b85e67f729bcc1",
        "e901a5c29b81ace1c7f185ca4e62404f03c4c43d"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Feb 13 14:21:36 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 14:21:36 2012 -0800"
      },
      "message": "Merge \"Playback rate on MediaPlayer\""
    },
    {
      "commit": "9d29031417bd2256a287969271edcd57c0cbd9c2",
      "tree": "d9d42b81f6517ff31dac52ef185a152302e493c5",
      "parents": [
        "c1496d2d9a496e4aba817a58ecb9e07fe55cdba5"
      ],
      "author": {
        "name": "Ramanan Rajeswaran",
        "email": "ramanan@google.com",
        "time": "Mon Feb 13 13:53:39 2012 -0800"
      },
      "committer": {
        "name": "Ramanan Rajeswaran",
        "email": "ramanan@google.com",
        "time": "Mon Feb 13 14:17:06 2012 -0800"
      },
      "message": "DO NOT MERGE\n\nRevert \"Add xxhdpi; fix ActivityManager.getLauncherLargeIconSize() etc.\"\n\nThis reverts commit c1496d2d9a496e4aba817a58ecb9e07fe55cdba5.\n\nChange-Id: If60df742b19c925cc99b20d01108b84415b124ad\n"
    },
    {
      "commit": "0952c30ac279d5f4cdc032fcbafa372213aa6d86",
      "tree": "f180a4e1d2c3cf301817c3db75008a201fd4b4e5",
      "parents": [
        "2d34e0cfe7e2586b75a6f2c6646dd2e1e52c973f"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Feb 13 13:48:59 2012 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Feb 13 14:04:24 2012 -0800"
      },
      "message": "Don\u0027t serialize motion events.\n\nOn reflection, only key events need to be serialized.\n\nThis is part of a series of changes to improve input system pipelining.\n\nBug: 5963420\nChange-Id: I028b4eac97497d012036cb60ffbac4cb22d3966c\n"
    },
    {
      "commit": "a17032eeb91f709360b6271b71b85e67f729bcc1",
      "tree": "98cc862fc7d3633f93b942630776e9802452f212",
      "parents": [
        "7a29d84f0150b49215726d08a69d343df74e02bc",
        "2d34e0cfe7e2586b75a6f2c6646dd2e1e52c973f"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Feb 13 14:02:51 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 14:02:51 2012 -0800"
      },
      "message": "Merge \"Accurately track the sequence numbers of batched events.\""
    },
    {
      "commit": "7a29d84f0150b49215726d08a69d343df74e02bc",
      "tree": "1f9ba2f40da12366b85ca74f0f8541510adef4fd",
      "parents": [
        "27b51987dd3fa7e18703aab45fa10625a56d8c98",
        "47d248eb438674ab0ca10154f3ff5e88f4ed70b7"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Mon Feb 13 14:01:28 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 14:01:28 2012 -0800"
      },
      "message": "Merge \"Fix bug #5904777 GridLayout should be RTL aware\""
    },
    {
      "commit": "2d34e0cfe7e2586b75a6f2c6646dd2e1e52c973f",
      "tree": "fbec10b21b79e9055f2deef4fbbb3ca4294c0334",
      "parents": [
        "90fde93c473aca5a33dc41c989bb2fdc5f2b1485"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Feb 13 13:18:09 2012 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Feb 13 13:59:32 2012 -0800"
      },
      "message": "Accurately track the sequence numbers of batched events.\n\nInstead of sending finished signals immediately when appending to\na batch, record the chain of sequence numbers that were part of\nthe batch and then send finished signals all at once when done.\nThis change helps the dispatcher keep track of the true state\nof the application and can improve ANR detection slightly.\n\nThis is part of a series of changes to improve input system pipelining.\n\nBug: 5963420\nChange-Id: I463c2221e2aa8fdf1c3d670c18e39e59ab69b0db\n"
    },
    {
      "commit": "27b51987dd3fa7e18703aab45fa10625a56d8c98",
      "tree": "1d751882344ca610f00f7f4829fe19d96588cfd1",
      "parents": [
        "298b8004ad1c2cff00676473c702bb4fc98a80a7",
        "90fde93c473aca5a33dc41c989bb2fdc5f2b1485"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Feb 13 13:55:41 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 13:55:41 2012 -0800"
      },
      "message": "Merge \"Enable deferred input messages to be batched.\""
    },
    {
      "commit": "47d248eb438674ab0ca10154f3ff5e88f4ed70b7",
      "tree": "22206a64356856a9ee53157dcd63d77e1894c96e",
      "parents": [
        "7ff3144aa6a4c5e6f0f64933ce174b424cfbfd6e"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Wed Feb 08 17:57:48 2012 -0800"
      },
      "committer": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Mon Feb 13 13:52:47 2012 -0800"
      },
      "message": "Fix bug #5904777 GridLayout should be RTL aware\n\n- update also DEBUG mode for taking care about RTL\n- one minor issue remaining: left alignment is not properly honored in RTL\n\nChange-Id: I9a4c8413cb1189a032649472016994642418637b\n"
    },
    {
      "commit": "298b8004ad1c2cff00676473c702bb4fc98a80a7",
      "tree": "36d67eaf752fff6c60958d4a5815d181a53d81b4",
      "parents": [
        "ec5b5156e7a6f46cb90f1b3e980b70a11384f43c",
        "5f5ea91f60b4b7d2fcf3da3603cd745a53cba48f"
      ],
      "author": {
        "name": "Tsu Chiang Chuang",
        "email": "tsu@google.com",
        "time": "Mon Feb 13 13:47:45 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 13 13:47:45 2012 -0800"
      },
      "message": "am 5f5ea91f: am eb56ad18: am 08eb7dd6: Merge \"extending timeout to stabilize tests\" into ics-mr1\n\n* commit \u00275f5ea91f60b4b7d2fcf3da3603cd745a53cba48f\u0027:\n  extending timeout to stabilize tests\n"
    },
    {
      "commit": "5f5ea91f60b4b7d2fcf3da3603cd745a53cba48f",
      "tree": "3643c0ac51c24791ff4c3e063496b0a39cb5647b",
      "parents": [
        "d1f88de2c496423e483760654a4381b563dc1e1d",
        "eb56ad183af8a9833ff22a22b97f174f05266c58"
      ],
      "author": {
        "name": "Tsu Chiang Chuang",
        "email": "tsu@google.com",
        "time": "Mon Feb 13 13:45:06 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 13 13:45:06 2012 -0800"
      },
      "message": "am eb56ad18: am 08eb7dd6: Merge \"extending timeout to stabilize tests\" into ics-mr1\n\n* commit \u0027eb56ad183af8a9833ff22a22b97f174f05266c58\u0027:\n  extending timeout to stabilize tests\n"
    },
    {
      "commit": "3ded587cc199d4ba592e675dc47fb80a28d1dacd",
      "tree": "12b842b9e9d99362c79dabf90936eee400a4f8aa",
      "parents": [
        "812c2ff6312b25b9539399f38967f8a6ff40b733",
        "08eb7dd630a2de8dd51a988a747da26ff9d3f8fb"
      ],
      "author": {
        "name": "Tsu Chiang Chuang",
        "email": "tsu@google.com",
        "time": "Mon Feb 13 13:43:07 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 13 13:43:07 2012 -0800"
      },
      "message": "am 08eb7dd6: Merge \"extending timeout to stabilize tests\" into ics-mr1\n\n* commit \u002708eb7dd630a2de8dd51a988a747da26ff9d3f8fb\u0027:\n  extending timeout to stabilize tests\n"
    },
    {
      "commit": "eb56ad183af8a9833ff22a22b97f174f05266c58",
      "tree": "f328089bef1bc514293d13591773a076fce0ea74",
      "parents": [
        "c1496d2d9a496e4aba817a58ecb9e07fe55cdba5",
        "08eb7dd630a2de8dd51a988a747da26ff9d3f8fb"
      ],
      "author": {
        "name": "Tsu Chiang Chuang",
        "email": "tsu@google.com",
        "time": "Mon Feb 13 13:42:45 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 13 13:42:45 2012 -0800"
      },
      "message": "am 08eb7dd6: Merge \"extending timeout to stabilize tests\" into ics-mr1\n\n* commit \u002708eb7dd630a2de8dd51a988a747da26ff9d3f8fb\u0027:\n  extending timeout to stabilize tests\n"
    },
    {
      "commit": "08eb7dd630a2de8dd51a988a747da26ff9d3f8fb",
      "tree": "45a0eb7dc22940877a340d3ac937dfed02048ff8",
      "parents": [
        "197fe26940022be75384f4038dd789f446d33122",
        "a8c57bf6adf3bdd477ce4d6ed8cca031c66830cd"
      ],
      "author": {
        "name": "Tsu Chiang Chuang",
        "email": "tsu@google.com",
        "time": "Mon Feb 13 13:41:37 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 13:41:37 2012 -0800"
      },
      "message": "Merge \"extending timeout to stabilize tests\" into ics-mr1"
    },
    {
      "commit": "6cbc99f9f0b26e048c806fc85ba302bffb432239",
      "tree": "a319f7755483a805112fbcbef15cea387e9411fc",
      "parents": [
        "760a36f20702351f64863e14b2ae15ad1199fdcf"
      ],
      "author": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Mon Feb 13 13:38:44 2012 -0800"
      },
      "committer": {
        "name": "Eric Fischer",
        "email": "enf@google.com",
        "time": "Mon Feb 13 13:38:44 2012 -0800"
      },
      "message": "Import translations.\n\nChange-Id: I5a3f1a37ae10c3fb6d264654f9b4cc7e945cd722\n"
    },
    {
      "commit": "ec5b5156e7a6f46cb90f1b3e980b70a11384f43c",
      "tree": "c2bc115ce3cbd389edb5469871397f6b94a3e2ee",
      "parents": [
        "0bbd872ea806470fd007b8ea35f953380a8b4162",
        "4dcece8e509027cd28e20b1f9f14d2c0446d84c0"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Feb 13 13:30:53 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 13:30:53 2012 -0800"
      },
      "message": "Merge \"Fix issue where screen rotations would stop animating.\""
    },
    {
      "commit": "90fde93c473aca5a33dc41c989bb2fdc5f2b1485",
      "tree": "8011cef8b049d51018daa6b386491c427c400229",
      "parents": [
        "072ec96a4900d4616574733646ee46311cb5d2cb"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Feb 13 12:44:01 2012 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Feb 13 12:44:01 2012 -0800"
      },
      "message": "Enable deferred input messages to be batched.\n\nThis is part of a series of changes to improve input system pipelining.\n\nBug: 5963420\nChange-Id: I6874d2128e880a35c6c33890c858cc6ee22af0fd\n"
    },
    {
      "commit": "0bbd872ea806470fd007b8ea35f953380a8b4162",
      "tree": "84222c993f8eeef9a4ae80b541a12e1e896a82d8",
      "parents": [
        "65b8bbd3c9842588702ac3a7860851f0496ed33c",
        "d1f88de2c496423e483760654a4381b563dc1e1d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Feb 13 12:41:27 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 13 12:41:27 2012 -0800"
      },
      "message": "am d1f88de2: am c1496d2d: Add xxhdpi; fix ActivityManager.getLauncherLargeIconSize() etc.\n\n* commit \u0027d1f88de2c496423e483760654a4381b563dc1e1d\u0027:\n  Add xxhdpi; fix ActivityManager.getLauncherLargeIconSize() etc.\n"
    },
    {
      "commit": "e901a5c29b81ace1c7f185ca4e62404f03c4c43d",
      "tree": "99e4aa6056c130b892d77b0e55514bb75c97260e",
      "parents": [
        "65b8bbd3c9842588702ac3a7860851f0496ed33c"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Feb 02 09:06:31 2012 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Feb 13 12:39:54 2012 -0800"
      },
      "message": "Playback rate on MediaPlayer\n\nAdd support for modifying the playback rate of a MediaPlayer\n by altering the sample rate of its AudioTrack.\nThe playback rate is expressed in permille, where 1000 is the\n playback at normal speed.\n\nChange-Id: I981d060ab32f7bae7a767e82c60c88ae635dceed\n"
    },
    {
      "commit": "d1f88de2c496423e483760654a4381b563dc1e1d",
      "tree": "525d39ff71db589bf822308a83043efa373e2169",
      "parents": [
        "5caed1d99b99a011501c532fbf970324ea82e13d",
        "c1496d2d9a496e4aba817a58ecb9e07fe55cdba5"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Feb 13 12:38:37 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 13 12:38:37 2012 -0800"
      },
      "message": "am c1496d2d: Add xxhdpi; fix ActivityManager.getLauncherLargeIconSize() etc.\n\n* commit \u0027c1496d2d9a496e4aba817a58ecb9e07fe55cdba5\u0027:\n  Add xxhdpi; fix ActivityManager.getLauncherLargeIconSize() etc.\n"
    },
    {
      "commit": "65b8bbd3c9842588702ac3a7860851f0496ed33c",
      "tree": "84222c993f8eeef9a4ae80b541a12e1e896a82d8",
      "parents": [
        "3be5c8565154c9a6aa7abf0a0d61eaecf114b450",
        "c857958e8aa948809b2ddfcd322d08c87cfaa2c4"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Feb 13 12:27:27 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 12:27:27 2012 -0800"
      },
      "message": "Merge \"Fix audio preprocessing library wrapper\""
    },
    {
      "commit": "c1496d2d9a496e4aba817a58ecb9e07fe55cdba5",
      "tree": "0622bb911f314fbac490db11165c2ff046eeafeb",
      "parents": [
        "f11b6fbfc8bab9a09e37ef9866c0da247474f4cf"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jan 25 15:12:23 2012 -0800"
      },
      "committer": {
        "name": "Ramanan Rajeswaran",
        "email": "ramanan@google.com",
        "time": "Mon Feb 13 12:01:56 2012 -0800"
      },
      "message": "Add xxhdpi; fix ActivityManager.getLauncherLargeIconSize() etc.\n\nChange-Id: I519d6cdc527a402d93b98df17a64fc1da52ad598\n"
    },
    {
      "commit": "330f676b7e282331f6987ca47526d2806a487457",
      "tree": "7e6374b71d38e2aabbb797bcf99647952910374e",
      "parents": [
        "3be5c8565154c9a6aa7abf0a0d61eaecf114b450"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Mon Feb 13 12:00:24 2012 -0800"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Mon Feb 13 12:00:24 2012 -0800"
      },
      "message": "Revert \"Revert \"Test initialization of constant array exports.\"\"\n\nThis reverts commit 3be5c8565154c9a6aa7abf0a0d61eaecf114b450.\n"
    },
    {
      "commit": "3be5c8565154c9a6aa7abf0a0d61eaecf114b450",
      "tree": "6773348d918315e959c9ff1eb60562dbe1eb68a4",
      "parents": [
        "dfb64e8c805dcb371c747e675bf58b4c9a10e49f"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Mon Feb 13 11:56:29 2012 -0800"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Mon Feb 13 11:56:29 2012 -0800"
      },
      "message": "Revert \"Test initialization of constant array exports.\"\n\nThis reverts commit f7c4ce0b6afae9ace59879d625bb9be6bc14899c.\n"
    },
    {
      "commit": "dfb64e8c805dcb371c747e675bf58b4c9a10e49f",
      "tree": "7e6374b71d38e2aabbb797bcf99647952910374e",
      "parents": [
        "760a36f20702351f64863e14b2ae15ad1199fdcf",
        "f7c4ce0b6afae9ace59879d625bb9be6bc14899c"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Mon Feb 13 11:13:21 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 11:13:21 2012 -0800"
      },
      "message": "Merge \"Test initialization of constant array exports.\""
    },
    {
      "commit": "4dcece8e509027cd28e20b1f9f14d2c0446d84c0",
      "tree": "37d96e76f1b08dfdf308765e0bdcc7981ec92717",
      "parents": [
        "5dd4754f58e5e99f893749ab3bb3eda1de4cfbe7"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Feb 10 14:50:32 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Feb 13 10:37:08 2012 -0800"
      },
      "message": "Fix issue where screen rotations would stop animating.\n\nIf we went through the update loop multiple times, and had finished\nanimating the first time, we would blow away that information the\nsecond time and never kill the animation.\n\nAlso moved killing the animation back up to the animation step --\nthis involves destroying surfaces and such, and so really should\nbe done as part of the surface transaction.  We can also consider\nthe screen rotation animation object to be owned by the animation,\nso it can destroy it when done.\n\nChange-Id: If24356c509c66d046f2ddfd9ad5bfe12504d7716\n"
    },
    {
      "commit": "760a36f20702351f64863e14b2ae15ad1199fdcf",
      "tree": "6773348d918315e959c9ff1eb60562dbe1eb68a4",
      "parents": [
        "072ec96a4900d4616574733646ee46311cb5d2cb",
        "81211143c3cc62857d1316eff22c382c39d648a0"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Feb 13 10:31:44 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 10:31:44 2012 -0800"
      },
      "message": "Merge \"Factor out and speed up permission-checking code\""
    },
    {
      "commit": "81211143c3cc62857d1316eff22c382c39d648a0",
      "tree": "5025cf2b63c96868d7288a42263698871b606e1e",
      "parents": [
        "f96901f8ccf7e5bdb05bb22ca1b522c381f05043"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Sun Feb 05 18:09:08 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Feb 13 10:30:23 2012 -0800"
      },
      "message": "Factor out and speed up permission-checking code\n\nUse the caching permission check for dump to save IPC.\n\nCache getpid() to save kernel call for other permission checks.\n\nThe C runtime library getpid() can\u0027t cache due to a fork\nrace condition, but we know that mediaserver doesn\u0027t fork.\n\nDon\u0027t construct String16 on the stack.\n\nChange-Id: I6be6161dae5155d39ba6ed6228e7683e67be34ed\n"
    },
    {
      "commit": "072ec96a4900d4616574733646ee46311cb5d2cb",
      "tree": "9172f3e3295f9d4ff3517a47dec360c2f0a99948",
      "parents": [
        "1adee11b5e644c74a2ed40344f4836de3bd3ac56"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Feb 07 14:46:57 2012 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Feb 13 10:28:41 2012 -0800"
      },
      "message": "Implement batching of input events on the consumer side.\n\nTo support this feature, the input dispatcher now allows input\nevents to be acknowledged out-of-order.  As a result, the\nconsumer can choose to defer handling an input event from one\ndevice (because it is building a big batch) while continuing\nto handle input events from other devices.\n\nThe InputEventReceiver now sends a notification when a batch\nis pending.  The ViewRoot handles this notification by scheduling\na draw on the next sync.  When the draw happens, the InputEventReceiver\nis instructed to consume all pending batched input events, the\ninput event queue is fully processed (as much as possible),\nand then the ViewRoot performs traversals as usual.\n\nWith these changes in place, the input dispatch latency is\nconsistently less than one frame as long as the application itself\nisn\u0027t stalled.  Input events are delivered to the application\nas soon as possible and are handled as soon as possible.  In practice,\nit is no longer possible for an application to build up a huge\nbacklog of touch events.\n\nThis is part of a series of changes to improve input system pipelining.\n\nBug: 5963420\n\nChange-Id: I42c01117eca78f12d66d49a736c1c122346ccd1d\n"
    },
    {
      "commit": "1adee11b5e644c74a2ed40344f4836de3bd3ac56",
      "tree": "634e5fd7ce6f3e7508cfdf5ba9d752bd4e83d90e",
      "parents": [
        "d1c48a0525d05021036d4b14e937e221c0ae1318"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Feb 07 10:25:41 2012 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Feb 13 10:28:41 2012 -0800"
      },
      "message": "Optimize dispatcher for back-to-back finished signals.\n\nMinor tweak to the dispatcher to handle as many finished signals\nin a receive callback as possible instead of going back to\nthe Looper and waiting for the next poll() to hit the callback\nagain.\n\nThis is part of a series of changes to improve input system pipelining.\n\nBug: 5963420\n\nChange-Id: I8471107371693e21ce8ce7cca1e8d79ba4ca2351\n"
    },
    {
      "commit": "d1c48a0525d05021036d4b14e937e221c0ae1318",
      "tree": "8026832e22d65f633657216488cc89cd54629025",
      "parents": [
        "8b4be56030c3b8c93dfa45bccac7365f90f377ce"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Feb 06 19:12:47 2012 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Feb 13 10:28:41 2012 -0800"
      },
      "message": "Dispatch multiple touch events in parallel.\n\nThis change enables the input dispatcher to send multiple touch\nevents to an application without waiting for them to be acknowledged.\nEssentially this is a variation on the old streaming optimization\nbut it is much more comprehensive.  Event dispatch will stall as\nsoon as 0.5sec of unacknowledged events are accumulated or a\nfocused event (such as a key event) needs to be delivered.\n\nStreaming input events makes a tremendous difference in application\nperformance.  The next step will be to enable batching of input\nevents on the client side once again.\n\nThis is part of a series of changes to improve input system pipelining.\n\nBug: 5963420\nChange-Id: I025df90c06165d719fcca7f63eed322a5cce4a78\n"
    },
    {
      "commit": "8b4be56030c3b8c93dfa45bccac7365f90f377ce",
      "tree": "18388eb8a60024a2b566e27fb62d39f3f3e69037",
      "parents": [
        "28b5cf1c33df847d667b8974ba07c4157a49b48a"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Feb 06 16:31:05 2012 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Feb 13 10:28:41 2012 -0800"
      },
      "message": "Delete premature optimization.\n\nThis is part of a series of changes to improve input system pipelining.\n\nBug: 5963420\n\nChange-Id: I5c182f6e17d468bf3033125b2094b2baa5b94e81\n"
    },
    {
      "commit": "28b5cf1c33df847d667b8974ba07c4157a49b48a",
      "tree": "ca82ec2d78a7a5ebb5b80eeebcc6929db0dd761a",
      "parents": [
        "59f1ff99786e9d4a94270d6752aa3ca61e10f0a6"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Feb 06 16:26:21 2012 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Feb 13 10:28:40 2012 -0800"
      },
      "message": "Delete dead code.\n\nThis is part of a series of changes to improve input system pipelining.\n\nBug: 5963420\n\nChange-Id: I9f8b93f6a25ddd872f993366b57bab404c93bede\n"
    },
    {
      "commit": "59f1ff99786e9d4a94270d6752aa3ca61e10f0a6",
      "tree": "03a2d9385256ec3f7a392b984131092f282bca48",
      "parents": [
        "9831d90db8fba7e967d22b1f86eea1d6ac831541"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Feb 06 16:23:50 2012 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Feb 13 10:28:40 2012 -0800"
      },
      "message": "Delete latency tracking information in the Connection.\n\nThe information gathered here will no longer be valid once we\nstart dispatching multiple events at a time to the same connection.\nMoreover, we are more concerned with end-to-end latency, which we\ncan measure with sufficiently high accuracy in other ways.\n\nThis is part of a series of changes to improve input system pipelining.\n\nBug: 5963420\n\nChange-Id: I49a0c9876b64af56b40e96e0d98c45f325da2a73\n"
    },
    {
      "commit": "9831d90db8fba7e967d22b1f86eea1d6ac831541",
      "tree": "16b990120c420482eb60fcacae153cf009ae2cec",
      "parents": [
        "e9bb9be9e46523ed901e38cfa83f4630f6496418"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Feb 06 15:55:26 2012 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Feb 13 10:28:40 2012 -0800"
      },
      "message": "Remove active connection tracking.\n\nThe dispatcher no longer needs to track which connections are\nactive except perhaps for diagnostic purposes, so we might as well\nremove this code.\n\nThis is part of a series of changes to improve input system pipelining.\n\nBug: 5963420\n\nChange-Id: Ibadc830b7b792a59b9244d0a6e85f320c4947109\n"
    },
    {
      "commit": "e9bb9be9e46523ed901e38cfa83f4630f6496418",
      "tree": "697a4870df9e540ecb13575f54d8f3e478c26761",
      "parents": [
        "cbee6d6ede0499fb4a2c00bfc00d5db8d9ed5139"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Feb 06 15:47:55 2012 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Feb 13 10:28:40 2012 -0800"
      },
      "message": "Simplify input target handling in the dispatcher.\n\nSince we no longer stream events to the application, we don\u0027t need to\nkeep the current list of input targets around longer than it takes\nto begin the dispatch cycle.\n\nThis is part of a series of changes to improve input system pipelining.\n\nBug: 5963420\n\nChange-Id: I5824b04e564c8a4dec991598292441e46c331905\n"
    },
    {
      "commit": "cbee6d6ede0499fb4a2c00bfc00d5db8d9ed5139",
      "tree": "2ccbec05bbcd99c514673407ca21fb58fc7dd687",
      "parents": [
        "3241b6b7bd7eff64f0118ba2d636030e505a98f9"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Feb 03 20:11:27 2012 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Feb 13 10:28:40 2012 -0800"
      },
      "message": "Rewrite input transport using sockets.\n\nSince we will not longer be modifying events in place, we don\u0027t need\nto use an ashmem region for input.  Simplified the code to instead\nuse a socket of type SOCK_SEQPACKET.\n\nThis is part of a series of changes to improve input system pipelining.\n\nBug: 5963420\n\nChange-Id: I05909075ed8b61b93900913e44c6db84857340d8\n"
    },
    {
      "commit": "3241b6b7bd7eff64f0118ba2d636030e505a98f9",
      "tree": "9116e5f5ee32645312d8cfc16c12491ec0a28876",
      "parents": [
        "d4762334f103055b3aa59d97d027ace7c5950b6e"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Feb 03 15:08:02 2012 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Feb 13 10:28:39 2012 -0800"
      },
      "message": "Remove batching and streaming from the input dispatcher.\n\nDon\u0027t worry, these features will be moving to a different part of\nthe pipeline.  We\u0027re just getting them out of the way for now so\nwe can make deeper changes to how the input dispatcher works.\n\nThis is part of a series of changes to improve input system pipelining.\n\nBug: 5963420\n\nChange-Id: If97de923c8165776882eef23f5204cc448dad0fc\n"
    },
    {
      "commit": "d4762334f103055b3aa59d97d027ace7c5950b6e",
      "tree": "0703537a5db5773a03a9d5fb94d8c28049bc68b5",
      "parents": [
        "62d1058cc972a8fcb7739547abd3298f5d98a9b1",
        "f9261d20b3773f9785d98f32f62ccfedefba8083"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Feb 13 10:26:40 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 10:26:40 2012 -0800"
      },
      "message": "Merge \"Process input events immediately when received.\""
    },
    {
      "commit": "62d1058cc972a8fcb7739547abd3298f5d98a9b1",
      "tree": "10e00975abf03e71e33dd7e2c3051c8ecb10d721",
      "parents": [
        "5a1f6fb4073ee4b27359faa950808a6eeac33a4c",
        "308028049a75b36d5ed525c0bcef441da850c2a5"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Feb 13 10:26:33 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 10:26:33 2012 -0800"
      },
      "message": "Merge \"Remove the input dispatcher throttle.\""
    },
    {
      "commit": "5a1f6fb4073ee4b27359faa950808a6eeac33a4c",
      "tree": "751e816dac3d01de946f423ce8d2dd7a4b30ffef",
      "parents": [
        "f96901f8ccf7e5bdb05bb22ca1b522c381f05043",
        "f4832da16a9513e19881397abdbbf62285f8b852"
      ],
      "author": {
        "name": "Marc Blank",
        "email": "mblank@google.com",
        "time": "Mon Feb 13 10:20:38 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 10:20:38 2012 -0800"
      },
      "message": "Merge \"Use \u0026#39; for apostrophe in HTML encoding\""
    },
    {
      "commit": "f4832da16a9513e19881397abdbbf62285f8b852",
      "tree": "c5eb1ee3ae1a380907626a728c17987e7ddcd54b",
      "parents": [
        "fe07b9a2ab54305de553332d0ab278fdf7158ae4"
      ],
      "author": {
        "name": "Marc Blank",
        "email": "mblank@google.com",
        "time": "Mon Feb 13 10:11:50 2012 -0800"
      },
      "committer": {
        "name": "Marc Blank",
        "email": "mblank@google.com",
        "time": "Mon Feb 13 10:11:50 2012 -0800"
      },
      "message": "Use \u0026#39; for apostrophe in HTML encoding\n\n* We were using \u0026apos; which is not correct\n\nChange-Id: I4872da7d5e19f18ecd570dbcaac295020d66681c\n"
    },
    {
      "commit": "f96901f8ccf7e5bdb05bb22ca1b522c381f05043",
      "tree": "6061461a9e6dcb52cd734f59a010c49e3f9cb662",
      "parents": [
        "8fdaf785e2624f355c525c1370fe0837969e5072",
        "9760647dd0ee67e7c20f3e9d661d2006b1df0b54"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Fri Feb 10 21:55:52 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 10 21:55:52 2012 -0800"
      },
      "message": "Merge \"Add support for non-linear ramping of master volume adjustment\""
    },
    {
      "commit": "40c8db5a28e9abae2033facce1354e3677911fcc",
      "tree": "c6fa812cdc2ceba73611a5bffba22ff9736b0c34",
      "parents": [
        "5dd4754f58e5e99f893749ab3bb3eda1de4cfbe7"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Feb 10 18:59:48 2012 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Feb 10 18:59:48 2012 -0800"
      },
      "message": "Move BroadcastQueue out of the ActivityManager class.\n\nChange-Id: Ib468481588a1aa506ff00f3c4b1a6ecf672c7b99\n"
    },
    {
      "commit": "8fdaf785e2624f355c525c1370fe0837969e5072",
      "tree": "064d44454df10cd5bce433765ab150a45a48de3c",
      "parents": [
        "e4e04945e73ac06f7b39e07b9ba1d71339a2db49",
        "23cc716cc52984a926de7643cfbae0a629913436"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Feb 10 17:57:16 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 10 17:57:16 2012 -0800"
      },
      "message": "Merge \"Change the signature of method addTextSource() in AwesomePlayer\""
    },
    {
      "commit": "e4e04945e73ac06f7b39e07b9ba1d71339a2db49",
      "tree": "2ae2760326b821fb3fd15a45046ae51cdebdfe9c",
      "parents": [
        "928815515481551c8318d5decc7009f00b82a511",
        "5caed1d99b99a011501c532fbf970324ea82e13d"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Fri Feb 10 17:00:51 2012 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Feb 10 17:00:51 2012 -0800"
      },
      "message": "am 5caed1d9: am f11b6fbf: am 197fe269: Merge \"Add OEM specific USB mode enumeration based on ro.bootmode property\" into ics-mr1\n\n* commit \u00275caed1d99b99a011501c532fbf970324ea82e13d\u0027:\n"
    },
    {
      "commit": "928815515481551c8318d5decc7009f00b82a511",
      "tree": "2ae2760326b821fb3fd15a45046ae51cdebdfe9c",
      "parents": [
        "ad8d175b405373b9614ad4278f274eae706df588",
        "41b564f354e7bbe1df96fdf2fe60ebafb3f06a18"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Fri Feb 10 16:57:39 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 10 16:57:39 2012 -0800"
      },
      "message": "Merge \"resolved conflicts for merge of e8b57fea to master\""
    },
    {
      "commit": "41b564f354e7bbe1df96fdf2fe60ebafb3f06a18",
      "tree": "be87e3a2875fd1a59f40c57ab396f8a4ed97d84e",
      "parents": [
        "6f5f9ce713b3ea58cbc71f3f4b02c2b694ce9dec",
        "e8b57feaab3b15bd5aa563fc9472715e225da071"
      ],
      "author": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Fri Feb 10 16:11:18 2012 -0800"
      },
      "committer": {
        "name": "Wink Saville",
        "email": "wink@google.com",
        "time": "Fri Feb 10 16:11:18 2012 -0800"
      },
      "message": "resolved conflicts for merge of e8b57fea to master\n\nChange-Id: I2ccf2b4cb73faadd0c8608cc21dda5db888d2937\n"
    },
    {
      "commit": "9760647dd0ee67e7c20f3e9d661d2006b1df0b54",
      "tree": "ae6a0e0e3961c8a13c69cbbf89abd4bc43f529b9",
      "parents": [
        "c199e2c7e0f8895273fdd912c5c88495a8b30e35"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Thu Feb 09 11:24:10 2012 -0800"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@google.com",
        "time": "Fri Feb 10 15:58:07 2012 -0800"
      },
      "message": "Add support for non-linear ramping of master volume adjustment\n\nBug: 5472584\n\nChange-Id: I1227007d1563eca739fb78b6d9595febc04a3f03\nSigned-off-by: Mike Lockwood \u003clockwood@google.com\u003e\n"
    }
  ],
  "next": "ad8d175b405373b9614ad4278f274eae706df588"
}
