)]}'
{
  "log": [
    {
      "commit": "fd79e02e0fec8620da7affaadcf275cf0518241a",
      "tree": "ee46f6bddb7871759d01a1dd4e64770f426f283c",
      "parents": [
        "3aac0abe7965ce9e2078c7d5796805d83e39df7c"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Thu Dec 22 14:30:55 2011 -0800"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Thu Dec 22 14:30:55 2011 -0800"
      },
      "message": "Missing getter and additional tests.\n\nChange-Id: I057dd0a29d2cad40d0a0627b4355faeb82bbc229\n"
    },
    {
      "commit": "3aac0abe7965ce9e2078c7d5796805d83e39df7c",
      "tree": "d562c10f687ce53cbd3fd11d47722803225c260a",
      "parents": [
        "a6db9389bd429e8d894209473301475159829b52"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Thu Dec 22 13:11:48 2011 -0800"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Thu Dec 22 13:11:48 2011 -0800"
      },
      "message": "Adding tests for element/mesh getters.\nFixing bugs found by tests.\n\nChange-Id: I6592a3b65f16b21255e7788fe8ee8aaafe268638\n"
    },
    {
      "commit": "35afa3d1c3bcd1f0d81d2f0a64a49ef473d2f028",
      "tree": "08fce5e6091d359920fc4ff31f401627cb34a291",
      "parents": [
        "641ffc032370884e663f8e8ee01718990f0e798d",
        "f3bd2f7a3f2eadd5126b1a55ca45bdbffe80ceeb"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Mon Dec 19 18:04:21 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 19 18:04:21 2011 -0800"
      },
      "message": "am f3bd2f7a: Merge \"Fix AnimationDrawable double-start bug\"\n\n* commit \u0027f3bd2f7a3f2eadd5126b1a55ca45bdbffe80ceeb\u0027:\n  Fix AnimationDrawable double-start bug\n"
    },
    {
      "commit": "f7917e656b94ec2adfc3fa826e093665d39748d2",
      "tree": "810e97e5f32b2fd7af5d9d1b2ce9b51e2e691ab9",
      "parents": [
        "01583ef715641c8a3ce68269b091e75adbe9335a"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Mon Dec 19 15:49:42 2011 -0800"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Mon Dec 19 15:49:42 2011 -0800"
      },
      "message": "Fix AnimationDrawable double-start bug\n\nAnimationDrawable.setVisible(true, true) was not correctly recording\nthe fact that it had started the animation, so it was possible to call\nstart(0 immediately afterwards and have two animations running on the\ndrawable in parallel, resulting in incorrect frame ordering.\n\nIssue #5782773\n\nChange-Id: Ifc328f755a51d10ab76b84006d1999df03d2dca1\n"
    },
    {
      "commit": "f5d8ac7cc35747ef7285ccc196f616b96229def9",
      "tree": "8137188ec4d463d582af117aa1061217384c77f5",
      "parents": [
        "b47fd2955f93c52e9329cd47dc3252b23ac7eb9f"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Fri Dec 16 09:44:26 2011 -0800"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Fri Dec 16 09:44:26 2011 -0800"
      },
      "message": "Element getters.\n\nChange-Id: Ibe570464557eeecad108b4d3cb8f02fad13943de\n"
    },
    {
      "commit": "857d0c7017da763a420e825fffa2f260eb982c97",
      "tree": "4c09958d416f38f0d843a8f2355bce36dbd44959",
      "parents": [
        "78af992929af919d3449ab6e58b791f125e16f62"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "jsams@google.com",
        "time": "Wed Nov 23 15:02:15 2011 -0800"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "jsams@google.com",
        "time": "Wed Nov 23 15:02:15 2011 -0800"
      },
      "message": "Private API to support MFF transition.\n\nChange-Id: I17cc9dc46eb37e4397428ba64305b0fd8ed3ae81\n"
    },
    {
      "commit": "e679e2ebcfb85a0d26507f7afe7547c986858bc2",
      "tree": "8e1e79fa9b994d11d370407ba553597a31797fdd",
      "parents": [
        "37c52254a1f2f0ec125332068484d2b40766b635",
        "e693fa3e184f7a49f9bf912a0dac057fb339b8a4"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Thu Nov 17 04:13:03 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 17 04:13:03 2011 -0800"
      },
      "message": "am e693fa3e: am a962ef29: am 4c593010: Merge \"Followup to a bug fix. Addtion of synchronized to the methods triggers an API change. Per council advice, pushing synch block into the function body.\" into ics-mr1\n\n* commit \u0027e693fa3e184f7a49f9bf912a0dac057fb339b8a4\u0027:\n  Followup to a bug fix. Addtion of synchronized to the methods triggers an API change. Per council advice, pushing synch block into the function body.\n"
    },
    {
      "commit": "e693fa3e184f7a49f9bf912a0dac057fb339b8a4",
      "tree": "bee10cc38bc679eb09272c5373621be56dda8da9",
      "parents": [
        "d2789aa322357ebb453bcad8825a33b27bb78c29",
        "a962ef2993099e6c5db3809a7e829e43c8cf084a"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Thu Nov 17 04:08:30 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 17 04:08:30 2011 -0800"
      },
      "message": "am a962ef29: am 4c593010: Merge \"Followup to a bug fix. Addtion of synchronized to the methods triggers an API change. Per council advice, pushing synch block into the function body.\" into ics-mr1\n\n* commit \u0027a962ef2993099e6c5db3809a7e829e43c8cf084a\u0027:\n  Followup to a bug fix. Addtion of synchronized to the methods triggers an API change. Per council advice, pushing synch block into the function body.\n"
    },
    {
      "commit": "af9dcfe641486f6bafbd44d330f6db74c06ea1dc",
      "tree": "a781ff3e49bd9dcde675591b849f8d06218fa7fc",
      "parents": [
        "37a55130fcb617a4641bde56e3d8831d48a008aa",
        "5a4718183340a108b55eba7bf755b4432153caa1"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Wed Nov 16 10:40:49 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 16 10:40:49 2011 -0800"
      },
      "message": "am 5a471818: Merge \"Expand RS vector3 types to vector4.\"\n\n* commit \u00275a4718183340a108b55eba7bf755b4432153caa1\u0027:\n  Expand RS vector3 types to vector4.\n"
    },
    {
      "commit": "5a4718183340a108b55eba7bf755b4432153caa1",
      "tree": "9f0491db27e6d2303494f0c1813bcab1316939a0",
      "parents": [
        "5cf2a1399e8cd047e84e159e25c74c259882f52c",
        "e60149d2277da53c4a681b7f3971cf13cd4b012b"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Wed Nov 16 10:36:02 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 16 10:36:02 2011 -0800"
      },
      "message": "Merge \"Expand RS vector3 types to vector4.\""
    },
    {
      "commit": "e60149d2277da53c4a681b7f3971cf13cd4b012b",
      "tree": "1bb4f453808bf3ebd87d6f724c7b1b73d5d54934",
      "parents": [
        "7b95eba9f47a3992128d59a9ec593b887e4dac0e"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Tue Nov 15 15:15:21 2011 -0800"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Tue Nov 15 15:15:21 2011 -0800"
      },
      "message": "Expand RS vector3 types to vector4.\n\nBUG\u003d5609007\n\nThe underlying LLVM implementation for vector3 types does this implicitly. If\nRS does not adjust its implementation, we will always be misaligned for any\nsubsequent data after a vector3 type. We previously inserted padding into the\nreflected layers from llvm-rs-cc (hence the skip padding part of this change).\nWe can safely ignore the padding now that the Java/native code is updated to\nuse the expanded size. The compiler will also need modification to ensure that\nwe don\u0027t mistakenly skip over any end-of-struct padding.\n\nFixing the 3 component vector padding problem.\n\nChange-Id: If68af42287deb8f4b28addcd19a9fa314656be44\n"
    },
    {
      "commit": "38da5086a65e8065e85bbca3638da752dba1dbe7",
      "tree": "a3c4117a10cea23458dcfcce1cdf603efb9dc25c",
      "parents": [
        "3aa684ec0d3f70027fa808fb95b096a1613a1ddc"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Tue Nov 15 14:21:58 2011 -0800"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Tue Nov 15 14:21:58 2011 -0800"
      },
      "message": "Followup to a bug fix.\nAddtion of synchronized to the methods triggers an API change.\nPer council advice, pushing synch block into the function body.\n\nChange-Id: Iaa395d9720bce499259ab750fe97149715e9f271\n"
    },
    {
      "commit": "e13c5c1777a6c0403519e146c9635e6574c36831",
      "tree": "0c7f8c4f47aedc3727a23319315671cd68f3b28a",
      "parents": [
        "6ab6412e8f14649ebd2d553e26eec3289f9b7cb6",
        "d8fa1ad4523b6c04cab663ff4b65181fc00594d9"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Nov 15 04:11:01 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 15 04:11:01 2011 -0800"
      },
      "message": "am d8fa1ad4: am 738d8cae: am c93a151f: Merge \"Define, document, and test the behavior of very large SurfaceTextures\" into ics-mr1\n\n* commit \u0027d8fa1ad4523b6c04cab663ff4b65181fc00594d9\u0027:\n  Define, document, and test the behavior of very large SurfaceTextures\n"
    },
    {
      "commit": "8ee964d10e0411e81b593f8d6ac9684dcd679eb1",
      "tree": "e8253428b0412c4ebef0ee351949160de505ca08",
      "parents": [
        "b069e4e169640dc52780b475f389dad79fa4b5aa",
        "b14d771cf07479e3186a167a219fb2d42d8d4d30"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Tue Nov 15 04:10:47 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 15 04:10:47 2011 -0800"
      },
      "message": "am b14d771c: am f579bb92: am cde433c5: Merge \"Fixing a race condition in RSSurfaceView. Bug 5601083 When destroy is called shortly after creation, RS tries to set a surface on a partially destroyed context.\" into ics-mr1\n\n* commit \u0027b14d771cf07479e3186a167a219fb2d42d8d4d30\u0027:\n  Fixing a race condition in RSSurfaceView. Bug 5601083 When destroy is called shortly after creation, RS tries to set a surface on a partially destroyed context.\n"
    },
    {
      "commit": "c93a151fde7d616c22b86ae458b3d015e3820d5e",
      "tree": "1637c0bf5c8e8b4457393532214238209e810620",
      "parents": [
        "cde433c5f75fd4ac2ab31e9fc34654750d1e83f8",
        "b89d88f531ee39927f8f554baaae5ecc9101ba9d"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Nov 14 11:49:42 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 14 11:49:42 2011 -0800"
      },
      "message": "Merge \"Define, document, and test the behavior of very large SurfaceTextures\" into ics-mr1"
    },
    {
      "commit": "cde433c5f75fd4ac2ab31e9fc34654750d1e83f8",
      "tree": "fb5d73dcd646847af7899186faa482875dcdb2b9",
      "parents": [
        "030bb99814157b6424c0bf290bd2ede217b5ba77",
        "93c47f10285df8311601fa94ab3c627b0d0cd4be"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Mon Nov 14 10:35:08 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 14 10:35:08 2011 -0800"
      },
      "message": "Merge \"Fixing a race condition in RSSurfaceView. Bug 5601083 When destroy is called shortly after creation, RS tries to set a surface on a partially destroyed context.\" into ics-mr1"
    },
    {
      "commit": "b89d88f531ee39927f8f554baaae5ecc9101ba9d",
      "tree": "c00601c0b328a2670e449a3afb296bd7ea30eadd",
      "parents": [
        "c51bb4d394dd47e48abc8a6d9cbc740f821546ff"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Nov 10 14:34:26 2011 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Nov 11 18:44:35 2011 -0800"
      },
      "message": "Define, document, and test the behavior of very large SurfaceTextures\n\nupdateTexImage() now throws a runtime exception when its native\ncounterpart fails\n\nBug: 5506633\n\nChange-Id: I151a6f685d465966e7df4df624412ab2da62e95f\n"
    },
    {
      "commit": "0528bcc7851b4ee1d5e3e36f5d26f7ae61cb8b53",
      "tree": "deafb8c2bc448c0d58a8e6f28d09306b9f74933c",
      "parents": [
        "c0c668373a5f8992bba78c18ad042c958e5edcd3",
        "951aa9d8ea71082f4ae4c46c41616e79619401fd"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Nov 11 16:01:23 2011 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 11 16:01:23 2011 -0800"
      },
      "message": "am 951aa9d8: am 9acae658: am 847fbbea: Merge \"Localized optimizations in views and bitmaps\" into ics-mr1\n\n* commit \u0027951aa9d8ea71082f4ae4c46c41616e79619401fd\u0027:\n  Localized optimizations in views and bitmaps\n"
    },
    {
      "commit": "1373a8eb581fe3c8e9a036e69042015f98a7e346",
      "tree": "0f71cda77b7f24614a90b6ed428788f2cf8a85a0",
      "parents": [
        "a3cc20fff073bd3ca588f1e61f0f7034aecf3ebb"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Nov 10 19:59:13 2011 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Nov 11 12:46:48 2011 -0800"
      },
      "message": "Localized optimizations in views and bitmaps\n\n* Don\u0027t call context.getResources() redundantly when unnecessary;\n  similarly for Resources.getCompatibilityInfo()\n\n* During bitmap creation, don\u0027t bother clearing to 0: it\u0027s unnecessary\n  because now that the raw bits are stored in a VM-side byte array, it\n  was cleared at initialization time.  Also, don\u0027t use the sanity-\n  checking public entry point to erase to a color, because we know\n  that we\u0027re by definition in a \"legal\" path to erase to the initial\n  contents and don\u0027t need to incur the overhead of the (inappropriate)\n  sanity checking.\n\nChange-Id: Idaca4d64fdecefd5d51337646ead32e1db510e02\n"
    },
    {
      "commit": "93c47f10285df8311601fa94ab3c627b0d0cd4be",
      "tree": "54f8630bc5e79440c073a583c63a848e32d69bb5",
      "parents": [
        "99898de902c36687be126b33ee8a4858d26871ac"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Fri Nov 11 11:49:45 2011 -0800"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Fri Nov 11 11:49:45 2011 -0800"
      },
      "message": "Fixing a race condition in RSSurfaceView. Bug 5601083\nWhen destroy is called shortly after creation, RS tries to set a surface on a partially destroyed context.\n\nChange-Id: I7a382a701efde3264e5cd9b9a9b428ade5eb4a9a\n"
    },
    {
      "commit": "18cd212f192118b098a773405e67ea7bee538e34",
      "tree": "0223583141dff5563e8cc2bfab4526dbd9ca3cdf",
      "parents": [
        "8ad8fcbfcd2921acf510bbc74dc8ad72f88f7ac5",
        "f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Nov 10 15:53:55 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 10 15:53:55 2011 -0800"
      },
      "message": "Merge \"Path rendering\" into graphics-dev"
    },
    {
      "commit": "f15ed0124ea7f7f87e4188a1dd15cc4917a62ee9",
      "tree": "3331398ede5e59c2c74905eb82cbe2b59c92b3c9",
      "parents": [
        "137266978bc08cbd147ad46c23aa26a7fe64f0f7"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Oct 31 13:23:43 2011 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "jsams@google.com",
        "time": "Thu Nov 10 15:19:16 2011 -0800"
      },
      "message": "Path rendering\n\nChange-Id: I5379a676c9ec6a9b25f21bc1e050053f27e411dd\n"
    },
    {
      "commit": "d211b4882a662409b85a1f90c71e28faa9c54464",
      "tree": "6e9dc3e95cd2aa953c2b7b8f1ae9673d93f3c657",
      "parents": [
        "911263dc5df48b89e8f9010fb74dfe2649bdc442",
        "2aafe742e5d2d63d77c49df032ec580966661597"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Nov 08 16:15:26 2011 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 08 16:15:26 2011 -0800"
      },
      "message": "Merge \"SurfaceTexture: unhide setDefaultBufferSize\" into ics-mr1"
    },
    {
      "commit": "2aafe742e5d2d63d77c49df032ec580966661597",
      "tree": "0156b2ef25b0368623d86b71b259b0d2ee8fe182",
      "parents": [
        "62015f5d0d1104dfc682b3eb3b6c0be4f63b985a"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Nov 04 14:24:55 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Nov 04 14:24:55 2011 -0700"
      },
      "message": "SurfaceTexture: unhide setDefaultBufferSize\n\nChange-Id: Ia4d3e1829339acaecaa7f10023945a432c581d72\n"
    },
    {
      "commit": "68d91733c873d80eb107b6e7a46228d9397b373e",
      "tree": "8862aa32164c42fc11bccf88ca9e6b4d1ae62f61",
      "parents": [
        "17bd9a22ec993fc9eba060950bc5cecd1e06ffb1"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Nov 02 22:31:39 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Nov 02 22:34:15 2011 -0700"
      },
      "message": "Some optimizations for view inflation.\n\nChange-Id: I8e5e6dda4d4c9776961d4a070549d5753588e582\n"
    },
    {
      "commit": "74b2b9547329a0b05e0bd5701057696007b854bb",
      "tree": "40eea9e4308a3ff3cb5033ddf51a2f25b1872f62",
      "parents": [
        "76756a42dd68062349158f70d9b0ab95db908acc",
        "09848bc89de999416e2de82a7693b2deec6bf802"
      ],
      "author": {
        "name": "Joe Fernandez",
        "email": "joefernandez@google.com",
        "time": "Sat Oct 29 02:16:10 2011 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Oct 29 02:16:10 2011 +0000"
      },
      "message": "am 09848bc8: Merge \"docs: add developer guide cross references, Project ACRE, round 3\" into ics-mr0\n\n* commit \u002709848bc89de999416e2de82a7693b2deec6bf802\u0027:\n  docs: add developer guide cross references, Project ACRE, round 3\n"
    },
    {
      "commit": "61fd1e8d8c3ccf2d6b7d4af1c19e8f0988d5a1ec",
      "tree": "0cc2443b58929c018ac78c1f85047fb9c4b267f2",
      "parents": [
        "a6d2e6b952d535fec4483d67ea52947e6e3bc629"
      ],
      "author": {
        "name": "Joe Fernandez",
        "email": "joefernandez@google.com",
        "time": "Wed Oct 26 13:39:11 2011 -0700"
      },
      "committer": {
        "name": "Joe Fernandez",
        "email": "joefernandez@google.com",
        "time": "Fri Oct 28 14:23:23 2011 -0700"
      },
      "message": "docs: add developer guide cross references, Project ACRE, round 3\n\nChange-Id: I6125315ecdf0f78dd947c514a9944729d723e95d\n"
    },
    {
      "commit": "7d5f5e7c8943e043a422ad51c85d4e1684c37e28",
      "tree": "eee61debd73ac054eb1e95259e6e8e16c426df5a",
      "parents": [
        "a744ead977b2beda89091abf295bcda860bf88b2"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Tue Oct 18 11:08:31 2011 -0700"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Tue Oct 18 11:08:31 2011 -0700"
      },
      "message": "adding getters to Sampler ProgramRaster, ProgramStore, Element.\nElement adds ability to get subelement info. Tests for new stuff.\n\nChange-Id: I4a77b91e4e0e73c95ab28b42c50732a64e71e7b9\n"
    },
    {
      "commit": "098ffcd521cd272ee3a63174759cceeda618d2ef",
      "tree": "1ee1e7cc07f825cd06fb2564168ecceb68bcfa62",
      "parents": [
        "589b0bb6ab81657ba201cbc441a49f85305170bc"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Oct 10 15:22:25 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Oct 10 15:23:32 2011 -0700"
      },
      "message": "Don\u0027t call saveLayer() when it\u0027s not required\nBug #5435653\n\nsaveLayer() can be extremely expensive on some GPU architectures. Avoiding\nthis call greatly improve the rendering performance of drawables with\nstrok + fill.\n\nChange-Id: Ib414174ba05d5bad56d942b8e67ab784e7d60b9e\n"
    },
    {
      "commit": "85397d8dcbcbe098c805b90fe7779206125e2399",
      "tree": "0fed370c58750369832d7c89dee98f72897de768",
      "parents": [
        "94d2f366f971bc052da9856e9f8867094e738cd1"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Oct 06 17:54:45 2011 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Oct 06 17:55:26 2011 -0700"
      },
      "message": "Simplify the way we get the version info.\nReduces startup overhead.\n\nChange-Id: Id9556dfe553c23bf3f870a524ca5e687bb9fe777\n"
    },
    {
      "commit": "94aaed38467c71a6c804f0e18b41346a4013c25b",
      "tree": "b64c609a2afd305f81b3971a8e3811e5053bc2de",
      "parents": [
        "e94d950d122005bb10e11dd18b6029d0108f2fbe"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Sep 23 14:18:53 2011 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Sep 23 14:18:53 2011 -0700"
      },
      "message": "Remove unused fields in ProgramRaster\n\nChange-Id: I70c9d47674c956ec850c178c7aaa9a5e3dd9dffb\n"
    },
    {
      "commit": "2f2eea704ef82878c7aa909a1f7dbdf19851b0fb",
      "tree": "1129ea876bd4ba508d01f94490a2d97f0d3c1514",
      "parents": [
        "83f9dfe0f085a01ebaa9f3ba6205af20e20bbe78",
        "e5cdb6c8394e321266fb8940fdd0c97b2f87b2f3"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Mon Sep 12 15:17:32 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 12 15:17:32 2011 -0700"
      },
      "message": "Merge \"Fix wobbly spinners\""
    },
    {
      "commit": "e5cdb6c8394e321266fb8940fdd0c97b2f87b2f3",
      "tree": "109ea7b5610466bcf5b187de47fc3b7c8806154b",
      "parents": [
        "92bda84b11ba2aec98036313784444d9f5aebc9a"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Mon Sep 12 14:21:46 2011 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Mon Sep 12 14:21:46 2011 -0700"
      },
      "message": "Fix wobbly spinners\n\nSome progress bars use AnimatedRotateDrawable, which suffered\nfrom the same bug as AnimationDrawable (until a recent fix). The\ncode would not account for the left/top offset of the drawable in its view,\nso it would rotate the drawable around the wrong center, causing it to\nwobble and not get erased properly.\n\nChange-Id: I3f34f797e595973d9eb1d952d92026c769c7ec0a\n"
    },
    {
      "commit": "f68832bcc1069c70ef27248da6d82e9f9056955a",
      "tree": "f7c1ad189128b9a060a16a278dbbe4bc22969b30",
      "parents": [
        "e9a9dbe729f4e4d4a54a7783e9768b9742240e25"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Sep 12 13:14:42 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Sep 12 13:14:42 2011 -0700"
      },
      "message": "Turn hinting back on\n\nThe difference is not obvious when compared to no hinting, and turning\noff hinting has undesirable side effects because of the lack of sub-\npixel positioning when rendering text.\n\nChange-Id: If2162ba079f68f33b33aed444e80036fdbf015bb\n"
    },
    {
      "commit": "ddb715b238c098d8b561a44b9687f0bc67a4c141",
      "tree": "59141d85ba02d8706d82d7d6c721ac73a6e02d27",
      "parents": [
        "4ee366690111e5f71a248a2af10301db425162d5"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 09 14:43:39 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Sep 09 14:43:39 2011 -0700"
      },
      "message": "Pull animation attributes out of main view class.\n\nThese are now in a separate class that is only allocated when\nneeded by the view.\n\nChange-Id: I9601bb43b3b4bfdabd982b02f7cd7534437b8ac3\n"
    },
    {
      "commit": "2273b1e4eae27fa60b0b90d16a1891b4526c9b9c",
      "tree": "2063f6496a9eb16313d13ddf0ff1f99b371898a3",
      "parents": [
        "be724dbc45154f2c33cc789c89eb2ac2a7516cbe"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Wed Sep 07 15:17:40 2011 -0700"
      },
      "committer": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Wed Sep 07 16:06:49 2011 -0700"
      },
      "message": "Hide RTL related APIs\n\nChange-Id: Idda458fcdebe7afeb9b95e328e552fcbc7939157\n"
    },
    {
      "commit": "a1b92c5e8b750d8f5b2dc5ca7e8b4edc97de5575",
      "tree": "8ea0a06dd6255ae74738a8378b563b67e7da12c0",
      "parents": [
        "f7315dd1922868efc04fcd83caff4202f215bae1"
      ],
      "author": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Sep 02 15:05:15 2011 -0700"
      },
      "committer": {
        "name": "Adam Powell",
        "email": "adamp@google.com",
        "time": "Fri Sep 02 16:37:41 2011 -0700"
      },
      "message": "Fix bug 5231904 - Fix wobbly progress spinners\n\nMake ProgressBar maintain aspect ratio on indeterminate progress drawables.\n\nMake RotateDrawable tolerate left/top bounds !\u003d 0.\n\nChange-Id: Iee03030caa98f72a8745f1ae3fb0de108ff663d4\n"
    },
    {
      "commit": "41bff38d3060dbcb55133cedaf5d962c3082efc2",
      "tree": "5e9df9476b02d03ad99c555a8464c4be62ca513e",
      "parents": [
        "c592e8e61acd3cfbd11f05d2ea59af267ca33dcf"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Mon Aug 29 16:00:23 2011 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Fri Sep 02 11:28:25 2011 -0700"
      },
      "message": "Tweaks to NotificationPanel animation\n\nThe animation that runs when the NotificationPanel appears\nused to start, then pause for a long time as the window/surface/layer\nwas created, then by the time it started to be visible, the animation\nwas over. This new approach delays starting the animation until the\nlayer has been drawn, so the animation can actually run a few frames after\nthat before finishing.\n\nChange-Id: I998f01fd48cb762178021ad99e2b919b58a1ef3f\n"
    },
    {
      "commit": "8b5a8b5bed98bd1c048864abcf39dfc3875518cb",
      "tree": "2f1b4ed708f81306ff82284bef626bd486eebd17",
      "parents": [
        "6a13dd5544d0eb55349ccf57ee6a781ab4fd51b6",
        "7d892dcc8a18376f499527a160c6c0ed664e22b1"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Thu Sep 01 11:41:42 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 01 11:41:42 2011 -0700"
      },
      "message": "Merge \"Code cleaning\""
    },
    {
      "commit": "7d892dcc8a18376f499527a160c6c0ed664e22b1",
      "tree": "36eed67783601d81b8ef8bc10dca3a7f3ef56366",
      "parents": [
        "3716601573f5a562f98721130e25002ad88eb164"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Wed Aug 31 18:31:40 2011 -0700"
      },
      "committer": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Wed Aug 31 19:31:51 2011 -0700"
      },
      "message": "Code cleaning\n\n- remove unused constant\n- fix spelling\n\nChange-Id: I0053129b33c2ee472db84e14d4b2ace5d97d20a8\n"
    },
    {
      "commit": "d040edbae968d826aa2c82d382345811a45c646b",
      "tree": "a2193bbef37a990257ebabc7953b16409aac453e",
      "parents": [
        "be566b488a78e9e5ba0971ebe888d41511a11fa8"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 31 12:47:58 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 31 14:18:32 2011 -0700"
      },
      "message": "Use floating point window positions.\n\nGets rid of gapps between windows during animations.\n\nChange-Id: I17d2ef0af214008f0eabd7eb19268f145fe83b39\n"
    },
    {
      "commit": "e7197a996ff9c4a51d32dd2f918aab97d2b191ef",
      "tree": "06ac32a5070b7df390250633c7826c2f2e1cd6b7",
      "parents": [
        "49fb943db85c748fc7dd4f5ee4a461d7489fb1b0",
        "8fa6503feb1954d8c11a0591a567e6acedf7abe9"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Wed Aug 31 10:30:27 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 31 10:30:27 2011 -0700"
      },
      "message": "Merge \"Fix bug #5233207 android.graphics.cts.PaintTest#testBreakText fails on IRK56F trygon-userdebug\""
    },
    {
      "commit": "0d32b317c2d1cacfa5acd34253cc626d6a776ec0",
      "tree": "32e35b18b0560fb941a8385b93e23c148bf1c471",
      "parents": [
        "be1a0493a8bf589137874bec4222297fbb712185"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Aug 30 16:42:23 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Aug 30 16:42:44 2011 -0700"
      },
      "message": "Accessors for frame count and duration.\n\nBug: 5233703\nChange-Id: If6a758540248dc9bff56b64add04984ebd7b6833\n"
    },
    {
      "commit": "8fa6503feb1954d8c11a0591a567e6acedf7abe9",
      "tree": "41f1f52313a6dd657419c06d556b97f8f1cd1858",
      "parents": [
        "3efc794f8563558b9792cc8ffa1ab9e81a0129ea"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Mon Aug 29 18:38:27 2011 -0700"
      },
      "committer": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Tue Aug 30 15:01:39 2011 -0700"
      },
      "message": "Fix bug #5233207 android.graphics.cts.PaintTest#testBreakText fails on IRK56F trygon-userdebug\n\n- Paint.breakText() API was regressing on the argument validation: a count \u003c 0 is a valid one\n\nChange-Id: I6d09294ee9f21901ba00017ce0d73f757fc7b147\n"
    },
    {
      "commit": "bb66c21f01b42f533878613f57d5894817c32c93",
      "tree": "2b4a677a4c86196520e71ff26be82d2721d8be6e",
      "parents": [
        "890a631ede4f0d209b53d1924a545ed8d3b6f003"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Sat Aug 27 15:09:26 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Aug 29 15:06:36 2011 -0700"
      },
      "message": "Make Paint.set() copy shadow config.\n\nAlso unify all Java variable copying into single method.\n\nChange-Id: I8fefa615f6f164ae5662913d612b388b46890089\n"
    },
    {
      "commit": "554366d158a0ec330a339f4343fb0a3164257f1e",
      "tree": "dd0ed4aacbef88e954539bbd208c3c16b646bc0d",
      "parents": [
        "7a12d6ba14a35276fd3afb314d6c95055da4c6f0"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Aug 23 15:26:02 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Aug 23 15:59:05 2011 -0700"
      },
      "message": "SurfaceTexture: disable sync-mode SurfaceTextures\n\nThis change removes the ability to create a SurfaceTexture that is\ncapable of operating in synchronous-mode from the public APIs.\n\nBug: 5167959\nChange-Id: I09995832bb9a5f5063a67ddc3e0e1ab124d4e893\n"
    },
    {
      "commit": "fc8fa638617efb5695a1f89ea75375faebbe2a40",
      "tree": "685aeed4995ea17399accf5d46545038235d5105",
      "parents": [
        "9a5505f0253a9114aea6192a22da6ec1c1b85ed2"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 17 16:20:47 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 17 17:45:05 2011 -0700"
      },
      "message": "Fix issue #5128639: SystemUI grows by 10MB after taking a screenshot\n\nWe now do the screenshot in a separate process.\n\nAlso change the recents panel to not use hardware acceleration\non lower-end devices.  And improve how it gets shown to not\nload all data up-front which results in a long delay when you have\nlots of recents.\n\nChange-Id: Ia309a90f9939e5405758621b3f7114597bd0c02a\n"
    },
    {
      "commit": "f43fa5746ee5b81a6e386d36594094d079ac8160",
      "tree": "bf26f4fde8e7610722f6c75944b713c18d115064",
      "parents": [
        "7c0d8472d003334fafd14f7c1e7d95dbd213088b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 12 18:59:39 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Aug 12 18:59:39 2011 -0700"
      },
      "message": "Turn off hinting by default for higher density displays.\n\nAlso adds an API for apps to control whether hinting is used.\n\nChange-Id: I1a06b06255fbb8d0f02a8ce48c2cd60019088ed3\n"
    },
    {
      "commit": "1213697980d58d4285cc77a5dd80a453f008a077",
      "tree": "df65680606e74b53bb03fc0cd62bbc28b95f840f",
      "parents": [
        "ba86443e8b8b83934a04c1c381d1c937d9f0093f",
        "beb2b5cfdb79ac9147296e3a6bd21970a947a6f4"
      ],
      "author": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Fri Aug 12 07:25:47 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 12 07:25:47 2011 -0700"
      },
      "message": "Merge \"Replacing sans serif system font with Roboto\""
    },
    {
      "commit": "1ee60119c4fa51ebfa781cf5fdc33f192e8551b8",
      "tree": "2fb0ce22107a1d3f0c73f3bd5d63a877f5a16d44",
      "parents": [
        "61bb11cfa03abc345f27ec14f63929b6f600edff"
      ],
      "author": {
        "name": "Ted Bonkenburg",
        "email": "tedbo@google.com",
        "time": "Tue Jul 26 09:51:18 2011 -0700"
      },
      "committer": {
        "name": "Ted Bonkenburg",
        "email": "tedbo@google.com",
        "time": "Thu Aug 11 19:58:25 2011 -0700"
      },
      "message": "Remove ParcelSurfaceTexture and update MediaPlayer\n\nThis removes the ParcelSurfaceTexture class since that functionality has been\nfolded into Surface.java. The change also updates the MediaPlayer to get rid\nof setParcelSurfaceTexture() and modifies setTexture() to use the new Surface\nfunctionality in order to simplify the code.\n\nChange-Id: Iafa75ea3188263928128325d8a726786971b4de4\n"
    },
    {
      "commit": "c88ba95921444946443794cbaca5911f1a924720",
      "tree": "a20105b8b3fe6b87efcfb41e3f4e57db6314a33e",
      "parents": [
        "ba3711ccd3a8d9e77e01e8eb00e4ada9e25f645c",
        "7f9f99ea11051614a7727dfb9f9578b518e76e3c"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Aug 11 18:20:09 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 11 18:20:09 2011 -0700"
      },
      "message": "Merge \"Make some methods/fields package private so that layoutlib can access them.\""
    },
    {
      "commit": "03f156e96f5b1b9427473197c2de3a8454d7039c",
      "tree": "cca74f00668dcb222afc56df28dcc4e20324394b",
      "parents": [
        "0e382005eb5ca3f71c9b374b9ffb6cd95dc3a081",
        "9d865512f1a39bac6bed612b24023213d5a1fb1d"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Aug 11 17:51:23 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 11 17:51:23 2011 -0700"
      },
      "message": "Merge \"Remove unnecessary private API\""
    },
    {
      "commit": "9d865512f1a39bac6bed612b24023213d5a1fb1d",
      "tree": "ab2c197947927eb61cbb54faa460b85cd0e7e155",
      "parents": [
        "e63a4f35c94f32dbc13533ddfb7334f9706be844"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Aug 11 17:31:42 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Aug 11 17:37:02 2011 -0700"
      },
      "message": "Remove unnecessary private API\n\nChange-Id: I2ecb367528ec0691c07153a3d163b82a6ca33fdf\n"
    },
    {
      "commit": "beb2b5cfdb79ac9147296e3a6bd21970a947a6f4",
      "tree": "5a34daca11fbcdb54c00b579bf85f97938c43764",
      "parents": [
        "9cc07c3939581909bf7de42df0215a65fab7b472"
      ],
      "author": {
        "name": "Christian Robertson",
        "email": "robertsonc@google.com",
        "time": "Tue Aug 09 15:24:25 2011 -0700"
      },
      "committer": {
        "name": "Justin Ho",
        "email": "justinho@google.com",
        "time": "Thu Aug 11 15:35:52 2011 -0700"
      },
      "message": "Replacing sans serif system font with Roboto\n\nChange-Id: Ibe0aa11e2259898e65dc422c7794ab4065a0a90e\n"
    },
    {
      "commit": "7f9f99ea11051614a7727dfb9f9578b518e76e3c",
      "tree": "d39b916bb092a717e028345813b53f6bcfa12f61",
      "parents": [
        "7277f3b9b26f0011475b39da1298484a510aca29"
      ],
      "author": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Aug 11 10:16:17 2011 -0700"
      },
      "committer": {
        "name": "Xavier Ducrohet",
        "email": "xav@android.com",
        "time": "Thu Aug 11 12:57:51 2011 -0700"
      },
      "message": "Make some methods/fields package private so that layoutlib can access them.\n\nChange-Id: I4aeadfbaf8a4f6a459fa19937c21ac23d9e5fb64\n"
    },
    {
      "commit": "37cc31c6040cf1b304e947eb0fe2d0341a909890",
      "tree": "14a3690cf1c9ae3956e65d1a7a91dd602cb2c083",
      "parents": [
        "8f28f6690b4555f4908576147c7a1c089d52885d",
        "402f05530352f34d5320c2d23be43c274d97c4e2"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Aug 09 20:23:22 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 09 20:23:22 2011 -0700"
      },
      "message": "Merge \"Add a return value for SurfaceTextureListener#onSurfaceTextureDestroyed.\""
    },
    {
      "commit": "402f05530352f34d5320c2d23be43c274d97c4e2",
      "tree": "f16fff92ad3dead45679fff4ee4c7c3fdb5888bb",
      "parents": [
        "5229f7f2266c25f976070e0c2007e425010152ff"
      ],
      "author": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Tue Aug 09 18:47:17 2011 -0700"
      },
      "committer": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Tue Aug 09 18:47:17 2011 -0700"
      },
      "message": "Add a return value for SurfaceTextureListener#onSurfaceTextureDestroyed.\n\nIf returns true, the SurfaceTexture will be released by TextureView.\nIf returns false, the client needs to release the SurfaceTexture.\n\nChange-Id: I946f71e337ad4170c168854ac27e028b82489c8c\n"
    },
    {
      "commit": "8984b41665f7ea2f0fdbc8ce00556b9e7762668e",
      "tree": "7ef9bf437061b2d3f06a226ec05042ccbd57bf13",
      "parents": [
        "5de5b1a91e25ef4931661fdd089d7e0e2b7da035"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Tue Aug 09 16:03:01 2011 -0700"
      },
      "committer": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Tue Aug 09 16:03:01 2011 -0700"
      },
      "message": "Add more Paint text APIs parameters checks\n\nChange-Id: Idd04e9937b821180f46852451405bb9c6d59da37\n"
    },
    {
      "commit": "15c097a1c23105cdc0dd66dd5605ff35467d7118",
      "tree": "271618bc2e091d2ce2512e272c6e10b42541bfe5",
      "parents": [
        "f95761826590a953c927fd93b1e8ef627dbc3e5b"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Mon Aug 08 14:42:41 2011 -0700"
      },
      "committer": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Mon Aug 08 14:42:41 2011 -0700"
      },
      "message": "Add more optimizations for Text measuring / breaking / getting advances\n\n- do not go to native if this is not needed (empty or null text)\n- do expandMetricsFromPaint() in TextLine when needed instead of calling handleText()\nwith emty string just for doing expandMetricsFromPaint()\n\nChange-Id: I1f566ccef66cbc990ebbb77ef149899119e37e84\n"
    },
    {
      "commit": "4c7dbc04958cb585a2b68eaa664e816f0d84da9f",
      "tree": "525ad3f8f14fd0f990fcdb965b7bf7f6ca881406",
      "parents": [
        "880f64ac1080ccec111de91a4af026cca3d1bb25"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Mon Aug 08 12:11:41 2011 -0700"
      },
      "committer": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Mon Aug 08 12:11:41 2011 -0700"
      },
      "message": "Fix bug #4584320 Single Line EditText not drawing correctly with spans applied (ICS)\n\n- provide a better fix by still using the full context of the text (versus using the text only)\n\nChange-Id: I542335e98117921d75c191e90a9b2018ca356ac9\n"
    },
    {
      "commit": "253267256997b2bd5cf1c40e1302a4a1240d756f",
      "tree": "fab26b98488a4af268a5a94af95a3cc53b54fe48",
      "parents": [
        "4974bc1be68a77cf9709a8c50ef6de06ce8a3a0d",
        "f2ce877c1dde094ab599f0d3103145c9381ab260"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Mon Aug 08 10:58:13 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 08 10:58:13 2011 -0700"
      },
      "message": "Merge \"Fix bug #4584320 Single Line EditText not drawing correctly with spans applied (ICS)\""
    },
    {
      "commit": "f2ce877c1dde094ab599f0d3103145c9381ab260",
      "tree": "e8881d6fc76b1d7e3ed95ab40442a91f7c0c9290",
      "parents": [
        "fd0b623c33393ba3144c5375380ea076469b67f9"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Fri Aug 05 20:54:54 2011 -0700"
      },
      "committer": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Fri Aug 05 20:54:54 2011 -0700"
      },
      "message": "Fix bug #4584320 Single Line EditText not drawing correctly with spans applied (ICS)\n\n- use correct 0 index for computing advance thru the char buffer (the buffer is created from TextUtils.getChars())\n- udpate unit tests\n\nChange-Id: Iaeb07658b79ecdf5e17395d55afb7c84965bb0fc\n"
    },
    {
      "commit": "8f019d63055ad76b94710b7b96e29625173584c4",
      "tree": "32e943403122c078c06c14bd10a171ae1e491fb6",
      "parents": [
        "e3373ff620bcab34ac0030ee06140563f5dbb016",
        "4382467a80dd12c6362d57edca7f2367f7ae877c"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Fri Aug 05 13:47:00 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 05 13:47:00 2011 -0700"
      },
      "message": "Merge \"Start using bcinfo components within librs.\""
    },
    {
      "commit": "09f6d67f37d77853dd19fde79523edc524c7c9cd",
      "tree": "198ea92584072ebb84aa393fe05e5abffffa63d1",
      "parents": [
        "cf27a3ecc6782b6c86f720b1df2459a160fde81a",
        "70fb9085044c5e6f52c33c970d238b764cf2373b"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Aug 04 01:46:56 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Aug 04 01:46:56 2011 -0700"
      },
      "message": "Merge \"Add camera bayer image format.\""
    },
    {
      "commit": "70fb9085044c5e6f52c33c970d238b764cf2373b",
      "tree": "2a1e4b684899ad695600fbf2fb6158792fff794a",
      "parents": [
        "bb1e275c0e684dd213f124da77110cdd9d6f090c"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Tue Aug 02 17:49:50 2011 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Thu Aug 04 16:40:28 2011 +0800"
      },
      "message": "Add camera bayer image format.\n\nThe API are hidden.\n\nbug:5086073\n\nChange-Id: Ic9a53e5d5007ad3f12a28406ee25098227f14cbc\n"
    },
    {
      "commit": "4382467a80dd12c6362d57edca7f2367f7ae877c",
      "tree": "f91d338f48444ccb373040ba356910c3fc52c8df",
      "parents": [
        "00451ed2d1f21945766bc0c59e762ef39cb391b8"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Mon Aug 01 15:02:34 2011 -0700"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Wed Aug 03 18:46:56 2011 -0700"
      },
      "message": "Start using bcinfo components within librs.\n\nBUG\u003d4942491\n\nChange-Id: I3a46783511c4954bac9eadbbbefe5abf85498c16\n"
    },
    {
      "commit": "ec46b4e1ca89d7c3a9ad70ded58da08b5e19f08f",
      "tree": "c7c9577687a4ce4ec5949f25d029df392b747c8b",
      "parents": [
        "b923066deeffbbaad14a117bd56259bd6ee20a08"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 03 15:18:36 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Aug 03 17:23:44 2011 -0700"
      },
      "message": "Add a \u0027release\u0027 method to the SurfaceTexture public Java API\n\nBug: 5063618\nChange-Id: I689cb0c01c14e597ccfb4eb0972e64fa570bd4e8\n"
    },
    {
      "commit": "6311d0a079702b29984c0d31937345be105e1a5e",
      "tree": "c9d5ebf9e2d1f6685220fe2e31ad8a4e21366a11",
      "parents": [
        "7374d9728bd0e8847bab723608ebab3542e8157e"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 02 16:37:58 2011 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 02 16:37:58 2011 -0700"
      },
      "message": "Clear the bitmap from the canvas in a lot of places.\n\nChange-Id: I6b2071ac7b348c473b9bdd1b972d095aebbb4fb3\n"
    },
    {
      "commit": "b1216dd916e0f5fdec29684120c5bcc904800916",
      "tree": "0228c900db8ab619e1eb5c889e87aea334e6cce7",
      "parents": [
        "357c942462e4eb1d0b2e91b3fe8ec9ac7524bbed"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Aug 02 12:37:16 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Aug 02 12:37:16 2011 -0700"
      },
      "message": "Copy constructors should actually copy stuff.\nBug #5027094\n\nChange-Id: Iab6bf652e0b9bdd1bbc794e7c4218f46bafdd1a4\n"
    },
    {
      "commit": "0965a3244b4c3009d08db2e084cdcb681ef66d26",
      "tree": "034851a3f3c8e4e8c5da0ef829099ed8907e7286",
      "parents": [
        "a60c3889718f4513a6c9d8b80f655db5d6346905"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Aug 01 17:39:21 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Aug 01 17:39:21 2011 -0700"
      },
      "message": "Allow Canvas.setBitmap() to receive a null Bitmap.\n\nChange-Id: I6096f0b44866e532ccd96a29c816bf34d48c1dc2\n"
    },
    {
      "commit": "34235c6eded32fa6840db7a0f38e0e2905aff8b0",
      "tree": "c7eae81af39f768eb71d3c2528e16c6b6e23493b",
      "parents": [
        "04142bba6b7b39cc6d24b1dcba22c1e4757f1cdc"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Tue Jul 19 11:13:38 2011 -0700"
      },
      "committer": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Wed Jul 27 12:27:39 2011 -0700"
      },
      "message": "cherrypick Change-Id: Iaada8d42f97786d393743cd7fc3011da1d21f22e\ndocs: resolve issue 5044273 and fix markup error\n\nChange-Id: Ic028292245c14cca218ea9ac771f292254577e7c\n"
    },
    {
      "commit": "804b3d76c39eca09cbbd8b7c3fa1718e7ad094cc",
      "tree": "ef77207706b4ebfe0e8527f818401d537ae8f451",
      "parents": [
        "525efbb29d1198d8562a6d070e1cdf88ce721e01",
        "0400b07c6bfc3fca49bc10db0a2040aba8664c8e"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Wed Jul 27 09:50:35 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 27 09:50:35 2011 -0700"
      },
      "message": "Merge \"Add getName to renderscript base object\""
    },
    {
      "commit": "0400b07c6bfc3fca49bc10db0a2040aba8664c8e",
      "tree": "6b480b1549f6b77df7255fe09857d054b059fc2e",
      "parents": [
        "b33d46cc77b0e96a4d0ff39b85158c5c4eca3855"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Tue Jul 26 14:13:32 2011 -0700"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Tue Jul 26 14:13:32 2011 -0700"
      },
      "message": "Add getName to renderscript base object\n\nChange-Id: Ia28f88d2c9d679692778641548fdac08c1041d02\n"
    },
    {
      "commit": "684b23513c9137ddc04b06ac05a4b15be06ad2f4",
      "tree": "09a471f329dd239e14dd31ca0e3088ed9a8a0453",
      "parents": [
        "98c50c529336a99a4a980950bc657ca5c58a6ceb"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Jul 26 14:07:19 2011 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Jul 26 14:07:19 2011 -0700"
      },
      "message": "Unhide new RS apis.\n\nChange-Id: I83505156bd8a0ffabf0da3aef937693eaee9d9cd\n"
    },
    {
      "commit": "46c72507984f32c8b5c86721086b624d73ae859a",
      "tree": "a3ee17bff81be54548fccb5e60e9e5f69f2c61f9",
      "parents": [
        "054d5c5740fd422c369e65b56d876fb111313f52",
        "796cc96243a57cd1b652bd90c4e7ba7823c6c2fe"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Mon Jul 18 14:26:34 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 18 14:26:34 2011 -0700"
      },
      "message": "Merge \"Clean test APIs for Harfbuzz support\""
    },
    {
      "commit": "796cc96243a57cd1b652bd90c4e7ba7823c6c2fe",
      "tree": "ddcb9feeb3761abd5311b4baecc7e2dbc5385acf",
      "parents": [
        "c1df573aedd20e9ac862765d068cc4e8fcdda953"
      ],
      "author": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Fri Jul 15 17:49:22 2011 -0700"
      },
      "committer": {
        "name": "Fabrice Di Meglio",
        "email": "fdimeglio@google.com",
        "time": "Fri Jul 15 17:49:22 2011 -0700"
      },
      "message": "Clean test APIs for Harfbuzz support\n\n- also update unit tests\n\nChange-Id: I557f61e84c4c4b6165163b783d9c679a6b3b4106\n"
    },
    {
      "commit": "dafbf247ee4d0c14d501a23612115ab3a1306288",
      "tree": "fb4396f513d55cff9385a7de752271a5e6fda91e",
      "parents": [
        "d5a7fc0a3bb7c05aef3484c7bc57d3f2f3046e45"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jul 15 16:44:39 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jul 15 16:44:39 2011 -0700"
      },
      "message": "Remove unused code\n\nChange-Id: I7f7fc6bac03c92087037fc56b78fc43a1e93dae5\n"
    },
    {
      "commit": "ac7f69bac34e6fbfc497cbb8f3f5a060bc70df6d",
      "tree": "f8daeba8dcb27b381e3da4ca8474b76e36447efd",
      "parents": [
        "308f9f6b248402c67d73c3ad48f5b6b888bab7b7",
        "48fe534838d8b9d10f98ea2662eec258320ab4e7"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Mon Jul 11 15:47:36 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 11 15:47:36 2011 -0700"
      },
      "message": "Merge \"Add error checks for AllocationAdapters being used in unsupported ways.\""
    },
    {
      "commit": "ef72ff220c8bf6c8d7753f30ddaad89d4d8cada9",
      "tree": "4df5fab2db41a0ba3acc139f21627058b2262d9d",
      "parents": [
        "e723caee39fd154c4b9da93e0461a8aedc328cee"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Mon Jul 11 15:32:24 2011 +0800"
      },
      "committer": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Mon Jul 11 15:32:24 2011 +0800"
      },
      "message": "Use resource entry name instead of mangled name.\n\nChange-Id: I833fa1b529fe505ce20ede12b7f4b5952a6ac1f0\n"
    },
    {
      "commit": "fcc8fae91e74a24eba8bb20c80d7f29aaf31a828",
      "tree": "5c5671162be056beb0db42c5671f7b12ac04bae6",
      "parents": [
        "db13e879830cb7f8305421fffa808a4ce2cb14b7",
        "d4b5795e5efd05be7e482e013dfdec519ad2601e"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jul 08 16:27:47 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 08 16:27:47 2011 -0700"
      },
      "message": "Merge \"Correctly render nested rectangles with different winding rules.\""
    },
    {
      "commit": "d4b5795e5efd05be7e482e013dfdec519ad2601e",
      "tree": "97a18d94f9dd7f7f349ce61212dc8439f4fc1c12",
      "parents": [
        "7e1160e8664a9c5c79367f4ba3c2266a39bbcef5"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jul 08 16:27:02 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jul 08 16:27:02 2011 -0700"
      },
      "message": "Correctly render nested rectangles with different winding rules.\n\nChange-Id: I331d9dc1c17aee62a2fa213692c62a5ba1bb079a\n"
    },
    {
      "commit": "48fe534838d8b9d10f98ea2662eec258320ab4e7",
      "tree": "977813228deab513fe5874b6ec7b65209741a26c",
      "parents": [
        "edbff0df929dab3a8c701de7b1d91fc7907348ed"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Jul 08 13:52:30 2011 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Fri Jul 08 13:52:30 2011 -0700"
      },
      "message": "Add error checks for AllocationAdapters being used in unsupported ways.\n\nChange-Id: If6506e04d65a7b3d79203ac7a20a7961368ef04f\n"
    },
    {
      "commit": "d015327223e1b333d479e69db64f512a0fe7b6e0",
      "tree": "c979a58d57203b282cd9d6e354183a572a3abca8",
      "parents": [
        "ab5a5e6748275bbddb5e32c8990bd9e45f588d3c",
        "ad37cb26cd8d8a05077152ebc5b841a5629cfbbd"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Jul 07 16:24:51 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 07 16:24:51 2011 -0700"
      },
      "message": "Merge \"Fix more type info caching bugs.\""
    },
    {
      "commit": "ad37cb26cd8d8a05077152ebc5b841a5629cfbbd",
      "tree": "56beec542f08819324ee1abf2cb44ad80b947e4b",
      "parents": [
        "452a7661e8b06459b75493b441d33244939c1153"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Jul 07 16:17:36 2011 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Jul 07 16:17:36 2011 -0700"
      },
      "message": "Fix more type info caching bugs.\n\nChange-Id: I917a1190ec12fe954c9bf51ffd446ef564837e68\n"
    },
    {
      "commit": "3055353fd4037e58bb7a7081ca50c0a76935959b",
      "tree": "01db4edfe05adb644f01991e0af2d262c38e6498",
      "parents": [
        "08009f1446eaad72946ec1af806590dbf60d95bf",
        "452a7661e8b06459b75493b441d33244939c1153"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Jul 07 16:10:38 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 07 16:10:38 2011 -0700"
      },
      "message": "Merge \"Fix defered type creation when loading from A3D.\""
    },
    {
      "commit": "452a7661e8b06459b75493b441d33244939c1153",
      "tree": "44576be5e70c6643179903a95f74446aad96523e",
      "parents": [
        "ba862d1544a06528151550be1784a926ee986580"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Jul 07 16:05:18 2011 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Jul 07 16:05:18 2011 -0700"
      },
      "message": "Fix defered type creation when loading from A3D.\n\nChange-Id: I09387c0859dcc9fe77014bc7486109d81742f298\n"
    },
    {
      "commit": "e4827389e78770088be1c36b46b8d54922e8689f",
      "tree": "bfddfbaa6b8b4d708a256be20ea68fb578006816",
      "parents": [
        "f529c99c7ba410b246c53bc12109b6a464afa082",
        "ba862d1544a06528151550be1784a926ee986580"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Jul 07 15:50:41 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 07 15:50:41 2011 -0700"
      },
      "message": "Merge \"AllocationAdapter cleanup.\""
    },
    {
      "commit": "ba862d1544a06528151550be1784a926ee986580",
      "tree": "6364160be9fa7203abb85fc3e2e4a408c9d6cbea",
      "parents": [
        "0916350cef633a30822b0cc286457c69615ce69c"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Jul 07 15:24:42 2011 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Thu Jul 07 15:24:42 2011 -0700"
      },
      "message": "AllocationAdapter cleanup.\n\nChange-Id: Ia7eb0925e410779bbd6a925af721e3834dcf83f8\n"
    },
    {
      "commit": "f61970fc79e9c5cf340fa942597628242361864a",
      "tree": "c84c5593c85a3526dffa52eea2158a2332d819a8",
      "parents": [
        "a0c680393f2dd03a937c598b2cb9abf98a58152c"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 07 14:10:06 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 07 14:10:06 2011 -0700"
      },
      "message": "Add an API to query maximum bitmap/texture size on Canvas.\n\nChange-Id: I2c576c9a4ecad9f33cc6636bcbc29786acdf052d\n"
    },
    {
      "commit": "03f9435273df3c8d6f342adfc391844a18535adf",
      "tree": "31d7f43b759f6e80e99f306153f08189b99f483d",
      "parents": [
        "02cc72c10072970bfa0735759b2c043626f319db",
        "5c2faf3dc310b100707eb9e32e1e5ae8ceffd0c6"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 01 15:02:33 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 01 15:02:33 2011 -0700"
      },
      "message": "Merge \"Bug 4571308 Provide correct video frame timestamps\""
    },
    {
      "commit": "3cf7cf575138bcbe5b49c32eb4ae401f92e4c8f7",
      "tree": "f4712df1099d1cfa1ccf9f98825a9e84b1e7d258",
      "parents": [
        "d11eccf3a861fdaa754907a28cc0da554b9aa7b7",
        "9fb5976367911d0ab42d296238f0f06d517e867d"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Jun 28 12:55:03 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 28 12:55:03 2011 -0700"
      },
      "message": "Merge changes I9fb59763,I8b2c6e00\n\n* changes:\n  SurfaceTexture: consume buffers after err checks\n  SurfaceTexture: change onFrameAvailable behavior\n"
    },
    {
      "commit": "bd5404d0312752e7c8946e8540129f0d2d97bcd7",
      "tree": "abdb05720d7149f0adee32a0f4ae9712cb57d78e",
      "parents": [
        "932e4e613987658383e23fa151c3f5b87d07f028"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Sun Jun 26 18:27:47 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jun 27 15:45:39 2011 -0700"
      },
      "message": "SurfaceTexture: change onFrameAvailable behavior\n\nThis change alters the conditions under which the onFrameAvailable\ncallback gets called by the C++ SurfaceTexture class.  The new behavior\nis to call the callback whenever a frame gets queued that will be\nvisible to the buffer consumer.  This means that buffers queued in\nsynchronous mode always trigger the callback, as those buffers will\nremain pending until they are consumed.  Buffers queued in asynchronous\nmode will only trigger the callback if there was not previously an\nunconsumed buffer pending.\n\nThe new behavior means that a consumer should perform a draw operation\nexactly once for every onFrameAvailable call that it recieves.  This\nchange also modifies SurfaceFlinger and the SurfaceTexture JNI to\nsupport of the new behavior.\n\nChange-Id: I8b2c6e00961d3d58b11c6af50b555b6e4c5f5b40\n"
    },
    {
      "commit": "a2c8a7b5739c1febf8ffbf9461334343bdadab16",
      "tree": "340ef0efc28497984466a9eb774630f8eed324bd",
      "parents": [
        "2fdbb37f687ce216add57e70fe8de0fc116feeed",
        "ec5039b3720ee9b92fb2a2c6dd9f468d2dcd7172"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Mon Jun 27 14:15:01 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 27 14:15:01 2011 -0700"
      },
      "message": "am ec5039b3: am 99c070d8: am 4fea5373: Merge \"Add WEBP to the list of Image formats that support Compression.\"\n\n* commit \u0027ec5039b3720ee9b92fb2a2c6dd9f468d2dcd7172\u0027:\n  Add WEBP to the list of Image formats that support Compression.\n"
    },
    {
      "commit": "5c2faf3dc310b100707eb9e32e1e5ae8ceffd0c6",
      "tree": "b0fb9e0884747b21b1dffe69dc3c0b0d007116d0",
      "parents": [
        "466ebb1d8ab37b4d84a7fe1cbef2c11191ae37c0"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jun 27 10:10:19 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jun 27 11:09:33 2011 -0700"
      },
      "message": "Bug 4571308 Provide correct video frame timestamps\n\nChange-Id: I0f726817fc02d3e2a4cf82ed801ef977994e6bcc\n"
    },
    {
      "commit": "f670be372ba8e23c098e77b3a749b6333af0435d",
      "tree": "0833b337ef66d410f59cab995fdb50e1c6619085",
      "parents": [
        "681873fcc9a9cafc65550082bcbecca97228c8a5",
        "a0ac98bd5cb550319221c1d60277e07a9d2e3a91"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Jun 24 23:12:38 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 24 23:12:38 2011 -0700"
      },
      "message": "Merge \"Finish any enter animation when jumping to state.\""
    },
    {
      "commit": "a0ac98bd5cb550319221c1d60277e07a9d2e3a91",
      "tree": "093e8ccf7ac61b71918abac7d499612e6a520bc3",
      "parents": [
        "7656b21e6313671437c9fbc9bb16096072b1ead5"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Jun 24 17:08:12 2011 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Jun 24 17:08:12 2011 -0700"
      },
      "message": "Finish any enter animation when jumping to state.\n\nWhen jumpDrawablesToCurrentState(), finish any alpha animation in\nprogress.  Fixes bug where drawable with enter fade would remain\ntransparent until next state change.\n\nChange-Id: Ia087f935566a8d78e0efdcb0a1a2f791db05c70e\n"
    },
    {
      "commit": "ec5039b3720ee9b92fb2a2c6dd9f468d2dcd7172",
      "tree": "9834ac42fe413cca4a5b1070f54a37f74aed3dc6",
      "parents": [
        "9f1ef6d57bbf1ac524eff849c8976acb012b5687",
        "99c070d8eb9f1ff9ea5c38991f15f091040226c2"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Fri Jun 24 12:20:24 2011 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jun 24 12:20:24 2011 -0700"
      },
      "message": "am 99c070d8: am 4fea5373: Merge \"Add WEBP to the list of Image formats that support Compression.\"\n\n* commit \u002799c070d8eb9f1ff9ea5c38991f15f091040226c2\u0027:\n  Add WEBP to the list of Image formats that support Compression.\n"
    },
    {
      "commit": "0904d0af81e8a0a5404d6c03f4dcea02bea8170d",
      "tree": "30ed521b5552efb6baeac987de69ea73e83fcdba",
      "parents": [
        "62250fbcd15dc46fd37341f9843e87585e132f05"
      ],
      "author": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Thu Jun 23 21:21:47 2011 -0700"
      },
      "committer": {
        "name": "Grace Kloba",
        "email": "klobag@google.com",
        "time": "Thu Jun 23 21:21:47 2011 -0700"
      },
      "message": "Add allowSynchronousMode to SurfaceTexture constructor.\n\nChange-Id: I54f30a3c16bbe6b813f3bcd1d389da5627531304\n"
    },
    {
      "commit": "7c1747c13c75eb0197db979d48cb4f9c59d52201",
      "tree": "190ec1ba61349ae60d48b1f857c60f1eb8c45bfb",
      "parents": [
        "95c0f924b28651f45c13a971e718572d15a2682b",
        "3d782666d73c3ce0ffb77e71db7309bc3297ecb8"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Thu Jun 23 17:07:10 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 23 17:07:10 2011 -0700"
      },
      "message": "Merge \"Remove verbose logging, update test app and docs.\""
    },
    {
      "commit": "3d782666d73c3ce0ffb77e71db7309bc3297ecb8",
      "tree": "dc4c36400b60d9f803edc7382568455de555a531",
      "parents": [
        "8969d9924c662ab4cdacc342bbdc33756db730be"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Thu Jun 23 16:18:28 2011 -0700"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Thu Jun 23 16:18:28 2011 -0700"
      },
      "message": "Remove verbose logging, update test app and docs.\n\nChange-Id: I6659c5e51a747011239128dc2682a5d78aecfa26\n"
    }
  ],
  "next": "0694cfe49a889788e185a265deed0c231fe31f4b"
}
