)]}'
{
  "log": [
    {
      "commit": "f40aa3834d92bfb516e0f865375103d81e3de71d",
      "tree": "cd061368ccc161d3e9bb7250c056e54efc3f5bfb",
      "parents": [
        "822036d00eecd5fb7c48260bdb7f649f627efbd2",
        "bdf7609867a3f886455c51dba91623a86cceb6e2"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jul 18 16:06:31 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 18 16:06:31 2011 -0700"
      },
      "message": "Merge \"Trim OpenGLRenderer\u0027s memory usage whenever possible\""
    },
    {
      "commit": "f4f79ac42a318145397327cd6a0d1f421c6c00f0",
      "tree": "280f4e7dc20924530e1e71dc3f8b628e0b37ffd4",
      "parents": [
        "10e6f34a67b77c17286e2438485bac5f63776116",
        "5263454243e3be173dee11130c312d1420e0397b"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jul 18 15:00:54 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 18 15:00:54 2011 -0700"
      },
      "message": "Merge \"SurfaceTexture: add a multi-SurfaceTexture test\""
    },
    {
      "commit": "bdf7609867a3f886455c51dba91623a86cceb6e2",
      "tree": "269a199e3f566c6ac967412e13d2c72dc9cf20bf",
      "parents": [
        "d94b71de3b465c9c113f5b09c7cd5f221370af23"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jul 18 15:00:43 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jul 18 15:00:43 2011 -0700"
      },
      "message": "Trim OpenGLRenderer\u0027s memory usage whenever possible\n\nChange-Id: I9225077184f374b1a43300add15cc1d5b6869d1c\n"
    },
    {
      "commit": "10e6f34a67b77c17286e2438485bac5f63776116",
      "tree": "782eae6176d843c3483c44e65e644791abc36386",
      "parents": [
        "49840e255beed794c1240b230b4d824520933fa1",
        "949be32b671304d5281ac0abbf30dcf4ebaa9eaf"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jul 18 14:55:58 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 18 14:55:58 2011 -0700"
      },
      "message": "Merge \"move lock/unlock implementaion outside of Surface into SurfaceTextureClient\""
    },
    {
      "commit": "949be32b671304d5281ac0abbf30dcf4ebaa9eaf",
      "tree": "f12cbc9997bd2270f1a7604ba4d78739688975c3",
      "parents": [
        "8d96f19692815aa14979c811a130b38eafc1bf65"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 13 17:39:11 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jul 15 17:47:08 2011 -0700"
      },
      "message": "move lock/unlock implementaion outside of Surface into SurfaceTextureClient\n\nThis makes ANativeWindow_lock/ANativeWindow_unlockAndPost work\nwith ANativeWindows implemented by Surface and SurfaceTextureClient.\n\nAlso, Surface now inherits directly from SurfaceTextureClient.\n\nBug: 5003724\nChange-Id: I9f285877c7bae9a262e9a7af91c2bae78804b2ef\n"
    },
    {
      "commit": "170626b2bafe4b708aab043313867a66d5e6b972",
      "tree": "d68e908e13d74e3fd6ac8a2f1c2629461b8b118f",
      "parents": [
        "9eebaf10e9f7432b9109928252ce621c65ca02b8"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 15 17:45:50 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 15 17:45:50 2011 -0700"
      },
      "message": "Fix build break on MacOS\n\nChange-Id: Ica19984d0e623ac2482fc3512231e6c00671fd3a\n"
    },
    {
      "commit": "7e7de71f6eef5652ee1260e40215804a2ce543c3",
      "tree": "7d0fae6f7626c7158fca91d28f430ae3fe7e06b0",
      "parents": [
        "e3065f23a25b778c9fc718f01def2e1cb264aef8",
        "131515b681e26e3f4d8c21cc6b540142a3526712"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 15 16:24:26 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 15 16:24:26 2011 -0700"
      },
      "message": "Merge \"CPU statistics library\""
    },
    {
      "commit": "131515b681e26e3f4d8c21cc6b540142a3526712",
      "tree": "9ab172ba87203488b01d675276dead04c736c4af",
      "parents": [
        "a0c680393f2dd03a937c598b2cb9abf98a58152c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 08 14:36:46 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 15 14:09:49 2011 -0700"
      },
      "message": "CPU statistics library\n\nChange-Id: I113e2a926466cc410cfa5602ceb165b390a290fc\n"
    },
    {
      "commit": "97912d0b9d3ffc8412d10661a88931a68fa4c5d3",
      "tree": "8461f22254daea045b95c14b5d47756b80f4453f",
      "parents": [
        "339abf1fbac25321cea9d39de14b6a6b4e326120",
        "ec7ea37a0e910afae2490ff743d7f6165ae67408"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Jul 15 12:35:34 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 15 12:35:34 2011 -0700"
      },
      "message": "Merge \"SurfaceTexture: fix SurfaceTextureGLToGLTest\""
    },
    {
      "commit": "e173b9d73bfe232303567a573ca25f2432d066d2",
      "tree": "21f8add295d6d4c74a7d2c57e4e67bc75b429194",
      "parents": [
        "c7f2cdea3c16b7303c8f897293e9816029edd1d0",
        "1bfcceaca6eb26594ab28bb68638bb480efa1879"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Fri Jul 15 10:57:33 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 15 10:57:33 2011 -0700"
      },
      "message": "Merge \"For the serialization context, no fifo initialization is necessary.\""
    },
    {
      "commit": "d639f4579c0261a321039aee4691e0e0747bcd60",
      "tree": "e72c0d8c6620bce2a4cfaf5b1a902801a5bf245d",
      "parents": [
        "c14aea262141849d83c81c1765f6c96969ac806c",
        "da13560de2d8eddf08c0f37b181ba321f02716b4"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jul 14 22:31:27 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 14 22:31:27 2011 -0700"
      },
      "message": "Merge \"Add a call to pthread_attr_destroy to avoid potential memory leaks.\""
    },
    {
      "commit": "d2734a5daae91869949218a322a35e7423e59a9a",
      "tree": "def9e702ef61d4d2929fcdcd150994e420045d5c",
      "parents": [
        "4838151d181a5989d51a42e6dcbba6d66d7b5165"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jul 14 20:20:58 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jul 14 20:20:58 2011 -0700"
      },
      "message": "fix a typo in ISurfaceTexture IPC code\n\nChange-Id: Ied1d9ddb0d849b17219d0ea3d333ce12be849419\n"
    },
    {
      "commit": "da13560de2d8eddf08c0f37b181ba321f02716b4",
      "tree": "77daa12d40f2f5234fee381796164b101b601ec2",
      "parents": [
        "2585e9bd6ded294e426607717ccc85a56bade594"
      ],
      "author": {
        "name": "Le-Chun Wu",
        "email": "lcwu@google.com",
        "time": "Thu Jul 14 14:27:18 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jul 14 20:14:07 2011 -0700"
      },
      "message": "Add a call to pthread_attr_destroy to avoid potential memory leaks.\n\nChange-Id: Ib57efc3530e9793298190cc9cab19c9af54e11a7\n"
    },
    {
      "commit": "06b54d7184e015256ad1817e381f61eb7514a3e2",
      "tree": "8e88a243d1d426e97890c6ed716fe53b379d2c09",
      "parents": [
        "b3a26f4d94f390d4baeac0fc11ccb9d451b67dbd",
        "9709687463dc5f1255f435e57b3d2beed8b70330"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Jul 14 17:54:27 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 14 17:54:27 2011 -0700"
      },
      "message": "Merge changes Id9aa1003,I8c154189\n\n* changes:\n  SurfaceTexture: make (dis)connect into an IPC\n  SurfaceTexture: add support for new connect values\n"
    },
    {
      "commit": "9709687463dc5f1255f435e57b3d2beed8b70330",
      "tree": "3a3a66468d3cc2d7b86871eb2f17acea86af7907",
      "parents": [
        "a775f0d4193dffc336b295dc06056f81801eba9e"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Jul 13 19:12:20 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Jul 14 17:48:32 2011 -0700"
      },
      "message": "SurfaceTexture: make (dis)connect into an IPC\n\nThis change makes the ANativeWindow connect and disconnect calls result\nin an IPC to the SurfaceTexture object.  This will allow us to prevent\nmultiple simultaneous connections from different processes.\n\nChange-Id: Id9aa1003b1335b96ca6bd4a1f5a67aa433d42efb\n"
    },
    {
      "commit": "ec7ea37a0e910afae2490ff743d7f6165ae67408",
      "tree": "c3b705aac9bad389e6041417bd2dd4d2b99eb37f",
      "parents": [
        "d44e1b6033eed29718f2e7e3540e4884929941a5"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Jul 14 17:11:47 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Jul 14 17:11:47 2011 -0700"
      },
      "message": "SurfaceTexture: fix SurfaceTextureGLToGLTest\n\nThis change fixes a couple different issues in the\nSurfaceTextureGLToGLTest test fixture:\n  - incorrect use of conditions\n  - move logging after the locks are acquired\n  - call the parent class\u0027s TearDown method\n  - clean up the SurfaceTexture before eglTerminate gets called\n\nChange-Id: I6960e5ab7f144225f01a2089d3f849c99fed0b38\n"
    },
    {
      "commit": "a775f0d4193dffc336b295dc06056f81801eba9e",
      "tree": "5d07068845e61df1022efed01bc678b774d6e7a8",
      "parents": [
        "d44e1b6033eed29718f2e7e3540e4884929941a5"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Jul 13 12:57:23 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Jul 14 15:03:33 2011 -0700"
      },
      "message": "SurfaceTexture: add support for new connect values\n\nThis change adds support to SurfaceTextureClient for the new enum values\nthat can be passed to the ANativeWindow connect call.\n\nChange-Id: I8c15418909e43a15673a9b22a5eb40df6923b273\n"
    },
    {
      "commit": "ab561139f9e9c9df8a450f2990ad6588fa690e38",
      "tree": "22f876ecd0ddef6a18b71caa6d7552d965cebdf8",
      "parents": [
        "11bf79d6e3542e40ebd212b0f5d7cb3370f3068d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jul 14 00:29:49 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jul 14 04:11:23 2011 -0700"
      },
      "message": "Minor code cleanups in vector.\n\nFixed a potential bug where calling replaceAt with a reference to\nan existing element in the vector at the same index would cause\nthe element to be destroyed while being copied to itself.\n\nRefactored the conditions in _grow and _shrink for clarity.\nThe computations are exactly the same but I think it reads better\nthis way.  In particular, the ssize_t variable \u0027s\u0027 is gone: it didn\u0027t\nneed to be signed anyways because its value could never be negative.\n\nChange-Id: If087841c15e6a87160eee874720c4a77eb0e99a6\n"
    },
    {
      "commit": "11bf79d6e3542e40ebd212b0f5d7cb3370f3068d",
      "tree": "bca3c01bec346cc3c9dc6ab1ad45a8cb73062ef6",
      "parents": [
        "9302c8796fc4dcda08d4bd1e11733848fd4fafaf"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jul 13 22:22:02 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Thu Jul 14 04:11:22 2011 -0700"
      },
      "message": "Replace Vector _grow/_shrink checks with assert.\n\nOn review of the code, _grow and _shrink are checking for conditions\nthat cannot happen and that don\u0027t even really make sense.  For\nexample, if _shrink is called with where + amount \u003e mCount then\nthis is really bad, however the check only considered the case\nwhen where \u003e\u003d mCount and then it would arbitrarily choose a new\nvalue for where.  Huh?\n\nAs it happens, the callers are correctly validating the\narguments before passing them down to these methods so we can\nget rid of this code.\n\nChange-Id: I921852dba8997065bb0e9cac733e82028d14afcd\n"
    },
    {
      "commit": "f7537bccb2b2ca2fa6c0205c4b24acd0836c0006",
      "tree": "aef7683dfb39587b6b881cf956be2b04583bc355",
      "parents": [
        "9837d6d02fc0968614efe5260a176e0c406fe93c"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jul 13 22:18:46 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Wed Jul 13 22:27:37 2011 -0700"
      },
      "message": "Provide more descriptive name for InputChannel ashmem.\n\nChange-Id: I4307de9f717ac4810b1b91ee0c1a3899325acf71\n"
    },
    {
      "commit": "1bfcceaca6eb26594ab28bb68638bb480efa1879",
      "tree": "bd60e3d44efe36188f7bfa3f3be541aeeb41a1d6",
      "parents": [
        "9cba686366870b3a4c69bcec0eb4200352ce481d"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Wed Jul 13 17:32:05 2011 -0700"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Wed Jul 13 17:32:05 2011 -0700"
      },
      "message": "For the serialization context, no fifo initialization is necessary.\n\nOn shutdown it was attempting to free uninitialized memory.\n\nChange-Id: I9141be5a51253f87f21594ae38f7e653f9e69c6c\n"
    },
    {
      "commit": "e67ebacd15feecc359ed911a1135ffe9a633fb0d",
      "tree": "eb0c2bddcb28b899b8285ade6bbc630c2a7b823c",
      "parents": [
        "b328269531691a122a48b375676d1ec70b1e705f",
        "c1b9bbb21c8ad5109978a4e9e770cd18b0257434"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jul 13 16:46:50 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 13 16:46:50 2011 -0700"
      },
      "message": "Merge \"Remove some #ifdef HAVE_ANDROID_OS that were needed for the simulator build\""
    },
    {
      "commit": "c1b9bbb21c8ad5109978a4e9e770cd18b0257434",
      "tree": "bfb7dd2272e5fe29d3c0fc4f22ca708e00bc10be",
      "parents": [
        "b6e5e7a740bf595a1a5d32b28549e5d579a04ee3"
      ],
      "author": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jul 13 11:06:57 2011 -0400"
      },
      "committer": {
        "name": "Mike Lockwood",
        "email": "lockwood@android.com",
        "time": "Wed Jul 13 19:45:44 2011 -0400"
      },
      "message": "Remove some #ifdef HAVE_ANDROID_OS that were needed for the simulator build\n\nChange-Id: I13d9f251f86c05ae5405f37adbf6b8e9660935ba\nSigned-off-by: Mike Lockwood \u003clockwood@android.com\u003e\n"
    },
    {
      "commit": "b328269531691a122a48b375676d1ec70b1e705f",
      "tree": "033f270d0fc3e977d6102aca9420fca7f12093d3",
      "parents": [
        "b6e5e7a740bf595a1a5d32b28549e5d579a04ee3",
        "fb06b7a5510e4c6f6c4b3cd51cca22493cd258ca"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Jul 13 16:43:27 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 13 16:43:27 2011 -0700"
      },
      "message": "Merge \"Fix native crash when GL driver fails to initialize.\""
    },
    {
      "commit": "fb06b7a5510e4c6f6c4b3cd51cca22493cd258ca",
      "tree": "a79b4d92c9048560ee89f25fdb0c783365858b59",
      "parents": [
        "92b0eab07e0ec653975dd940f4af3ceeb68ad3a8"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Jul 13 16:09:42 2011 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Jul 13 16:09:42 2011 -0700"
      },
      "message": "Fix native crash when GL driver fails to initialize.\n\nChange-Id: I85714de9029285027dc75fb3b62076be41a4c985\n"
    },
    {
      "commit": "f953dee175a6c7af87c80fdcf7fe2df75e478340",
      "tree": "b3a47f585f168dc47bbff05762ef350e0a6c017d",
      "parents": [
        "6a8f7795c9e9b4e487720d6bbc49ec52df2ad9ed",
        "042f7d64b5ccd7b5b73e7e9814a84576f04fb7d4"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jul 13 15:53:03 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 13 15:53:03 2011 -0700"
      },
      "message": "Merge \"Fix debugging for hwui caches\""
    },
    {
      "commit": "9a79cda53b1cdb6b281fa8e8cc257f1671aba202",
      "tree": "0f886ebe22a7bd5e0fa07a60f4317796e2d7b75e",
      "parents": [
        "19d2c0b0c0f7e010b885492c83cd76cb90d2416a",
        "7926a693c4a4f4d2a2d352343bca23e189c7420d"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jul 13 15:37:21 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 13 15:37:21 2011 -0700"
      },
      "message": "Merge \"Compress the backup output stream\""
    },
    {
      "commit": "7926a693c4a4f4d2a2d352343bca23e189c7420d",
      "tree": "080c35c249e506bfbc2a89979adfccb7b474bdd1",
      "parents": [
        "995ab4caf2e392370e6dd88bd37bd2dc350f86f3"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Mon Jul 11 11:31:57 2011 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jul 13 15:30:41 2011 -0700"
      },
      "message": "Compress the backup output stream\n\nZlib compression, with a full flush between each application\u0027s\ndata.  Encryption will be performed on the already-compressed data\nonce that\u0027s implemented.\n\nOn restore, the streamed data is similarly uncompressed on the fly.\n\nChange-Id: I19b65c88e759a66527d10913d18fffa9df0bc011\n"
    },
    {
      "commit": "3ac60ada279e2cd24001c0f084982b7e14532ea6",
      "tree": "cdc31fd7963d52e73c3e5ab6e88e62bc238a79ff",
      "parents": [
        "67d464f47e842d5069e993408fd51ec122ad8019",
        "92b0eab07e0ec653975dd940f4af3ceeb68ad3a8"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Jul 13 12:28:38 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 13 12:28:38 2011 -0700"
      },
      "message": "Merge \"Add slot number to forEach hal.\""
    },
    {
      "commit": "92b0eab07e0ec653975dd940f4af3ceeb68ad3a8",
      "tree": "bc3c6826c448d2a3a3bd8571a966369029bb8d20",
      "parents": [
        "48fe534838d8b9d10f98ea2662eec258320ab4e7"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Jul 13 11:26:26 2011 -0700"
      },
      "committer": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Wed Jul 13 11:26:26 2011 -0700"
      },
      "message": "Add slot number to forEach hal.\n\nChange-Id: I0f2992d5f4128422d07f897b335c219cc7f1d02c\n"
    },
    {
      "commit": "042f7d64b5ccd7b5b73e7e9814a84576f04fb7d4",
      "tree": "66221ac5ac0764e2d7832a13385b52b00bd7cc38",
      "parents": [
        "8c55a9a57e4f13ec420c3de7b3abfdcf454f6633"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jul 13 09:49:43 2011 -0700"
      },
      "committer": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Wed Jul 13 09:51:00 2011 -0700"
      },
      "message": "Fix debugging for hwui caches\n\nDebugging code attempted to delete a stack item.\n\nAlso, the flag fields weren\u0027t exactly clear, so rewrite it so it\u0027s\nclear that kDebugMoreCaches is a combined flag.\n\nChange-Id: If42b7f0f754919343301da5656aee5943cc9bd4a\n"
    },
    {
      "commit": "5b7da3d3df08ebe8470fbf8303804c547d20d1c0",
      "tree": "6bbaf175834fecba11c0a5fb9c98999fca5b3b12",
      "parents": [
        "30e8f982770e4c79f2703f11d100e1ff1bb3b7bf",
        "4b013ee9b72a1a5198ec0939bbe463463b0ebcb2"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Tue Jul 12 16:27:09 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 12 16:27:09 2011 -0700"
      },
      "message": "Merge \"Fix for the renderscript ref counting bug.\""
    },
    {
      "commit": "4b013ee9b72a1a5198ec0939bbe463463b0ebcb2",
      "tree": "3443ce158a64af1182bdf8be32c39402e288a119",
      "parents": [
        "f25a8ce4a6a1025156d2977c7ddd37d4a01a5e71"
      ],
      "author": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Tue Jul 12 13:25:14 2011 -0700"
      },
      "committer": {
        "name": "Alex Sakhartchouk",
        "email": "alexst@google.com",
        "time": "Tue Jul 12 13:25:14 2011 -0700"
      },
      "message": "Fix for the renderscript ref counting bug.\n\nThis only manifested itself in the situations where elements containing multiple ref counted objects were copied from Java.\n\nChange-Id: I2c1cc89fe7f792259b3f033674142eb33d17a507\n"
    },
    {
      "commit": "8c55a9a57e4f13ec420c3de7b3abfdcf454f6633",
      "tree": "f72fd5b0d50af585d7d4c644f84a288dffbc2946",
      "parents": [
        "067b873f7cc3d1b3e83604b78f8c0dc769f870b1",
        "bd882b1c8708686d373c56e07e6bb8b1cb6ffd9e"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Jul 12 12:15:07 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 12 12:15:07 2011 -0700"
      },
      "message": "Merge \"Remove the simulator target from all makefiles. Bug: 5010576\""
    },
    {
      "commit": "bd882b1c8708686d373c56e07e6bb8b1cb6ffd9e",
      "tree": "b17fbae7a6ff475ab37be48046d0540d594f84fb",
      "parents": [
        "3f9dd287b99340efaaa257759e71a8f81b2ed113"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 11 22:12:16 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 11 22:12:16 2011 -0700"
      },
      "message": "Remove the simulator target from all makefiles.\nBug: 5010576\n\nChange-Id: I04d722f258951a3078fe07899f5bbe8aac02a8e8\n"
    },
    {
      "commit": "5263454243e3be173dee11130c312d1420e0397b",
      "tree": "8b442b651c871cd886c3855ee9286bd6143e2a72",
      "parents": [
        "d44e1b6033eed29718f2e7e3540e4884929941a5"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jul 11 19:00:51 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jul 11 19:06:39 2011 -0700"
      },
      "message": "SurfaceTexture: add a multi-SurfaceTexture test\n\nThis change adds a test that does simple, unverified GL rendering to\nmultiple SurfaceTextures.\n\nChange-Id: I51a41d68ae5a27e01ae93842242897b0d3558ca6\n"
    },
    {
      "commit": "e92963c3f97e3b06226ec2a054012b59c744dca0",
      "tree": "07a5cab35487444ca48e0344a6ba272b53297c65",
      "parents": [
        "2d6bb33800e35b452a42a8ee0e35043d790b0b22",
        "cf7e3a5984e1709004d3e1138780d60f97f46e75"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jul 11 18:30:29 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 11 18:30:29 2011 -0700"
      },
      "message": "Merge \"Fix typo in an assert\u0027s log\""
    },
    {
      "commit": "cf7e3a5984e1709004d3e1138780d60f97f46e75",
      "tree": "9c0d9cadab1a2ddc91a56b0a16a23f026c1ccb09",
      "parents": [
        "e544a1dbc9a3a4277ef26f6c7a066e7b443829ec"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jul 11 16:26:18 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jul 11 16:26:18 2011 -0700"
      },
      "message": "Fix typo in an assert\u0027s log\n\nChange-Id: I94883a23a0a92eaf3e4976f942f747a2137499ac\n"
    },
    {
      "commit": "308f9f6b248402c67d73c3ad48f5b6b888bab7b7",
      "tree": "cf57cc66cbd45cb7506691ab1492882066731bee",
      "parents": [
        "f21f07627df3ad4381fdd3daf47289eeda9754d3",
        "97eae025ad857e33dce5b3d1d4fd5fe5813d2a80"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jul 11 15:47:20 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 11 15:47:20 2011 -0700"
      },
      "message": "Merge \"EGL: fix the ANativeWindow size/fmt override\""
    },
    {
      "commit": "501c4671e73a484c1f01d94f4f5fff124c05f197",
      "tree": "2c2f30011f0828af0425d5fc46aa007c9edb22f5",
      "parents": [
        "9b40a61ce98b6adce4df046fce8d67d64630b379",
        "10e89712863f5b91a2982dc1783fbdfe39c1485d"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jul 11 13:37:53 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 11 13:37:53 2011 -0700"
      },
      "message": "Merge \"Eliminate single-process mode. Bug: 5010576\""
    },
    {
      "commit": "97eae025ad857e33dce5b3d1d4fd5fe5813d2a80",
      "tree": "e383a743c76a50a1d201ba9d8b34606c661b6787",
      "parents": [
        "d44e1b6033eed29718f2e7e3540e4884929941a5"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Jul 01 13:12:07 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jul 11 12:31:45 2011 -0700"
      },
      "message": "EGL: fix the ANativeWindow size/fmt override\n\nThis change fixes how the Android EGL layer overrides the size and\nformat of an ANativeWindow in eglCreateWindowSurface.  The new behavior\nis to leave the size untouched when overriding the format.  The previous\nbehavior was to reset the ANativeWindow to use the default size set by\nthe ANativeWindow implementation.\n\nIt also adds two new \u0027perform\u0027 methods to the ANativeWindow interface:\nset_buffers_dimensions and set_buffers_format, and redefines the\nbehavior of set_buffers_geometry to be the combination of these two new\nmethods.\n\nAdditionally, this change adds an error check for the return value of\nthe new native_window_set_buffers_format call, which required adding a\n(stub) handler for to FramebufferNativeWindow.\n\nChange-Id: I805c7ccd8d4730dfb132d10d8bc3fb058a0b9df1\n"
    },
    {
      "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": "e723caee39fd154c4b9da93e0461a8aedc328cee",
      "tree": "4153a6895ea42f3462eef69a02a420a4bb50eba5",
      "parents": [
        "ddafb64f94053aeafcaf6b6cb6073ed4cb56dacb"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Sun Jul 10 19:39:03 2011 +0800"
      },
      "committer": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Mon Jul 11 07:57:24 2011 +0800"
      },
      "message": "Fix typo: mFieldCount -\u003e mPragmaCount.\n\nChange-Id: I081a521c13a78bc5ec1bf9faecb066bed5ca8ab4\n"
    },
    {
      "commit": "10e89712863f5b91a2982dc1783fbdfe39c1485d",
      "tree": "7a268e40e03cfb2b65d3764b73d0ea42172965fa",
      "parents": [
        "b7440a140b650932bf31cf51d3b87c3249e3b682"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jul 08 18:52:57 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jul 08 19:54:07 2011 -0700"
      },
      "message": "Eliminate single-process mode.\nBug: 5010576\n\nChange-Id: Id450dc83efed4897d1e4ff451530fed14457aace\n"
    },
    {
      "commit": "3b240117d110e261de430127534f7bb460f67dab",
      "tree": "06b6b9dea16e87be6f24283d4127f7a0182fb7c1",
      "parents": [
        "e5f5e82027f551d70eecdcbafec864ed07fb67b1",
        "40c4b86b72d416585335940f928124426d715e59"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jul 08 16:53:23 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 08 16:53:23 2011 -0700"
      },
      "message": "Merge \"Align paths on pixel boundaries when rasterizing in bitmaps. Bug #5003739\""
    },
    {
      "commit": "40c4b86b72d416585335940f928124426d715e59",
      "tree": "c756ad5004f059a975f4ded4d544717ae732bfb1",
      "parents": [
        "d4b5795e5efd05be7e482e013dfdec519ad2601e"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jul 08 16:50:15 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jul 08 16:50:15 2011 -0700"
      },
      "message": "Align paths on pixel boundaries when rasterizing in bitmaps.\nBug #5003739\n\nChange-Id: I3dfbf4eb92e2c870f33c96947a7d6439e3730965\n"
    },
    {
      "commit": "1861786a97209ed75010a54cca5167593dbfec21",
      "tree": "42aab3fccc20cd655d1d9ac4c1e6ad6108766ffa",
      "parents": [
        "0aaa30dc4859a8f181809eca13a6ec6ed61f3a9e"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 06 16:35:30 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jul 08 14:37:05 2011 -0700"
      },
      "message": "Fix EGLUtils::selectConfigForPixelFormat()\n\n- renderscript now calls EGL directly instead of relying on this function\n- surfaceflinger also does its own EGLConfig selection\n- selectConfigForPixelFormat stays for legacy reason (many tests use it) but\nit now only tries to match the alpha channel of the format rather than the\nformat itself.\n\nthis will allow implementations who don\u0027t support the exact formats\ndefined in the HAL to work properly.\n\nBug: 4998223\n\nChange-Id: Ic664dfc14d5072a514b6f77a115d1521bfc1578f\n"
    },
    {
      "commit": "44476779aec2082b902a04394281206511b64322",
      "tree": "42c0da490b075d05f026c4f261e6f74200a7d826",
      "parents": [
        "7cec24f747ce5bc70a82b951a93ba649dfefb0e6",
        "b2479153b743df9e54f7e17c7132a5ecd87fa453"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jul 08 11:58:18 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 08 11:58:18 2011 -0700"
      },
      "message": "Merge \"Correctly position layers.\""
    },
    {
      "commit": "b2479153b743df9e54f7e17c7132a5ecd87fa453",
      "tree": "9c57ccc10e57d9743dfa0bbc92b41ba0a060c85b",
      "parents": [
        "cfacbeadffb5dccbf0434d9c05b19430a5237c3b"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jul 08 11:57:29 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jul 08 11:57:29 2011 -0700"
      },
      "message": "Correctly position layers.\n\nChange-Id: I1678b1c5bdab140b44e56556c50ab8329255f18a\n"
    },
    {
      "commit": "e92096fa6ad01eb022386d2ca536d99bc068e817",
      "tree": "ba91f71972ba7d5e9bfc9856b796e4f84b650048",
      "parents": [
        "7024e0b9020e4ec2d544d687c98c30bd21c2526c",
        "ec19b4a764d512091a780fc93ced567dfbf80914"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 07 21:28:41 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 07 21:28:41 2011 -0700"
      },
      "message": "Merge \"Use NEAREST filtering mode for TextureView.getBitmap().\""
    },
    {
      "commit": "ec19b4a764d512091a780fc93ced567dfbf80914",
      "tree": "d984af1d55edf6bb305ca36617db679bc546f23a",
      "parents": [
        "9ace8f5e79e76893fe4ca9e4d10f6c4056330485"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 07 21:05:04 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 07 21:27:14 2011 -0700"
      },
      "message": "Use NEAREST filtering mode for TextureView.getBitmap().\n\nChange-Id: I4649062bbdf18ebba7924bdf578f39ad8f6576ac\n"
    },
    {
      "commit": "69abbd8791f57f39a861c6f569da2f712bb6b5db",
      "tree": "d8d4ce3c11d5fe99468a77126ce473ba310016e7",
      "parents": [
        "4a6d113ba0f33ce5dc14e59463e928ba309e1c2e",
        "9ace8f5e79e76893fe4ca9e4d10f6c4056330485"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 07 20:55:08 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 07 20:55:08 2011 -0700"
      },
      "message": "Merge \"Use NEAREST filtering for layers whenever possible.\""
    },
    {
      "commit": "9ace8f5e79e76893fe4ca9e4d10f6c4056330485",
      "tree": "dac712f57ecba04e50aac7c5934498d9be89c8a1",
      "parents": [
        "f61970fc79e9c5cf340fa942597628242361864a"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 07 20:50:11 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Jul 07 20:50:11 2011 -0700"
      },
      "message": "Use NEAREST filtering for layers whenever possible.\n\nChange-Id: Id5bee1bd4a322cf93e8000b08e18f1e1b058648e\n"
    },
    {
      "commit": "19a695c477e563b79056aeb8400ce622cbd54f85",
      "tree": "5147de0b0548799c9de6f5a81dfa8fbd51541baf",
      "parents": [
        "eea5be5447c759fcc11e587504ae172a4665db78",
        "413b3f7382048919933542604515250ca7bf19de"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Thu Jul 07 14:42:12 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 07 14:42:12 2011 -0700"
      },
      "message": "Merge \"SurfaceTexture: enable newly passing tests.\""
    },
    {
      "commit": "413b3f7382048919933542604515250ca7bf19de",
      "tree": "0468c6a06eef02b09600c3657f46c25e76b3e5d5",
      "parents": [
        "34e7813e962de99df9813014678ef5901227c5f1"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Jul 06 14:47:47 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Wed Jul 06 14:47:47 2011 -0700"
      },
      "message": "SurfaceTexture: enable newly passing tests.\n\nThis change enables the following four SurfaceTextures tests:\n  UpdateTexImageBeforeFrameFinishedWorks\n  UpdateTexImageAfterFrameFinishedWorks\n  RepeatedUpdateTexImageBeforeFrameFinishedWorks\n  RepeatedUpdateTexImageAfterFrameFinishedWorks\n\nChange-Id: I7632630bc97873e50d4a765ffc44a86f16ae62f1\n"
    },
    {
      "commit": "5161eb7b233cf3b806046fd935f248b3844d9bd7",
      "tree": "59ec630bb655b3c66819a8ce35dfa0b0101f7da7",
      "parents": [
        "55aaccd7e8e3f5a4b0f4333c6bd2404eeac7bbb1",
        "697283e9177ee5730bf5c652c3c05d3aa3838ace"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jul 06 11:37:53 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 06 11:37:53 2011 -0700"
      },
      "message": "Merge \"Add Thread::join\""
    },
    {
      "commit": "7893c5e83c72566a049bb25f633bb7e361801342",
      "tree": "ee49e767874240f93834bbf7e85a461481ea76c7",
      "parents": [
        "7eef784ea9764c9ca86efb730fcdceda51a0ea87",
        "994e7619a676716de1b018b79946d415f2a305d3"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 06 11:10:06 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 06 11:10:06 2011 -0700"
      },
      "message": "Merge \"fix ScreenshotsOfProtectedBuffersFail\""
    },
    {
      "commit": "7eef784ea9764c9ca86efb730fcdceda51a0ea87",
      "tree": "4d4000dea1fe292a305b8892185ee3516c05f7f4",
      "parents": [
        "5f517c149fd64c0631913d55617cb2cf369384a0",
        "eec0f7ebac85d3d1b1151e62b2ed0f25c138d447"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jul 06 11:09:55 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 06 11:09:55 2011 -0700"
      },
      "message": "Merge \"return an error code with gralloc buffer allocation failures\""
    },
    {
      "commit": "4431c05f136bc1073b368221e3515aaf7fe8424e",
      "tree": "d93ce746f59b3bdd16dd3acae3de81676e21f802",
      "parents": [
        "324a1f6a125637269d3955e5a0935d3eb873b015",
        "60d47796ccfb3db3ab73017897f648678daddc83"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jul 05 15:08:31 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 05 15:08:31 2011 -0700"
      },
      "message": "Merge \"Thread ID zero for androidSetThreadSchedulingGroup\""
    },
    {
      "commit": "994e7619a676716de1b018b79946d415f2a305d3",
      "tree": "710ee922c6bffe0f11979c2be7ce020cb58f27a2",
      "parents": [
        "eec0f7ebac85d3d1b1151e62b2ed0f25c138d447"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jul 01 15:27:27 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jul 01 15:41:32 2011 -0700"
      },
      "message": "fix ScreenshotsOfProtectedBuffersFail\n\n- put the test window at the front most screen position\n- use RGBA_8888 which is a mandatory format\n- handle devices that don\u0027t support the protected usage flags\n\nBug: 4950464\n\nChange-Id: I0005fb667cfe094e5978816e2924b294c5ef817e\n"
    },
    {
      "commit": "eec0f7ebac85d3d1b1151e62b2ed0f25c138d447",
      "tree": "51e127d4082b8f5aaee347fbc195b74789762450",
      "parents": [
        "23b444a2e4e808262c22fa5254db9861eb961879"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jul 01 14:53:49 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Jul 01 14:53:49 2011 -0700"
      },
      "message": "return an error code with gralloc buffer allocation failures\n\nChange-Id: I471e5d37ea7a42fc8a0f93446ee3b4229da37807\n"
    },
    {
      "commit": "ea458f190b5f496f80bf98a6ccaca2d46274cebc",
      "tree": "4aceeeabcd27777a0aac4bcd2719b3fc7de89306",
      "parents": [
        "ce43bc48588408e72aaa47ac1483837d5bfd1f59",
        "c9ec69eb6f07881e1d0582156e5697eff69f5546"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Thu Jun 30 18:38:18 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 30 18:38:18 2011 -0700"
      },
      "message": "Merge \"Minor fix in SurfaceTexture\""
    },
    {
      "commit": "c9ec69eb6f07881e1d0582156e5697eff69f5546",
      "tree": "e2f7e8aa3ace307cf0771c620b3abb6e137ef93f",
      "parents": [
        "c18e7e73158f794064fed5017c6c1c9a288673bd"
      ],
      "author": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Fri Jun 24 09:56:27 2011 -0700"
      },
      "committer": {
        "name": "Pannag Sanketi",
        "email": "psanketi@google.com",
        "time": "Thu Jun 30 15:41:19 2011 -0700"
      },
      "message": "Minor fix in SurfaceTexture\n\nChange-Id: Ic859715becf3e6d5107bd8beb8c577034d00ec52\n"
    },
    {
      "commit": "272aaa382f95c38221739f2287c29e414523a5cc",
      "tree": "53b22ed4bd672af3edc9fc9d3e1c5d63661a37b1",
      "parents": [
        "5231b0af515db51c722d4764ecf9412c145c93b6",
        "439863f3b3e725b5de1cba4940a21900369961c0"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 29 16:15:56 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 29 16:15:56 2011 -0700"
      },
      "message": "Merge \"SF transactions are now O(1) wrt IPC instead of O(N).\""
    },
    {
      "commit": "439863f3b3e725b5de1cba4940a21900369961c0",
      "tree": "90ab56432c2436c3392b02ba08876c86796a36ef",
      "parents": [
        "f1bfa84ccf61cad2b6ea9f2e6a612a54a38b79bc"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Jun 28 19:09:31 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Jun 29 15:05:41 2011 -0700"
      },
      "message": "SF transactions are now O(1) wrt IPC instead of O(N).\n\nChange-Id: I57669852cbf6aabae244ea86940a08a5a27ffc43\n"
    },
    {
      "commit": "9e1fb41b4fbfbd190560cf48f24939703a13eca5",
      "tree": "8621dd8dd0a0e32e8883dbdaa02b1610018b05c4",
      "parents": [
        "5c226b835812630d9dc67ca02ca03dddaee5b6c7",
        "aa11965bd55b8344104ebb0c9ebf39ee0cced03f"
      ],
      "author": {
        "name": "Jason Simmons",
        "email": "jsimmons@google.com",
        "time": "Wed Jun 29 13:48:39 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 29 13:48:39 2011 -0700"
      },
      "message": "Merge \"Add a linear transform library to libutils\""
    },
    {
      "commit": "e9e860762b58a2d3475b2b677db53864000c524c",
      "tree": "45070a445ccbe84dddc31ea3e10d130dd9da5a79",
      "parents": [
        "cf93ed0d0ab3e158f89ff53ac302942f9deff479",
        "8134681b25dfff814ffeaad8ff70e84316c1869f"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Jun 28 20:17:59 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 28 20:17:59 2011 -0700"
      },
      "message": "Merge \"Improve input event consistency invariants.\""
    },
    {
      "commit": "8134681b25dfff814ffeaad8ff70e84316c1869f",
      "tree": "f18a057883c84db1dddd63767dff0b226d8a3e43",
      "parents": [
        "53ca3f13e70fda98aa9f39bb0c15afaf435e3904"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Jun 28 20:08:48 2011 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue Jun 28 20:10:40 2011 -0700"
      },
      "message": "Improve input event consistency invariants.\n\nFixed some issues where inconsistent streams of events could\nbe generated by the dispatcher, particularly when switching from\nhovering with one device to hovering with another.\n\nFixed a bug where the touch pad would fail to generate a new\nHOVER_MOVE following a tap event.  As a result, the hover event\nstream would not resume until the user touched the touch pad\nagain.\n\nChange-Id: I444dce84641fb12e56a0af84c931520771d6c493\n"
    },
    {
      "commit": "aa11965bd55b8344104ebb0c9ebf39ee0cced03f",
      "tree": "f5ccad9b1e3f186483349b1fd03b16e230ec71e9",
      "parents": [
        "fa487ca830cb150be5822d8d73c3d832672f7108"
      ],
      "author": {
        "name": "Jason Simmons",
        "email": "jsimmons@google.com",
        "time": "Tue Jun 28 17:43:30 2011 -0700"
      },
      "committer": {
        "name": "Jason Simmons",
        "email": "jsimmons@google.com",
        "time": "Tue Jun 28 17:43:30 2011 -0700"
      },
      "message": "Add a linear transform library to libutils\n\nChange-Id: Icdec5a6bebd9d8f24b3f335f8ec8b09a5810a774\n"
    },
    {
      "commit": "2a319a03b53197f91438d06fa78f3859ab09046d",
      "tree": "bb8b23853f58cc2a7341b06b094a6c49ddb9ec1d",
      "parents": [
        "8229b467fc32e4c8dc1cfc65865b85c49ba3de6f",
        "1b6230983186cca4977efe6a3c49261d327495cd"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Jun 28 14:27:17 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 28 14:27:17 2011 -0700"
      },
      "message": "Merge \"SurfaceTexture: add a CPU -\u003e GL sync test.\""
    },
    {
      "commit": "8229b467fc32e4c8dc1cfc65865b85c49ba3de6f",
      "tree": "08a55f9c1ff9005916ed0bf175a6e164b22eb836",
      "parents": [
        "64c044f30e53d6c8a1ece5a59863b871b9fd838e",
        "9ff3cb57ee46ac5242a7d8f08e0c66189fda2e66"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jun 28 14:03:20 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 28 14:03:20 2011 -0700"
      },
      "message": "Merge \"Fix parameter order evaluation issue.\""
    },
    {
      "commit": "9ff3cb57ee46ac5242a7d8f08e0c66189fda2e66",
      "tree": "09e73432da50b6d8b70beef7755e775ff46327a9",
      "parents": [
        "3602153e320134ced447ad2ed8f4d667d55195d7"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jun 28 14:02:11 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jun 28 14:02:11 2011 -0700"
      },
      "message": "Fix parameter order evaluation issue.\n\nThis problem was affecting Android builds with gcc/x86.\n\nChange-Id: Ibb7978413c89bd1ac09f0d1ea78f5cb4fe61f6ed\n"
    },
    {
      "commit": "1b6230983186cca4977efe6a3c49261d327495cd",
      "tree": "65edfbc26f9965d465ed1ef51b567b2ec44b44bc",
      "parents": [
        "5b0eb1778af2d455ede77028884b336644ff90ff"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Fri Jun 17 11:39:18 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Tue Jun 28 13:18:07 2011 -0700"
      },
      "message": "SurfaceTexture: add a CPU -\u003e GL sync test.\n\nThis change adds a test to verify that proper synchronization is done\nwhen using SurfaceTexture to use CPU generated images as OpenGL ES\ntextures in \u0027synchronous mode\u0027.  Synchronous mode is particularly tricky\nbecause SurfaceTexture will allow the buffer that\u0027s currently bound to\nthe GL texture to be dequeued.  We rely on Gralloc\u0027s lock function to\nblock until this buffer is no longer being used by the OpenGL ES.\n\nChange-Id: I1c4e37f3e9d60ab9a0905a90a1f5060fda8e485c\n"
    },
    {
      "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": "84e297238f53f83c9e7de499e711b997d09514e0",
      "tree": "226910c0fe5d20d85a9322d0075e97b7a820fb57",
      "parents": [
        "7654b20e6c517ad7aab04b5361b4821e54424f7f"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Mon Jun 27 13:12:47 2011 -0700"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Tue Jun 28 07:43:27 2011 -0700"
      },
      "message": "Remove native EventRecurrence parser\n\nSwitch over to the new parser.\n\nBug 4575374\n\nChange-Id: If78d8042fb266182900398f7fc464a048c779966\n"
    },
    {
      "commit": "0dd593f22352a0863223fa4ea7e37e926b99282e",
      "tree": "58d445ed41c6aea8184848490a9f47a2aa31a876",
      "parents": [
        "abb04eec06bce358826e4cb6b5f852424ece8005"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 27 16:05:52 2011 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Jun 27 17:42:15 2011 -0700"
      },
      "message": "PermissionCache caches permission checks\n\nThis is intended to absorb the cost of the IPC\nto the permission controller.\nCached permission checks cost about 3us, while\nfull blown ones are two orders of magnitude slower.\n\nCAVEAT: PermissionCache can only handle system\npermissions safely for now, because the cache is\nnot purged upon global permission changes.\n\nChange-Id: I8b8a5e71e191e3c01e8f792f253c379190eee62e\n"
    },
    {
      "commit": "9fb5976367911d0ab42d296238f0f06d517e867d",
      "tree": "98c01d0b42d77db071fba25d8c3e98dacfaa2dfc",
      "parents": [
        "bd5404d0312752e7c8946e8540129f0d2d97bcd7"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jun 27 15:41:52 2011 -0700"
      },
      "committer": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jun 27 15:45:40 2011 -0700"
      },
      "message": "SurfaceTexture: consume buffers after err checks\n\nThis change moves the point at which queued buffers get consumed to\nafter any error checks that could cause updateTexImage to fail.  This\nway, if updateTexImage returns an error the buffer remains queued.\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": "f24c4cd0f204068a17f61f1c195ccf140c6c1d67",
      "tree": "8bba9602587565eeb9c475f4ccad2e20727ffd41",
      "parents": [
        "ed9bbf27babc7e90a81b229cade498e931ff3dd2"
      ],
      "author": {
        "name": "Anu Sundararajan",
        "email": "sanuradha@ti.com",
        "time": "Wed Jun 22 15:58:59 2011 -0500"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Mon Jun 27 13:48:51 2011 -0700"
      },
      "message": "MemoryHeapBase: Save and binderize the offset\n\nThe offset that is used in the creation of the MemoryHeapBase must be saved, so\nthat it can be used to recreate the Heap when an IMemory object is passed\nacross process boundary through the binder.\n\nChange-Id: Ie618fb5c0718e6711f55ed9235616fd801e648dc\nSigned-off-by: Anu Sundararajan \u003csanuradha@ti.com\u003e\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "42419ce28a09eb63e29a8fef87e6f5534f41902f",
      "tree": "f4c758095b56ee9257e90acc4050da046783663d",
      "parents": [
        "14f14863c508ff38fb2fe925c89e2bb2228fcffe"
      ],
      "author": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Wed Jun 01 17:22:24 2011 +0800"
      },
      "committer": {
        "name": "Wu-cheng Li",
        "email": "wuchengli@google.com",
        "time": "Mon Jun 27 15:44:57 2011 +0800"
      },
      "message": "Add framework support for camcorder zoom.\n\nThe purpose of ICameraRecordingProxy and ICameraRecordingProxyListener is to\nallow applications using the camera during recording.\n\nCamera service allows only one client at a time. Since camcorder application\nneeds to own the camera to do things like zoom, the media recorder cannot\naccess the camera directly during recording. So ICameraRecordingProxy is a proxy\nof ICamera, which allows the media recorder to start/stop the recording and\nrelease recording frames. ICameraRecordingProxyListener is an interface that\nallows the recorder to receive video frames during recording.\n\nICameraRecordingProxy\n  startRecording()\n  stopRecording()\n  releaseRecordingFrame()\n\nICameraRecordingProxyListener\n  dataCallbackTimestamp()\n\nThe camcorder app opens the camera and starts the preview. The app passes\nICamera and ICameraRecordingProxy to the media recorder by\nMediaRecorder::setCamera(). The recorder uses ICamera to setup the camera in\nMediaRecorder::start(). After setup, the recorder disconnects from camera\nservice. The recorder calls ICameraRecordingProxy::startRecording() and\npasses a ICameraRecordingProxyListener to the app. The app connects back to\ncamera service and starts the recording. The app owns the camera and can do\nthings like zoom. The media recorder receives the video frames from the\nlistener and releases them by ICameraRecordingProxy::releaseRecordingFrame.\nThe recorder calls ICameraRecordingProxy::stopRecording() to stop the\nrecording.\n\nThe call sequences are as follows:\n1. The app: Camera.unlock().\n2. The app: MediaRecorder.setCamera().\n3. Start recording\n   (1) The app: MediaRecorder.start().\n   (2) The recorder: ICamera.unlock() and ICamera.disconnect().\n   (3) The recorder: ICameraRecordingProxy.startRecording().\n   (4) The app: ICamera.reconnect().\n   (5) The app: ICamera.startRecording().\n4. During recording\n   (1) The recorder: receive frames from ICameraRecordingProxyListener.dataCallbackTimestamp()\n   (2) The recorder: release frames by ICameraRecordingProxy.releaseRecordingFrame().\n5. Stop recording\n   (1) The app: MediaRecorder.stop()\n   (2) The recorder: ICameraRecordingProxy.stopRecording().\n   (3) The app: ICamera.stopRecording().\n\nbug:2644213\n\nChange-Id: I15269397defc25cbbcae16abc071c8349c123122\n"
    },
    {
      "commit": "44f8d6bd155cf6357b501137ddbe8403e4d904ba",
      "tree": "b5f025dd8b2261cf8d7ca143bc37dfc42511c6d5",
      "parents": [
        "4c60c541de2399d92610b8a7f7f105a42c1ed2a9",
        "4a5a71518a71a44dbccb3af9a08b82056ea748b3"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jun 24 17:54:25 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 24 17:54:25 2011 -0700"
      },
      "message": "Merge \"Don\u0027t set texture parameters on every frame.\""
    },
    {
      "commit": "4a5a71518a71a44dbccb3af9a08b82056ea748b3",
      "tree": "d04dafb488a7bfde32e153980a6831c84f93833e",
      "parents": [
        "80429c458506485904715180d10584092a5cd082"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jun 24 17:53:53 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jun 24 17:53:53 2011 -0700"
      },
      "message": "Don\u0027t set texture parameters on every frame.\n\nChange-Id: Iec368405ad6a4ccfd569a0b3b4d681871a770396\n"
    },
    {
      "commit": "4c60c541de2399d92610b8a7f7f105a42c1ed2a9",
      "tree": "972f483dd4bcf3085ae166570ed3b59eb4f5e6f8",
      "parents": [
        "01ecdcc7560366baf3e4e5746f366f92f9975797",
        "80429c458506485904715180d10584092a5cd082"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jun 24 17:21:26 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 24 17:21:26 2011 -0700"
      },
      "message": "Merge \"Properly tear down TextureView\""
    },
    {
      "commit": "80429c458506485904715180d10584092a5cd082",
      "tree": "7a7daee4889e2f9dd679a98b12e38ccb2dbed743",
      "parents": [
        "58f4edb7701bf20925468fa5fd1a06a461ff085b"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jun 24 17:20:32 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jun 24 17:20:32 2011 -0700"
      },
      "message": "Properly tear down TextureView\n\nChange-Id: Ic23cd9257889d0abe8cc3fc1d04a66d0505e383e\n"
    },
    {
      "commit": "78a7f12043b5c54b6a0bf76e5b987f0cef6518dc",
      "tree": "6751344ff8a7f5b078e04de2c374b907a05993cf",
      "parents": [
        "c1ba416af5d902ff9b9db7627ab73ec2baff427c",
        "28cdb9e104e03680d61c3e6dd654d1beff51427d"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Jun 24 15:15:51 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 24 15:15:51 2011 -0700"
      },
      "message": "Merge \"Fix settings restore\""
    },
    {
      "commit": "28cdb9e104e03680d61c3e6dd654d1beff51427d",
      "tree": "d3f75c93366e41e3fecb647cb39e75dc4dea3d53",
      "parents": [
        "40e44467e2a32e77f6d874281a1c8185794850ff"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Jun 24 15:06:48 2011 -0700"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Fri Jun 24 15:06:48 2011 -0700"
      },
      "message": "Fix settings restore\n\nAlso correct the debug-mode logging of error locations in backup data.\nBug 4914182\n\nChange-Id: Ie7dda0192afa819e42490b7ffd2d3db6f11968f6\n"
    },
    {
      "commit": "02ccac69fd1c0a03c24c5f3ace0ad4bed337b1fd",
      "tree": "60531b505178d4fb169abc83567d5d8db4f14ed0",
      "parents": [
        "b0b1b11b965598cb8fb724e636ebb58a77d437b5"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jun 24 13:20:23 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jun 24 13:20:23 2011 -0700"
      },
      "message": "Code cleanup\n\nChange-Id: I64c346004e0adf9a776d0315534d4fe445f0c0ca\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": "cf86dc2997825005cff81b4b253c3b63bca8ee97",
      "tree": "72235425fa94c9d301b65dde065b68416c0770f1",
      "parents": [
        "7c1747c13c75eb0197db979d48cb4f9c59d52201",
        "e352f05d3afb1d8fd372a68a76d1ae4a256b17de"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Thu Jun 23 17:08:02 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 23 17:08:02 2011 -0700"
      },
      "message": "Merge \"Move divsi3, modsi3, udivsi3, umodsi3 to libbcc.\""
    },
    {
      "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": "e352f05d3afb1d8fd372a68a76d1ae4a256b17de",
      "tree": "e2514b07925bfa99a9f66f9db025ab6707264212",
      "parents": [
        "3d782666d73c3ce0ffb77e71db7309bc3297ecb8"
      ],
      "author": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Thu Jun 23 16:49:00 2011 -0700"
      },
      "committer": {
        "name": "Stephen Hines",
        "email": "srhines@google.com",
        "time": "Thu Jun 23 16:49:00 2011 -0700"
      },
      "message": "Move divsi3, modsi3, udivsi3, umodsi3 to libbcc.\n\nBUG\u003d3435530\n\nChange-Id: I4e90a6cdf5af534f93d83093ea31b1defd1e896c\n"
    },
    {
      "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"
    },
    {
      "commit": "0694cfe49a889788e185a265deed0c231fe31f4b",
      "tree": "d391cd89d74c7fcaf9045cd974c6a028b8b05b9e",
      "parents": [
        "090117774a4eeca850cca9ceac41cd8187772c81",
        "4e8a5c922c287ec97fec847194e930f8598a1941"
      ],
      "author": {
        "name": "tedbo",
        "email": "tedbo@google.com",
        "time": "Thu Jun 23 14:45:30 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 23 14:45:30 2011 -0700"
      },
      "message": "Merge \"Add method to create a ParcelSurfaceTexture from android.view.Surface.\""
    },
    {
      "commit": "697283e9177ee5730bf5c652c3c05d3aa3838ace",
      "tree": "a17ef92257437f6e130a2c73a53e92fc4bdca5a2",
      "parents": [
        "0ff6d7ee17de33d314ef726e7506b39c64a3ed35"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jun 23 12:55:29 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jun 23 12:55:29 2011 -0700"
      },
      "message": "Add Thread::join\n\nThis new API will be used by applications that previously used the\nlower-level pthread APIs (including pthread_join).  Centralizing on the\nThread class instead of pthread will permit additional functionality to\nbe added later in only one location.\n\nChange-Id: I8460169ac9c61ac9f85752405ed54c94651058d7\n"
    },
    {
      "commit": "a9489274d67b540804aafb587a226f7c2ae4464d",
      "tree": "2e181f440cfdda41da82e3763523b437af0fcf8f",
      "parents": [
        "d586ad9c9fec80aa1d24d6b53cd2c8d5b47fe868"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 22 20:58:11 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 22 20:58:11 2011 -0700"
      },
      "message": "Add the ability to specify the opacity of a TextureView\n\nTextureView assumes its content is opaque by default.\n\nChange-Id: Iba873423566a5b67c388081838bd910dceba32ba\n"
    },
    {
      "commit": "60d47796ccfb3db3ab73017897f648678daddc83",
      "tree": "87e3bfde59e5edb34e139e15414d7e05ebab41f0",
      "parents": [
        "df02afe8355e1e7a6f8f02549f41a166c3ee6932"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jun 22 17:42:23 2011 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jun 22 17:45:30 2011 -0700"
      },
      "message": "Thread ID zero for androidSetThreadSchedulingGroup\n\nAlready implemented by androidSetThreadPriority but not documented\n\nChange-Id: I85302b17092952065f3f3a4214d8d8abdd465dbd\n"
    },
    {
      "commit": "d586ad9c9fec80aa1d24d6b53cd2c8d5b47fe868",
      "tree": "285a0e4d4d7b471a8a3c8e41957283dcb9f09f43",
      "parents": [
        "83c033de06cd2af243ecf8e2c4b87cd2de2b786e"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 22 16:14:36 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 22 17:10:00 2011 -0700"
      },
      "message": "Fix another memory leak in OpenGLRenderer\n\nChange-Id: I23ed56891452a05cf3ca13f6919c4fef90d5ff4e\n"
    },
    {
      "commit": "4e8a5c922c287ec97fec847194e930f8598a1941",
      "tree": "4cb995f8d142f646a8c99d9818b6cdee456de398",
      "parents": [
        "0f5d8441ef3ee88855df71b15d81f4c14f12d63d"
      ],
      "author": {
        "name": "tedbo",
        "email": "tedbo@google.com",
        "time": "Wed Jun 22 15:52:53 2011 -0700"
      },
      "committer": {
        "name": "tedbo",
        "email": "tedbo@google.com",
        "time": "Wed Jun 22 16:18:09 2011 -0700"
      },
      "message": "Add method to create a ParcelSurfaceTexture from android.view.Surface.\n\nChange-Id: I05e343ab7e327478f60322af9373574b70c148f5\n"
    },
    {
      "commit": "f6a63ae3a7004a8eca87fca5a66cfb6aef4e86b5",
      "tree": "dda8a54686dc15261602a0953c8564fb2322ffdb",
      "parents": [
        "c989d867f2580a99cde25fab0e49e445aea33f2f"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 22 15:13:09 2011 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jun 22 15:13:09 2011 -0700"
      },
      "message": "Fix memory leak in OpenGLRenderer.\n\nWhen creating a display list, matrices are duplicated locally. They\nwere however never deleted, thus causing apps to slowly leak memory\n(a matrix is about 40 bytes.)\n\nChange-Id: Iac465b720d4c4c9b5ca3fce870c0c912c14a74ab\n"
    },
    {
      "commit": "2d90f953b82dae140bd0a351cca398a1aa8c4162",
      "tree": "58742a4977c67395b384e0fb414c9c3a91bcd05c",
      "parents": [
        "419091185f3c9c2d22c0673daca38c92985244c5",
        "71767c5577c9708a5e0eeefca89cb2c85f8aeac6"
      ],
      "author": {
        "name": "Jason Sams",
        "email": "rjsams@android.com",
        "time": "Tue Jun 21 17:11:04 2011 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 21 17:11:04 2011 -0700"
      },
      "message": "Merge \"First cut of atomics for renderscript.\""
    }
  ],
  "next": "71767c5577c9708a5e0eeefca89cb2c85f8aeac6"
}
