)]}'
{
  "log": [
    {
      "commit": "818505aa3035c57b6b419343814135fdbb501bc2",
      "tree": "b94525a8a1e84231b3683ee480d80ae2bedcbe19",
      "parents": [
        "a3dcc4cc7e1ee78b270a4590d79c1ef7dafc705f",
        "f18fd99b5c182329cd8936a9611f0103d8ece44a"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 08 11:48:34 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 08 11:48:34 2010 -0700"
      },
      "message": "Merge \"Create FBOs in LayerCache.\""
    },
    {
      "commit": "f18fd99b5c182329cd8936a9611f0103d8ece44a",
      "tree": "c32def6bcb82e2a2019a5a49744dfa34c94d8d81",
      "parents": [
        "132f22590a3cd27ce15a705bdb481675e8fd02bc"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 08 11:45:51 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 08 11:45:51 2010 -0700"
      },
      "message": "Create FBOs in LayerCache.\n\nThis moves a bit of code away from OpenGLRenderer and matches\nwhat happens with the TextureCache.\n\nChange-Id: I3c67f54f83d7240770daa015861c0e75a1dd8c42\n"
    },
    {
      "commit": "98449546fa33f420e2aef7d0d1c1afb538af4069",
      "tree": "40b9a9a46464abb5eef2e43ad51d8a83c749acab",
      "parents": [
        "9c959e77f19365157620a8bdb3684f74c7bf044a",
        "b91881fdd1608cc922f105ec552b5505da1fecb9"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jul 07 20:55:40 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 07 20:55:40 2010 -0700"
      },
      "message": "am b91881fd: am dacabf97: Merge \"Added Visualizer effect.\" into gingerbread\n\nMerge commit \u0027b91881fdd1608cc922f105ec552b5505da1fecb9\u0027\n\n* commit \u0027b91881fdd1608cc922f105ec552b5505da1fecb9\u0027:\n  Added Visualizer effect.\n"
    },
    {
      "commit": "9c959e77f19365157620a8bdb3684f74c7bf044a",
      "tree": "a0dcd8460bd289f385b90ba3ebe0c407c692bac8",
      "parents": [
        "f26d01a7cede78d1c865f56b0b526db20710c3a4",
        "6c8c2f22e9c7efc5b8fdb3d02a4c19be7a1728ec"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Jul 07 18:52:21 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 07 18:52:21 2010 -0700"
      },
      "message": "Merge \"Fix image processing resource problem for non high-density devices. Protect include file.\""
    },
    {
      "commit": "deba785f122a47915756ffd991f5540d952cf937",
      "tree": "6ac5b344722fd29c3ccc90a5be3aa7edcf489de1",
      "parents": [
        "290357aca828854cb3b327eaac45a3ff13821d4a"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jul 07 17:54:48 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jul 07 17:55:03 2010 -0700"
      },
      "message": "Add support to draw 9patches in OpenGL.\n\nThis change only adds the necessary API and stubs. The implementation\nwill be added in another change.\n\nChange-Id: Ie50b8aff5868e78796cee331df15bdbf990d2ea1\n"
    },
    {
      "commit": "6c8c2f22e9c7efc5b8fdb3d02a4c19be7a1728ec",
      "tree": "3aee1f5a374340147cf9f57c38240439776d795c",
      "parents": [
        "0b9a22cf782ab8f837161bf3357e08471ff5b9f2"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Jul 07 11:55:51 2010 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Jul 07 17:08:07 2010 -0700"
      },
      "message": "Fix image processing resource problem for non high-density devices.\nProtect include file.\n\nChange-Id: I5c6721033b37e35261b9fe424d74d3aef0620791\n"
    },
    {
      "commit": "b91881fdd1608cc922f105ec552b5505da1fecb9",
      "tree": "a6869c91c5902038650fd5b130cadaec083bc04a",
      "parents": [
        "3338775df7a19e0785c9badcedd90b99cda22013",
        "dacabf97c609a040ada857a7da6c560097448ae3"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jul 07 16:34:57 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 07 16:34:57 2010 -0700"
      },
      "message": "am dacabf97: Merge \"Added Visualizer effect.\" into gingerbread\n\nMerge commit \u0027dacabf97c609a040ada857a7da6c560097448ae3\u0027 into gingerbread-plus-aosp\n\n* commit \u0027dacabf97c609a040ada857a7da6c560097448ae3\u0027:\n  Added Visualizer effect.\n"
    },
    {
      "commit": "dacabf97c609a040ada857a7da6c560097448ae3",
      "tree": "feb67557f7f0120296bcc341d18aed20dce2b8d7",
      "parents": [
        "4b9baa69f3b3146edbc623f0670103265c4f4fe5",
        "df9b81ced437b11f8a3fcf4ba3ea6af703d121e2"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jul 07 16:23:30 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 07 16:23:30 2010 -0700"
      },
      "message": "Merge \"Added Visualizer effect.\" into gingerbread"
    },
    {
      "commit": "6c81893c626499e58c8eeb20d6c35ec4e1ce808b",
      "tree": "d4926e6c4952de9aec539f1b44ed0380779e12d0",
      "parents": [
        "3038f47d1c716f9385cf0befc08e708c65f069bb"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jul 07 15:15:32 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jul 07 15:15:32 2010 -0700"
      },
      "message": "Simpler way to deal with the FBO multi-cache.\n\nThis change removes the need for the SortedList and instead just\nadd a generated id to each FBO stored in the cache. This is an\nartificial way to store several FBOs with the same dimensions.\n\nChange-Id: I9638364e9bdc0f2391261937a0c86096f20505bf\n"
    },
    {
      "commit": "5f0c6a483900f3989f4d2a8f913cf5b6a9777d03",
      "tree": "cd0898b027dab942753874a070c403ca9b88e4aa",
      "parents": [
        "c832baa107f36740e462c83e7525ba2e9f01f086"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jul 07 13:06:26 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jul 07 13:06:26 2010 -0700"
      },
      "message": "Optimize FBO cache.\n\nThis change introduces a new generational cache called GenerationMultiCache\nthat can store several values with the same key. This can be used to use\nmultiple layers of the same size at the same time, without recreating them\nover and over again.\n\nChange-Id: I425466a20908b862c5f464a0f9e582ec18cbd7ac\n"
    },
    {
      "commit": "df9b81ced437b11f8a3fcf4ba3ea6af703d121e2",
      "tree": "c80b989df744ea74f62c800a8848813174792cc2",
      "parents": [
        "31e0ffe8444b70500cac319da084c4c45e62aca2"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 02 08:12:41 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jul 07 11:00:28 2010 -0700"
      },
      "message": "Added Visualizer effect.\n\nThe visualizer enables application to retrieve part of the currently playing audio for visualization purpose.\nIt is not an audio recording interface and only returns partial and low quality audio content as a waveform or\na frequency representation (FFT).\n\nRemoved temporary hack made in MediaPlayer for animated wall papers based on audio visualization (snoop() method.\n\nThis commit also includes a change in AudioEffect class:\n - the enable()/disable() methods have been replaced bya more standard setEnabled() method.\n - some fixes in javadoc\n\nChange-Id: Id092a1340e9e38dae68646ade7be054e3a36980e\n"
    },
    {
      "commit": "97250d5c4ab5c36dc4f7cf1d9d48157ed934615d",
      "tree": "e1075093796bc528940a2159adc557e20c3b1edb",
      "parents": [
        "054e3d5e17378bc3419c8f80c3f204b270d733e8",
        "e24901d3adb28fff72821d4e8e2ccc25b2184550"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jul 07 09:14:57 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 07 09:14:57 2010 -0700"
      },
      "message": "am e24901d3: am 68267415: Add new native Looper API.\n\nMerge commit \u0027e24901d3adb28fff72821d4e8e2ccc25b2184550\u0027\n\n* commit \u0027e24901d3adb28fff72821d4e8e2ccc25b2184550\u0027:\n  Add new native Looper API.\n"
    },
    {
      "commit": "e24901d3adb28fff72821d4e8e2ccc25b2184550",
      "tree": "7fe734d80c850fa82f33696e9b2f4f7733d697e4",
      "parents": [
        "5219a82f9d64a7d13401dcf9a0703a0ca2cd842d",
        "682674154e3fe88f6061245145f934f25f1a2eb8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jul 07 09:04:19 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 07 09:04:19 2010 -0700"
      },
      "message": "am 68267415: Add new native Looper API.\n\nMerge commit \u0027682674154e3fe88f6061245145f934f25f1a2eb8\u0027 into gingerbread-plus-aosp\n\n* commit \u0027682674154e3fe88f6061245145f934f25f1a2eb8\u0027:\n  Add new native Looper API.\n"
    },
    {
      "commit": "8cb6240125068da07cbcc10a210014f600a953da",
      "tree": "93e0702747f4dd4dbf98d52a5d489c88474cdc92",
      "parents": [
        "6f9a6a316d4a4786adaaf69e9992c6d7b23224d9",
        "dda570201ac851dd85af3861f7e575721d3345da"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jul 06 12:07:09 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 06 12:07:09 2010 -0700"
      },
      "message": "Merge \"Add a layer (FBO) cache.\""
    },
    {
      "commit": "dda570201ac851dd85af3861f7e575721d3345da",
      "tree": "795e46c7cae42b22814af1ef2ac70c083debd746",
      "parents": [
        "216108c492fef05261c70f1018d94cef0c3b23fd"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jul 06 11:39:32 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Tue Jul 06 12:00:33 2010 -0700"
      },
      "message": "Add a layer (FBO) cache.\n\nThe cache is used to draw layers so that a new\ntexture does not have to be recreated every time\na call to saveLayer() happens.\n\nThe FBO cache used a KeyedVector, which is a bad\nidea. The cache should be able to store several\nFBOs of the same size (this happens a lot during\nscrolling with fading edges for instance.) This\nwill be changed in a future CL.\n\nChange-Id: Ic316189e625f0dbcf0d273a71cc981a433d48726\n"
    },
    {
      "commit": "682674154e3fe88f6061245145f934f25f1a2eb8",
      "tree": "a105ce9f0ae4d88732bfc8fb1a52d4474f17bc86",
      "parents": [
        "8ecfb60a8e74dfcd51bbf3f236d5f414a4d5ac7d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jul 02 18:52:01 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Jul 02 18:57:02 2010 -0700"
      },
      "message": "Add new native Looper API.\n\nThis allows us to avoid exposing the file descriptor of\nthe event queue; instead, you attach an event queue to\na looper.  This will also should allow native apps to be\nwritten without the need for a separate thread, by attaching\nthe event queue to the main thread\u0027s looper and scheduling\ntheir own messages there.\n\nChange-Id: I38489282635895ae2cbfacb88599c1b1cad9b239\n"
    },
    {
      "commit": "26657e73887de62ae7648c962c860ab1bf0abd38",
      "tree": "6d14da451ef787c51afb3631afc9c214d25f9dd9",
      "parents": [
        "c70e5b79884a163e741b5dd756d41c0f5e9b2fde",
        "f60cf818896f2eef579c11f07bfdb9727be287a1"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Jul 02 15:35:49 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 02 15:35:49 2010 -0700"
      },
      "message": "Merge \"Improve multitouch support so pointers other than 0 can change colors.\""
    },
    {
      "commit": "c70e5b79884a163e741b5dd756d41c0f5e9b2fde",
      "tree": "df4d5ee8aa9e4167f736f47b87d9ab2beb54f400",
      "parents": [
        "def4e4d39d105ab285af048c2e5b530efcb09c5e",
        "8287a9bc5e184f1bbb91866591c4358a3a9eb168"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Jul 02 15:11:05 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 02 15:11:05 2010 -0700"
      },
      "message": "Merge \"Cleanup pass on the mesh api change. Removed all the simple mesh related calls and temporary objects.\""
    },
    {
      "commit": "8287a9bc5e184f1bbb91866591c4358a3a9eb168",
      "tree": "55126bd3dfa3cbdb2ccea11476cb55cb7cc8dde8",
      "parents": [
        "704aba52a8732ac6fffe9551756f86e76864e0a7"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Fri Jul 02 12:14:26 2010 -0700"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Fri Jul 02 12:14:26 2010 -0700"
      },
      "message": "Cleanup pass on the mesh api change.\nRemoved all the simple mesh related calls and temporary objects.\n\nChange-Id: Ic64a72a894e0314f216f10e1cfc0d45b17e2e182\n"
    },
    {
      "commit": "7d139ba2c331f11e9b485753cc727a0ff202f2a4",
      "tree": "7d61a0d1cacc78c0d3053d31d85c13a5aa3e3326",
      "parents": [
        "d73ddd2c9d459e363c07a8f5e47995b52b4ae049"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Jul 02 11:20:34 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Jul 02 11:20:34 2010 -0700"
      },
      "message": "Remove extra leftover logs and use uint32_t instead of unsigned int.\n\nChange-Id: I944f82fe3255de38dc04048cc8bd861f578f01a7\n"
    },
    {
      "commit": "f601ce2c1455cbfee3289309d20e55172df71bf6",
      "tree": "880eb6e83e11c2d0b819271ea5446253b0f603e7",
      "parents": [
        "1cbf9482d7d32bac60741d6e512f3ac921f3a6aa",
        "61af57bfc370ac0bbdf8a262afadf2f60a5bbded"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jul 02 07:38:30 2010 -0700"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Fri Jul 02 07:38:30 2010 -0700"
      },
      "message": "merge from open-source master\n\nChange-Id: Ifec16490ea2170728cb6ccb18d2e74fcb3478db6\n"
    },
    {
      "commit": "d73ddd2c9d459e363c07a8f5e47995b52b4ae049",
      "tree": "cf7d90d272994888628f7455d71f6ec66189c7b1",
      "parents": [
        "6d4a911e44d77deedd7b0b887be410dd6859d40a",
        "377e2352574c3cad1f64d222974afd93e821cff1"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jul 01 21:34:05 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jul 01 21:34:05 2010 -0700"
      },
      "message": "am 377e2352: am 7f8edbd9: Merge \"remove unused YUV formats\" into gingerbread\n\nMerge commit \u0027377e2352574c3cad1f64d222974afd93e821cff1\u0027\n\n* commit \u0027377e2352574c3cad1f64d222974afd93e821cff1\u0027:\n  remove unused YUV formats\n"
    },
    {
      "commit": "61c55c49073d4b10ca4dfdbb4e86684d11ac9c1c",
      "tree": "db54ecb0cc3ba4558e591818f9c74e9fe05bba4d",
      "parents": [
        "c6e1d88022db800773401c16803e1ab27fd01a7e"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jul 01 21:17:56 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jul 01 21:17:56 2010 -0700"
      },
      "message": "remove unused YUV formats\n\nChange-Id: Ie84616f842c7e0329d68e67e65a65d510558004b\n"
    },
    {
      "commit": "5468cab7fbe99bccc29bb61baa7f0e96be85062f",
      "tree": "3a2e4f7d49652c45be5858e7b685d3f873b95b80",
      "parents": [
        "72b4f9336af9f9aa783c51c991390353b3235786",
        "121e2242565d5f09ad83a2d33ecd2225838802c5"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 01 18:29:42 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 01 18:29:42 2010 -0700"
      },
      "message": "Merge \"Track the size in memory of the texture cache.\""
    },
    {
      "commit": "121e2242565d5f09ad83a2d33ecd2225838802c5",
      "tree": "9c87b01a24909f832e00e9448fc2feb8241e41d1",
      "parents": [
        "37f447338e4633461253539e62c9b8eae04de3b3"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 01 18:26:52 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 01 18:26:52 2010 -0700"
      },
      "message": "Track the size in memory of the texture cache.\n\nThe texture cache was previously checking the number of stored textures. This was\nnot very useful as this could easily lead to an abuse of memory. The new cache\ninstead tracks the total size occupied in RAM by the cached textures. When a new\ntexture is generated, older textures are kicked out as needed.\n\nChange-Id: Ib27142f4a018d5bf84774c1fb6f45a67a85f20bc\n"
    },
    {
      "commit": "f60cf818896f2eef579c11f07bfdb9727be287a1",
      "tree": "80c6767e794dd5d6675163258ae7004c24d54535",
      "parents": [
        "60b0c1dada455de304834a6d62ec0231da4c7b6c"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Jul 01 16:41:24 2010 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Jul 01 16:41:24 2010 -0700"
      },
      "message": "Improve multitouch support so pointers other than 0 can change colors.\n\nChange-Id: I4f9f71f70306cc4a3b11906ae47a5fa2e305fc3f\n"
    },
    {
      "commit": "164aaedf7f24827c3da84acc733325ae985930d6",
      "tree": "20e8d0a291b527ce31dc91dd3a32e32ab69a5ad8",
      "parents": [
        "738639ccd0f12b06d17df3d3b3ee68f506311331"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Thu Jul 01 16:14:06 2010 -0700"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Thu Jul 01 16:14:12 2010 -0700"
      },
      "message": "Start of mesh API cleanup.\nSwitched all native code to go through Mesh class.\nRemoved SimpleMesh\nAdded java Mesh class\nWill need to port all existing code to use java Mesh, then remove java SimpleMesh.\n\nChange-Id: Idb9c03d0b06b4ef87db28dffcffa1881d39120e5\n"
    },
    {
      "commit": "3cd310f18dd5e8dc451583319c67270bac4e4b4f",
      "tree": "53351ff8479f00b7999bb4bdf1aff2be959c6144",
      "parents": [
        "37f447338e4633461253539e62c9b8eae04de3b3",
        "60b0c1dada455de304834a6d62ec0231da4c7b6c"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Jul 01 15:42:47 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 01 15:42:47 2010 -0700"
      },
      "message": "Merge \"Update fountain with multitouch support.\""
    },
    {
      "commit": "f86ef57f8bcd8ba43ce222ec6a8b4f67d3600640",
      "tree": "1ce9f59ca3dab7579b6548861b21dcf2df159815",
      "parents": [
        "1a3e1056db1deafcc8cdfae3aa36581c70b16cf0"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 01 11:05:42 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 01 15:27:21 2010 -0700"
      },
      "message": "Don\u0027t use full screen FBOs, this dramatically increase performance.\n\nThe next step will be to add an FBO cache to avoid churning memory on every\nframe we draw. This change also adds support for drawBitmap(Bitmap, Matrix, Paint).\n\nChange-Id: I7825cdcf0cad9bffe6219e05d8328a53d4a6e583\n"
    },
    {
      "commit": "60b0c1dada455de304834a6d62ec0231da4c7b6c",
      "tree": "736a1e92ed6c0a6d9ec91453f2827d5378ef7eba",
      "parents": [
        "b6643d90e615b871c6d9e41d932a9fcf0d7d2156"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Jul 01 13:02:26 2010 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Jul 01 13:02:26 2010 -0700"
      },
      "message": "Update fountain with multitouch support.\n\nChange-Id: I510f3f2d604f4ecacd7e18d8c6eddd827f458c70\n"
    },
    {
      "commit": "8ba548f81d1ab5f1750cbf86098c4a14e0b8bead",
      "tree": "cac0b8552a14e0b01809d1d67840953e144d7383",
      "parents": [
        "e07f6eeb3af2defe99fbd63a73b8e636139edd1a"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 30 19:21:21 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 30 19:21:21 2010 -0700"
      },
      "message": "Add implementation for drawBitmap(Bitmap, Rect, Rect, Paint)\n\nChange-Id: I10904d2325a5431d15801aebcec1048715678e8c\n"
    },
    {
      "commit": "e07f6eeb3af2defe99fbd63a73b8e636139edd1a",
      "tree": "9a2da79cbea41f4b3a86fc1489367044df33d9f8",
      "parents": [
        "2ae5a4d9083ada7c1cd1c6ef6248c2a2e8685bc8",
        "c1396e93b6a5286a5183c00c781b62e940a12c1f"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 30 17:58:12 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 30 17:58:12 2010 -0700"
      },
      "message": "Merge \"Add implementation for drawBitmap().\""
    },
    {
      "commit": "c1396e93b6a5286a5183c00c781b62e940a12c1f",
      "tree": "41da22a7756936c8cbc4687286e9b854235cd3f5",
      "parents": [
        "efcd77407b321498a43ca380c8f67b84eb5a2d6e"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 30 17:56:19 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 30 17:56:19 2010 -0700"
      },
      "message": "Add implementation for drawBitmap().\n\nChange-Id: Iada9325f3c5642b61c2e0c4cd80bcfbc92cb491e\n"
    },
    {
      "commit": "50331a1e2f1f36e78886832a694ca8fbc8d0cafc",
      "tree": "858f6b6deb4fb08ac163fb774b1ce1ff827289c4",
      "parents": [
        "efcd77407b321498a43ca380c8f67b84eb5a2d6e",
        "b6b34891fa7f76c99f5e9a3096576ada86c99f1e"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Wed Jun 30 16:56:10 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 30 16:56:10 2010 -0700"
      },
      "message": "Merge \"Fixing freetype init/uninit code. Removing debug output from stream.\""
    },
    {
      "commit": "b6b34891fa7f76c99f5e9a3096576ada86c99f1e",
      "tree": "059ce75251532685d5651d06d47314a3ea62702d",
      "parents": [
        "81ea83d10883886013bc95eac2fe032acf1e7aa9"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Wed Jun 30 16:53:43 2010 -0700"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Wed Jun 30 16:53:43 2010 -0700"
      },
      "message": "Fixing freetype init/uninit code.\nRemoving debug output from stream.\n\nChange-Id: I401232e77cc011953e5ccc59069b22ec59958214\n"
    },
    {
      "commit": "efcd77407b321498a43ca380c8f67b84eb5a2d6e",
      "tree": "7860ab6884ca2ed8911c4108cfa88f82c63718ea",
      "parents": [
        "01959f65520a69537a2d93f4e543b03705694ad9",
        "177c405a242e811b1010bd8382b5807ab8df31a8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 30 16:11:21 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 30 16:11:21 2010 -0700"
      },
      "message": "am 177c405a: am c6e1d880: Merge \"Introduce official public NativeWindow type.\" into gingerbread\n\nMerge commit \u0027177c405a242e811b1010bd8382b5807ab8df31a8\u0027\n\n* commit \u0027177c405a242e811b1010bd8382b5807ab8df31a8\u0027:\n  Introduce official public NativeWindow type.\n"
    },
    {
      "commit": "01959f65520a69537a2d93f4e543b03705694ad9",
      "tree": "2fad8710ae5bcf6afb921b564d7a54751e9c2dd7",
      "parents": [
        "1dc623e3b32e9ad605bb7078713499a324c16775",
        "fe8809471a40cac8acc984adfa51c39e13e83947"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 30 16:07:09 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 30 16:07:09 2010 -0700"
      },
      "message": "Merge \"Remove unnecessary return and add bitmap generation ID tracking.\""
    },
    {
      "commit": "1dc623e3b32e9ad605bb7078713499a324c16775",
      "tree": "dfca30c2639a7563f9838f4a806612b0d12cde59",
      "parents": [
        "47598d51b13523ec43f08542a7f0c5539a3fdffd",
        "e341a0b5e9a1e30a020970a69c58c34f902ea06f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 30 16:05:37 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 30 16:05:37 2010 -0700"
      },
      "message": "am e341a0b5: am 30fe6fa0: Merge \"fix live wallpapers on Droid\" into gingerbread\n\nMerge commit \u0027e341a0b5e9a1e30a020970a69c58c34f902ea06f\u0027\n\n* commit \u0027e341a0b5e9a1e30a020970a69c58c34f902ea06f\u0027:\n  fix live wallpapers on Droid\n"
    },
    {
      "commit": "fe8809471a40cac8acc984adfa51c39e13e83947",
      "tree": "941d366f5445acc27f6774dcf1e0166e8b69ccb1",
      "parents": [
        "364703c6fa4aa1a7d2ef5b0c048ea2a0d57a4c40"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 30 16:05:32 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 30 16:05:32 2010 -0700"
      },
      "message": "Remove unnecessary return and add bitmap generation ID tracking.\n\nChange-Id: Icf5e0635e789f5ea53268c22fad51cf733b5b1a6\n"
    },
    {
      "commit": "c6e1d88022db800773401c16803e1ab27fd01a7e",
      "tree": "cca803afe826f86faab92bdbb70e35f6d672a052",
      "parents": [
        "30fe6fa07a9b9c6e7498198608125add8eb40744",
        "8b49bd1a2f8117e1c22884f0150e72cbcf838f32"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 30 16:05:30 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 30 16:05:30 2010 -0700"
      },
      "message": "Merge \"Introduce official public NativeWindow type.\" into gingerbread"
    },
    {
      "commit": "30fe6fa07a9b9c6e7498198608125add8eb40744",
      "tree": "ea9863284f7fdb5aa3c88292ca22d8aff3210a59",
      "parents": [
        "d8ae28854e1ed9bd90d7407f94c2e5ed9028b712",
        "4cfb3a69d2906fc2539dd30508aa6ba8d39065a9"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 30 15:59:02 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 30 15:59:02 2010 -0700"
      },
      "message": "Merge \"fix live wallpapers on Droid\" into gingerbread"
    },
    {
      "commit": "364703c6fa4aa1a7d2ef5b0c048ea2a0d57a4c40",
      "tree": "bb39ba42acd1d5e16c3120a89b1de216d65c0950",
      "parents": [
        "68e9a49aeb0b07d0d99c0a05771348bcd460a703"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 30 15:51:03 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 30 15:51:03 2010 -0700"
      },
      "message": "Fix the build.\n\nChange-Id: I08bd6daf25351daca3ae552e1cfcfce85eefa73b\n"
    },
    {
      "commit": "68e9a49aeb0b07d0d99c0a05771348bcd460a703",
      "tree": "6c3b225d66e159df7355cd36ebcf1e6ba0e032a9",
      "parents": [
        "5840b7c1193e0deb28dd4e2f622eaa62cb0483a2",
        "ce0537b80087a6225273040a987414b1dd081aa0"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 30 15:50:05 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 30 15:50:05 2010 -0700"
      },
      "message": "Merge \"Add hooks for drawBitmap().\""
    },
    {
      "commit": "5840b7c1193e0deb28dd4e2f622eaa62cb0483a2",
      "tree": "73b6751e99a1a5cdd243b4ac132fd852f67e882e",
      "parents": [
        "45886e606593708e342b6a546e45727036eabf7c",
        "0c2df98425c8fa4ce092eebea80ae197547f6a86"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jun 30 15:48:50 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 30 15:48:50 2010 -0700"
      },
      "message": "am 0c2df984: am d8ae2885: Merge \"Fix injection of specially intercepted keys like HOME.\" into gingerbread\n\nMerge commit \u00270c2df98425c8fa4ce092eebea80ae197547f6a86\u0027\n\n* commit \u00270c2df98425c8fa4ce092eebea80ae197547f6a86\u0027:\n  Fix injection of specially intercepted keys like HOME.\n"
    },
    {
      "commit": "25a98b8e21f7840ae582ce0a4cde21694c4c94ec",
      "tree": "f7599e13f67ffaba8b1b888cbd62f420a5a87ebe",
      "parents": [
        "b6643d90e615b871c6d9e41d932a9fcf0d7d2156",
        "7f6c6e8ffa3c6e036bf8037012a930e52f54e296"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 30 15:44:58 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 30 15:44:58 2010 -0700"
      },
      "message": "resolved conflicts for merge of 7f6c6e8f to master\n\nChange-Id: Id9dddb78c51f16ff8c4b60339421c94fde506db2\n"
    },
    {
      "commit": "4cfb3a69d2906fc2539dd30508aa6ba8d39065a9",
      "tree": "e54fd25fcd98e57a44a51c7b1b18cad05b2c2270",
      "parents": [
        "c19ffcba19f0d94552945105a7e29530b4806dd4"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 30 15:43:47 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 30 15:43:47 2010 -0700"
      },
      "message": "fix live wallpapers on Droid\n\nOn omap3 h/w we force opaque formats to RGB_565 instead of RGBX_8888\nbecause the GL driver doesn\u0027t support it. RGBX_8888 is always remapped\nto RGBA_8888.\n\nChange-Id: I0bfabeb98c8d3a399079e6797cf2a0ee95915324\n"
    },
    {
      "commit": "8b49bd1a2f8117e1c22884f0150e72cbcf838f32",
      "tree": "ec6e43ed118268b09cbb61c8eed02c757e9602ed",
      "parents": [
        "3c80a4a044865bdf1289c7896baffa1c082d835c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 30 13:56:17 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 30 15:32:04 2010 -0700"
      },
      "message": "Introduce official public NativeWindow type.\n\nNot yet hooked up to anything in the NDK, but requires renaming\nthe existing android_native_window_t type everywhere.\n\nChange-Id: Iffee6ea39c93b8b34e20fb69e4d2c7c837e5ea2e\n"
    },
    {
      "commit": "ce0537b80087a6225273040a987414b1dd081aa0",
      "tree": "31682a01c12091c552217186604fca32f43e98ff",
      "parents": [
        "81ea83d10883886013bc95eac2fe032acf1e7aa9"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jun 29 21:05:21 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 30 15:21:01 2010 -0700"
      },
      "message": "Add hooks for drawBitmap().\n\nChange-Id: I58e962c3a8b2bc75c2605fe369ad3002579d86e0\n\nAdd texture cache.\n\nChange-Id: I1c0e5581d228869e114438258a1014e33e024ad7\n"
    },
    {
      "commit": "d0097871828bb7d5d6eec06cadd92c2e3358849b",
      "tree": "c570862df0f2c38da96d8b88bb6ba10315810fc7",
      "parents": [
        "294c9fb8990ded73be52a3c1bfddbe1cebcd8b8e"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jun 30 14:41:59 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jun 30 14:41:59 2010 -0700"
      },
      "message": "Fix injection of specially intercepted keys like HOME.\n\nThis change mainly unwinds a premature optimization in the\ndispatch pipeline.\nTo test HOME injection, run \u0027adb shell input keyevent 3\u0027.\n\nChange-Id: I1c4b7377c205da7c898014b8b07fc6dc1d46e4dd\n"
    },
    {
      "commit": "071508d9f3d1c004cd9ef8d5329949e7a8a949c8",
      "tree": "2a6bafb1f5cc669e043da0ef23d2395bc96ec6fc",
      "parents": [
        "e519b37f5ad8ef96c7a2ec6f1481e5a8e56f5fb9"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Wed Jun 30 12:49:27 2010 -0700"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Wed Jun 30 12:59:01 2010 -0700"
      },
      "message": "Removing font initialization on startup\n\nChange-Id: I6f28204c3d431955fbf0f2f74dde09012bba0a4d\n"
    },
    {
      "commit": "e519b37f5ad8ef96c7a2ec6f1481e5a8e56f5fb9",
      "tree": "cedd400187a27db4e98732dfbec8ca4ff0fb1d1c",
      "parents": [
        "9823d203f204ceba71fb4c4e2a05195bfc073b02"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Jun 30 12:07:41 2010 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Jun 30 12:07:50 2010 -0700"
      },
      "message": "Fix an uninitialized pointer.\n\nChange-Id: If66a502b6b23d00c4a2dd02fb46912f6dee2866b\n"
    },
    {
      "commit": "3c80a4a044865bdf1289c7896baffa1c082d835c",
      "tree": "557c89a685e672e44f90f55660da1f989d00a113",
      "parents": [
        "92dbad8ab0c8e242c4c3e52c339ed3296ae7901c"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 29 19:20:40 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 30 10:49:40 2010 -0700"
      },
      "message": "Implement default key handling for native code.\n\nThe native code now maintains a list of all keys that may use\ndefault handling.  If the app finishes one of these keys\nwithout handling it, the key will be passed back off to Java\nfor default treatment.\n\nChange-Id: I6a842a0d728eeafa4de7142fae573f8c11099e18\n"
    },
    {
      "commit": "41254a8ddd4dd737969524eaca4afdda2392c023",
      "tree": "841dd34d5a13645a12db8fe9a7d50094b558050b",
      "parents": [
        "8c464e811fa87f342b8efaca426b3fbb0cc51bb8",
        "af4a2d1f52c7d54408db341781399d2886de72c1"
      ],
      "author": {
        "name": "Chris Tate",
        "email": "ctate@android.com",
        "time": "Tue Jun 29 17:06:31 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 29 17:06:31 2010 -0700"
      },
      "message": "am af4a2d1f: am ddcb543a: Merge \"Fix native input dispatch in the emulator.\" into gingerbread\n\nMerge commit \u0027af4a2d1f52c7d54408db341781399d2886de72c1\u0027\n\n* commit \u0027af4a2d1f52c7d54408db341781399d2886de72c1\u0027:\n  Fix native input dispatch in the emulator.\n"
    },
    {
      "commit": "ddcb543ac8d9615ea78fbf8341949f54d86e6fbc",
      "tree": "f1caf14fc8301825ec22f68ede3e3022e447ef85",
      "parents": [
        "e42b18677e11d27fa1d3eaa1ffcb1f98c5fc8cbf",
        "0b72e82c5f5d4ab709539c3490d6c7023f680dff"
      ],
      "author": {
        "name": "Chris Tate",
        "email": "ctate@android.com",
        "time": "Tue Jun 29 17:01:04 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 29 17:01:04 2010 -0700"
      },
      "message": "Merge \"Fix native input dispatch in the emulator.\" into gingerbread"
    },
    {
      "commit": "0b72e82c5f5d4ab709539c3490d6c7023f680dff",
      "tree": "c0b9adc3370bd600a9dc5bb8f4ffa4e6151d1977",
      "parents": [
        "5d7f6e614e7ead1fbe40a6886f78c31809bcbd40"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Jun 29 16:52:21 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Jun 29 16:52:21 2010 -0700"
      },
      "message": "Fix native input dispatch in the emulator.\n\nSet a default orientation of ROTATION_0.\nAdded some more careful checks based on whether we have valid\nabsolute axis information from the driver.\nReset key repeating during configuration changes since the keyboard\ndevice may have been removed.\n\nChange-Id: I685960828acffcb17595fc5683309e8064a76714\n"
    },
    {
      "commit": "e595a547fc9fd9924d59735f118458557069c645",
      "tree": "f3d3e52ec4b36db3875f50ea89f7a96ec5d43f65",
      "parents": [
        "3fc85a2a580cf0cf1efdb974e20281830a25be30",
        "33df868bb35726d250c8a6d0ebd8c84749ffd51f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 29 15:36:53 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 29 15:36:53 2010 -0700"
      },
      "message": "am 33df868b: am 1eb442ee: Merge \"remove a hack that was used only used on h/w we no longer support.\" into gingerbread\n\nMerge commit \u002733df868bb35726d250c8a6d0ebd8c84749ffd51f\u0027\n\n* commit \u002733df868bb35726d250c8a6d0ebd8c84749ffd51f\u0027:\n  remove a hack that was used only used on h/w we no longer support.\n"
    },
    {
      "commit": "1eb442eef737051bd2734d823fa4c12c17c1da36",
      "tree": "030a23cdf22e752b508670df865be864a876966b",
      "parents": [
        "2533a6ad3f378db5f160546d10345730f68d676c",
        "c19ffcba19f0d94552945105a7e29530b4806dd4"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 29 15:33:36 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 29 15:33:36 2010 -0700"
      },
      "message": "Merge \"remove a hack that was used only used on h/w we no longer support.\" into gingerbread"
    },
    {
      "commit": "c19ffcba19f0d94552945105a7e29530b4806dd4",
      "tree": "903c14e981d7c3ba4016d98529ef8163cf9d2f0c",
      "parents": [
        "f0562b4b071b74a760ad9c9caa0e41687ae6f407"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 29 15:31:58 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 29 15:31:58 2010 -0700"
      },
      "message": "remove a hack that was used only used on h/w we no longer support.\n\nthis should fix the opal build.\n\nChange-Id: I43d7633696fea5be6bc834293a832d22f6bdfc61\n"
    },
    {
      "commit": "639061d9c29fb97646c083f719a26992a7d24d85",
      "tree": "19de773a4ae2f75d4171581be3913091a672140e",
      "parents": [
        "f42c181ecece995e23f91ac13d67f1a597340e98",
        "b5f05d0018d72531e40c2afadfee90e9bc0c8893"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 29 12:21:16 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 29 12:21:16 2010 -0700"
      },
      "message": "am b5f05d00: am 0934fbb6: Merge \"Update native activity \u0026 event APIs to follow correct conventions.\" into gingerbread\n\nMerge commit \u0027b5f05d0018d72531e40c2afadfee90e9bc0c8893\u0027\n\n* commit \u0027b5f05d0018d72531e40c2afadfee90e9bc0c8893\u0027:\n  Update native activity \u0026 event APIs to follow correct conventions.\n"
    },
    {
      "commit": "2e9f93e8db509d5236229dc8540e0904c5dbb9f5",
      "tree": "9aa6aa2c4a59b808dd99604afb23eb5a0096d9a2",
      "parents": [
        "059f009d970fb37ac4e408dcf8e1d2d2cdcf0a84"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Jun 28 15:27:30 2010 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Jun 29 10:43:54 2010 -0700"
      },
      "message": "Update native activity \u0026 event APIs to follow correct conventions.\n\nChange-Id: Ie64fb3a9c68bc9c117fa5621b75d1f609e304e0e\n"
    },
    {
      "commit": "b23ef2937deb4c28b37902387f7f51a3fffdc1e6",
      "tree": "3d8788d1f6d64c661a88bd8ae15800ebe5493b41",
      "parents": [
        "f40e4928b9d8e1da4166c76dbd3f86a6bd2d3f72",
        "5d31a4523bf5d1d3e3b5aa51043a1551d7aa56d7"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 28 20:06:21 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 28 20:06:21 2010 -0700"
      },
      "message": "am 5d31a452: am f0562b4b: Merge changes I93dfc4c8,I781953d6 into gingerbread\n\nMerge commit \u00275d31a4523bf5d1d3e3b5aa51043a1551d7aa56d7\u0027\n\n* commit \u00275d31a4523bf5d1d3e3b5aa51043a1551d7aa56d7\u0027:\n  fix[2798925] Gingerbread TOT not booting\n  Revert \"Revert \"fix [2793164] Spam 2x/second with TOT master in SurfaceFlinger\"\"\n"
    },
    {
      "commit": "f0562b4b071b74a760ad9c9caa0e41687ae6f407",
      "tree": "7727eecba3edba2862dd90174a3348028dab83fe",
      "parents": [
        "31e0ffe8444b70500cac319da084c4c45e62aca2",
        "8fa4c811e6d0da82282f9db1a32706399ee538bc"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 28 20:01:58 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 28 20:01:58 2010 -0700"
      },
      "message": "Merge changes I93dfc4c8,I781953d6 into gingerbread\n\n* changes:\n  fix[2798925] Gingerbread TOT not booting\n  Revert \"Revert \"fix [2793164] Spam 2x/second with TOT master in SurfaceFlinger\"\"\n"
    },
    {
      "commit": "8fa4c811e6d0da82282f9db1a32706399ee538bc",
      "tree": "7605cedca3a805f2845df27b8a5094f6901abf7c",
      "parents": [
        "781953d62dc17d761e39540f0480e5ca7451cdbe"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 28 19:54:17 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 28 19:54:17 2010 -0700"
      },
      "message": "fix[2798925] Gingerbread TOT not booting\n\nFixed a typo where checking against the wrong constant caused GL_TEXTURE_EXTERNAL_OES\nto be used with a regular texture, which some GL driver will choke on.\n\nChange-Id: I93dfc4c8fa674433bbb678eee31954e9a8d0cb4b\n"
    },
    {
      "commit": "f40e4928b9d8e1da4166c76dbd3f86a6bd2d3f72",
      "tree": "17a3724fab28b101440f2f27adfe2f8465ad24db",
      "parents": [
        "66b1dbaa3684df2b4bcfff2f804656bab61bf47d",
        "96725326149687168937cf62f75364cf9cc3e96b"
      ],
      "author": {
        "name": "Chris Tate",
        "email": "ctate@android.com",
        "time": "Mon Jun 28 19:16:42 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 28 19:16:42 2010 -0700"
      },
      "message": "am 96725326: am 31e0ffe8: Merge \"Native input event dispatching.\" into gingerbread\n\nMerge commit \u002796725326149687168937cf62f75364cf9cc3e96b\u0027\n\n* commit \u002796725326149687168937cf62f75364cf9cc3e96b\u0027:\n  Native input event dispatching.\n"
    },
    {
      "commit": "349703effce5acc53ed96f7ed8556131f0c65e18",
      "tree": "359217d5076e3005c724b2117a59ffec81e7a83b",
      "parents": [
        "f2b544f5ae7676f7ab4cdf3379b2ed3c60a65def"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Jun 22 01:27:15 2010 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jun 28 19:10:54 2010 -0700"
      },
      "message": "Native input event dispatching.\n\nTarget identification is now fully native.\nFixed a couple of minor issues related to input injection.\nNative input enabled by default, can be disabled by setting\nWindowManagerPolicy.ENABLE_NATIVE_INPUT_DISPATCH to false.\n\nChange-Id: I7edf66ed3e987cc9306ad4743ac57a116af452ff\n"
    },
    {
      "commit": "d55a86120dd1e8ebcc6906c9ffd463f7460348da",
      "tree": "11ee1cc35750ba27df4fdb80540c3a5752cdd500",
      "parents": [
        "8f704d89dc38c6e25b23721f6a784956521f283a"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jun 28 17:42:46 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jun 28 18:52:24 2010 -0700"
      },
      "message": "Add support for saveLayer().\n\nsaveLayer() is affected by the paint\u0027s alpha and xfermode.\n\nChange-Id: I28693a9337052643adccdb4889a8f228d4e17903\n"
    },
    {
      "commit": "026c5e16704e817cac7d9c382914c947e34f87e0",
      "tree": "6398f104ab860dd65caf02336ea96fff3c79dadf",
      "parents": [
        "4aef697d58bc142b96953cb2623b06981af2abc9"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jun 28 17:12:22 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jun 28 17:12:22 2010 -0700"
      },
      "message": "Implement support for PorterDuff\u0027s blending modes.\n\nThe blending modes are currently hooked up only when drawing filled rects but the\ncode is reusable for other primitives. This will allow implementation of saveLayer().\nThis method is required to support the fade effects used throughout the standard\nAndroid UI.\n\nChange-Id: I396023d123436f16cdafc606e358e4eb80c9df2c\n"
    },
    {
      "commit": "5cbbce535744b89df5ecea95de21ee3733298260",
      "tree": "37dda328f8d127cead9e799e5220b4589267bc5e",
      "parents": [
        "1d58b498de5eb3b53ca0c7ffd14b1c209833d297"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Sun Jun 27 22:59:20 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Sun Jun 27 22:59:20 2010 -0700"
      },
      "message": "Reduced the complexity of layers composition.\n\nThis change also refactors the code base a bit by moving classes out of\nOpenGLRenderer into separate headers/implementations. This makes the code\nmore manageable.\n\nThis change also adds documentation for implementation methods. The\nundocumented methods are simply Skia\u0027s Canvas methods.\n\nChange-Id: I54c68b443580a0129251dddc1a7ac95813d5289e\n"
    },
    {
      "commit": "1d58b498de5eb3b53ca0c7ffd14b1c209833d297",
      "tree": "d3e53cea2f92f346b825136a5bc3bdfc01da4a4e",
      "parents": [
        "30683b2ad0754cc834ccdc07829dbf5b46563b0b",
        "bd6b79b40247aea7bfe13d0831c6c0472df6c636"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Sat Jun 26 00:16:20 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jun 26 00:16:20 2010 -0700"
      },
      "message": "Merge \"Add implementations for saveLayerAlpha() and textured rects.\""
    },
    {
      "commit": "bd6b79b40247aea7bfe13d0831c6c0472df6c636",
      "tree": "71c913ec50df87a9463e30c8a28e5cb29e734c79",
      "parents": [
        "7ae7ac48aa2b53453c9805075171ecd5bcafd7de"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Sat Jun 26 00:13:53 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Sat Jun 26 00:13:53 2010 -0700"
      },
      "message": "Add implementations for saveLayerAlpha() and textured rects.\n\nEven though there\u0027s an implementation for textured rects, drawBitmap() is not\nhooked up yet as it will require a good texture cache.\n\nThis method is implemented using FBOs. There\u0027s currently an issue either in the\ndriver or in the Canvas renderer that forces the FBO to be fullscreen, which is\nextremely expensive and yields terrible performance.\n\nChange-Id: I148419195e12d45653c60186938aa78c23a68e2c\n"
    },
    {
      "commit": "781953d62dc17d761e39540f0480e5ca7451cdbe",
      "tree": "b5762ff0e04ff7cdbd0a8a0df2b6cf74db8ce369",
      "parents": [
        "1cb3fdc91e1b82a5afe064714a1b530cc05577a7"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jun 25 18:02:21 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jun 25 18:02:21 2010 -0700"
      },
      "message": "Revert \"Revert \"fix [2793164] Spam 2x/second with TOT master in SurfaceFlinger\"\"\n\nThis reverts commit 330dd304a471d260a73e342a240921c03c825f99.\n"
    },
    {
      "commit": "2afa22003d546c726e9f7b16ba89675f6acb028f",
      "tree": "98d38f71341508e2d42570efe4019ab28222943d",
      "parents": [
        "391a3e0237600eb3801684dadd1629067016ed78",
        "61d10a4e43aea5cc60b849ce3cee718792233146"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Jun 25 15:12:29 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 25 15:12:29 2010 -0700"
      },
      "message": "Merge \"Update fountain to use boolean rather than ints for true/false.\""
    },
    {
      "commit": "61d10a4e43aea5cc60b849ce3cee718792233146",
      "tree": "2a109b6f856be0539f56a6732b46babd4e98d9a9",
      "parents": [
        "eeeaccc89971268a0cc63ac0ae0868b5c003c9a9"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Jun 25 15:09:45 2010 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Jun 25 15:09:45 2010 -0700"
      },
      "message": "Update fountain to use boolean rather than ints for true/false.\n\nChange-Id: I5e8334f53239c869caeaff45e611309cea5ba284\n"
    },
    {
      "commit": "cf3a2b79f3f1bbd249a147c1626a6da4a419c270",
      "tree": "88eb1ad7a247ecc16b8377d14116090f71819471",
      "parents": [
        "b8d97c456a3328b9c5e922774ee90d4709137d2a",
        "cdf1357b6e0152280dcd611b5f096db4887d8126"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 25 14:22:39 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jun 25 14:22:39 2010 -0700"
      },
      "message": "am cdf1357b: am 8e103da1: Merge \"Various fixes and improvements in audio effects implementation\" into gingerbread\n\nMerge commit \u0027cdf1357b6e0152280dcd611b5f096db4887d8126\u0027\n\n* commit \u0027cdf1357b6e0152280dcd611b5f096db4887d8126\u0027:\n  Various fixes and improvements in audio effects implementation\n"
    },
    {
      "commit": "7ae7ac48aa2b53453c9805075171ecd5bcafd7de",
      "tree": "a1d496162615bc915bf7642acc5c94bcc98cef53",
      "parents": [
        "1b6333863962ba637be394cb0ba17a12ca62ce61"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Jun 25 13:46:18 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Jun 25 13:46:18 2010 -0700"
      },
      "message": "Convert tabs to spaces.\n\nChange-Id: I5d3ae48af79b19b6d293deff0521e4bb57d5114b\n"
    },
    {
      "commit": "1b6333863962ba637be394cb0ba17a12ca62ce61",
      "tree": "b2ceb01af53720aaa7c7200a4fc1a9d6e1b2505e",
      "parents": [
        "3d54108d98eaa2ced9063fdc661cfc9971330362",
        "c7d53494f1fbd9f9d74af89053ff9fdb1ccbac6c"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Jun 25 13:43:21 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 25 13:43:21 2010 -0700"
      },
      "message": "Merge \"Implement quickReject() and drawRect().\""
    },
    {
      "commit": "c7d53494f1fbd9f9d74af89053ff9fdb1ccbac6c",
      "tree": "e9fa1c80906aa67991fea69f664fdddc94897327",
      "parents": [
        "5b7e333cf2f91c94e37dbb7024fa38da3db34619"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Jun 25 13:41:57 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@android.com",
        "time": "Fri Jun 25 13:41:57 2010 -0700"
      },
      "message": "Implement quickReject() and drawRect().\n\nThe OpenGL ES 2.0 renderer can now draw colored rectangles. At least there\u0027s\nsomething on screen now.\n\nChange-Id: I80a13ccc1dd56784edf74f2670a364f30700234a\n"
    },
    {
      "commit": "3d54108d98eaa2ced9063fdc661cfc9971330362",
      "tree": "010a926f6fa9bd2a87a8e1ef740ef20cdb884912",
      "parents": [
        "96d35d5bef6b09bb1fae619ac10e0f38cde94ffd",
        "eeeaccc89971268a0cc63ac0ae0868b5c003c9a9"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Jun 25 12:46:35 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 25 12:46:35 2010 -0700"
      },
      "message": "Merge \"Add support for non-VBO drawing in Meshes.\""
    },
    {
      "commit": "eeeaccc89971268a0cc63ac0ae0868b5c003c9a9",
      "tree": "c1325893e4dc15acb4db01e21c1b0d7589150a34",
      "parents": [
        "6495128049975815e46081874b8ede8efddad2f4"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Jun 25 12:45:41 2010 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Jun 25 12:45:41 2010 -0700"
      },
      "message": "Add support for non-VBO drawing in Meshes.\n\nChange-Id: Ic4dd88cbe591091ebe740babe30213c15ad60cb3\n"
    },
    {
      "commit": "53334cdb81bab4a4dfd0a41d2ef50709015a36c8",
      "tree": "1dfd6bd330fac24a95168349f8d96af0f058fc7f",
      "parents": [
        "0379118827ef7e81a70e88e5910f5c7536d8b945"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jun 23 17:38:20 2010 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 25 11:59:35 2010 -0700"
      },
      "message": "Various fixes and improvements in audio effects implementation\n\nEffect API:\n- Use different definitions for audio device, channels, formats... in AudioSystem and EffectApi:\n  Removed media/AudioCommon.h file created for initial version of EffectApi\n- Indicate audio session and output ID to effect library when calling EffectCreate(). Session ID can be useful to optimize\nthe implementation of effect chains in the same audio session. Output ID can be used for effects implemented in audio hardware.\n- Renamed EffectQueryNext() function to EffectQueryEffect() and changed operating mode:\n  now an index is passed for the queried effect instead of implicitly querying the next one.\n- Added CPU load and memory usage indication in effects descriptor\n- Added flags and commands to indicate changes in audio mode (ring tone, in call...) to effect engine\n- Added flag to indicate hardware accelerated effect implementation.\n- Renamed EffectFactoryApi.h to EffectsFactoryApi.h for consistency with EffectsFactory.c/h\n\nEffect libraries:\n- Reflected changes in Effect API\n- Several fixes in reverb implementation\n- Added build option TEST_EFFECT_LIBRARIES in makefile to prepare integration of actual effect library.\n- Replaced pointer by integer identifier for library handle returned by effects factory\n\nAudio effect framework:\n- Added support for audio session -1 in preparation of output stage effects configuration.\n- Reflected changes in Effect API\n- Removed volume ramp up/down when effect is inserted/removed: this has to be taken care of by effect engines.\n- Added some overflow verification on indexes used for deferred parameter updates via shared memory\n- Added hardcoded CPU and memory limit check when creating a new effect instance\n\nChange-Id: I43fee5182ee201384ea3479af6d0acb95092901d\n"
    },
    {
      "commit": "5b7e333cf2f91c94e37dbb7024fa38da3db34619",
      "tree": "deeda2cde4fc739586fbb27956d472a419849f80",
      "parents": [
        "c086d9403f08d4f7505eff4dfdd61e0f22d26abf",
        "9b949fce39f0f39ce9275b71d7c347210775e7a8"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Fri Jun 25 09:24:19 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 25 09:24:19 2010 -0700"
      },
      "message": "Merge \"Adding freetype font rendering to renderscript.\""
    },
    {
      "commit": "fd23461c2b9e482262f5af6b96fcabf99fecca7f",
      "tree": "de5e699694f34f0c61997068c0d379595b440ba1",
      "parents": [
        "dd1880ee5bea09e9d37c6db29ef20e49d619c094"
      ],
      "author": {
        "name": "Bruce Beare",
        "email": "brucex.j.beare@intel.com",
        "time": "Fri Jun 25 09:08:12 2010 -0700"
      },
      "committer": {
        "name": "Bruce Beare",
        "email": "brucex.j.beare@intel.com",
        "time": "Fri Jun 25 09:08:12 2010 -0700"
      },
      "message": "Fix missing NL\n\nChange-Id: I323f0c01d2e9ad4c9f07cad24bf6b63edc28ad62\nSigned-off-by: Bruce Beare \u003cbrucex.j.beare@intel.com\u003e\n"
    },
    {
      "commit": "c086d9403f08d4f7505eff4dfdd61e0f22d26abf",
      "tree": "abd68df77e9b9bf0c630191aaa07eabff8ee4f63",
      "parents": [
        "e02dec8c4cbab17d09983af1328308b8aa61ef85"
      ],
      "author": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Fri Jun 25 10:48:08 2010 -0500"
      },
      "committer": {
        "name": "Jeff Hamilton",
        "email": "jham@android.com",
        "time": "Fri Jun 25 10:48:08 2010 -0500"
      },
      "message": "Revert \"am 256fc043: am 081bc5c4: fix [2793164] Spam 2x/second with TOT master in SurfaceFlinger\"\n\nThis reverts commit e02dec8c4cbab17d09983af1328308b8aa61ef85, reversing\nchanges made to 6d7a052fb04b251c517d0a9049b8d5d7408ce8c0.\n\nBug: 2798567\n"
    },
    {
      "commit": "e02dec8c4cbab17d09983af1328308b8aa61ef85",
      "tree": "fc2a5c3cdb58eb7692517dc546cf935a0963c719",
      "parents": [
        "6d7a052fb04b251c517d0a9049b8d5d7408ce8c0",
        "256fc04394431cbd332e56747fdbfda4cb4c2e25"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jun 25 08:30:06 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jun 25 08:30:06 2010 -0700"
      },
      "message": "am 256fc043: am 081bc5c4: fix [2793164] Spam 2x/second with TOT master in SurfaceFlinger\n\nMerge commit \u0027256fc04394431cbd332e56747fdbfda4cb4c2e25\u0027\n\n* commit \u0027256fc04394431cbd332e56747fdbfda4cb4c2e25\u0027:\n  fix [2793164] Spam 2x/second with TOT master in SurfaceFlinger\n"
    },
    {
      "commit": "081bc5c47d8a980e6eafa70ddafcd89981586391",
      "tree": "7f69e950394cfd54a2bd5083345fba31fb330d9c",
      "parents": [
        "8896783dc1d31c5274b277c364da0ffe7cc27cca"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jun 24 21:22:43 2010 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jun 24 21:28:59 2010 -0700"
      },
      "message": "fix [2793164] Spam 2x/second with TOT master in SurfaceFlinger\n\nMake sure to not use GL_TEXTURE_EXTERNAL when it\u0027s not supported\nby the GL. The error was harmless, but annoying.\n\nChange-Id: I571a9a9b05d35da51420950a6a6e95629067efd0\n"
    },
    {
      "commit": "ca9d544e386124c489484b4bd1d059646700bd5c",
      "tree": "26a1ec3b85a50ee722fd383842ee7a0afa304c79",
      "parents": [
        "06f36212d655da39a934849edb481093769e4a9d",
        "9d5316e3f56d138504565ff311145ac01621dff4"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jun 24 19:32:44 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 24 19:32:44 2010 -0700"
      },
      "message": "Merge \"Add colored rectangles implementation in OpenGLRenderer.\""
    },
    {
      "commit": "9d5316e3f56d138504565ff311145ac01621dff4",
      "tree": "40c79ba098de4624fbe38cb400c6ac4fe7340673",
      "parents": [
        "a18dbdf420fabebb83e7403d000384a8d98daffa"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jun 24 19:30:36 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jun 24 19:30:36 2010 -0700"
      },
      "message": "Add colored rectangles implementation in OpenGLRenderer.\n\nDrawing two rectangles one after the other discards the second one because of\nZ buffering issues. This will be fixed in another changelist.\n\nChange-Id: Ida1b3cde8a78e60cacc07e477abc44def527ff67\n"
    },
    {
      "commit": "6495128049975815e46081874b8ede8efddad2f4",
      "tree": "e48ff291bedc84ada5f683aa0bcebb26e0d322fe",
      "parents": [
        "8f31bd6b68c796d4a4176721a6e13bfdba2166e0"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Jun 24 17:56:34 2010 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Jun 24 17:56:34 2010 -0700"
      },
      "message": "Fix return values for rsClamp.\n\nChange-Id: Ic9980a2304797a74392c729d6b8ec9f477a906d6\n"
    },
    {
      "commit": "9b949fce39f0f39ce9275b71d7c347210775e7a8",
      "tree": "76b739126b5b3f10e8fd0bc63071dd22a105e227",
      "parents": [
        "8f31bd6b68c796d4a4176721a6e13bfdba2166e0"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Thu Jun 24 17:15:34 2010 -0700"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Thu Jun 24 17:15:34 2010 -0700"
      },
      "message": "Adding freetype font rendering to renderscript.\n\nChange-Id: I3a10ffe27092a41df156341c9cb3f7aa19c49f19\n"
    },
    {
      "commit": "8f31bd6b68c796d4a4176721a6e13bfdba2166e0",
      "tree": "d2643807f6a18e1afd7577048b4d0aef914e3242",
      "parents": [
        "b6ca72314211e5f23cb2a4b3f17acc54ab6e8b87",
        "fae3f6b4153ff39c4f9e00dcf635b413d0ae4e85"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Jun 24 14:51:28 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 24 14:51:28 2010 -0700"
      },
      "message": "Merge \"Add matrix ops to RSH headers.\""
    },
    {
      "commit": "fae3f6b4153ff39c4f9e00dcf635b413d0ae4e85",
      "tree": "e6c793e1ce30c43fa90c82601d9f65959b89c63c",
      "parents": [
        "0ebd5690b8a9eb55dc940b670267c11600cf7380"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Jun 24 13:54:11 2010 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Jun 24 13:54:11 2010 -0700"
      },
      "message": "Add matrix ops to RSH headers.\n\nChange-Id: I7e2843983a12e0155114b4a18813799e4341d26f\n"
    },
    {
      "commit": "038ecb097a4ee4997938d5c3a21c1c450c3beedc",
      "tree": "629b23f52b564f9700d97293edda07f20a337cf9",
      "parents": [
        "a6e2e01f75771266db02bc23e861ef9abbb91c7f",
        "f6a11b8a9e25ff9861bbba19251bea84d8a5daf2"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 23 17:50:02 2010 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 23 17:50:02 2010 -0700"
      },
      "message": "Merge \"Add support for transformations.\""
    },
    {
      "commit": "f6a11b8a9e25ff9861bbba19251bea84d8a5daf2",
      "tree": "c44f214f59f2206de152585d97b23e2bfaa1b3b0",
      "parents": [
        "bb9524b6bdddc7ac77d8628daa8b366b8a7be4a4"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 23 17:47:49 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 23 17:47:49 2010 -0700"
      },
      "message": "Add support for transformations.\n\nThis change adds partial support for the following transforms:\n- scale()\n- translate()\n- rotate()\n- setMatrix()\n- getMatrix()\n\nThe transform is stored in a snapshot and saved/restored as needed.\nThe transform is currently not applied to the clip rect and is not\nmapped to the vertex shader.\n\nChange-Id: Id48993453311200804149917d0c126a4d0471226\n"
    },
    {
      "commit": "a6e2e01f75771266db02bc23e861ef9abbb91c7f",
      "tree": "c7b845bb19c4c6d98aae16d8d2fbed00982fd6f2",
      "parents": [
        "5d8faa280a9d32ac86147ba17ad7c75db7f36af0",
        "bc0793e4b77f1f8ec30294a4edac67dfca81f31d"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jun 23 16:57:28 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 23 16:57:28 2010 -0700"
      },
      "message": "am bc0793e4: am 03791188: Merge \"Remember to initialize timestamps in the dispatch allocator\" into gingerbread\n\nMerge commit \u0027bc0793e4b77f1f8ec30294a4edac67dfca81f31d\u0027\n\n* commit \u0027bc0793e4b77f1f8ec30294a4edac67dfca81f31d\u0027:\n  Remember to initialize timestamps in the dispatch allocator\n"
    },
    {
      "commit": "e91a5db35b0faecb9387ba09341713568b1ae86c",
      "tree": "c066471d9aa6ba58ea3f3d4b3f5da2e8c3e160d5",
      "parents": [
        "69a4817e3e1e368e758ff8c238deb5ee26963c04"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jun 23 16:50:30 2010 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jun 23 16:51:07 2010 -0700"
      },
      "message": "Remember to initialize timestamps in the dispatch allocator\n\nChange-Id: I83a2d353c34ff84a7d130e602c6dedc6a5541944\n"
    },
    {
      "commit": "bb9524b6bdddc7ac77d8628daa8b366b8a7be4a4",
      "tree": "b38978e88e8434e0a4bd8ac8e5c70bf2af26b3ea",
      "parents": [
        "03f0292744094ec107ffce71301c394503a31ded"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jun 22 18:56:38 2010 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 23 12:36:03 2010 -0700"
      },
      "message": "Add implementations for clipRect(), save() and restore().\n\nThe current implementation of clipRect() does not apply local transformations\nbefore setting the new clip.\n\nChange-Id: I5997871bb638dfcd1a8ef96354846af52427e445\n"
    },
    {
      "commit": "320742b15a710ede57862eee170945da26ef0172",
      "tree": "5c4b08874acac30f86b217af59938d0254688bc1",
      "parents": [
        "a58a7aecf44a5c818b9519240a2129e27ffdf294",
        "e3e2883f2232007174ead562610eb01201890d9b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jun 23 10:32:25 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 23 10:32:25 2010 -0700"
      },
      "message": "am e3e2883f: am e24a60aa: Merge \"First stab at attaching native event dispatching.\" into gingerbread\n\nMerge commit \u0027e3e2883f2232007174ead562610eb01201890d9b\u0027\n\n* commit \u0027e3e2883f2232007174ead562610eb01201890d9b\u0027:\n  First stab at attaching native event dispatching.\n"
    },
    {
      "commit": "3b224f931e32a9eee92e4f0b5516d812492f9ebe",
      "tree": "b6358e67798d2b8337dcfaf4dc7dfe4aebef769b",
      "parents": [
        "6bab6cebdcbac7bebc217b13e283ef5bd0c442df",
        "a4f980948e112cfdcc7051e12e29c71b78383a6f"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 23 10:30:16 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 23 10:30:16 2010 -0700"
      },
      "message": "am a4f98094: am 07ccf5ad: remove unused YUV formats\n\nMerge commit \u0027a4f980948e112cfdcc7051e12e29c71b78383a6f\u0027\n\n* commit \u0027a4f980948e112cfdcc7051e12e29c71b78383a6f\u0027:\n  remove unused YUV formats\n"
    },
    {
      "commit": "fc94e89a7f7aadf101ac1144073be964d9bfcf6b",
      "tree": "6d65eb3af3c12f4f073fd715260fbdceba6f988f",
      "parents": [
        "f3a8f74f7b8a0fb3672534d50b1fd942ab0742a2",
        "efcf68aa1fd7fcfd52cf3d2837ed8db8e797194b"
      ],
      "author": {
        "name": "Brad Fitzpatrick",
        "email": "bradfitz@android.com",
        "time": "Wed Jun 23 10:18:18 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 23 10:18:18 2010 -0700"
      },
      "message": "am efcf68aa: am ef8f96a7: Merge \"Start of work on passing around StrictMode policy over Binder calls.\" into gingerbread\n\nMerge commit \u0027efcf68aa1fd7fcfd52cf3d2837ed8db8e797194b\u0027\n\n* commit \u0027efcf68aa1fd7fcfd52cf3d2837ed8db8e797194b\u0027:\n  Start of work on passing around StrictMode policy over Binder calls.\n"
    },
    {
      "commit": "f3a8f74f7b8a0fb3672534d50b1fd942ab0742a2",
      "tree": "463a8abb90c66db42fd1074b1f51822343a4493a",
      "parents": [
        "37d9a6b7c2e4c3ca50e08faefac64d849e0d74e3",
        "b9fd188a0b1cd71e38c03a7bb4a4688eedf83667"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 23 10:18:06 2010 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 23 10:18:06 2010 -0700"
      },
      "message": "am b9fd188a: am d91ac98a: fix [2785833] valgrind error in android::Layer::requestBuffer\n\nMerge commit \u0027b9fd188a0b1cd71e38c03a7bb4a4688eedf83667\u0027\n\n* commit \u0027b9fd188a0b1cd71e38c03a7bb4a4688eedf83667\u0027:\n  fix [2785833] valgrind error in android::Layer::requestBuffer\n"
    }
  ],
  "next": "37d9a6b7c2e4c3ca50e08faefac64d849e0d74e3"
}
