)]}'
{
  "log": [
    {
      "commit": "a30ed30b756136e253fd797b6eaf83205c413e15",
      "tree": "3e55091b1bef74317d7f52f08ac825486fd33ec7",
      "parents": [
        "86574d66dacc09c9b5a0a0ab2623ec01704b6fc8",
        "b7f09f28b92927ad5eb46f86e11a8a3df33ec914"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Fri Jul 29 14:16:18 2011 -0400"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Fri Jul 29 14:16:18 2011 -0400"
      },
      "message": "resolved conflicts for merge of b7f09f28 to honeycomb-plus-aosp\n\nChange-Id: Iebde13c41a2adf4e693d87e808cb0659f913e4e6\n"
    },
    {
      "commit": "b7f09f28b92927ad5eb46f86e11a8a3df33ec914",
      "tree": "9ca31dfa758b2a6c79743ff2889ad86c326eb36b",
      "parents": [
        "5f7203eb258503bc5d2ba29176bdf483a68a93b8",
        "b7ed8471f1b96aff901149cf9ac29e4b32672f93"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Fri Jul 29 09:53:09 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 29 09:53:09 2011 -0700"
      },
      "message": "am b7ed8471: am 01caec8c: Merge \"Adding an optional param to the SurfaceTexture constructor.\"\n\n* commit \u0027b7ed8471f1b96aff901149cf9ac29e4b32672f93\u0027:\n  Adding an optional param to the SurfaceTexture constructor.\n"
    },
    {
      "commit": "b7ed8471f1b96aff901149cf9ac29e4b32672f93",
      "tree": "a71b648bae8012050c4fa9f73e132c595a763c02",
      "parents": [
        "5a27a7543edbd09a56e36d04adb4cfab922e6346",
        "01caec8c4165a6cce2f276f8016b9eadab966944"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Fri Jul 29 09:50:11 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 29 09:50:11 2011 -0700"
      },
      "message": "am 01caec8c: Merge \"Adding an optional param to the SurfaceTexture constructor.\"\n\n* commit \u002701caec8c4165a6cce2f276f8016b9eadab966944\u0027:\n  Adding an optional param to the SurfaceTexture constructor.\n"
    },
    {
      "commit": "0e4afa1fb10c0ab0878b136a1c11ea27129c7e81",
      "tree": "f08822735b4dc61978a1a65592f26420ddfc0885",
      "parents": [
        "bd1dee94dfe2e1d7564cae3c8c6be53cc4e66998"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Fri Jul 29 11:04:51 2011 -0400"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Fri Jul 29 11:06:24 2011 -0400"
      },
      "message": "Adding an optional param to the SurfaceTexture constructor.\n\nChange-Id: I0fdbccf483a16af8039b85c0562f19a34ebce536\n"
    },
    {
      "commit": "913a5a3cc600b496da937010160cd326bd98798f",
      "tree": "29f4c9e14d4b165b4334091f6f5497c9e1cce960",
      "parents": [
        "b0878223db87700cdc988a6d9197ca4e3c4772db"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 14 11:50:22 2011 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Wed Jul 27 11:31:57 2011 -0700"
      },
      "message": "DO NOT MERGE. may fix build on some version of gcc\n\nChange-Id: Id99d390862731fd3fbc009dbffdf1d2a59dbe348\n"
    },
    {
      "commit": "e0947693c9984727dfa775a747dd32aaaeb90284",
      "tree": "378c1b6621a3fa395ba903bea3451d53281d1495",
      "parents": [
        "af08ddbc42fb51de76958d859cf0e87d0b9e475e",
        "54146a634e0e66a5e4732ba1a80079a1e93bdd8a"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@google.com",
        "time": "Tue Jun 28 18:53:51 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 28 18:53:51 2011 -0700"
      },
      "message": "am 54146a63: Merge \"DO NOT MERGE. may fix build on some version of gcc\" into gingerbread\n\n* commit \u002754146a634e0e66a5e4732ba1a80079a1e93bdd8a\u0027:\n  DO NOT MERGE. may fix build on some version of gcc\n"
    },
    {
      "commit": "7595e84d3a60d2a63990703043a8e9647f71e3a4",
      "tree": "bb0bb948f68770646539c89a7bbe37407cba1310",
      "parents": [
        "2b5f2d01558ba338042f486c754f63873c4061fe",
        "f458d5fdb8a48747d6fdd5fd0d0a44a6a8ed89e9"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jun 24 11:28:30 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jun 24 11:28:30 2011 -0700"
      },
      "message": "am f458d5fd: Merge \"Tweak for forward-compatibility\"\n\n* commit \u0027f458d5fdb8a48747d6fdd5fd0d0a44a6a8ed89e9\u0027:\n  Tweak for forward-compatibility\n"
    },
    {
      "commit": "0fe0e7a4cb82868068cc9aa3177e8ad2b5d72237",
      "tree": "49c5ec58c670baf311059ce1e5b1b767a0c374dc",
      "parents": [
        "e2b41b0d5c8db85a60cd190c7094052db61114b2"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jun 24 10:49:18 2011 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jun 24 10:49:18 2011 -0700"
      },
      "message": "Tweak for forward-compatibility\n\nChange-Id: Ic5e4d949c1c80a2ebdc2ec802c35b5d3d7f9661d\n"
    },
    {
      "commit": "ff3ead5072721bfb24202ff9b041cc4291f34e21",
      "tree": "f50df8d74e5c84257cfb7c96c82a50a9b8bf19c5",
      "parents": [
        "42781a11ce9e346a24fbb6214f8f214845464213",
        "e3b05d09163257b888c86f2a560e10c48f4cf029"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Jun 20 09:05:07 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 20 09:05:07 2011 -0700"
      },
      "message": "am e3b05d09: Merge \"Tweaks for forward-compatibility\"\n\n* commit \u0027e3b05d09163257b888c86f2a560e10c48f4cf029\u0027:\n  Tweaks for forward-compatibility\n"
    },
    {
      "commit": "84d0ccf16cccf02d5cab51c0cb6c9cee79b60f3f",
      "tree": "31114334ea83202c54e73e1f478ee7bede50efcb",
      "parents": [
        "d8b027b18f5a922ef729c6ee363eecb053358d47"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Sat Jun 18 09:42:04 2011 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Sat Jun 18 09:42:04 2011 -0700"
      },
      "message": "Tweaks for forward-compatibility\n\nChange-Id: Iec525edc186e78d5d865f82dd5b1f56263c22e86\n"
    },
    {
      "commit": "ec15afca08fcc342d6f22cf02a21975af13091cf",
      "tree": "3163f1bee8e9bb66011950745aaeaf507c578036",
      "parents": [
        "d76baeb4d836c33cc68cbb0c2e237c066f368529"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 14 11:50:22 2011 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Jun 16 18:26:14 2011 -0700"
      },
      "message": "DO NOT MERGE. may fix build on some version of gcc\n\nChange-Id: Id99d390862731fd3fbc009dbffdf1d2a59dbe348\n"
    },
    {
      "commit": "3b916233cbbbcc5bbc703213af5e647910956cbc",
      "tree": "76052a00a29909da662272928bb130c87dbec30d",
      "parents": [
        "e21217af6480c45212517a68b2b6e583c4dc27c9",
        "48294b0d9388cff632f0e6ae5220305d342c76fb"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jun 16 18:15:19 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 16 18:15:19 2011 -0700"
      },
      "message": "am 48294b0d: am e7d3ee9d: Revert \"merge various SF fixes from gingerbread to honeycomb-mr2\" (DO NOT MERGE)\n\n* commit \u002748294b0d9388cff632f0e6ae5220305d342c76fb\u0027:\n  Revert \"merge various SF fixes from gingerbread to honeycomb-mr2\" (DO NOT MERGE)\n"
    },
    {
      "commit": "e7d3ee9d81de13e992c7d063ca472d480956b0c6",
      "tree": "ccc17e58c35296b985c69a0319f8ec23981cf928",
      "parents": [
        "c826f92e6f90f4157afd4ed69c6907ff768a0d6b"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jun 16 17:15:51 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jun 16 17:22:28 2011 -0700"
      },
      "message": "Revert \"merge various SF fixes from gingerbread to honeycomb-mr2\" (DO NOT MERGE)\n\nAlso revert all dependent changes:\nThis reverts commit 8e18668d14adf601cbe5973030c310ec23d88461.\nThis reverts commit 69b4587bfbb3e98f793959d9123340360fa233a2.\nThis reverts commit a9c9a4baf24700e8817d47d8ea8da1742caea0b5.\nThis reverts commit 2c0042b666a969091c931614f2fc0dce2f1cfac8.\nThis reverts commit f6c8206735e7e078461e5f2aef6e1a1446fdd075.\nThis reverts commit 24855c09173a6caaec7dcedd0c2d7ce15121d39b.\n\nChange-Id: I33e699640f3f59e42fa03c99a9a1b7af0d27d4d8\n"
    },
    {
      "commit": "35e6d6867c63ad254e95325206aa7a927edd6797",
      "tree": "f97feb4c06ceed98684b0431931c2eb6403d3999",
      "parents": [
        "552bd670071b519d97124621a3c11dc98062c12b",
        "0887b8c2e583e682cd2c1bc909cb3fdbec704004"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 15 22:42:52 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 15 22:42:52 2011 -0700"
      },
      "message": "am 0887b8c2: am 8e18668d: revert surfaceflinger leak fix as it uncovered a crasher on xoom (DO NOT MERGE)\n\n* commit \u00270887b8c2e583e682cd2c1bc909cb3fdbec704004\u0027:\n  revert surfaceflinger leak fix as it uncovered a crasher on xoom (DO NOT MERGE)\n"
    },
    {
      "commit": "552bd670071b519d97124621a3c11dc98062c12b",
      "tree": "315fd0e01a5311701273eb5552f4f3593d5a6733",
      "parents": [
        "85c14352a4f8946a6908eac140936080536fa575",
        "d5244e0a88ed2f843651aa5ffdc71a45c968e0f3"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 15 22:12:32 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 15 22:12:32 2011 -0700"
      },
      "message": "am d5244e0a: am 52a43990: Revert \"revert surfaceflinger leak fix as it uncovered a crasher on xoom\"\n\n* commit \u0027d5244e0a88ed2f843651aa5ffdc71a45c968e0f3\u0027:\n  Revert \"revert surfaceflinger leak fix as it uncovered a crasher on xoom\"\n"
    },
    {
      "commit": "8e18668d14adf601cbe5973030c310ec23d88461",
      "tree": "744609586edc74feee7b236de068f587de6545b1",
      "parents": [
        "52a43990880b27808bcf562afcc4209d34728e6e"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 15 20:42:47 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 15 20:45:32 2011 -0700"
      },
      "message": "revert surfaceflinger leak fix as it uncovered a crasher on xoom (DO NOT MERGE)\n\nThis reverts commit 52a43990880b27808bcf562afcc4209d34728e6e.\n\nChange-Id: I1856a48f863b051395b8091ddfd1e01292fa1b1e\n"
    },
    {
      "commit": "52a43990880b27808bcf562afcc4209d34728e6e",
      "tree": "413d422aa5827ad63c62125278a633b78ae77dff",
      "parents": [
        "d20d72d193ab0d7f33c839d8bf9573b55abfebdc"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 15 20:41:24 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 15 20:42:25 2011 -0700"
      },
      "message": "Revert \"revert surfaceflinger leak fix as it uncovered a crasher on xoom\"\n\nThis reverts commit af6edba59e250adbdfa5b3c3be134f70d8c38a16.\n\nChange-Id: I7793d3ca8a4d20a2b188364f47854328ab5f586d\n"
    },
    {
      "commit": "85c14352a4f8946a6908eac140936080536fa575",
      "tree": "f97feb4c06ceed98684b0431931c2eb6403d3999",
      "parents": [
        "f28f1de391d53b590f5ed963dcb9ae634e3196db",
        "7ecdeb6e548ff71d4f70b343e30136e89eaa3e33"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 15 20:21:31 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 15 20:21:31 2011 -0700"
      },
      "message": "am 7ecdeb6e: am d20d72d1: Merge \"revert surfaceflinger leak fix as it uncovered a crasher on xoom\" into honeycomb-mr2\n\n* commit \u00277ecdeb6e548ff71d4f70b343e30136e89eaa3e33\u0027:\n  revert surfaceflinger leak fix as it uncovered a crasher on xoom\n"
    },
    {
      "commit": "af6edba59e250adbdfa5b3c3be134f70d8c38a16",
      "tree": "755773c8989097f0880ec9f134861c91527573de",
      "parents": [
        "f409604122f959653fb789e9133e94a51e369693"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 15 19:20:52 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 15 19:31:04 2011 -0700"
      },
      "message": "revert surfaceflinger leak fix as it uncovered a crasher on xoom\n\nBug: 4600244\nChange-Id: Ia68ebf0f243a051ff6a21b3863e3e5d259bbf7ac\n"
    },
    {
      "commit": "5137711109783dcbb20143d3e5cab2fa931218dd",
      "tree": "62cf965ceb33e20e3dfb357564f8d7bdbedc48cc",
      "parents": [
        "d8f9a83cab34de38981dc3ba5ca9df8dda02dbc0",
        "afffa8fa9f82a7343e1158bf921931fd3e3df615"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 15 14:13:04 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 15 14:13:04 2011 -0700"
      },
      "message": "am afffa8fa: fix RefBase so it retains binary-compatibility with gingerbread (DO NOT MERGE)\n\n* commit \u0027afffa8fa9f82a7343e1158bf921931fd3e3df615\u0027:\n  fix RefBase so it retains binary-compatibility with gingerbread (DO NOT MERGE)\n"
    },
    {
      "commit": "9ee3975883cc4356d7b44f4e86d8c61589d2f42c",
      "tree": "b65457665ce65340c7f520b6e13973fbbe2e50fa",
      "parents": [
        "8a73d211845671880b0d50fbb0c5caa065066c80",
        "a9007fbdae6671f66535da4b9dad04b19aaf9186"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 14 13:30:34 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 14 13:30:34 2011 -0700"
      },
      "message": "am a9007fbd: am 69b4587b: DO NOT MERGE. may fix build on some version of gcc\n\n* commit \u0027a9007fbdae6671f66535da4b9dad04b19aaf9186\u0027:\n  DO NOT MERGE. may fix build on some version of gcc\n"
    },
    {
      "commit": "69b4587bfbb3e98f793959d9123340360fa233a2",
      "tree": "2682adec63c6a4dbb58f22395c16cb5ba9600c3b",
      "parents": [
        "700a1f25719138b94c453beb6325e627a11a9883"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 14 11:50:22 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 14 12:05:42 2011 -0700"
      },
      "message": "DO NOT MERGE. may fix build on some version of gcc\n\nChange-Id: Iff6d9ab3a7caf58f65fc3f60633a3bd577b7af25\n"
    },
    {
      "commit": "c031afc8e9ad6c940c7d67a15b9c53092987377e",
      "tree": "71f384a3f6592d8acfa591db59bae6c26f9c8d50",
      "parents": [
        "c793f521e5ace1dca39d65de3ed60d7c8242f661",
        "77079399fca3e9c71e2ac06f3da26934e1c278b9"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 13 14:15:00 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 13 14:15:00 2011 -0700"
      },
      "message": "am 77079399: am a9c9a4ba: fix RefBase so it retains binary-compatibility with gingerbread (DO NOT MERGE)\n\n* commit \u002777079399fca3e9c71e2ac06f3da26934e1c278b9\u0027:\n  fix RefBase so it retains binary-compatibility with gingerbread (DO NOT MERGE)\n"
    },
    {
      "commit": "afffa8fa9f82a7343e1158bf921931fd3e3df615",
      "tree": "04e6d9721d21895ca93b209f98db8b5b65ab9991",
      "parents": [
        "d027329cd6105c05c157e3858a170e4f04eb0e3e"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Jun 12 18:05:53 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 13 13:58:34 2011 -0700"
      },
      "message": "fix RefBase so it retains binary-compatibility with gingerbread (DO NOT MERGE)\n\nBug: 4595257\nChange-Id: I4773cf4fe59b2509db0ed733739eb6961d473b25\n"
    },
    {
      "commit": "a9c9a4baf24700e8817d47d8ea8da1742caea0b5",
      "tree": "ebc1fd1110292ff2f544838ddc7a85dd72b423a0",
      "parents": [
        "fd63814abe8e81d5e1e0eb75b5a5a18034e9b4c6"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Jun 12 18:05:53 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 13 13:44:28 2011 -0700"
      },
      "message": "fix RefBase so it retains binary-compatibility with gingerbread (DO NOT MERGE)\n\nBug: 4595257\nChange-Id: I1db83149107d7dab1f0b7e73c684e0ff82e17e62\n"
    },
    {
      "commit": "f51ded0f8f593d17af82946eb65c05fc04f688b4",
      "tree": "32b39d7d93170aed01c11e7353afc53a2b306cb4",
      "parents": [
        "5a8455c3c625201f3ae6b9ce32913bf97ba61cc8",
        "a8d7ea067cf22baeee2ff0a33e5a8c5a35936942"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 09 16:06:07 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 09 16:06:07 2011 -0700"
      },
      "message": "am a8d7ea06: am 220cd77d: Merge \"Enforce public resource restriction on bag parents.\" into honeycomb-mr2\n\n* commit \u0027a8d7ea067cf22baeee2ff0a33e5a8c5a35936942\u0027:\n  Enforce public resource restriction on bag parents.\n"
    },
    {
      "commit": "426431adcc220b6adfbe1d9530247f897e60fa36",
      "tree": "e9dd34ae5151de5bf9f57edb3055d0d228e1f006",
      "parents": [
        "1d3173c3dc93bb4f2efc5b059fec8e7577b3258a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 09 11:29:08 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Jun 09 15:27:39 2011 -0700"
      },
      "message": "Enforce public resource restriction on bag parents.\n\nNeed to put some more styles in the SDK to avoid breaking apps.\n\nAlso, welcome Android 3.2.\n\nChange-Id: Ia31d07c9b1b91ad868d8630437fdc1b5ae24f37d\n"
    },
    {
      "commit": "61220e880ac4d9d76b7fd50744439e68e929c697",
      "tree": "7416218992489a1ddebdafb535d2d65a0dc8cf76",
      "parents": [
        "55cc25c12c45e8ffb65d2275cc0b6941b68db9df",
        "bbbab26ebe9bc789ba9abac757895a6c31de7cc5"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Mon Jun 06 20:36:49 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 06 20:36:49 2011 -0700"
      },
      "message": "am bbbab26e: am 2c180499: Merge \"Revert velocity damping. Bug: 4364920\" into honeycomb-mr2\n\n* commit \u0027bbbab26ebe9bc789ba9abac757895a6c31de7cc5\u0027:\n  Revert velocity damping. Bug: 4364920\n"
    },
    {
      "commit": "2c1804998b6a3f1f9f5f301ccf813363825ab4cf",
      "tree": "402728e71a7bfd55b0dd1b2414ff8229442fb3b2",
      "parents": [
        "b92dcf9c062064dcca9298b089d95a3ce1ba2e75",
        "ac55c2b1ea5c4a1284bf06744380bf32e6aeb7d6"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Mon Jun 06 20:32:18 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 06 20:32:18 2011 -0700"
      },
      "message": "Merge \"Revert velocity damping. Bug: 4364920\" into honeycomb-mr2"
    },
    {
      "commit": "ac55c2b1ea5c4a1284bf06744380bf32e6aeb7d6",
      "tree": "4bda0a1efedd7851c45ac63d54b3ca4b773a7320",
      "parents": [
        "cb5ffcf0e41d2597401208221c61589547a00f3d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Mon Jun 06 20:23:54 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Mon Jun 06 20:23:54 2011 -0700"
      },
      "message": "Revert velocity damping.\nBug: 4364920\n\nVelocity damping proved to be a bad idea because it would\ncause a significant ramp in velocity at the beginning of\na gesture, instead of the desired smooth behavior.  Oh well.\n\nChange-Id: Ie631946f47ef2492bd71fbed1ab44bbb39a875a8\n"
    },
    {
      "commit": "24855c09173a6caaec7dcedd0c2d7ce15121d39b",
      "tree": "1b72c39ca375da3f4c43ba5afcf9cde70dd7a53d",
      "parents": [
        "b16b020dd32147fbaaf7de47d5de16bfee10967a"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 06 09:55:15 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 06 15:14:25 2011 -0700"
      },
      "message": "merge various SF fixes from gingerbread to honeycomb-mr2 (DO NOT MERGE)\n\n  Fix a race that could cause GL commands to be executed from the wrong thread.\n  RefBase subclasses can now decide how they want to be destroyed.\n  Fix a race in SurfaceFlinger that could cause layers to be leaked forever.\n  Fix a race-condtion in SurfaceFlinger that could lead to a crash.\n\ninitial cherry-pick:\nresolved conflicts for merge of b9783b49 to honeycomb-plus-aosp\n\nChange-Id: I2a335e03fff219e35c18a7b0089b3a11d636576f\n"
    },
    {
      "commit": "b2fd84ad1d470d607af4a83da378d4e317421634",
      "tree": "7f3004f80d6e46b33317676d8d11b79aa3c6bb69",
      "parents": [
        "fc51aaec82ecedb554d158e4284761c9348d09fd",
        "b9783b49f4727a0365f2297bb903db8682855adf"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jun 06 09:55:15 2011 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jun 06 09:55:15 2011 -0700"
      },
      "message": "resolved conflicts for merge of b9783b49 to honeycomb-plus-aosp\n\nChange-Id: I1d86ea56b3d1d1b69f6671e5b0df0ca3f0c79643\n"
    },
    {
      "commit": "56503b8ddfe5c82407da32e18061e725f668432d",
      "tree": "fac35d1a321012aae79461f57b58703a7effac42",
      "parents": [
        "b9040e774920c4641c154df2a358100cf78a2bd3",
        "8186a5f065fac2b82c90cd18d79cd234bc221402"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Thu Jun 02 17:33:55 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 02 17:33:55 2011 -0700"
      },
      "message": "am 8186a5f0: am 10c3f367: Merge \"Implement pointer acceleration.\" into honeycomb-mr2\n\n* commit \u00278186a5f065fac2b82c90cd18d79cd234bc221402\u0027:\n  Implement pointer acceleration.\n"
    },
    {
      "commit": "19c97d46fb57f87ff45d9e6ea7122b4eb21ede8c",
      "tree": "4cb7adbcc382269d7b0eeddd0043b9a9e0c71a7a",
      "parents": [
        "2969b51132b80c873663aa2472b21d3e95845927"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Wed Jun 01 12:33:19 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Thu Jun 02 14:12:05 2011 -0700"
      },
      "message": "Implement pointer acceleration.\n\nBug: 4124987\nChange-Id: I1f31a28f1594c55302ccabe13fe3ca6d2ff71d50\n"
    },
    {
      "commit": "54cb63e26e41b80c013b8665878b9c7c7fb328c1",
      "tree": "a3c15960d5aef66a6df3370cb5ad0b12a9fa1dee",
      "parents": [
        "da9837fb61c8aa53c67921682016d97655332089",
        "528c49f112dce5f9687f30a9751e783196eca0c6"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 27 14:27:46 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 27 14:27:46 2011 -0700"
      },
      "message": "am 528c49f1: am b96cbbd1: Add \"tv\" density for 720p screens.\n\n* commit \u0027528c49f112dce5f9687f30a9751e783196eca0c6\u0027:\n  Add \"tv\" density for 720p screens.\n"
    },
    {
      "commit": "b96cbbd11c4590bec846212c33361e02293f18b5",
      "tree": "ac02f12136339bb608c07d8b26eaae1cddccf792",
      "parents": [
        "ff7622992f39d8e401ab23c5ce6a84f318906e52"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 27 13:40:26 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 27 13:40:26 2011 -0700"
      },
      "message": "Add \"tv\" density for 720p screens.\n\nChange-Id: I028969b007f2fceea66947d77a2ae31ef1d1a630\n"
    },
    {
      "commit": "da9837fb61c8aa53c67921682016d97655332089",
      "tree": "5b6771f3f923114dc942c98b5498098c2c593f3f",
      "parents": [
        "ef9be207152d54cbc1382121053e25414b3b2ed3",
        "c058d38602a1ffe00e14b4ab32c876c252eabe6d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 27 12:47:59 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 27 12:47:59 2011 -0700"
      },
      "message": "am c058d386: am ff762299: Merge \"Small fixes and cleanup of resource config handling.\" into honeycomb-mr2\n\n* commit \u0027c058d38602a1ffe00e14b4ab32c876c252eabe6d\u0027:\n  Small fixes and cleanup of resource config handling.\n"
    },
    {
      "commit": "3904d03dd01dcd43c446744e44b34615825d9679",
      "tree": "90a8c911753fe69f0ab5bbfe273c08c086f8839d",
      "parents": [
        "94250ac69c6e07534e4781d3479dccb79d8c366c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 27 12:09:11 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 27 12:09:11 2011 -0700"
      },
      "message": "Small fixes and cleanup of resource config handling.\n\nChange-Id: I402c31b68f2b4825cb4c610a65ee8e1da471c7bb\n"
    },
    {
      "commit": "3c2fb0242b0ec21101959dfa08aad3162a523634",
      "tree": "5f338cb0714dbe36988431320f8919576d91009a",
      "parents": [
        "13412d31650366f41b1f3d9f429cb0a01dd575ef",
        "8148cc3e47e50c916066e2fed562618b5827188f"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed May 25 14:46:53 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 25 14:46:53 2011 -0700"
      },
      "message": "am 8148cc3e: am 86ea1f5f: Initial checkin of spot presentation for touchpad gestures. (DO NOT MERGE)\n\n* commit \u00278148cc3e47e50c916066e2fed562618b5827188f\u0027:\n  Initial checkin of spot presentation for touchpad gestures. (DO NOT MERGE)\n"
    },
    {
      "commit": "8e5799ed16ab605d8de775e1644f1fa59ff6627e",
      "tree": "cc7f1fd4b865123a2ee50ddebd628004e186112f",
      "parents": [
        "7d0fb57044576fd4bbaf9683997bab288c3b759c",
        "af685f3bb566f297deee1615d55d4f33d5580ba3"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed May 25 14:42:20 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 25 14:42:20 2011 -0700"
      },
      "message": "am af685f3b: am 85a7f99c: Merge \"Refactor how timeouts are calculated. (DO NOT MERGE)\" into honeycomb-mr2\n\n* commit \u0027af685f3bb566f297deee1615d55d4f33d5580ba3\u0027:\n  Refactor how timeouts are calculated. (DO NOT MERGE)\n"
    },
    {
      "commit": "7d0fb57044576fd4bbaf9683997bab288c3b759c",
      "tree": "e5a83713aaaf0d82170bba4da24f32b5f7465f39",
      "parents": [
        "4e3ba25cc718bbc6db0a332c4105debc4b3552d3",
        "16330e249663fed890df0e95fce4016c2971120a"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed May 25 14:42:06 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 25 14:42:06 2011 -0700"
      },
      "message": "am 16330e24: am 94e838f6: Merge \"Improve VelocityTracker numerical stability. (DO NOT MERGE)\" into honeycomb-mr2\n\n* commit \u002716330e249663fed890df0e95fce4016c2971120a\u0027:\n  Improve VelocityTracker numerical stability. (DO NOT MERGE)\n"
    },
    {
      "commit": "4e3ba25cc718bbc6db0a332c4105debc4b3552d3",
      "tree": "41ea26bf7a101268ac614d362393b7bd2705f4fb",
      "parents": [
        "cfb046dead49568de6f6808a697e0508ef39a3a6",
        "4bd89fb00f319c5d6d4f17b39fd4c0b3dc827ad1"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed May 25 14:42:01 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 25 14:42:01 2011 -0700"
      },
      "message": "am 4bd89fb0: am 82e4373e: Merge \"Use touch pad gestures to manipulate the pointer. (DO NOT MERGE)\" into honeycomb-mr2\n\n* commit \u00274bd89fb00f319c5d6d4f17b39fd4c0b3dc827ad1\u0027:\n  Use touch pad gestures to manipulate the pointer. (DO NOT MERGE)\n"
    },
    {
      "commit": "86ea1f5f521981d075aef56f11693e4f3bc32fdb",
      "tree": "72e1e44513d3e9e204a4fbd2855a079822e949eb",
      "parents": [
        "a6dbfdd3a858aac52cc87f80f91e8eef7d613605"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Apr 12 22:39:53 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Wed May 25 14:37:17 2011 -0700"
      },
      "message": "Initial checkin of spot presentation for touchpad gestures. (DO NOT MERGE)\n\nAdded a new PointerIcon API (hidden for now) for loading\npointer icons.\n\nFixed a starvation problem in the native Looper\u0027s sendMessage\nimplementation which caused new messages to be posted ahead\nof old messages sent with sendMessageDelayed.\n\nRedesigned the touch pad gestures to be defined in terms of\nmore fluid finger / spot movements.  The objective is to reinforce\nthe natural mapping between fingers and spots which means there\nmust not be any discontinuities in spot motion relative to\nthe fingers.\n\nRemoved the SpotController stub and folded its responsibilities\ninto PointerController.\n\nChange-Id: Ib647dbd7a57a7f30dd9c6e2c260df51d7bbdd18e\n"
    },
    {
      "commit": "b9783b49f4727a0365f2297bb903db8682855adf",
      "tree": "0d4831587eed29e6e2366280543ed0f226051807",
      "parents": [
        "10b364b4bea8537f955bbbb8b9b40061264b29c9",
        "c9cd2387b6938a6fbefc731d2177902266f2a130"
      ],
      "author": {
        "name": "Simon Wilson",
        "email": "simonwilson@google.com",
        "time": "Tue May 24 17:29:12 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 24 17:29:12 2011 -0700"
      },
      "message": "am c9cd2387: Merge changes I37f0f315,I8cbf6044,Ibb598931,I5262bf11 into gingerbread\n\n* commit \u0027c9cd2387b6938a6fbefc731d2177902266f2a130\u0027:\n  Fix a race that could cause GL commands to be executed from the wrong thread.\n  RefBase subclasses can now decide how they want to be destroyed.\n  Fix a race in SurfaceFlinger that could cause layers to be leaked forever.\n  Fix a race-condtion in SurfaceFlinger that could lead to a crash.\n"
    },
    {
      "commit": "68d6075b4ad2205c10064c78cde552e3210cca91",
      "tree": "a8f8e79d5bddb76dd0578a02c17646a05021bbd9",
      "parents": [
        "5b2b4d9c0a56c4b5e869c828a6c36a1b9e27d61b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Mar 17 01:34:19 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Mon May 23 17:20:42 2011 -0700"
      },
      "message": "Refactor how timeouts are calculated. (DO NOT MERGE)\n\nAdded a timeout mechanism to EventHub and InputReader so that\nInputMappers can request timeouts to perform delayed processing of\ninput when needed.\n\nChange-Id: I89c1171c9326c6e413042e3ee13aa9f7f1fc0454\n"
    },
    {
      "commit": "5b2b4d9c0a56c4b5e869c828a6c36a1b9e27d61b",
      "tree": "0e00adeba7368949783dd598b57b70a4936f8e9b",
      "parents": [
        "96ad3979f328a1aa098917ca1c35575e85345526"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Mar 14 19:39:54 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Mon May 23 17:19:59 2011 -0700"
      },
      "message": "Improve VelocityTracker numerical stability. (DO NOT MERGE)\n\nReplaced VelocityTracker with a faster and more accurate\nnative implementation.  This avoids the duplicate maintenance\noverhead of having two implementations.\n\nThe new algorithm requires that the sample duration be at least\n10ms in order to contribute to the velocity calculation.  This\nensures that the velocity is not severely overestimated when\nsamples arrive in bursts.\n\nThe new algorithm computes the exponentially weighted moving\naverage using weights based on the relative duration of successive\nsample periods.\n\nThe new algorithm is also more careful about how it handles\nindividual pointers going down or up and their effects on the\ncollected movement traces.  The intent is to preserve the last\nknown velocity of pointers as they go up while also ensuring\nthat other motion samples do not count twice in that case.\n\nBug: 4086785\nChange-Id: I95054102397c4b6a9076dc6a0fc841b4beec7920\n"
    },
    {
      "commit": "96ad3979f328a1aa098917ca1c35575e85345526",
      "tree": "a703eeeda8430c955738efd047616bc6a47a32e1",
      "parents": [
        "40277df7c33c0fc381eec589c768fe86de4b4404"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Mar 09 17:39:48 2011 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@android.com",
        "time": "Mon May 23 17:19:38 2011 -0700"
      },
      "message": "Use touch pad gestures to manipulate the pointer. (DO NOT MERGE)\n\n1. Single finger tap performs a click.\n2. Single finger movement moves the pointer (hovers).\n3. Button press plus movement performs click or drag.\n   While dragging, the pointer follows the finger that is moving\n   fastest.  This is important if there are additional fingers\n   down on the touch pad for the purpose of applying force\n   to an integrated button underneath.\n4. Two fingers near each other moving in the same direction\n   are coalesced as a swipe gesture under the pointer.\n5. Two or more fingers moving in arbitrary directions are\n   transformed into touches in the vicinity of the pointer.\n   This makes scale/zoom and rotate gestures possible.\n\nAdded a native VelocityTracker implementation to enable intelligent\nswitching of the active pointer during drags.\n\nChange-Id: I7b7ddacc724fb1306e1590dbaebb740d3130d7cd\n"
    },
    {
      "commit": "bbca81334e3603c7328dc526bd63032b23d5261d",
      "tree": "c29dd1ed7c2119cd50bbc4e56be9ee36d89891c7",
      "parents": [
        "98a8231e838d7d624c5862d81d1975ef4f8d0d57",
        "4bb78889d04594c01a6af7f6d38c1764e9f575f9"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 23 16:16:54 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon May 23 16:16:54 2011 -0700"
      },
      "message": "am 4bb78889: am 40277df7: Merge \"Add \"television\" mode.\" into honeycomb-mr2\n\n* commit \u00274bb78889d04594c01a6af7f6d38c1764e9f575f9\u0027:\n  Add \"television\" mode.\n"
    },
    {
      "commit": "9e7636681eda094dd328ce9bf54d0b0166be1e67",
      "tree": "daa994e6a3ed671ec6e09e31a8408bd7d6240871",
      "parents": [
        "fa21cb2e58838761157d3ee929a77e23b602bd01"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu May 19 18:03:31 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon May 23 16:13:48 2011 -0700"
      },
      "message": "RefBase subclasses can now decide how they want to be destroyed.\n\nThis adds a destroy() virtual on RefBase which\nsublasses can implement. destroy() is called\nin lieu of the destructor whenthe last strong\nref goes away.\n\nBug: 4483050\nChange-Id: I8cbf6044a6fd3f01043a45592b5a60fa1e5fade2\n"
    },
    {
      "commit": "e360bb6bd8ea84b8d37604fc11dfc744b18fb0de",
      "tree": "7e833a630e8108be1345d8595438eea5a30e7173",
      "parents": [
        "1b144e625fb0d34cd680c44cbcfb2deb8a76d4c6"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 20 16:11:04 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 23 15:11:08 2011 -0700"
      },
      "message": "Add \"television\" mode.\n\nChange-Id: Ida1fdb61b036a8b489dbeda196fb4bc82e651b2b\n"
    },
    {
      "commit": "06a8ceacb0dc2713cb0bb2c93d2a750f2a58db68",
      "tree": "14cda7bbbdc5e6cabb492d7af1977a2f5548062b",
      "parents": [
        "90177e59e5211dd9ab33761ce800e8a86a49d1e2",
        "c851ea5672f6e042c2e89b2a2ce4a2467e1fcd2a"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 19 19:34:21 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 19 19:34:21 2011 -0700"
      },
      "message": "am c851ea56: am 69cb8757: Add new \"-swNNNdp\" resource qualifier.\n\n* commit \u0027c851ea5672f6e042c2e89b2a2ce4a2467e1fcd2a\u0027:\n  Add new \"-swNNNdp\" resource qualifier.\n"
    },
    {
      "commit": "69cb87576ba163b61bb0e6477a3b7c57a9b11d40",
      "tree": "a44be0af3d008409403be133358bdcd628741c01",
      "parents": [
        "b9537db8d9ee27efb4a98415ad2d6b50c1806e5d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 19 18:13:32 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 19 18:23:29 2011 -0700"
      },
      "message": "Add new \"-swNNNdp\" resource qualifier.\n\nChange-Id: I0101e88ca9d8d44138bdcaf571f24b0352f4f6ce\n"
    },
    {
      "commit": "8d161fe1eafe80e01d84d2be55ae47314f944721",
      "tree": "64cf77fb1a514dee37516d9e7e6de4908ea5c9ee",
      "parents": [
        "b22a9fd9bb32133cbc7dc4fc7752dbf68e52dffe",
        "5a6c3d491ccac07ef3f6a624a8a3e0c36959b661"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed May 18 09:30:01 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 18 09:30:01 2011 -0700"
      },
      "message": "am 5a6c3d49: am 07e9267d: Merge \"DO NOT MERGE For bug 4422428 Squashed commit of the following:\" into honeycomb-mr2\n\n* commit \u00275a6c3d491ccac07ef3f6a624a8a3e0c36959b661\u0027:\n  DO NOT MERGE For bug 4422428 Squashed commit of the following:\n"
    },
    {
      "commit": "07e9267d33bb199d0a2b8de221c64541bdf2465a",
      "tree": "a0d309ad5aabae2c5cfe1134b0e3589cae386949",
      "parents": [
        "30a76196c8f426b530a80166817d3280acb2b100",
        "331de5dd58b2115968d9fd2a9ce21a45db309d37"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed May 18 09:17:50 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 18 09:17:50 2011 -0700"
      },
      "message": "Merge \"DO NOT MERGE For bug 4422428 Squashed commit of the following:\" into honeycomb-mr2"
    },
    {
      "commit": "331de5dd58b2115968d9fd2a9ce21a45db309d37",
      "tree": "73bb7b21147d1c2c22ffb9895747d25c7dc6b2a6",
      "parents": [
        "a8138732a01b92f0a40f72050b74a3bd4cf6d215"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri May 13 14:10:18 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri May 13 15:09:24 2011 -0700"
      },
      "message": "DO NOT MERGE\nFor bug 4422428\nSquashed commit of the following:\n\ncommit ae2e13783db2284f40d3891e70e152dab941edfc\nAuthor: Gloria Wang \u003cgwang@google.com\u003e\nDate:   Fri May 13 11:43:11 2011 -0700\n\n    Add one more DRM error code. For bug 4422428.\n\n    Change-Id: I4e333f474c96c0e0f162dde4013ad32b336bebd6\n\ncommit 0f88249d0cb5221f622cf1d1ac3cdccefb8f58a2\nAuthor: Gloria Wang \u003cgwang@google.com\u003e\nDate:   Fri Apr 29 10:44:46 2011 -0700\n\n    Add DRM errors in the DRM frameworks to MediaErrors also.\n    For bug 4350156.\n\n    Change-Id: Ib5711ec642178a49203a448b7f5114e675d49394\n\nChange-Id: Ia02de462159400eef8c015d28531bf1dd6796a18\n"
    },
    {
      "commit": "2e4a3236a7634d17f89288e9739a438ecbea0471",
      "tree": "45e1c4c61f4eb9775572d94a55dd91b071b84916",
      "parents": [
        "15f8a6a726658bfb195924bd5d7bb86684a22de0",
        "46a282f323bc05606e4fe1eba795bd9ac7c99819"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri May 13 11:21:26 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 13 11:21:26 2011 -0700"
      },
      "message": "am 46a282f3: am 0ed2e845: Merge \"DO NOT MERGE.  Integrate add new screen width/height in \"dp\" configs.\" into honeycomb-mr2\n\n* commit \u002746a282f323bc05606e4fe1eba795bd9ac7c99819\u0027:\n  DO NOT MERGE.  Integrate add new screen width/height in \"dp\" configs.\n"
    },
    {
      "commit": "ebff8f92f13513ce37bd74759eb1db63f2220590",
      "tree": "909da02ab7ff47483e227f032828dbdbe7f959af",
      "parents": [
        "a8138732a01b92f0a40f72050b74a3bd4cf6d215"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 12 18:07:47 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu May 12 18:39:51 2011 -0700"
      },
      "message": "DO NOT MERGE.  Integrate add new screen width/height in \"dp\" configs.\n\nYou can now specify resource configuration variants \"wNNNdp\"\nand \"hNNNdp\".  These are the minimum screen width/height in \"dp\"\nunits.  This allows you to do things like have your app adjust\nits layout based only on the about of horizontal space available.\n\nThis introduces a new configuration change flag for screen size.\nNote that this configuration change happens each time the orientation\nchanges.  Applications often say they handle the orientation change\nto avoid being restarted at a screen rotation, and this will now\ncause them to be restarted.  To address this, we assume the app can\nhandle this new config change if its target SDK version is \u003c ICS.\n\nChange-Id: I4acb73d82677b74092c1da9e4046a4951921f9f4\n"
    },
    {
      "commit": "fb401ca7773bf19362faa5d66f6aa8244f112fb7",
      "tree": "84763f76c0f7f625f2e0ca1106f024bfac7a6723",
      "parents": [
        "11ace0015bd7e045358dadeabcb44f12f28fde0b",
        "20fd3f0d83d4665a6ac33a10f4a48a0f6f159068"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu May 12 15:52:12 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 12 15:52:12 2011 -0700"
      },
      "message": "am 20fd3f0d: am 4770c79c: Merge \"Tweak audio APIs for better forward/backward/sideways compatibility.\"\n\n* commit \u002720fd3f0d83d4665a6ac33a10f4a48a0f6f159068\u0027:\n  Tweak audio APIs for better forward/backward/sideways compatibility.\n"
    },
    {
      "commit": "da94c346a5b5f3ef7d36b031309aa438194e4957",
      "tree": "fc1231adafe646e49453b85ad12af0ca5dae02d3",
      "parents": [
        "c9e22e9affec97a8c68f838de29dc7f685d9247b"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu May 12 09:46:49 2011 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Thu May 12 09:46:49 2011 -0700"
      },
      "message": "Tweak audio APIs for better forward/backward/sideways compatibility.\n\nChange-Id: I293e99107aed260db68edccad35cdc15ed88c1d3\n"
    },
    {
      "commit": "05be6d6fe09ddfb706d1bef3b20c3d37f45e3c8a",
      "tree": "e267de423fabed80a38fd48d6f9e2910b69fc072",
      "parents": [
        "ba54feb094fdf0eb2201eae5751104a144a2a31d",
        "4907d1d5e2c7d244b07579b8c52153df69754e85"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 09 17:10:34 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon May 09 17:10:34 2011 -0700"
      },
      "message": "am 4907d1d5: am 0c6cbf41: Merge \"Better compat mode part one: start scaling windows.\" into honeycomb-mr2\n\n* commit \u00274907d1d5e2c7d244b07579b8c52153df69754e85\u0027:\n  Better compat mode part one: start scaling windows.\n"
    },
    {
      "commit": "e2515eebf42c763c0a2d9f873a153711778cfc17",
      "tree": "ee159940f05c439d0524771bfbfe6b551c82c2d4",
      "parents": [
        "158e3582c03ab9e0221718da20fc8854bb9216d0"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Apr 27 18:52:56 2011 -0400"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon May 09 17:03:24 2011 -0700"
      },
      "message": "Better compat mode part one: start scaling windows.\n\nFirst step of improving app screen size compatibility mode.  When\nrunning in compat mode, an application\u0027s windows are scaled up on\nthe screen rather than being small with 1:1 pixels.\n\nCurrently we scale the application to fill the entire screen, so\ndon\u0027t use an even pixel scaling.  Though this may have some\nnegative impact on the appearance (it looks okay to me), it has a\nbig benefit of allowing us to now treat these apps as normal\nfull-screens apps and do the normal transition animations as you\nmove in and out and around in them.\n\nThis introduces fun stuff in the input system to take care of\nmodifying pointer coordinates to account for the app window\nsurface scaling.  The input dispatcher is told about the scale\nthat is being applied to each window and, when there is one,\nadjusts pointer events appropriately as they are being sent\nto the transport.\n\nAlso modified is CompatibilityInfo, which has been greatly\nsimplified to not be so insane and incomprehendible.  It is\nnow simple -- when constructed it determines if the given app\nis compatible with the current screen size and density, and\nthat is that.\n\nThere are new APIs on ActivityManagerService to put applications\nthat we would traditionally consider compatible with larger screens\nin compatibility mode.  This is the start of a facility to have\na UI affordance for a user to switch apps in and out of\ncompatibility.\n\nTo test switching of modes, there is a new variation of the \"am\"\ncommand to do this: am screen-compat [on|off] [package]\n\nThis mode switching has the fundamentals of restarting activities\nwhen it is changed, though the state still needs to be persisted\nand the overall mode switch cleaned up.\n\nFor the few small apps I have tested, things mostly seem to be\nworking well.  I know of one problem with the text selection\nhandles being drawn at the wrong position because at some point\nthe window offset is being scaled incorrectly.  There are\nprobably other similar issues around the interaction between\ntwo windows because the different window coordinate spaces are\ndone in a hacky way instead of being formally integrated into\nthe window manager layout process.\n\nChange-Id: Ie038e3746b448135117bd860859d74e360938557\n"
    },
    {
      "commit": "f6df5b41e145ee996ca4f94bec014ab3e41f0b21",
      "tree": "1d8468ff61a673100c383ee5cd58d8c4b3945d35",
      "parents": [
        "863ee40964ef2a017a1116abe37c6b8ad466dd5e",
        "fb6232635d339c83ca100e472b159f103dafb6e2"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed May 04 08:57:37 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 04 08:57:37 2011 -0700"
      },
      "message": "am fb623263: DO NOT MERGE MediaScanner: reimplement the \".nomedia\" feature for hiding files from the media provider\n\n* commit \u0027fb6232635d339c83ca100e472b159f103dafb6e2\u0027:\n  DO NOT MERGE MediaScanner: reimplement the \".nomedia\" feature for hiding files from the media provider\n"
    },
    {
      "commit": "fb6232635d339c83ca100e472b159f103dafb6e2",
      "tree": "2e2492bb0a11eb4b410109220cb5f0af37319d7d",
      "parents": [
        "7dd592298aefb7921afb86ced444d46cb30ac466"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sun Apr 24 11:15:09 2011 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed May 04 10:41:20 2011 -0400"
      },
      "message": "DO NOT MERGE MediaScanner: reimplement the \".nomedia\" feature for hiding files from the media provider\n\nPreviously we ignored any files and directories that had name started with \u0027.\u0027\nand ignored any directories that contained a \".nomedia\" file.\nNow to support transferring any file via MTP, we now add these previously ignored files\nto the media database, but will not mark them as audio, video, image or playlist files.\nThat way they will be included in the files table but will be hidden from the\naudio, video, images and playlist views that are used by apps like Music and Gallery.\n\nBug: 3405327\n\nChange-Id: Ib707f329be98878501952b6054998518a6eabbbd\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "9c112a86def2f5e21705b29f906aadcb7fafb067",
      "tree": "1cba6eb0a32786b87527e810b843e49e0e08a5db",
      "parents": [
        "1cf74fb3c46f107d95a87c7c4ab88c421758f41e"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Sun Apr 24 11:15:09 2011 -0700"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Tue May 03 21:03:56 2011 -0400"
      },
      "message": "DO NOT MERGE MediaScanner: reimplement the \".nomedia\" feature for hiding files from the media provider\n\nPreviously we ignored any files and directories that had name started with \u0027.\u0027\nand ignored any directories that contained a \".nomedia\" file.\nNow to support transferring any file via MTP, we now add these previously ignored files\nto the media database, but will not mark them as audio, video, image or playlist files.\nThat way they will be included in the files table but will be hidden from the\naudio, video, images and playlist views that are used by apps like Music and Gallery.\n\nBug: 3405327\n\nChange-Id: Ibb37bb2856a0684ce9f685ed565ad35347622834\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "d84df05490e8b102e81cca848f65c174398be1b6",
      "tree": "9b717241bf752b27b38b83f7d7743aa9feffee79",
      "parents": [
        "b54bebf47fcd1cfbfdccd67e062d856ec06ce825",
        "969749319ca17f6e0c6836303a78cc484df2539b"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Wed Apr 27 12:24:42 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 27 12:24:42 2011 -0700"
      },
      "message": "am 96974931: am 83ddcdf7: Add heartbeat error codes into MediaErrors.h\n\n* commit \u0027969749319ca17f6e0c6836303a78cc484df2539b\u0027:\n  Add heartbeat error codes into MediaErrors.h\n"
    },
    {
      "commit": "83ddcdf7fdd46b81a2b0ea5acdf9b9dc52b5daa6",
      "tree": "a8136e2c92bfc8bd5c4e1d6bccedaa0a9bc9beed",
      "parents": [
        "e1e3d7d97caf89307230e85997f5d23074b216cb"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Tue Apr 26 17:09:28 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Apr 26 19:35:32 2011 -0700"
      },
      "message": "Add heartbeat error codes into MediaErrors.h\n\nrelated-to-bug: 4322415\n\nChange-Id: I78137c61e3a8ce9afcb9fb38cb77a83561b9b72d\n"
    },
    {
      "commit": "18490fb93e206fd899c3258096cc32f293373c92",
      "tree": "e45db3abacf59a0cba4604cde390c310e38e4153",
      "parents": [
        "0b9b8711a1a2107dc913cc751b7d981fce4f3082",
        "87b3c0dcc45223ff9d5ab2e39d7b9a6953e03f50"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Apr 12 10:27:15 2011 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Apr 12 10:27:15 2011 -0700"
      },
      "message": "resolved conflicts for merge of 87b3c0dc to honeycomb-plus-aosp\n\nChange-Id: Ia1a0024aabf531438203eb9fea3a10dd15eabe53\n"
    },
    {
      "commit": "87b3c0dcc45223ff9d5ab2e39d7b9a6953e03f50",
      "tree": "8c64414e6f079c9511163657f200d2ee132309f4",
      "parents": [
        "4430670f48f75661293371dab8db55865f5f56e0",
        "08d9d9a46250c4fad66e9b637e8898a3524c4286"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@android.com",
        "time": "Mon Apr 11 15:33:19 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Apr 11 15:33:19 2011 -0700"
      },
      "message": "am 08d9d9a4: Merge \"Runtime resource overlay, iteration 1.\"\n\n* commit \u002708d9d9a46250c4fad66e9b637e8898a3524c4286\u0027:\n  Runtime resource overlay, iteration 1.\n"
    },
    {
      "commit": "57f4b77c89bafedf9468f9a636561c0c193405c9",
      "tree": "9e73065411411858c9c6ae350c5ee8ffe14598c3",
      "parents": [
        "c6b22e2727bd3730edd5ad72831a9bb4670d00f3"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sonyericsson.com",
        "time": "Thu Mar 17 14:13:41 2011 +0100"
      },
      "committer": {
        "name": "Kenneth Andersson",
        "email": "kenneth.andersson@sonyericsson.com",
        "time": "Fri Apr 01 14:12:10 2011 +0200"
      },
      "message": "Runtime resource overlay, iteration 1.\n\nRuntime resource overlay allows unmodified applications to appear\nas if they had been compiled with additional resources defined. See\nlibs/utils/README for more information.\n\nThis commit is the first iteration of runtime resource overlay. It\nprovides the actual overlay modifications and loading of trusted overlay\npackages (ie residing in /vendor) targeting framework-res.apk.\n\nThis commit loads exactly one overlay package. The overlay,\nif present, must target framework-res.apk and be located at\n/vendor/overlay/framework/framework-res.apk.\n\nChange-Id: If26ee7754813004a96c043dba37fbe99fa3919db\n"
    },
    {
      "commit": "64802ca780563e2bd715a300e0bb81eec643baf0",
      "tree": "61462a8c74f56deeab509fcb4ea441a35dc18044",
      "parents": [
        "7b445dd7c0814a39eaf912fa1a871f00d5190550",
        "c6b22e2727bd3730edd5ad72831a9bb4670d00f3"
      ],
      "author": {
        "name": "Russell Brenner",
        "email": "russellbrenner@google.com",
        "time": "Thu Mar 31 18:55:26 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Mar 31 18:55:26 2011 -0700"
      },
      "message": "am c6b22e27: Updated JBQ\\\u0027s original SurfaceTexture stubs to make webkit MR1 buildable\n\n* commit \u0027c6b22e2727bd3730edd5ad72831a9bb4670d00f3\u0027:\n  Updated JBQ\u0027s original SurfaceTexture stubs to make webkit MR1 buildable\n"
    },
    {
      "commit": "7b445dd7c0814a39eaf912fa1a871f00d5190550",
      "tree": "36c558dbd3b40c2c97a6d3a8c0e6b77ed81e48c4",
      "parents": [
        "b98967942e9a764b80abc8ff1c6f6f2d620c0f7a",
        "49b49f8fb6d094768d4e093353b34271f2da1bfc"
      ],
      "author": {
        "name": "Russell Brenner",
        "email": "russellbrenner@google.com",
        "time": "Thu Mar 31 18:55:20 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Mar 31 18:55:20 2011 -0700"
      },
      "message": "am 49b49f8f: Added include/private/hwui/DrawGlInfo.h\n\n* commit \u002749b49f8fb6d094768d4e093353b34271f2da1bfc\u0027:\n  Added include/private/hwui/DrawGlInfo.h\n"
    },
    {
      "commit": "c6b22e2727bd3730edd5ad72831a9bb4670d00f3",
      "tree": "b89a7011504b3c751cfbcbeefb923bb753e19295",
      "parents": [
        "49b49f8fb6d094768d4e093353b34271f2da1bfc"
      ],
      "author": {
        "name": "Russell Brenner",
        "email": "russellbrenner@google.com",
        "time": "Thu Mar 31 17:32:20 2011 -0700"
      },
      "committer": {
        "name": "Russell Brenner",
        "email": "russellbrenner@google.com",
        "time": "Thu Mar 31 17:40:08 2011 -0700"
      },
      "message": "Updated JBQ\u0027s original SurfaceTexture stubs to make webkit MR1 buildable\n\nChange-Id: If1c1610efcc0e0bc6de88c75712baed91624b1a7\n"
    },
    {
      "commit": "49b49f8fb6d094768d4e093353b34271f2da1bfc",
      "tree": "8c5b36f17c5d902f6d913fd3ad07bd2fd4872eda",
      "parents": [
        "ad663d8040ddd4f3e537117847f20d42797b429e"
      ],
      "author": {
        "name": "Russell Brenner",
        "email": "russellbrenner@google.com",
        "time": "Thu Mar 31 13:20:52 2011 -0700"
      },
      "committer": {
        "name": "Russell Brenner",
        "email": "russellbrenner@google.com",
        "time": "Thu Mar 31 13:20:52 2011 -0700"
      },
      "message": "Added include/private/hwui/DrawGlInfo.h\n\nChange-Id: If50ccabb8761a994fa1f7aef4fbdb668c6160b0c\n"
    },
    {
      "commit": "4c87a75073987e30b36f6be781cd10f696876ba4",
      "tree": "95c4dea897b44c84389c8ce531ea54949eadc4b8",
      "parents": [
        "e2cd33531182b31e0ace2c3acb0e960fbf1ba273"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Mar 24 13:14:02 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Thu Mar 24 13:14:02 2011 -0700"
      },
      "message": "Fix for bug 4126624.\nChange the mDrmManagerClientImpl to sp to avoid double delete the pointer.\n\nChange-Id: I7aacea1bc58ab6425ef6f6f09472c6f2970ebb4d\n"
    },
    {
      "commit": "c430394ed7dcb458b0850bb1ce28abeb49252d77",
      "tree": "4dc0be8cc75f8430e71931b4d1de4f6b3426cc32",
      "parents": [
        "ee4084bf063249b3506cdc0a454dd19fa8f7549f"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Mar 21 17:22:13 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Mar 21 19:08:18 2011 -0700"
      },
      "message": "Add one more field in DecryptHandle to support bug 4126624\n\nChange-Id: Ic7ea5fd211c4f8283de8fdf722f89b6a94e5750b\n"
    },
    {
      "commit": "ee4084bf063249b3506cdc0a454dd19fa8f7549f",
      "tree": "3a01ae3b6f71ba8b5d0c088351cf708140cf6781",
      "parents": [
        "e2c32e9f966cf9f2c9ed94bf0703344a2cca284b"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Mar 21 16:53:14 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Mar 21 16:53:14 2011 -0700"
      },
      "message": "do not merge: Cherry pick change I6529695c from master to partially fix bug 4126624.\n\nChange-Id: If724de60bd6da1becdffc815d5358ffe78629469\n"
    },
    {
      "commit": "64929b490977ba681a697cadefd2c49f6ff69aba",
      "tree": "a5b22f1058644c8841b32514700d0a869f749973",
      "parents": [
        "5dbd0978cd7f2d3ff1e28bbfdef2f757de28e1bc"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Mar 17 11:06:57 2011 -0700"
      },
      "committer": {
        "name": "Russell Brenner",
        "email": "russellbrenner@google.com",
        "time": "Fri Mar 18 14:39:20 2011 -0700"
      },
      "message": "DO NOT MERGE Send WebView the current transform and whether we\u0027re drawing a layer.\nBug #3275491\n\nThese can be used by WebView to correctly apply alpha and geometric\ntransforms.\n\nChange-Id: I61057997f5fda1e803d247fc77500a038d5f3aab\n"
    },
    {
      "commit": "2f1f2248c8439adbd686810e306c55f9e6a5abc3",
      "tree": "31f200e1da6121444a9b3680efdccc35627afc25",
      "parents": [
        "def35f7a47cde8bf66d4cba4570b289e0e9d625a"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Mar 17 11:02:04 2011 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Mar 17 11:10:40 2011 -0700"
      },
      "message": "Fix missing AOSP copyright headers for a bunch of media framework files\n\nbug - 4119349\n\nChange-Id: If5924e16a5f596d5d73d9beb66eaf5ac9a6f0e50\n"
    },
    {
      "commit": "f40e638ec62cd9e1a1851809b7c8bf5e4187fad2",
      "tree": "fce830323935d7c7171c501278fb6c7ea9fdf9c8",
      "parents": [
        "7af7e00b9112f15d1683ae93975a6fcd9dd34da8"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Mar 16 23:18:07 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Mar 17 00:04:42 2011 -0700"
      },
      "message": "fix [4093196] Device lock up - log spam with SharedBufferStack: waitForCondition(LockCondition) timed out\n\na memory corruption happned when the buffer pool was resized\n(like when playing a video or using camera) and there was\nno current active buffer. In this case, the faulty code\nwould index into an array at position -1 which corrupted\n24 bytes of data.\n\nalso improved region validation code (ifdef\u0027ed out by default)\n\nBug: 4093196\nChange-Id: I915c581d131148959d720e00e3892e9186ab733d\n"
    },
    {
      "commit": "80911b851764b073310fd0bffdf4a7db0d8fdd0b",
      "tree": "854e09626693907162ed479408abd619e280ddc4",
      "parents": [
        "fc59176241f498ad4eeb4237800c2eb5edd9efcd"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Mar 16 15:30:12 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Mar 16 15:31:33 2011 -0700"
      },
      "message": "Modify the GL renderer\u0027s functor to pass the clip to WebView\n\nChange-Id: If5efe399ca58f3000b2883e24e9f3736a2025184\n"
    },
    {
      "commit": "4528a7db389b4da73207d00ca15b306a111650cc",
      "tree": "62d5d4ec9b4a12eba0a0cf753c55cb8ce6f94fa1",
      "parents": [
        "3b7871c242bea5834c657c25fbb89c382566f66f",
        "f8a1842e07d5c018b33762a72a1b1b5117947579"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 15 13:44:58 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 15 13:44:58 2011 -0700"
      },
      "message": "Merge \"Bug 4016329 do full string comparisons\" into honeycomb-mr1"
    },
    {
      "commit": "f8a1842e07d5c018b33762a72a1b1b5117947579",
      "tree": "38a13589cc1a40364e8a8b3bcc3ccd0c797ef47d",
      "parents": [
        "e21110f8b1e4aa884f7a4e2164ae90dab8d5f3fa"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 14 11:32:29 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 14 17:59:51 2011 -0700"
      },
      "message": "Bug 4016329 do full string comparisons\n\nUse full string comparisons instead of partial for\n  file extension and MIME type.\nDo case-insensitive comparison of MIME type and file extensions.\nFix error in comment for String8::getPathExtension.\nRemove dead code -- StringTokenizer is unused.\n\nChange-Id: I322be6235abbdaab5f7eafa48926dbb2cf46dc29\n"
    },
    {
      "commit": "f95a9f019daa0631e6d6ddc826ad9cfe787c42ce",
      "tree": "8e2998c5efebb67a007cfcbe7f2e110d97abbf92",
      "parents": [
        "c4ca7c511499693f13622b135637f600ec913e57"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Mar 14 15:08:53 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Mar 14 17:47:11 2011 -0700"
      },
      "message": "SurfaceTextureClient: Add ISurfaceTexture getter.\n\nThis change adds a getter method to SurfaceTextureClient to get the\nISurfaceTexture object with which the SurfaceTextureClient is\ncommunicating.\n\nBug: 4086509\nChange-Id: Ifec621e0fe5392a5be56b2348fdc54067cbebcdd\n"
    },
    {
      "commit": "c4ca7c511499693f13622b135637f600ec913e57",
      "tree": "10256c7257fc9c93ee4d53f8cdba2386d7b9a9e6",
      "parents": [
        "122dd0999f09eedbe42e619b64276633bea60e6a"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Mar 14 15:00:06 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Mar 14 17:47:11 2011 -0700"
      },
      "message": "ANativeWindow: add query for the concrete type.\n\nThis change adds a query to the ANativeWindow interface for getting the\nconcrete type of the ANativeWindow.\n\nBug: 4086509\nChange-Id: I64aa86d72fbca3b52a98e1fc35608737781a3178\n"
    },
    {
      "commit": "27b277779c89251f2aafcc7a56db95d264900c9d",
      "tree": "9bec6bf81a5b201b570c8d1a3255c50905679d47",
      "parents": [
        "3ec9d06f070db3a8899ad235736abd0ffaf6f578"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Mar 14 12:04:15 2011 -0700"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Mar 14 15:29:08 2011 -0700"
      },
      "message": "For issue 4082089\nAdd more info and error events into the DRM framework\n\nChange-Id: I0bb3251c5947fc8e977d478e1ba46b242cb97e9d\n"
    },
    {
      "commit": "7ea3c7f5a31dcc40d3b5042e3eb724916b66384e",
      "tree": "db8c317dd1f4d64dcf591658b33d978e0cd6800b",
      "parents": [
        "e976ff4a2203e5a01c9a1c1a018ba9e5ab7777f7",
        "192b591cdca78f258dd3260e41d7217f6fc6e36c"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Mon Mar 14 09:32:58 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 14 09:32:58 2011 -0700"
      },
      "message": "Merge \"- Some change on the DrmManager in order to support feature request 4082089.     In DrmManager, we currently lock both processDrmInfo() and onInfo() which is     ok for now since processDrmInfo() is async call, and it will return without     waiting for onInfo() call. However, if we send an event in processDrmInfo(),     we will got deadlock here because we need to invoke onInf() which will wait     for processDrmInfo() to release the lock. Use different lock for onInfo(). - Remove some redundent mutex lock.\" into honeycomb-mr1"
    },
    {
      "commit": "7647091436c45af2d82f12c9ea9ec77fa309b49b",
      "tree": "a18e2556ba41a194b754d60c6929bc467cffbdc8",
      "parents": [
        "f0230cca194c840684bab959856c56725fc40b87",
        "846db33313aa0899fa7928256c6734964bd92520"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 11 16:31:55 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 11 16:31:55 2011 -0800"
      },
      "message": "Merge \"Bug 3515073 Add ANativeWindow_fromSurfaceTexture\" into honeycomb-mr1"
    },
    {
      "commit": "192b591cdca78f258dd3260e41d7217f6fc6e36c",
      "tree": "f3aa953280c335f8122080dc112b0dadcee78781",
      "parents": [
        "0eb7b697b7c180660647b5cd0cd7dd067f6b6abb"
      ],
      "author": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri Mar 11 14:07:21 2011 -0800"
      },
      "committer": {
        "name": "Gloria Wang",
        "email": "gwang@google.com",
        "time": "Fri Mar 11 14:54:23 2011 -0800"
      },
      "message": "- Some change on the DrmManager in order to support feature request 4082089.\n    In DrmManager, we currently lock both processDrmInfo() and onInfo() which is\n    ok for now since processDrmInfo() is async call, and it will return without\n    waiting for onInfo() call. However, if we send an event in processDrmInfo(),\n    we will got deadlock here because we need to invoke onInf() which will wait\n    for processDrmInfo() to release the lock. Use different lock for onInfo().\n- Remove some redundent mutex lock.\n\nChange-Id: I59c794f95ba1693425723224114fa975cf9b235f\n"
    },
    {
      "commit": "b8763f60b488ea4e233c9ebed8208599edb36da3",
      "tree": "10f7cb25a26cf6491dffbf8dff212ebc1fd2170a",
      "parents": [
        "b2e606f5f175906ab8c578cb9ba03c728154c50c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 28 12:37:51 2011 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 10 19:16:40 2011 -0800"
      },
      "message": "Bug 3012968 DRM output control\n\nModifies Stagefright to verify that there is a hardware-protected path\nto video sink for DRM content.\n\nChange-Id: I18b8741390e803a05a88c7f180b860a24ba88a10\n"
    },
    {
      "commit": "efd3266b719eed5f1b217021c0a9e76e4b274b06",
      "tree": "f76032f2a0bdfdc9910860063455116a9c792687",
      "parents": [
        "9e8e40cb5f8aeb0702002eee60d1ce394bf699ee"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Mar 08 15:13:06 2011 -0800"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Mar 09 18:30:28 2011 -0800"
      },
      "message": "Input improvements and bug fixes.\n\nAssociate each motion axis with the source from which it comes.\nIt is possible for multiple sources of the same device to define\nthe same axis.  This fixes new API that was introduced in MR1.\n(Bug: 4066146)\n\nFixed a bug that might cause a segfault when using a trackball.\n\nOnly fade out the mouse pointer when touching the touch screen,\nignore other touch pads.\n\nChanged the plural \"sources\" to \"source\" in several places in\nthe InputReader where we intend to refer to a particular source\nrather than to a combination of sources.\n\nImproved the batching code to support batching events from different\nsources of the same device in parallel.  (Bug: 3391564)\n\nChange-Id: I0189e18e464338f126f7bf94370b928e1b1695f2\n"
    },
    {
      "commit": "6167a390e34981ea92fc6d5458add2da04ee15bc",
      "tree": "23be2cff8bade94fb8206d7b686de72fc44af436",
      "parents": [
        "5c9248f668201a751500f67cc60bd45ff905751a",
        "d2acedf18c9a3527f6e3dc5d578a85fdc0ad4338"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Mar 09 14:47:56 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 09 14:47:56 2011 -0800"
      },
      "message": "Merge \"ANativeWindow: add queues-to-window-composer check.\" into honeycomb-mr1"
    },
    {
      "commit": "d2acedf18c9a3527f6e3dc5d578a85fdc0ad4338",
      "tree": "06a23415d1486f5d7fb3e6d64640a1977f65dd86",
      "parents": [
        "6cc2bbe5cf8c959239d35972c0acac494e5c1559"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Mar 08 12:18:54 2011 -0800"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Mar 08 16:49:51 2011 -0800"
      },
      "message": "ANativeWindow: add queues-to-window-composer check.\n\nThis change adds a new \u0027method\u0027 to the ANativeWindow interface to check\nwhether buffers queued to the window will be sent directly to the system\nwindow compositor.\n\nChange-Id: I4d4b199e328c110b68b250029aea650f03c8724d\nBug: 3495535\n"
    },
    {
      "commit": "421ddc014b31478ba0ef115e098d8780a35af331",
      "tree": "43575a2309d53bb4712db81ff5898721c7578b8c",
      "parents": [
        "949d0c8c384437d92fc1432b750da6da59df1fa7"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Mar 07 14:52:59 2011 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 08 16:33:15 2011 -0800"
      },
      "message": "Fix issue 3439872: video chat and bluetooth SCO\n\nThis change fixes the stability problems experienced when using\na bluetooth headset supporting both A2DP and SCO. Problems occur\nwhen starting the video chat at which time the A2DP output is being\nstopped to start SCO. At that time, active AudioTracks are invalidated\nby AudioFlinger so that a new AudioTrack binder interface can be\nrecreated by the client process on the new mixer thread with correct parameters.\nThe problem was that the process to restore the binder interface was not\nprotected against concurrent requests which caused 2 binder interfaces\nto be created sometimes. This could lead to permanent client deadlock\nif one of the client threads was waiting for a condition of the first\ncreated binder interface while the second one was created (as the AudioFlinger\nwould only signal conditions on the last one created).\nThis concurrent request situation is more likely to happen when a client\nuses the JAVA AudioTrack as the JNI implementation uses simultaneously the\nnative AudioTrack callback and write push mechanisms. By doing so, the code\nthat checks if the binder interface should be restored (in obtainBuffer()) is\nmuch more likely to be called concurrently from two different threads.\n\nThe fix consists in protecting the critical binder interface restore phase\nwith a flag in the AudioTrack control block. The first thread acting upon the binder\ninterface restore request will raise the flag and the second thread will just wait for\na condition to be signaled when the restore process is complete.\n\nAlso protected all accesses to the AudioTrack control block by a mutex to prevent\naccess while the track is being destroyed and restored. If a mutex cannot be held\n(e.g because we call a callback function), acquire a strong reference on the IAudioTrack\nto prevent its destruction while the cblk is being accessed.\n\nModified AudioTrack JNI to use GetByteArrayElements() instead of\nGetPrimitiveArrayCritical() when writing audio buffers. Entering a critical section would\ncause the JNI to abort if a mediaserver crash occurs during a write due to the AudioSystem\ncallback being called during the critical section when media server process restarts.\nAnyway with current JNI implementation, either versions do not copy data most of the times\nand the criticial version does not guaranty no data copy.\n\nThe same modifications have been made to AudioRecord.\n\nChange-Id: Idc5aa711a04c3eee180cdd03f44fe17f3c4dcb52\n"
    },
    {
      "commit": "bc8a8e8c926115cb7b3910d016e5cff12b0f7b0a",
      "tree": "8eab6b8aea4182516ce4319b474d94f3d07e2cf5",
      "parents": [
        "823f5bf3db8b2f588ae917aaff5d27a65c87f132",
        "cabfcc1364eb7e4de0b15b3574fba45027b45cfc"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Mar 07 22:40:27 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 07 22:40:27 2011 -0800"
      },
      "message": "Merge \"Add support for partial invalidates in WebView Bug #3461349\" into honeycomb-mr1"
    },
    {
      "commit": "cabfcc1364eb7e4de0b15b3574fba45027b45cfc",
      "tree": "f38e237ba2009dcacb5082a99928aad379a7adc0",
      "parents": [
        "9b7146db6d9c0586b98b062fbcdb3fac6cc54d19"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Mar 07 18:06:46 2011 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Mar 07 18:09:03 2011 -0800"
      },
      "message": "Add support for partial invalidates in WebView\nBug #3461349\n\nThis change also fixes two bugs that prevented partial invalidates\nfrom working with other views. Both bugs were in our EGL implementation:\nthey were preventing the caller from comparing the current context/surface\nwith another context/surface. This was causing HardwareRenderer to always\nredraw the entire screen.\n\nChange-Id: I33e096b304d4a0b7e6c8f92930f71d2ece9bebf5\n"
    },
    {
      "commit": "de6a47a3e9d1a8cb5722b9785f5ffb9046c23918",
      "tree": "65d534f3ed68fc9110ea4bb3910fcf865ffb984b",
      "parents": [
        "10993b2d1e3614073970aad119ffb2cc9bc8f73f",
        "df6410dce3dae0bdb7e13118b3878079a1dcce03"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Mar 07 18:04:06 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 07 18:04:06 2011 -0800"
      },
      "message": "am df6410dc: Merge \"Fix [3513017] in lockscreen but showing empty launcher (live wallpaper) only\" into gingerbread\n\n* commit \u0027df6410dce3dae0bdb7e13118b3878079a1dcce03\u0027:\n  Fix [3513017] in lockscreen but showing empty launcher (live wallpaper) only\n"
    },
    {
      "commit": "951d3fec41c8c77f5ce86a5394573e8180d93927",
      "tree": "49a8ec1a8241ba35781627b7562252e27efc2505",
      "parents": [
        "ff5a09904fb05f2776f1bbf1dd3915f38031190c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Feb 09 18:38:55 2011 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Mar 07 16:56:16 2011 -0800"
      },
      "message": "Fix [3513017] in lockscreen but showing empty launcher (live wallpaper) only\n\n37c2a37 fix [3408713] Dialog window invisible sometimes\nd35c666 fix [3385504] Surface flinger hang when adding dim surface\n1723b04 fix [3389263] OMX.Nvidia.h264.decode fails to shutdown\n1b0114f fix a surface leak in SurfaceFlinger\n\nBug: 3513017\n\nChange-Id: Ia13ed8c9cdcb1f484e177cdcaff687e7c88a10c3\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": "846db33313aa0899fa7928256c6734964bd92520",
      "tree": "0303f6c1c11c297dd7f40f7c0725a3cfa0f14791",
      "parents": [
        "91ac3dc06d1b99c5e63cda3b5ae0adfec406fd7a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 04 11:44:32 2011 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 04 16:39:29 2011 -0800"
      },
      "message": "Bug 3515073 Add ANativeWindow_fromSurfaceTexture\n\nThis is similar to ANativeWindow_fromSurface.\n\nChange-Id: Iaadc06a5d0d50685c34876aa89488c16e7cfaa65\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.\""
    }
  ],
  "next": "56194ebec6212e229f4ccdaa4b187166d20013ef"
}
