)]}'
{
  "log": [
    {
      "commit": "e2d345ea67e2960b37bfdc0fc8626d1bfa747404",
      "tree": "1c6aebf69921950237754ef7b8386a9856624e25",
      "parents": [
        "9a40babc62416259d18783ce8c03c00042ec317b"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Sep 24 18:39:22 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Sep 24 18:39:22 2010 -0700"
      },
      "message": "Add debug mode to measure performance.\n\nChange-Id: I9d4c84034dc200b99c8266165942a7cdbcb5c0c5\n"
    },
    {
      "commit": "38c85b907a478af96d71b9a5df5a2066b8475311",
      "tree": "03c8ffe517ff14b71fb24e29ca43c3eb482ba442",
      "parents": [
        "806de5b1c5f98d67b00f7ba6087faca3b9632845"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Wed Sep 22 22:48:20 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Wed Sep 22 22:51:12 2010 -0700"
      },
      "message": "Correctly initialize/refresh layers.\n\nChange-Id: Id8cdcf587b13098460f7d4aa1bd17708784d89bb\n"
    },
    {
      "commit": "7275290a1f3a29ec09c7f746ebb190c07e1799d5",
      "tree": "2b3e604cd878436a4bafedfda2c8decec3ecf370",
      "parents": [
        "a9158425cc5798594523f78f8364d55ce8d82753",
        "e20ecbd12d26467754a7770d44bcce2ea92335ef"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Wed Sep 22 19:50:27 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 22 19:50:27 2010 -0700"
      },
      "message": "Merge \"Draw text decorations with lines instead of rectangles.\""
    },
    {
      "commit": "e20ecbd12d26467754a7770d44bcce2ea92335ef",
      "tree": "129cc4cfc5a5fd38c4a3be2ae665fcc25033cf9e",
      "parents": [
        "29d8997bd43b7c4ad37fc3d6f91eaafa74913c88"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Wed Sep 22 19:49:04 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Wed Sep 22 19:49:04 2010 -0700"
      },
      "message": "Draw text decorations with lines instead of rectangles.\n\nChange-Id: Icd25c85c3a24da96a3d2f76f9477da6f87e0303c\n"
    },
    {
      "commit": "deea2df0a727de0b7232b1043d1b3757a90de671",
      "tree": "01394e45b201dc1630fba48c4081d21bca01df95",
      "parents": [
        "95ee96282fc6bffe30bee54ff9affeaf5abd2611",
        "29d8997bd43b7c4ad37fc3d6f91eaafa74913c88"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Wed Sep 22 16:46:37 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 22 16:46:37 2010 -0700"
      },
      "message": "Merge \"Fix OpenGL errors in various places.\""
    },
    {
      "commit": "29d8997bd43b7c4ad37fc3d6f91eaafa74913c88",
      "tree": "2bc22f92798fdb17ac519d22ca3a3f7b84d328f8",
      "parents": [
        "8c749f87d29e1a363ddf9027c3a51753c612d510"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Wed Sep 22 16:10:57 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Wed Sep 22 16:44:49 2010 -0700"
      },
      "message": "Fix OpenGL errors in various places.\n\nChange-Id: I3a4e115d8fb13b6c443e65460d92987b16f2524c"
    },
    {
      "commit": "f119b91e1a05fd1ba5163ef125b0d20b21389433",
      "tree": "ee5e7f08e7917b8c978bd45e7fa3b0a19befe129",
      "parents": [
        "7a3403b0b8339963293543f4cd97c0b5789c3381"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Sep 22 15:57:41 2010 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Sep 22 15:57:41 2010 -0700"
      },
      "message": "Better debugging for scripts.\n\nChange-Id: I916cea86dcfdb43a9465708ea4a16f19cbe42370\n"
    },
    {
      "commit": "7a3403b0b8339963293543f4cd97c0b5789c3381",
      "tree": "a140ec54a5ccd0ca021d8d2295d9e5a1abee4322",
      "parents": [
        "1473f273a1f2d96c3993f87e9fb14bf510a1611b",
        "442ce762d2206d1813a94979d71b47908836df03"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Sep 22 14:52:01 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 22 14:52:01 2010 -0700"
      },
      "message": "Merge \"Remove excessive logging.\""
    },
    {
      "commit": "442ce762d2206d1813a94979d71b47908836df03",
      "tree": "d42948946dcfe97b8b9fb24aaa4a9d7fec30b010",
      "parents": [
        "1bfccb45dfe53da00e0618e5af5062c1e37a6c18"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Sep 22 14:50:37 2010 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Sep 22 14:50:37 2010 -0700"
      },
      "message": "Remove excessive logging.\n\nChange-Id: If8e30fcb93d7cbf639c3a6c280c23f4553f11e5b\n"
    },
    {
      "commit": "1473f273a1f2d96c3993f87e9fb14bf510a1611b",
      "tree": "b24f23b17600c95ad405d0eb1947334401821a83",
      "parents": [
        "50804e0cb27e66c3fa906e127f7f39c148219d7c",
        "8c749f87d29e1a363ddf9027c3a51753c612d510"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Wed Sep 22 14:45:04 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 22 14:45:04 2010 -0700"
      },
      "message": "Merge \"Fix texture corruption issue, faster re-upload of textures.\""
    },
    {
      "commit": "353a48e8ed90c028fb51fe145dae6113661f03e4",
      "tree": "2e72575771b633e5d3ef7bd42718b245917ac22e",
      "parents": [
        "e59c69dc3b1f2fa206aa22698c4aa31498438a5e",
        "1bfccb45dfe53da00e0618e5af5062c1e37a6c18"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Sep 22 14:27:50 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 22 14:27:50 2010 -0700"
      },
      "message": "Merge \"Fix two minor RS bugs. 1: index set size was populated with bad value in java, 2: bad error check in uploadToBufferObject.\""
    },
    {
      "commit": "1bfccb45dfe53da00e0618e5af5062c1e37a6c18",
      "tree": "d4739a1f506ade5f7e2288f9b6514c9c7a08fcf7",
      "parents": [
        "7aa150c0967b725850cf27de58f50a25a960b092"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Sep 22 14:20:08 2010 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Sep 22 14:20:08 2010 -0700"
      },
      "message": "Fix two minor RS bugs.\n1: index set size was populated with bad value in java,\n2: bad error check in uploadToBufferObject.\n\nChange-Id: I5946053cdfba0b2fbbaa34d562a9ec53e26ce9f2\n"
    },
    {
      "commit": "8c749f87d29e1a363ddf9027c3a51753c612d510",
      "tree": "839f894a1f9749b5d32136206ca494dea9c16294",
      "parents": [
        "adaba84ad76f70d833e140d5c28a0de58c8f19d2"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Wed Sep 22 14:13:32 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Wed Sep 22 14:13:32 2010 -0700"
      },
      "message": "Fix texture corruption issue, faster re-upload of textures.\n\nBug #2950691\n\nChange-Id: I57e2bc1d1a23e8683c25de7d09d6f5af2df59f41\n"
    },
    {
      "commit": "f847cd4cf02724db7aaa32fb2a20e6c2e9d3d1af",
      "tree": "95008473d355d6e562b8785cfb885d7faa8f5e4f",
      "parents": [
        "63b7a203d2792d6ba92cedc11f2d5c4dccbd9dea",
        "72e1687b70144833195adf8d7c51f4aa4eaf1781"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Tue Sep 21 18:28:02 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 21 18:28:02 2010 -0700"
      },
      "message": "Merge \"Test use of \"f\" suffix on float initializers.\""
    },
    {
      "commit": "76f609118574a76b10cb90bcf061b15546bc38ee",
      "tree": "0eef87cd6a9fafa0665e48aec7a1ed65e4e5b8e3",
      "parents": [
        "6bfc93cdd3639de37876776eb2ebd6284327610b",
        "ddb80bebb0776e6d852aab6e8bba5d5591847a55"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Sep 21 16:50:50 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 21 16:50:50 2010 -0700"
      },
      "message": "Merge \"Add support for circular gradients to the GL renderer.\""
    },
    {
      "commit": "ddb80bebb0776e6d852aab6e8bba5d5591847a55",
      "tree": "460e39e115bf75648a3b4dbc9788c911751bd848",
      "parents": [
        "ee916f14cbd1fe1422c063ce2ef7b185e2bc5c6f"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Sep 20 19:04:33 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Sep 21 16:48:50 2010 -0700"
      },
      "message": "Add support for circular gradients to the GL renderer.\n\nThis change also adds full support for local transformation matrices on\nsweep and radial gradients.\n\nChange-Id: Id8773bc0766575190e3f3d51984fc5e57b266c3f\n"
    },
    {
      "commit": "fdc85679cc300e9f7ee75040c25bef1826372ff0",
      "tree": "d3e00874739e423061101bc7e630408104bf337f",
      "parents": [
        "862d6c2cc97acb86bb5fe577b8b923d4638dd944",
        "4ec134cdba52b663506562c6406b07915820b007"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 21 15:57:13 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 21 15:57:13 2010 -0700"
      },
      "message": "am 4ec134cd: am cce0cd13: Merge \"Looper: use pthread_once for TLS key initialization.\" into gingerbread\n\nMerge commit \u00274ec134cdba52b663506562c6406b07915820b007\u0027\n\n* commit \u00274ec134cdba52b663506562c6406b07915820b007\u0027:\n  Looper: use pthread_once for TLS key initialization.\n"
    },
    {
      "commit": "4ec134cdba52b663506562c6406b07915820b007",
      "tree": "f6effbe756140b7b925c2246d842a26bd7689fb8",
      "parents": [
        "0b2affe8f05f887fcb6ae6314e2a0e586dabe9e1",
        "cce0cd138dd0dc338db59083052aca01a51bd52d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 21 15:52:09 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 21 15:52:09 2010 -0700"
      },
      "message": "am cce0cd13: Merge \"Looper: use pthread_once for TLS key initialization.\" into gingerbread\n\nMerge commit \u0027cce0cd138dd0dc338db59083052aca01a51bd52d\u0027 into gingerbread-plus-aosp\n\n* commit \u0027cce0cd138dd0dc338db59083052aca01a51bd52d\u0027:\n  Looper: use pthread_once for TLS key initialization.\n"
    },
    {
      "commit": "72e1687b70144833195adf8d7c51f4aa4eaf1781",
      "tree": "89d3e4adf41a87c0da9dbdc91cdeaee8daca7675",
      "parents": [
        "94aefbcf6f44e94e35f53ecd1cd8d3b5eafbf8b1"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Tue Sep 21 15:32:55 2010 -0700"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Tue Sep 21 15:32:55 2010 -0700"
      },
      "message": "Test use of \"f\" suffix on float initializers.\n\nChange-Id: I3325576d1ec2d7c1c966afd8ef279745c549125f\n"
    },
    {
      "commit": "134b4ae90103a7b205cd84d0491a4868cb102a7c",
      "tree": "3f6a8d6cef9954bcabc05cedda8fc33596d084f7",
      "parents": [
        "34d3aeaf7f5dd744f46220f7730913468256ae9c"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 21 15:11:18 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 21 15:26:51 2010 -0700"
      },
      "message": "Looper: use pthread_once for TLS key initialization.\n\nAlso fix a Valgrind complaint by zeroing out the entire epoll event\nstruct since otherwise the data field union would be partly\nuninitialized (but not in a harmful way).\n\nChange-Id: I2091ce517e87fcad7c9caf90e2c5e4854a7ca465\n"
    },
    {
      "commit": "065149f1628a2882a46af810ca9fc3913f7b0438",
      "tree": "7096bb5d3c259b43b2decda2ca1ff5c875e7e898",
      "parents": [
        "6f1e9618e40f9290d9d21a9b1e09e51dba53faed"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Tue Sep 21 11:54:15 2010 -0700"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Tue Sep 21 11:59:15 2010 -0700"
      },
      "message": "Updated RSTest to test primitive type assignments.\n\nChange-Id: I6c377cfdc647806d9362effc4c1715638dcf5bfb\n"
    },
    {
      "commit": "d276720edb060617168388f44005f0960fa89ad1",
      "tree": "5dcf22a0d620dfa8cd06858715b8937c580f6487",
      "parents": [
        "92b328b67a694afc19071c807b80f100663fd5e4",
        "2ad1ebcaabb632c8fe714f0c3fd88bdfa14697bd"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Sep 21 10:44:38 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 21 10:44:38 2010 -0700"
      },
      "message": "am 2ad1ebca: am d45cb72a: Rename FOCUS_MODE_CONTINUOUS to FOCUS_MODE_CONTINUOUS_VIDEO.\n\nMerge commit \u00272ad1ebcaabb632c8fe714f0c3fd88bdfa14697bd\u0027\n\n* commit \u00272ad1ebcaabb632c8fe714f0c3fd88bdfa14697bd\u0027:\n  Rename FOCUS_MODE_CONTINUOUS to FOCUS_MODE_CONTINUOUS_VIDEO.\n"
    },
    {
      "commit": "a86c1a622fb61d8157dac9ef3d66084a6ac2f0e0",
      "tree": "03d1af24d1e7de6c344c2708aa650425fdab38b2",
      "parents": [
        "35ae9ca5bf4b99bc341afe43d501a2d166f5df43",
        "ca54ec302f5bddd1674ea1f36cd3b7c540b2fbca"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Tue Sep 21 10:29:48 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 21 10:29:48 2010 -0700"
      },
      "message": "Merge \"Add support for Float64 (double) to RenderScript.\""
    },
    {
      "commit": "2ad1ebcaabb632c8fe714f0c3fd88bdfa14697bd",
      "tree": "5cb0918085e3bf00d1b3671f8fe0f7fb4f7e9e06",
      "parents": [
        "e65735aff0f09a1c19b79c6d2b98ef39123da1d4",
        "d45cb72ac0d7d57829ffc9223decb89a5fc42ce2"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Sep 21 08:57:15 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 21 08:57:15 2010 -0700"
      },
      "message": "am d45cb72a: Rename FOCUS_MODE_CONTINUOUS to FOCUS_MODE_CONTINUOUS_VIDEO.\n\nMerge commit \u0027d45cb72ac0d7d57829ffc9223decb89a5fc42ce2\u0027 into gingerbread-plus-aosp\n\n* commit \u0027d45cb72ac0d7d57829ffc9223decb89a5fc42ce2\u0027:\n  Rename FOCUS_MODE_CONTINUOUS to FOCUS_MODE_CONTINUOUS_VIDEO.\n"
    },
    {
      "commit": "d45cb72ac0d7d57829ffc9223decb89a5fc42ce2",
      "tree": "231016c9dddc37dc8e126e60ec16385e9343b50e",
      "parents": [
        "92630c787d0ae34c7ae3cb29c2d261f1acaf18b9"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Sep 20 16:15:32 2010 -0700"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Sep 21 08:46:32 2010 -0700"
      },
      "message": "Rename FOCUS_MODE_CONTINUOUS to FOCUS_MODE_CONTINUOUS_VIDEO.\n\nThis constant is not public yet. Continuous autofocus should\nbehave differently in still camera and camcorder. In camcorder,\nlens movement may be more smooth. And the triggers to start a\nnew focus search may be different. If there is a need,\nFOCUS_MODE_CONTINUOUS_PHOTO can be added in the future.\n\nChange-Id: I05df9e491aca37829be3df92a73b952f26c86a4a\n"
    },
    {
      "commit": "399542a7a30aa691c4923961c557fc99960786fd",
      "tree": "af308ab14a6980a2f6a11b241e0d39bc2bee0817",
      "parents": [
        "c2d591247f61c5e8efc6f3518b8b4dda9e9b5137",
        "ee916f14cbd1fe1422c063ce2ef7b185e2bc5c6f"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Sep 20 17:55:58 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 20 17:55:58 2010 -0700"
      },
      "message": "Merge \"Add support for SweepGradient in the GL renderer.\""
    },
    {
      "commit": "ee916f14cbd1fe1422c063ce2ef7b185e2bc5c6f",
      "tree": "4fd53bcd273d42fa1aebb064b18563aa293467b1",
      "parents": [
        "b5ab4173e0927e4668a45298c9900cd8007584e1"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Sep 20 17:53:08 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Sep 20 17:54:17 2010 -0700"
      },
      "message": "Add support for SweepGradient in the GL renderer.\n\nChange-Id: I7aa397ed4e34655ead9ba1f5b4ce087665e0f022\n"
    },
    {
      "commit": "ca54ec302f5bddd1674ea1f36cd3b7c540b2fbca",
      "tree": "2a41d84f4a8f751b207bf679a33c03226657aee3",
      "parents": [
        "9db8abcd1e67a782b4de2cb8609c1eee9e64ca6d"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Mon Sep 20 17:20:30 2010 -0700"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Mon Sep 20 17:20:30 2010 -0700"
      },
      "message": "Add support for Float64 (double) to RenderScript.\n\nChange-Id: Iad1c4adadf657a46aa38a3fad7813927e643e29d\n"
    },
    {
      "commit": "a2135836d1f9f134060c1cf20d5971c5cc833fc0",
      "tree": "e5fea6c22a28a834ede060418732ae4ca9cc289d",
      "parents": [
        "c6cb8d6dfb9273e7f4dda22b44ce86be3926a977",
        "a8d95248bdbb8ea0933ecf86d2859964324978a7"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sat Sep 18 00:16:29 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Sep 18 00:16:29 2010 -0700"
      },
      "message": "am a8d95248: am 7d4739be: Merge \"Reduce lock thrashing in native Looper.\" into gingerbread\n\nMerge commit \u0027a8d95248bdbb8ea0933ecf86d2859964324978a7\u0027\n\n* commit \u0027a8d95248bdbb8ea0933ecf86d2859964324978a7\u0027:\n  Reduce lock thrashing in native Looper.\n"
    },
    {
      "commit": "a8d95248bdbb8ea0933ecf86d2859964324978a7",
      "tree": "acc213291aafdcaca17ca171f55f5324be0dadbc",
      "parents": [
        "4a4a53ae07bb8f760d1e3c588262f56b3a72a7f4",
        "7d4739bed5cd5f41ddfa431446b51f61b94d7b0b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Sep 17 19:29:50 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Sep 17 19:29:50 2010 -0700"
      },
      "message": "am 7d4739be: Merge \"Reduce lock thrashing in native Looper.\" into gingerbread\n\nMerge commit \u00277d4739bed5cd5f41ddfa431446b51f61b94d7b0b\u0027 into gingerbread-plus-aosp\n\n* commit \u00277d4739bed5cd5f41ddfa431446b51f61b94d7b0b\u0027:\n  Reduce lock thrashing in native Looper.\n"
    },
    {
      "commit": "960498728904a1a6ea65171f0cfb3b41187c29ae",
      "tree": "f789343e9aeaf4af635cee25e965f188a46ee8ce",
      "parents": [
        "838e93ed19879ce3d88b5be51630137d6a6999c6"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Sep 17 17:01:23 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Sep 17 17:01:23 2010 -0700"
      },
      "message": "Reduce lock thrashing in native Looper.\n\nIn the common case, there is nothing interesting happening on the native\nLooper besides occasional wake ups.  There is no point grabbing the\nsemaphore then.\n\nChange-Id: Ib5c426d0e158dfa37891b7ff5537b6f833592fad\n"
    },
    {
      "commit": "5e87e0d07dd909535b3a78b5fec8b544324b2c90",
      "tree": "93fff928832b39e83f5dea344beec27fea5d6ce9",
      "parents": [
        "be3512735cb79fcc789fc3fd902431b2bac97823",
        "b5ab4173e0927e4668a45298c9900cd8007584e1"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Sep 17 15:49:56 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 17 15:49:56 2010 -0700"
      },
      "message": "Merge \"Fix positioning of 1 pixel wide lines (esp. non AA lines.)\""
    },
    {
      "commit": "be3512735cb79fcc789fc3fd902431b2bac97823",
      "tree": "884594d0141944b43e926aa6292583fcc54113a1",
      "parents": [
        "0a5dd105f7b8887c0cc36363c1bcfa4093628ca9",
        "c95c8d6bf8fda5c4e8ebd0033b789be7868e6e07"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Sep 17 15:49:30 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 17 15:49:30 2010 -0700"
      },
      "message": "Merge changes Id5200e94,I08fcbfa7\n\n* changes:\n  Add support for non AA lines.\n  Correctly free memory.\n"
    },
    {
      "commit": "b5ab4173e0927e4668a45298c9900cd8007584e1",
      "tree": "e059836b7a463cad61aed46d8bd8942836018e7b",
      "parents": [
        "c95c8d6bf8fda5c4e8ebd0033b789be7868e6e07"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Sep 17 15:36:56 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Sep 17 15:36:56 2010 -0700"
      },
      "message": "Fix positioning of 1 pixel wide lines (esp. non AA lines.)\n\nChange-Id: Ic155cac72f351edae35dffdfbb236954f57ba7de\n"
    },
    {
      "commit": "c95c8d6bf8fda5c4e8ebd0033b789be7868e6e07",
      "tree": "3f5a4ca860841db0de4678065d6f392590749780",
      "parents": [
        "31529ff7918ce891fba9a660d0a861eb313ea554"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Sep 17 15:31:32 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Sep 17 15:31:32 2010 -0700"
      },
      "message": "Add support for non AA lines.\n\nChange-Id: Id5200e94815404d62760437d0d2dbb0a9276c700\n"
    },
    {
      "commit": "580807a20acfbd6ef313cf7fa51f0a9de16154ec",
      "tree": "1993ae6b809aea5f0a94390f758bfb0e2711c7ce",
      "parents": [
        "872630590501cef9783f0669218c3e85e218db05",
        "93a958f0958b852c0a2c7b940c74eeae283ba02b"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Fri Sep 17 13:55:39 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 17 13:55:39 2010 -0700"
      },
      "message": "Merge \"Handle RS reflection name changes.\""
    },
    {
      "commit": "2c6f34480c5940e9b394222456c5e8c304a4a446",
      "tree": "94586461702471dd6ebc2d09862aa8d62f6cdc78",
      "parents": [
        "d74a72fd0ae97d9ef7b0708665995a70d6f060ae",
        "a8c6ceedbaf73c052795c44ad00de90254486fe0"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Fri Sep 17 13:50:21 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 17 13:50:21 2010 -0700"
      },
      "message": "Merge \"Minor app updates for RS. force RSTest to portrait.\""
    },
    {
      "commit": "d74a72fd0ae97d9ef7b0708665995a70d6f060ae",
      "tree": "3c573100ccce2c9743e33f3c53a8529868ecfc0d",
      "parents": [
        "0b7a3bc3de08affd44c1454d2e5b2643a560e936",
        "4fd8bb4b562078f51958af3285c94a72a052df67"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Sep 17 13:42:27 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 17 13:42:27 2010 -0700"
      },
      "message": "Merge \"Fix function name match for refcounting funcs.\""
    },
    {
      "commit": "4fd8bb4b562078f51958af3285c94a72a052df67",
      "tree": "f53b20cb3d0027eb44e5863d375c44254afa12de",
      "parents": [
        "d081fffab58b4cb8a36b7a083ab7793585bc1510"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Sep 17 13:17:17 2010 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Sep 17 13:17:17 2010 -0700"
      },
      "message": "Fix function name match for refcounting funcs.\n\nChange-Id: I3fa8211200023e0df494cd9aab698e215b3c2164\n"
    },
    {
      "commit": "31529ff7918ce891fba9a660d0a861eb313ea554",
      "tree": "8be25943daf28a7e39af5d87d389abf1e986dd5a",
      "parents": [
        "a977120681904ee6309f3e90f51c6cc43615c007"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Sep 17 10:26:31 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Sep 17 10:26:31 2010 -0700"
      },
      "message": "Correctly free memory.\n\nChange-Id: I08fcbfa7d27ae413e0a8e8ca6ea305c8530a72c1\n"
    },
    {
      "commit": "93a958f0958b852c0a2c7b940c74eeae283ba02b",
      "tree": "2cd01dd0faaef882ea2564138aab7d947f924c73",
      "parents": [
        "a8c6ceedbaf73c052795c44ad00de90254486fe0"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Thu Sep 16 17:18:55 2010 -0700"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Fri Sep 17 10:03:00 2010 -0700"
      },
      "message": "Handle RS reflection name changes.\n\nChange-Id: I0f3f9805a0f0bf44ce9e9944a3eaa5a80dd0cdde\n"
    },
    {
      "commit": "f81174b281decbf689ab3727fbbbadf3aee056f5",
      "tree": "fe8282eb60df8e7988910643f85ca766f1b1b756",
      "parents": [
        "6308514cbff740772534338ed641d3243cca52fe",
        "f3f822edc7d9f08edc91a2e1826de127a19c235d"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Sep 16 23:54:39 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 16 23:54:39 2010 -0700"
      },
      "message": "am f3f822ed: am 987ba541: Merge \"Fix sim-eng build on Hardy\" into gingerbread\n\nMerge commit \u0027f3f822edc7d9f08edc91a2e1826de127a19c235d\u0027\n\n* commit \u0027f3f822edc7d9f08edc91a2e1826de127a19c235d\u0027:\n  Fix sim-eng build on Hardy\n"
    },
    {
      "commit": "f3f822edc7d9f08edc91a2e1826de127a19c235d",
      "tree": "523616491df2df69193e4609d505ba117d0c0c4a",
      "parents": [
        "156edcc9f64e010d6b6de97e9a77adfccee353eb",
        "987ba54127caaaa87056965b3d98b7e1a5b110b7"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Sep 16 23:51:31 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 16 23:51:31 2010 -0700"
      },
      "message": "am 987ba541: Merge \"Fix sim-eng build on Hardy\" into gingerbread\n\nMerge commit \u0027987ba54127caaaa87056965b3d98b7e1a5b110b7\u0027 into gingerbread-plus-aosp\n\n* commit \u0027987ba54127caaaa87056965b3d98b7e1a5b110b7\u0027:\n  Fix sim-eng build on Hardy\n"
    },
    {
      "commit": "987ba54127caaaa87056965b3d98b7e1a5b110b7",
      "tree": "50357749895231425e3ff7a3193e15a5b74e30dc",
      "parents": [
        "9404e633a55cd325b57732cdd776053b3886b611",
        "dbb7b6da080782d032251c1ab181145eaa3fc2b2"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Sep 16 23:48:53 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 16 23:48:53 2010 -0700"
      },
      "message": "Merge \"Fix sim-eng build on Hardy\" into gingerbread"
    },
    {
      "commit": "00030e9e70292fb7243da473ee80eb1695021ed1",
      "tree": "04cc7efbce1ec32c60fa8a8b8a271ca5bf3930c7",
      "parents": [
        "14769a86903973b7aef7bb6ec52eb46a34e30e36",
        "876e0e5646f3f062b5f81ead9ff42bfc1da5ffe1"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Sep 16 23:26:16 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 16 23:26:16 2010 -0700"
      },
      "message": "am 876e0e56: am 36f429d3: Fix typo which causes sensors to fail miserably\n\nMerge commit \u0027876e0e5646f3f062b5f81ead9ff42bfc1da5ffe1\u0027\n\n* commit \u0027876e0e5646f3f062b5f81ead9ff42bfc1da5ffe1\u0027:\n  Fix typo which causes sensors to fail miserably\n"
    },
    {
      "commit": "876e0e5646f3f062b5f81ead9ff42bfc1da5ffe1",
      "tree": "660375b023d9704aa52c788fb327a8c3cee2f2ee",
      "parents": [
        "eb3b40af974d818cab66bf0a728c8bdec4f6f715",
        "36f429d300be2550d7459b488dfc05b00ec59312"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Sep 16 22:16:02 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 16 22:16:02 2010 -0700"
      },
      "message": "am 36f429d3: Fix typo which causes sensors to fail miserably\n\nMerge commit \u002736f429d300be2550d7459b488dfc05b00ec59312\u0027 into gingerbread-plus-aosp\n\n* commit \u002736f429d300be2550d7459b488dfc05b00ec59312\u0027:\n  Fix typo which causes sensors to fail miserably\n"
    },
    {
      "commit": "36f429d300be2550d7459b488dfc05b00ec59312",
      "tree": "b0140340e8e76a98677b601897c6fc4abd998d1a",
      "parents": [
        "0f5843069bd419fba4fb253986645dfbca0784b7"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Sep 16 21:41:13 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Sep 16 21:41:13 2010 -0700"
      },
      "message": "Fix typo which causes sensors to fail miserably\n\nChange-Id: Ieca18fc089e2bdf7d049f213836971b54d11cd76\n"
    },
    {
      "commit": "a977120681904ee6309f3e90f51c6cc43615c007",
      "tree": "b4a3cb1b5cb4ddbe130b69809b11a274ba177433",
      "parents": [
        "ca6fd847945464c2ddddcd165021082c048f05fb",
        "759ea80dca64ad652110a129e0d8bf93fea79f61"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Sep 16 20:51:45 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 16 20:51:45 2010 -0700"
      },
      "message": "Merge \"Add support for drawLines(), with anti-aliasing\""
    },
    {
      "commit": "759ea80dca64ad652110a129e0d8bf93fea79f61",
      "tree": "910900df67d9f9fed51398de2a03f40e2abefec5",
      "parents": [
        "bf434114cbf55b216fdc76fc8d65a75e84c9dab5"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Sep 16 20:49:46 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Sep 16 20:49:46 2010 -0700"
      },
      "message": "Add support for drawLines(), with anti-aliasing\n\nChange-Id: I16c0593c5671490909dec13a85df601e1428a1a6\n"
    },
    {
      "commit": "99ce45732030d379549f74248f1f5cc88dfbf191",
      "tree": "70edc5b8d944af1fa0cdaea5626f9700ee71322a",
      "parents": [
        "7bb3e78ff37ebe4e25fbb5e408b9a02032d26369",
        "8f476407bf4e6283b128532d594d44cc527e8204"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Sep 16 18:26:13 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 16 18:26:13 2010 -0700"
      },
      "message": "am 8f476407: am 08710dcd: Merge \"part of fix for [3004226] Cannot end the call - Proximity sensor doesn\\\u0027t work\" into gingerbread\n\nMerge commit \u00278f476407bf4e6283b128532d594d44cc527e8204\u0027\n\n* commit \u00278f476407bf4e6283b128532d594d44cc527e8204\u0027:\n  part of fix for [3004226] Cannot end the call - Proximity sensor doesn\u0027t work\n"
    },
    {
      "commit": "4ffde2b041ffa43fb4b50f20445a90e5b05b8532",
      "tree": "c232336470e78ffd9c9469c07fb66bbe38a64665",
      "parents": [
        "f8438a7db064d049b5b5b7723d9f652716c39415",
        "d081fffab58b4cb8a36b7a083ab7793585bc1510"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Sep 16 18:21:29 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 16 18:21:29 2010 -0700"
      },
      "message": "Merge \"Cleanup GL setup code and remove legacy 1.1 paths. Reset pointers to NULL when allocations are unbound.\""
    },
    {
      "commit": "d081fffab58b4cb8a36b7a083ab7793585bc1510",
      "tree": "2d4ea330edfd21499546fc0a9ae9d647d7a1ee0e",
      "parents": [
        "a8bf9429b29743b3489817feb21bde2416acc465"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Sep 16 18:18:29 2010 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Sep 16 18:18:29 2010 -0700"
      },
      "message": "Cleanup GL setup code and remove legacy 1.1 paths.\nReset pointers to NULL when allocations are unbound.\n\nChange-Id: Ifaba634ecbb154970b7fb47faa8e6475d16d2f66\n"
    },
    {
      "commit": "8f476407bf4e6283b128532d594d44cc527e8204",
      "tree": "37ea55074ed9b24712484683bbb13197ac035b9e",
      "parents": [
        "3a35f078e75cd3f63e57b0fffbac486e12a0a933",
        "08710dcd589432c5828cefce25e4b565b15de9a6"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Sep 16 17:57:29 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 16 17:57:29 2010 -0700"
      },
      "message": "am 08710dcd: Merge \"part of fix for [3004226] Cannot end the call - Proximity sensor doesn\\\u0027t work\" into gingerbread\n\nMerge commit \u002708710dcd589432c5828cefce25e4b565b15de9a6\u0027 into gingerbread-plus-aosp\n\n* commit \u002708710dcd589432c5828cefce25e4b565b15de9a6\u0027:\n  part of fix for [3004226] Cannot end the call - Proximity sensor doesn\u0027t work\n"
    },
    {
      "commit": "08710dcd589432c5828cefce25e4b565b15de9a6",
      "tree": "b09824f0ee4089f858cf0922b70fcc0078acbf9d",
      "parents": [
        "079ed61579c3c42d78bb20cbcb11e6ffdb2aff34",
        "4d3cb63b9b9177b79c575ca1b21040cc42ee7879"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Sep 16 17:54:50 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 16 17:54:50 2010 -0700"
      },
      "message": "Merge \"part of fix for [3004226] Cannot end the call - Proximity sensor doesn\u0027t work\" into gingerbread"
    },
    {
      "commit": "4d3cb63b9b9177b79c575ca1b21040cc42ee7879",
      "tree": "d7d00b7efd84dc9b8dcc359f038c734a216f31d9",
      "parents": [
        "ec33b82c42f3dd996a72b80359c87524b51ffb2a"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Sep 16 17:04:16 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Sep 16 17:33:48 2010 -0700"
      },
      "message": "part of fix for [3004226] Cannot end the call - Proximity sensor doesn\u0027t work\n\n- In SensorEventQueue, only bail on errors from Looper::loopOnce\n- Improve sensor error logging\n\nChange-Id: Ib3cf8d5d9fdac8513a3d753155827e0feeda1662\n"
    },
    {
      "commit": "ec8ae3ce1aa5f2d006780e2bb40bb491538da357",
      "tree": "7115a5d178198929abc49a43be56a4e1bbca09f9",
      "parents": [
        "711f82784fadb93d488b829c04bda35860903a67",
        "d3576ef8906798d91da3ee88a103f4bedcab169e"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 16 17:29:57 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 16 17:29:57 2010 -0700"
      },
      "message": "am d3576ef8: am 1ac48eab: Merge \"Ensure input dispatcher and native looper handles EINTR.\" into gingerbread\n\nMerge commit \u0027d3576ef8906798d91da3ee88a103f4bedcab169e\u0027\n\n* commit \u0027d3576ef8906798d91da3ee88a103f4bedcab169e\u0027:\n  Ensure input dispatcher and native looper handles EINTR.\n"
    },
    {
      "commit": "711f82784fadb93d488b829c04bda35860903a67",
      "tree": "f7bab1fe553da915b1606b93317db27ff6b21240",
      "parents": [
        "3bf23a7b9f59e0ae38b728461f5f755b0be6883c",
        "6f0ff46c6f1fd1b61325b545ab9e93c5ebf37d25"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 16 17:29:46 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 16 17:29:46 2010 -0700"
      },
      "message": "am 6f0ff46c: am 9c258710: Merge \"Fix app switch latency optimization.\" into gingerbread\n\nMerge commit \u00276f0ff46c6f1fd1b61325b545ab9e93c5ebf37d25\u0027\n\n* commit \u00276f0ff46c6f1fd1b61325b545ab9e93c5ebf37d25\u0027:\n  Fix app switch latency optimization.\n"
    },
    {
      "commit": "d3576ef8906798d91da3ee88a103f4bedcab169e",
      "tree": "9048d680c622caa5440013c27d4a83fbc435f445",
      "parents": [
        "6f0ff46c6f1fd1b61325b545ab9e93c5ebf37d25",
        "1ac48eabd39e0cfd087ddf2c3b6ba8e56803bdd4"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 16 17:15:54 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 16 17:15:54 2010 -0700"
      },
      "message": "am 1ac48eab: Merge \"Ensure input dispatcher and native looper handles EINTR.\" into gingerbread\n\nMerge commit \u00271ac48eabd39e0cfd087ddf2c3b6ba8e56803bdd4\u0027 into gingerbread-plus-aosp\n\n* commit \u00271ac48eabd39e0cfd087ddf2c3b6ba8e56803bdd4\u0027:\n  Ensure input dispatcher and native looper handles EINTR.\n"
    },
    {
      "commit": "6f0ff46c6f1fd1b61325b545ab9e93c5ebf37d25",
      "tree": "ffd2b0ccc515aefc0f38cdea5e0b1f7241c9893e",
      "parents": [
        "b0abf3ea47b74296fd790843e789cfd101f58a00",
        "9c2587104ae259b9fa6a3525063197cc08e8820b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 16 17:15:48 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 16 17:15:48 2010 -0700"
      },
      "message": "am 9c258710: Merge \"Fix app switch latency optimization.\" into gingerbread\n\nMerge commit \u00279c2587104ae259b9fa6a3525063197cc08e8820b\u0027 into gingerbread-plus-aosp\n\n* commit \u00279c2587104ae259b9fa6a3525063197cc08e8820b\u0027:\n  Fix app switch latency optimization.\n"
    },
    {
      "commit": "1ac48eabd39e0cfd087ddf2c3b6ba8e56803bdd4",
      "tree": "0308ce43dfd43cc64679911169f99f269ac7d0a0",
      "parents": [
        "9c2587104ae259b9fa6a3525063197cc08e8820b",
        "7dae0e47abb5c1fb852c10b3ba0bc6464dd76e96"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 16 17:12:31 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 16 17:12:31 2010 -0700"
      },
      "message": "Merge \"Ensure input dispatcher and native looper handles EINTR.\" into gingerbread"
    },
    {
      "commit": "7dae0e47abb5c1fb852c10b3ba0bc6464dd76e96",
      "tree": "fb36ff43a393b81bc1bdbbf6cde025853561b8ac",
      "parents": [
        "6abea1ebc29c7bc8397f0470d57a4e485b5d4ee3"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 16 17:04:52 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 16 17:04:52 2010 -0700"
      },
      "message": "Ensure input dispatcher and native looper handles EINTR.\n\nChange-Id: I0a42db5f273b9bfe4ab174e4ee65d5d852f9f6bc\n"
    },
    {
      "commit": "54a1825121d006d4a4dcbbadf4eac9910f44ef8c",
      "tree": "70410aee79ef0d318b89aefb5737f0e8c097558b",
      "parents": [
        "24326f7223275ba9c85014b86d42040e3a7d2815"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 16 14:07:33 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 16 16:41:46 2010 -0700"
      },
      "message": "Fix app switch latency optimization.\n\nThis optimization was broken due to recent changes in how ANRs are handled.\n\nChange-Id: Ic99248a12755fadac8d4893e7d305b773e038d3d\n"
    },
    {
      "commit": "dbb7b6da080782d032251c1ab181145eaa3fc2b2",
      "tree": "246aec8711aa8e1ac7f9a28d838622e17904f2c6",
      "parents": [
        "a7516e90d01a22d17a470695eefa905e0ff066cc"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Sep 16 16:28:13 2010 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Thu Sep 16 16:28:13 2010 -0700"
      },
      "message": "Fix sim-eng build on Hardy\n\nOlder glibc version do not include BSD htole32 and htole64 which are\npresent in bionic. This worksaround a sim-eng build issue by only\nusing htole32/htole64 if the host is not little endian.\n\nChange-Id: Ia8d0d36285f3c34c51a331790458e52a21c2925f\n"
    },
    {
      "commit": "c5958f8a659969b40aa624043264aee32c3c61af",
      "tree": "7477c41f0633bfe9d5347e08232048234675ca25",
      "parents": [
        "885b1f21d95c5c356d7dbe40a4d033d558c2c772",
        "bf434114cbf55b216fdc76fc8d65a75e84c9dab5"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Sep 16 14:43:11 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 16 14:43:11 2010 -0700"
      },
      "message": "Merge \"Snap layer bounds to pixel boundaries.\""
    },
    {
      "commit": "bf434114cbf55b216fdc76fc8d65a75e84c9dab5",
      "tree": "5ad5f0411e6b804c264bed8927a9786a1942719c",
      "parents": [
        "b025b9c8b4efefadb01937db61a1f8ee7d2452bf"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Sep 16 14:40:17 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Sep 16 14:40:17 2010 -0700"
      },
      "message": "Snap layer bounds to pixel boundaries.\n\nChange-Id: I272ceebf469a119f01ea9d73cdd68519afdffa99\n"
    },
    {
      "commit": "885b1f21d95c5c356d7dbe40a4d033d558c2c772",
      "tree": "c9d2bebc91a77878600ca6cbdfdcb8d1348023cf",
      "parents": [
        "9b61dc564e673a116928838e42dae25bdf1e0796",
        "b025b9c8b4efefadb01937db61a1f8ee7d2452bf"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Sep 16 14:18:22 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 16 14:18:22 2010 -0700"
      },
      "message": "Merge \"Better error handling in the OpenGL renderer.\""
    },
    {
      "commit": "b025b9c8b4efefadb01937db61a1f8ee7d2452bf",
      "tree": "dabed85e1e6b4aad2363925c779b783855b02d7e",
      "parents": [
        "857d7cf80ee37fc3b1d55ecfa4c27029672f5114"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Sep 16 14:16:48 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Sep 16 14:16:48 2010 -0700"
      },
      "message": "Better error handling in the OpenGL renderer.\n\nAdd a glGetError() check on every frame\nDon\u0027t attempt to create textures larger than the maximum size allowed\n\nChange-Id: Iee4afae16089406dbe8bf10fc93b674f1271a0ca\n"
    },
    {
      "commit": "9b61dc564e673a116928838e42dae25bdf1e0796",
      "tree": "ee000e011404ec424fd8191b5849b811ffa61bef",
      "parents": [
        "6ca404d5213926ac58dc02d77293faa93b65a223"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Sep 15 16:52:51 2010 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Sep 16 14:10:31 2010 -0700"
      },
      "message": "Add YUV420P color format support for video output from camera hal\n\nChange-Id: I5c8266348d0840361c8095ce351ac85c44d4068f\n"
    },
    {
      "commit": "707929d6f8f8ff2663da9982a99f943736b8be5c",
      "tree": "c68c3251dc53422c136ab6ec239033b60ec32e33",
      "parents": [
        "6cca469ed6e58444dc6264a353510250cacfcf09",
        "61cf67a220ba3205737c646c1c836a92074220de"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 16 13:05:50 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 16 13:05:50 2010 -0700"
      },
      "message": "am 61cf67a2: am 24326f72: Merge \"Input API review.\" into gingerbread\n\nMerge commit \u002761cf67a220ba3205737c646c1c836a92074220de\u0027\n\n* commit \u002761cf67a220ba3205737c646c1c836a92074220de\u0027:\n  Input API review.\n"
    },
    {
      "commit": "61cf67a220ba3205737c646c1c836a92074220de",
      "tree": "7d4aa868fcae530b5d5300c060a8f3b8f0ce95c1",
      "parents": [
        "9284b454e28a49f514f9caddaace15b91d41165c",
        "24326f7223275ba9c85014b86d42040e3a7d2815"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 16 13:01:54 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 16 13:01:54 2010 -0700"
      },
      "message": "am 24326f72: Merge \"Input API review.\" into gingerbread\n\nMerge commit \u002724326f7223275ba9c85014b86d42040e3a7d2815\u0027 into gingerbread-plus-aosp\n\n* commit \u002724326f7223275ba9c85014b86d42040e3a7d2815\u0027:\n  Input API review.\n"
    },
    {
      "commit": "24326f7223275ba9c85014b86d42040e3a7d2815",
      "tree": "6695aa7ef061a827c88956806d892ea09c70fc7c",
      "parents": [
        "b9eb949bcae977a3f86e8307f3854f157227c34c",
        "dc1ab4b5cc274b7d744c11a939bb5910becec5e0"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 16 12:57:56 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 16 12:57:56 2010 -0700"
      },
      "message": "Merge \"Input API review.\" into gingerbread"
    },
    {
      "commit": "6cca469ed6e58444dc6264a353510250cacfcf09",
      "tree": "b1b1d09cb43cda77c27bdd61292722b62cf888dd",
      "parents": [
        "6dc2a9f30ce318db113f8920fc11fd3f6bcea5a7",
        "9284b454e28a49f514f9caddaace15b91d41165c"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 16 12:44:17 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 16 12:44:17 2010 -0700"
      },
      "message": "am 9284b454: am b9eb949b: Merge \"Fix input dispatcher regression on launcher drag\u0026drop.\" into gingerbread\n\nMerge commit \u00279284b454e28a49f514f9caddaace15b91d41165c\u0027\n\n* commit \u00279284b454e28a49f514f9caddaace15b91d41165c\u0027:\n  Fix input dispatcher regression on launcher drag\u0026drop.\n"
    },
    {
      "commit": "9284b454e28a49f514f9caddaace15b91d41165c",
      "tree": "7a1d85e7d5ff9706f84adc7c28f9d80f7ff9eb7b",
      "parents": [
        "390490e4ae768d541018038c782c52b471bb61de",
        "b9eb949bcae977a3f86e8307f3854f157227c34c"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 16 12:40:30 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 16 12:40:30 2010 -0700"
      },
      "message": "am b9eb949b: Merge \"Fix input dispatcher regression on launcher drag\u0026drop.\" into gingerbread\n\nMerge commit \u0027b9eb949bcae977a3f86e8307f3854f157227c34c\u0027 into gingerbread-plus-aosp\n\n* commit \u0027b9eb949bcae977a3f86e8307f3854f157227c34c\u0027:\n  Fix input dispatcher regression on launcher drag\u0026drop.\n"
    },
    {
      "commit": "2a95c2a9ec703b9d19b750cb854fb4ec4899e205",
      "tree": "ce7e86def75520562f38adfe65f3228dfdc6ad76",
      "parents": [
        "567c00a86f748ad4d798ae50a09505cc051fc095"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 16 12:31:46 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 16 12:31:46 2010 -0700"
      },
      "message": "Fix input dispatcher regression on launcher drag\u0026drop.\n\nChange-Id: I40e937bd712cd2ed6cceac95dfd1b8c8e070724f\n"
    },
    {
      "commit": "b27d07cccf2dbd34e486f6ae5cfdf361e6437162",
      "tree": "d249637f3dd9e26d54bfd8bee679ac8806808bf7",
      "parents": [
        "04065bdcca44d419812d4a2d955e3ee7b6c914eb",
        "03335af0dbf14d1eb4503be92a5b10199719898c"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 16 11:32:26 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 16 11:32:26 2010 -0700"
      },
      "message": "am 03335af0: am 567c00a8: Merge \"Fix NPE when handling certain kinds of ANRs.\" into gingerbread\n\nMerge commit \u002703335af0dbf14d1eb4503be92a5b10199719898c\u0027\n\n* commit \u002703335af0dbf14d1eb4503be92a5b10199719898c\u0027:\n  Fix NPE when handling certain kinds of ANRs.\n"
    },
    {
      "commit": "03335af0dbf14d1eb4503be92a5b10199719898c",
      "tree": "8d26ba58d846fb9d26dc34cd083f4c48714635bd",
      "parents": [
        "ee76ed9c0df11ac70ae67bae051cb64c9d79dafb",
        "567c00a86f748ad4d798ae50a09505cc051fc095"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 16 11:08:46 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Sep 16 11:08:46 2010 -0700"
      },
      "message": "am 567c00a8: Merge \"Fix NPE when handling certain kinds of ANRs.\" into gingerbread\n\nMerge commit \u0027567c00a86f748ad4d798ae50a09505cc051fc095\u0027 into gingerbread-plus-aosp\n\n* commit \u0027567c00a86f748ad4d798ae50a09505cc051fc095\u0027:\n  Fix NPE when handling certain kinds of ANRs.\n"
    },
    {
      "commit": "dc3e00563ee6400936e3cb82405bb94df0b35078",
      "tree": "45a8f8fa13d5d8164a25a64f1137e279f1d9e59c",
      "parents": [
        "c7510581b81d63536db7d46ca8533106c8cf57c6"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 16 11:02:16 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Sep 16 11:02:16 2010 -0700"
      },
      "message": "Fix NPE when handling certain kinds of ANRs.\n\nChange-Id: Iccef1852e52c84f6f49d30c491431460a10b33d3\n"
    },
    {
      "commit": "fa8186c71662ae9c869adbf379ccc2d917638881",
      "tree": "09ec6f08e79949096595440475f61ca2c6078dd8",
      "parents": [
        "fcec46b3d4fa08a36e904d7474a73032aa583ccd",
        "7642c82c291051919aad87c797e2dc1d77ed55e1"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 15 21:42:28 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 15 21:42:28 2010 -0700"
      },
      "message": "am 7642c82c: am f4d788c9: Merge \"Make input dispatcher only ANR for foreground windows.\" into gingerbread\n\nMerge commit \u00277642c82c291051919aad87c797e2dc1d77ed55e1\u0027\n\n* commit \u00277642c82c291051919aad87c797e2dc1d77ed55e1\u0027:\n  Make input dispatcher only ANR for foreground windows.\n"
    },
    {
      "commit": "7642c82c291051919aad87c797e2dc1d77ed55e1",
      "tree": "feb2f3c9c5db6db8776494131b01680979d5c31a",
      "parents": [
        "9c43fffc3d4b4f0b6ae1b136c4c9e5d652a7f4f6",
        "f4d788c9309bc5480100d980608472e4cb04f309"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 15 18:57:48 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 15 18:57:48 2010 -0700"
      },
      "message": "am f4d788c9: Merge \"Make input dispatcher only ANR for foreground windows.\" into gingerbread\n\nMerge commit \u0027f4d788c9309bc5480100d980608472e4cb04f309\u0027 into gingerbread-plus-aosp\n\n* commit \u0027f4d788c9309bc5480100d980608472e4cb04f309\u0027:\n  Make input dispatcher only ANR for foreground windows.\n"
    },
    {
      "commit": "519e024d1e682ca458cc2dab743589a12992c0e1",
      "tree": "1dfdac05031e352b7404a07f347b0444c70bc95b",
      "parents": [
        "3fd5fa4ca9dbdd5be46ec2952c7038cdd59e35d5"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 15 15:18:56 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 15 18:52:08 2010 -0700"
      },
      "message": "Make input dispatcher only ANR for foreground windows.\n\nRedesigned the input dispatcher\u0027s ANR timeout mechanism so it is much\ncloser to Froyo\u0027s policy.  ANR is only ever signalled if the dispatcher\nis waiting on a window to finish processing its previous event(s) and\nthere is new pending input.\n\nIn the old code, we tracked the dispatch timeout separately for each\ninput channel.  This was somewhat complicated and also resulted in the\nsituation where applications could ANR long after the user had pushed\nthem into the background.\n\nChange-Id: I666ecada0952d4b95f1d67b9f733842b745c7f4b\n"
    },
    {
      "commit": "857d7cf80ee37fc3b1d55ecfa4c27029672f5114",
      "tree": "fe220ae4f4186d40e741c95d499d7e3e8be5ce0b",
      "parents": [
        "03df1b5da60c5e2d3218937cd3978616f822e763",
        "6820ac8b14b4558f5d8b833dde80895306a3e137"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Sep 15 18:15:10 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 15 18:15:10 2010 -0700"
      },
      "message": "Merge \"Fix 9patch rendering.\""
    },
    {
      "commit": "6820ac8b14b4558f5d8b833dde80895306a3e137",
      "tree": "b90f253c05f20ae8a36c7bdc49147d447b75e7d5",
      "parents": [
        "9322775014432ed6c87c864e98fe482f879ff233"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Sep 15 18:11:50 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Sep 15 18:11:50 2010 -0700"
      },
      "message": "Fix 9patch rendering.\n\nChange-Id: Ic4c18ff483cca95fbabcb10843f7714efe488adb\n"
    },
    {
      "commit": "a8c6ceedbaf73c052795c44ad00de90254486fe0",
      "tree": "92f8bc78c8b1a9ca23c828fef8c011d8c200115d",
      "parents": [
        "06fb6e07652038c137c6aa29cc0add215370ccaf"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Mon Sep 13 14:21:39 2010 -0700"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Wed Sep 15 17:32:06 2010 -0700"
      },
      "message": "Minor app updates for RS. force RSTest to portrait.\n\nChange-Id: Ic2356644e00be8d373da97a9072f008e59a0264a\n"
    },
    {
      "commit": "49478536b6b8b28f33398393bed5e939085af7af",
      "tree": "a83f41bc6da9dd267005ad23b0b32c6f40f860d0",
      "parents": [
        "a5ab8ce602ecfd897805e185c89a6eff0c78aabe",
        "14bc6b5d0677e5c454a67775c852f90389bb4567"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Sep 15 12:32:29 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Sep 15 12:32:29 2010 -0700"
      },
      "message": "am 14bc6b5d: am 09340a4b: Merge \"Replace epoll() with poll() and rename PollLoop to Looper.\" into gingerbread\n\nMerge commit \u002714bc6b5d0677e5c454a67775c852f90389bb4567\u0027\n\n* commit \u002714bc6b5d0677e5c454a67775c852f90389bb4567\u0027:\n  Replace epoll() with poll() and rename PollLoop to Looper.\n"
    },
    {
      "commit": "a5ab8ce602ecfd897805e185c89a6eff0c78aabe",
      "tree": "e393ed7e14ae9a42faaf542ccdeda36f6cacf7fa",
      "parents": [
        "19c5df745229374748f38c76a222ec8ce1d08e81",
        "48a862407dda482450bdfd5aa2a2cd8b3e8e38dd"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 15 12:29:18 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Sep 15 12:29:18 2010 -0700"
      },
      "message": "resolved conflicts for merge of 48a86240 to master\n\nChange-Id: I2305fef9f4dd46183337217d822df3c675b6b6e5\n"
    },
    {
      "commit": "dc1ab4b5cc274b7d744c11a939bb5910becec5e0",
      "tree": "b548d8f3afe385d196b250d208fcc529ac28ed0d",
      "parents": [
        "cee0b97eed0a460e2da58500e24d3e4dac5cb9f6"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 14 18:03:38 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 14 20:46:14 2010 -0700"
      },
      "message": "Input API review.\n\nDrop currently unsupported input features.\nAdd documentation comments.\n\nChange-Id: I407d2e1dd90c5ee82983a3ccf177430d35ee7592\n"
    },
    {
      "commit": "14bc6b5d0677e5c454a67775c852f90389bb4567",
      "tree": "5bdb785c2a486787fb2d4294980b51df69765d62",
      "parents": [
        "48a862407dda482450bdfd5aa2a2cd8b3e8e38dd",
        "09340a4bb99507d9b6bfbfc68a450d4d4f354d73"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 14 15:32:03 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 14 15:32:03 2010 -0700"
      },
      "message": "am 09340a4b: Merge \"Replace epoll() with poll() and rename PollLoop to Looper.\" into gingerbread\n\nMerge commit \u002709340a4bb99507d9b6bfbfc68a450d4d4f354d73\u0027 into gingerbread-plus-aosp\n\n* commit \u002709340a4bb99507d9b6bfbfc68a450d4d4f354d73\u0027:\n  Replace epoll() with poll() and rename PollLoop to Looper.\n"
    },
    {
      "commit": "09340a4bb99507d9b6bfbfc68a450d4d4f354d73",
      "tree": "603df9bc5628adab2095e8d90014e71d84690d51",
      "parents": [
        "b3ffc78f3432344702e6f5232067ab624083cad2",
        "4fe6c3e51be77e35f40872cdbca6c80f8f8b7ecb"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 14 15:27:33 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 14 15:27:33 2010 -0700"
      },
      "message": "Merge \"Replace epoll() with poll() and rename PollLoop to Looper.\" into gingerbread"
    },
    {
      "commit": "48a862407dda482450bdfd5aa2a2cd8b3e8e38dd",
      "tree": "9cf822d456fab1858f266b491a81bc90868c36b5",
      "parents": [
        "b30f21882080bd4c0d7c3b25878151dd19ac3f94",
        "b3ffc78f3432344702e6f5232067ab624083cad2"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Sep 14 15:14:10 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 14 15:14:10 2010 -0700"
      },
      "message": "am b3ffc78f: Merge \"Add logging of various important graphics events\" into gingerbread\n\nMerge commit \u0027b3ffc78f3432344702e6f5232067ab624083cad2\u0027 into gingerbread-plus-aosp\n\n* commit \u0027b3ffc78f3432344702e6f5232067ab624083cad2\u0027:\n  Add logging of various important graphics events\n"
    },
    {
      "commit": "cfc04366998cd0c626594c9cf70336a11bdf5996",
      "tree": "e49a01f8a5d333a9ba1e711e2939915c9c84dbf0",
      "parents": [
        "213fc950d4acef73eed6b6294b556981f516dbff"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Sep 14 14:59:03 2010 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Sep 14 14:59:37 2010 -0700"
      },
      "message": "Fix partial NP2 support and restrict mipmaps and clamp\nmodes on HW that does not support proper NP2\nbug 2965170\n\nChange-Id: If9a3ac45264861fc75b9616e98957e12a5464411\n"
    },
    {
      "commit": "d3326231dc3d334054fbeeacdf691965d1618a0c",
      "tree": "57446faee5b38f37d9bd00aba59d50054900b23b",
      "parents": [
        "9322775014432ed6c87c864e98fe482f879ff233",
        "c984dd73c6f96d16e11813ae433ef70f7648ae77"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Tue Sep 14 11:39:53 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 14 11:39:53 2010 -0700"
      },
      "message": "Merge \"Shader changes to allow for more flexible constant binding.\""
    },
    {
      "commit": "c984dd73c6f96d16e11813ae433ef70f7648ae77",
      "tree": "a40cb9dc5d1b3020e4cf33f575714e72ef3e805f",
      "parents": [
        "bcd3387eed8910c540d92f26fb6680e9e0ce0588"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Tue Sep 14 09:50:43 2010 -0700"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Tue Sep 14 09:50:43 2010 -0700"
      },
      "message": "Shader changes to allow for more flexible constant binding.\n\nChange-Id: Ic66e6e2a371c6e3d5dce1b00f63acab8c09bd110\n"
    },
    {
      "commit": "4fe6c3e51be77e35f40872cdbca6c80f8f8b7ecb",
      "tree": "5cbcfad147ad1bf26deb384e41d27f4e6bfcdb80",
      "parents": [
        "c891d2b3529b9cf24ef4781a585cd4784815e711"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Sep 13 23:17:30 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Sep 14 01:59:45 2010 -0700"
      },
      "message": "Replace epoll() with poll() and rename PollLoop to Looper.\n\nAs part of this change, consolidated and cleaned up the Looper API so\nthat there are fewer distinctions between the NDK and non-NDK declarations\n(no need for two callback types, etc.).\n\nRemoved the dependence on specific constants from sys/poll.h such as\nPOLLIN.  Instead looper.h defines events like LOOPER_EVENT_INPUT for\nthe events that it supports.  That should help make any future\nunder-the-hood implementation changes easier.\n\nFixed a couple of compiler warnings along the way.\n\nChange-Id: I449a7ec780bf061bdd325452f823673e2b39b6ae\n"
    },
    {
      "commit": "04262e9f842edf20168399b6a70f0d67e518fe69",
      "tree": "dd2c01550c43c4658f78d87a60d8d8407af9afe9",
      "parents": [
        "cc5494c9996f809e36539b24e8b6b67683383d29"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Sep 13 22:57:58 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Sep 13 23:16:58 2010 -0700"
      },
      "message": "Add logging of various important graphics events\n\nThere are 16 events logged in the event log:\nSF_APP_DEQUEUE_BEFORE\nSF_APP_DEQUEUE_AFTER\nSF_APP_LOCK_BEFORE\nSF_APP_LOCK_AFTER\nSF_APP_QUEUE\n\nSF_REPAINT\nSF_COMPOSITION_COMPLETE\nSF_UNLOCK_CLIENTS\nSF_SWAP_BUFFERS\nSF_REPAINT_DONE\n\nSF_FB_POST_BEFORE\nSF_FB_POST_AFTER\nSF_FB_DEQUEUE_BEFORE\nSF_FB_DEQUEUE_AFTER\nSF_FB_LOCK_BEFORE\nSF_FB_LOCK_AFTER\n\nall events log the buffer conserned and a timestamp in microseconds.\n\nby default the logging is not enabled, to turn it on:\nadb shell service call SurfaceFlinger 1006 i31 1\nadb shell setprop debug.graphic_log 1\n\nThe effect is immediate in SurfaceFlinger, but applications need to be\nrestarted.\n\nChange-Id: Ifc2e31f7aed072d9a7dede20ff2ce59231edbec1\n"
    },
    {
      "commit": "87a76578f76f4a6bceb187da6b7a01899ca0d85a",
      "tree": "853825c9d863f06c7ace42e2fd5da3ce814c92a5",
      "parents": [
        "e8c1c539ca18f8aeb74c3a3710893516e2c1be7c"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Sep 13 18:11:21 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Sep 13 18:13:52 2010 -0700"
      },
      "message": "Docs updates.\n\nChange-Id: Iff395e1c6d81a484a2c4ad6e88357c0134971b78\n"
    },
    {
      "commit": "1c740bce8a762f02b5283045a0e2de7c8fb41277",
      "tree": "ebc1358a3cdcfb69f0427769756cbc83914f6c29",
      "parents": [
        "81ab046a1127bd2ad397e6d1c6f8021b202a97ff"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Sep 13 18:00:09 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Sep 13 18:03:21 2010 -0700"
      },
      "message": "Document the implementation of saveLayer().\n\nThe implementation is simple but tricky. Leave explanations to my\nfuture self so that I don\u0027t invent a time machine to come back to\nnow and slap my self.\n\nThis change also simplifies the way the GL blending function is\nchosen when compositing a layer. It reuses existing OpenGLRenderer\nAPIs and is easier to understand.\n\nChange-Id: I1b9cf8c5d51e09836d85b8cf157a1c284aa65c59\n"
    },
    {
      "commit": "81ab046a1127bd2ad397e6d1c6f8021b202a97ff",
      "tree": "136ad86c1a50582a4e3e79026bfd932df5e94404",
      "parents": [
        "8411f336c786379c5a03106e9ed3bc8622b579a5"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Sep 13 17:32:34 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Sep 13 17:32:34 2010 -0700"
      },
      "message": "Forgot the return value...\n\nChange-Id: Iccf369a613c1cf83f3e948460c567291b084fad2\n"
    },
    {
      "commit": "8411f336c786379c5a03106e9ed3bc8622b579a5",
      "tree": "a84342e818982f1075d6c1722706e3bf4bd14ddb",
      "parents": [
        "1510770165b7bc675e5171560e907c0269dbe0fa"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Sep 13 17:27:57 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Sep 13 17:27:57 2010 -0700"
      },
      "message": "Fix rendering issue with layers intersecting the clip rect.\n\nChange-Id: Icbe35194fa219ef13ce639d33631235f8d7df3d7\n"
    },
    {
      "commit": "58ef7fbf16864164efe98bf613b15c64deb1afc0",
      "tree": "e49d5f8e7289d6ba0037def1a99535f653037134",
      "parents": [
        "ba15633a2267fb167f1496852be5dd394686d2c5"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Sep 13 12:52:37 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Sep 13 12:52:37 2010 -0700"
      },
      "message": "Forces windows to draw the first time they show.\n\nChange-Id: I239572ee49bc60f30d957f548104e75844859a93\n"
    },
    {
      "commit": "2bffd268f135df8308c9e67af110525a5c463424",
      "tree": "4af48402f57aeb87e7d9765c5b739825af3fcb70",
      "parents": [
        "eb851c4ecf38e3e2935fcf81c75c2ceadc2728e1"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Sun Sep 12 17:40:02 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Sun Sep 12 17:59:13 2010 -0700"
      },
      "message": "Fix text rendering issue with text scaling.\n\nChange-Id: I1f3ae40025697e8f8ca0616ee6550fe215cadcc8\n"
    }
  ],
  "next": "b3787d57fffbb898f4767f7a94031cafe974a0b0"
}
