)]}'
{
  "log": [
    {
      "commit": "70a5967e0bb295f64c99593043f138fdd62365f4",
      "tree": "bb7d0ef0a6e05672303b91caaf574f75824d92d6",
      "parents": [
        "65208857d35efe39c1dbc1da23f2caf7257232fc",
        "5c09d605678d64e05579bb668b615764a714f1f7"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue Sep 11 17:57:19 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 11 17:57:19 2012 -0700"
      },
      "message": "am 5c09d605: Merge \"Fix CacheBitmap crash issue when using H/W UI rendering\"\n\n* commit \u00275c09d605678d64e05579bb668b615764a714f1f7\u0027:\n  Fix CacheBitmap crash issue when using H/W UI rendering\n"
    },
    {
      "commit": "ee309635d23fa6a9b17be7b1d85dcb8ad065d6c8",
      "tree": "a9aad94d07f80d705f466d3ce4c379be9a2ed0c2",
      "parents": [
        "bfe1ab825731d365fef169deab646d7ceeafc998"
      ],
      "author": {
        "name": "Jun Tian",
        "email": "jun.j.tian@intel.com",
        "time": "Tue Sep 11 10:36:28 2012 +0800"
      },
      "committer": {
        "name": "Jun Tian",
        "email": "jun.j.tian@intel.com",
        "time": "Tue Sep 11 10:36:28 2012 +0800"
      },
      "message": "Fix CacheBitmap crash issue when using H/W UI rendering\n\nAvoid to access invalid index in CacheBitmap. That will cause the android SDK image cannot be booted up\nwith H/W GL enabling. This patch is required by both ARM and x86 SDK system image.\n\nChange-Id: I705b7f06915a2338a2f94509486344bfd92b4bfb\nSigned-off-by: Jun Tian \u003cjun.j.tian@intel.com\u003e\nSigned-off-by: Jackie Wu \u003cjackie.wu@intel.com\u003e\nSigned-off-by: Liang Chen \u003cliang.l.chen@intel.com\u003e\nSigned-off-by: Panfeng Chang \u003cpanfengx.chang@intel.com\u003e\n"
    },
    {
      "commit": "05e97e81a5fa2c9cab4cdda15aa2d036243a0c0e",
      "tree": "bed4dd6d4bbcd175bd25761bfebc32b5651d4ac7",
      "parents": [
        "bce413587973eae29a783d7e273dc2f7db06f7c9",
        "0be33f2d522f76f48062a59ddb520815a0851875"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 08 14:03:58 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 08 14:03:58 2012 -0700"
      },
      "message": "am 0be33f2d: Merge \"Add shortcut to avoid potential divide by zero in some case\"\n\n* commit \u00270be33f2d522f76f48062a59ddb520815a0851875\u0027:\n  Add shortcut to avoid potential divide by zero in some case\n"
    },
    {
      "commit": "0412cfcbcdd7224f80a80180a946f0fdd28c3afc",
      "tree": "4a093cb2e7b9b037a8a36bd89d7971f746207bc9",
      "parents": [
        "13a3a87fa7264df29a1f698ce80ada2de3561962"
      ],
      "author": {
        "name": "Chen YANG",
        "email": "chen.yang@intel.com",
        "time": "Wed Jul 25 13:27:40 2012 +0800"
      },
      "committer": {
        "name": "Chen YANG",
        "email": "chen.yang@intel.com",
        "time": "Wed Jul 25 14:19:29 2012 +0800"
      },
      "message": "Add shortcut to avoid potential divide by zero in some case\n\nChange-Id: If4b34c95402daf8ebcc28736edfb2012553aa57c\n"
    },
    {
      "commit": "243924b08f9fbcc7f1e46d24df986c25fba3eb18",
      "tree": "8b3a8ed8973bf3eec93eb409c3624b648b038095",
      "parents": [
        "5b4d4348f46ef689f0bafceb64c9855881efb8ba",
        "3409e728e22609b54de8b33d1e614ca51f6d6a77"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Jul 18 20:14:02 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jul 18 20:14:02 2012 -0700"
      },
      "message": "am 3409e728: Correctly pre-clip paths when recording display lists Bug #6836448 External bug: http://code.google.com/p/android/issues/detail?id\u003d34946\n\n* commit \u00273409e728e22609b54de8b33d1e614ca51f6d6a77\u0027:\n  Correctly pre-clip paths when recording display lists Bug #6836448 External bug: http://code.google.com/p/android/issues/detail?id\u003d34946\n"
    },
    {
      "commit": "3409e728e22609b54de8b33d1e614ca51f6d6a77",
      "tree": "90df9518972aded194e80496514f749cdbe7d417",
      "parents": [
        "634ccf7eb80046749df2f8f30ec3d4dc23fa3457"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jul 17 17:46:03 2012 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jul 17 18:01:51 2012 -0700"
      },
      "message": "Correctly pre-clip paths when recording display lists\nBug #6836448\nExternal bug: http://code.google.com/p/android/issues/detail?id\u003d34946\n\nDO NOT MERGE\n\nDisplayListRenderer::drawPath was not invoking quickReject() properly,\npassing x,y,width,height instead of left,top,right,bottom. A path\ncould thus get rejected when it should be drawn instead.\n\nWhile working on this change I found a similar issue with another\ndrawing command, drawBitmapData().\n\nChange-Id: I8306faf72db14d71b54ecb7de295c9a6957d9494\n"
    },
    {
      "commit": "01f03dc3895352e0d4b50ecb3090b29c591f2502",
      "tree": "c4e9fd1f7c6ae98c52343c729ad7814660df0469",
      "parents": [
        "6bcfe893d46b1adb5a89920b82707c3d55a53e27",
        "0a386ffac026e259c408b77c2dd2cc5d2e22b5f8"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jul 13 13:41:00 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 13 13:41:00 2012 -0700"
      },
      "message": "am 0a386ffa: Text shadow alpha handling incorrect DO NOT MERGE\n\n* commit \u00270a386ffac026e259c408b77c2dd2cc5d2e22b5f8\u0027:\n  Text shadow alpha handling incorrect DO NOT MERGE\n"
    },
    {
      "commit": "0a386ffac026e259c408b77c2dd2cc5d2e22b5f8",
      "tree": "73000a03928fb3a3ee5c384f1ea74e28b3c3ee3b",
      "parents": [
        "0f8e402e954c6e37102fa70f81a1d8ec47156338"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jul 13 12:13:07 2012 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Jul 13 12:24:09 2012 -0700"
      },
      "message": "Text shadow alpha handling incorrect\nDO NOT MERGE\n\nExternal bug: http://code.google.com/p/android/issues/detail?id\u003d34879\nThis is a regression from ICS.\n\nThis CL also fixes a bug where a View\u0027s alpha would be applied twice.\n\nChange-Id: I13a1546228f44d4c169259414b6fa103a6e4a0fa\n"
    },
    {
      "commit": "4930649d35dcec1f234124e8b4f8abfac8ba6ea6",
      "tree": "d7fd5cc352cf1adfe398fac4a2fd62b723194dea",
      "parents": [
        "42db93691896740e47918e212bed7668464a3b9d",
        "68cefd201809372a547257a273b805cabbd0da68"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jun 12 12:43:36 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 12 12:43:36 2012 -0700"
      },
      "message": "am 68cefd20: Merge \"Textured text calls could be invisible Bug #6597730\" into jb-dev\n\n* commit \u002768cefd201809372a547257a273b805cabbd0da68\u0027:\n  Textured text calls could be invisible Bug #6597730\n"
    },
    {
      "commit": "16c88085255c71a1a8fc034129aa2dcc61e1ddd0",
      "tree": "d582a3cff3847c2befee35dccd94d2b1e02b018c",
      "parents": [
        "527ee91b60426b5a344e9905c7f9a14d6d26219e"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jun 11 16:03:47 2012 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jun 11 16:11:56 2012 -0700"
      },
      "message": "Textured text calls could be invisible\nBug #6597730\n\nText would sometimes not appear when rendered with textured content\n(BitmapShader, LinearGradientShader, etc.) This was due to a misuse\nof OpenGL texture unit in FontRenderer. Textured text normally uses\ntwo texture units:\n- texture unit 0 for the font cache\n- texture unit 1 for the textured content (gradient, etc.)\n\nRecent changes to the font renderer allow it to bind new textures\nwhile processing the text\u0027s geometry (this happens when caches get\nfull or when switching font size for instance.) The bindings were\ndone without ensuring the texture unit was the correct one\n(unit 0), thus replacing the content of another texture unit\n(unit 1).\n\nThis lead to text being drawn using the font cache itself as the\ncontent texture, making the text invisible.\n\nChange-Id: I392b4c884f09223305f6cbc6253e2ef9a98944c9\n"
    },
    {
      "commit": "ca43c96127e9f7cdab8ee70638a2445347eebd08",
      "tree": "5b8d2f0da706563d55079b98bdee84706245ba84",
      "parents": [
        "7c5c86d7624646554156339b5f48e110fc53d8ed",
        "44b2fe3fc114ee5f7273c6b0fee2cc999bf244a2"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Thu Jun 07 09:45:16 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 07 09:45:16 2012 -0700"
      },
      "message": "am 44b2fe3f: Track canvas clearing for swap buffers logic.\n\n* commit \u002744b2fe3fc114ee5f7273c6b0fee2cc999bf244a2\u0027:\n  Track canvas clearing for swap buffers logic.\n"
    },
    {
      "commit": "44b2fe3fc114ee5f7273c6b0fee2cc999bf244a2",
      "tree": "8d54bda8c5b7021be5d923beb641a9efb22dcf30",
      "parents": [
        "43fa4c5261a732decae3bbfaea2a00f8bb9b709c"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Wed Jun 06 19:03:58 2012 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Thu Jun 07 06:25:04 2012 -0700"
      },
      "message": "Track canvas clearing for swap buffers logic.\n\nA previous fix made it necessary for a frame to render something to GL\nin order to cause a call to eglSwapBuffers(). Besides the calls being\ntracked as part of issuing a DisplayList, there is also a potential call\nto clear the canvas (via glClear()) on non-opaque surfaces. This call is also\ngood to track, since a surface that gets cleared without any other drawing operations\nis worth flipping to the screen (to erase old contents on that surface).\n\nThis fix tracks the status of the pre-draw operations to find out whether\nglClear() was called and then sets the drawing status appropriately.\n\nIssue #6606422 QuickContact dismissal is janky again (Tracking)\n\nChange-Id: I5fcaccfdc9293dd46b83f2fc279730a5d2740ebf\n"
    },
    {
      "commit": "6d99a024647ff845179311d611dcf031965ba96d",
      "tree": "21b3459c325505a75e28c08500cea43be7ff4eae",
      "parents": [
        "310c067e234c7dfdf5e78b7fd3702ed753170fb2",
        "8f1f714f831bf8bf10f94211c42e36ef2851810d"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Jun 06 16:47:57 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 06 16:47:57 2012 -0700"
      },
      "message": "am 8f1f714f: Merge \"Revert \"Add more temporary logging for investigating detachFunctor\"\" into jb-dev\n\n* commit \u00278f1f714f831bf8bf10f94211c42e36ef2851810d\u0027:\n  Revert \"Add more temporary logging for investigating detachFunctor\"\n"
    },
    {
      "commit": "932b7f6765968bd526c03512f3805fbc3924dc29",
      "tree": "bc2597383e0c8973b78627690856f883686526a6",
      "parents": [
        "35b691f056159e938a256420f6d3dec1ebf8bfd9"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Jun 06 13:59:33 2012 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Jun 06 14:02:55 2012 -0700"
      },
      "message": "Revert \"Add more temporary logging for investigating detachFunctor\"\n\nbug:6608646\n\nThis reverts commit 8857b2f76abad1e4ec742dfd85d0c997880be376\n\nChange-Id: I1563b5974c52b84201ae448298f804eb0dcc235d\n"
    },
    {
      "commit": "34e5f5a534d915f253ae51cbcfe15c12e25a78a4",
      "tree": "147ecd3055f6f3a1689f730ce6c9733ef1dad336",
      "parents": [
        "4a683a343083ec2b8aed1ee63669dbade6c0379f",
        "3676b137ecf2f24e88e8a3567c11234e7d4416d2"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Jun 05 12:31:31 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 05 12:31:31 2012 -0700"
      },
      "message": "am 3676b137: Merge \"Add more temporary logging for investigating detachFunctor\" into jb-dev\n\n* commit \u00273676b137ecf2f24e88e8a3567c11234e7d4416d2\u0027:\n  Add more temporary logging for investigating detachFunctor\n"
    },
    {
      "commit": "8857b2f76abad1e4ec742dfd85d0c997880be376",
      "tree": "adb739712e251a296933fb5eeae700f823b0e072",
      "parents": [
        "0c01222ff6507c6e3eaeec7070a510201165d6f3"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Jun 05 10:53:20 2012 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Jun 05 11:24:46 2012 -0700"
      },
      "message": "Add more temporary logging for investigating detachFunctor\n\nbug:6596807\nChange-Id: Ic9e34e323b12a887f2e8df0773a6155627b6a64f\n"
    },
    {
      "commit": "78f04a364f8cd7dc3a7a0aaf73c96a6cc84718b6",
      "tree": "8b292f7d036f30087f535c3f617c8aef13b6c8ef",
      "parents": [
        "ba58221769575d1129c61fe0da9030986eb899bd",
        "51df04b93e8e362edd867abd7efaf1659b8b8b82"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jun 04 13:13:34 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 04 13:13:34 2012 -0700"
      },
      "message": "am 51df04b9: Port the legacy velocity tracker strategy.\n\n* commit \u002751df04b93e8e362edd867abd7efaf1659b8b8b82\u0027:\n  Port the legacy velocity tracker strategy.\n"
    },
    {
      "commit": "ba58221769575d1129c61fe0da9030986eb899bd",
      "tree": "cca06da3f48e1d399703b31f9bec74bae1188881",
      "parents": [
        "2fd6baef5911d3bb481d1a603180d7371d43df41",
        "a5b0698231459ac5b54cf8e8952ac5c2b2b2198b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jun 04 13:13:30 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 04 13:13:30 2012 -0700"
      },
      "message": "am a5b06982: Implement a second order integrating VT strategy.\n\n* commit \u0027a5b0698231459ac5b54cf8e8952ac5c2b2b2198b\u0027:\n  Implement a second order integrating VT strategy.\n"
    },
    {
      "commit": "2fd6baef5911d3bb481d1a603180d7371d43df41",
      "tree": "2cdda034ced17990e057fa8ef21e3237d402448e",
      "parents": [
        "524d8ee8e0fd8d8be8273a5b59886371d6fa77b8",
        "18f329e9480fca75210bb7496e5b4bc987b4ad8f"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jun 04 13:13:27 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 04 13:13:27 2012 -0700"
      },
      "message": "am 18f329e9: Implement a weighted least squares VelocityTracker strategy.\n\n* commit \u002718f329e9480fca75210bb7496e5b4bc987b4ad8f\u0027:\n  Implement a weighted least squares VelocityTracker strategy.\n"
    },
    {
      "commit": "51df04b93e8e362edd867abd7efaf1659b8b8b82",
      "tree": "5c416d400d53da96891465fd5b602e063925622b",
      "parents": [
        "a5b0698231459ac5b54cf8e8952ac5c2b2b2198b"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Jun 03 23:14:14 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jun 04 12:34:03 2012 -0700"
      },
      "message": "Port the legacy velocity tracker strategy.\n\nFor comparison purposes, port the legacy velocity tracker\nalgorithm as it behaved prior to ICS.\n\nBug: 6413587\nChange-Id: I7e8e56584dcdb1a3c660ca9d8f9c5bd5d868e449\n"
    },
    {
      "commit": "a5b0698231459ac5b54cf8e8952ac5c2b2b2198b",
      "tree": "cc91df96eaa76fe98969e40f9b4e9b4dd0babbd3",
      "parents": [
        "18f329e9480fca75210bb7496e5b4bc987b4ad8f"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Jun 03 22:46:07 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jun 04 12:34:03 2012 -0700"
      },
      "message": "Implement a second order integrating VT strategy.\n\nBug: 6413587\nChange-Id: I51bc7b8cbff22b10b728fc84ee15370e9984dd55\n"
    },
    {
      "commit": "18f329e9480fca75210bb7496e5b4bc987b4ad8f",
      "tree": "8be6eebdeb6dfd2cd64e0715048db571209a7096",
      "parents": [
        "433927c52f2758e3e69f69d7e03d571ee4f18a26"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Jun 03 14:18:26 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon Jun 04 12:34:03 2012 -0700"
      },
      "message": "Implement a weighted least squares VelocityTracker strategy.\n\nNo change to the default strategy.\n\nBug: 6413587\nChange-Id: I08eb6f9a511e65ad637359b55b5993c26ba93b40\n"
    },
    {
      "commit": "767bc6d26c98594525ed7dd94e8880335e15e8a8",
      "tree": "7e5a977d8c4486530f198baec39934267cd1decb",
      "parents": [
        "7d3fa093bbd34e19f6b580b6258c8ea4e138c777",
        "1fbbc0716f9b70c6dcee00c4550757077ef7f7b5"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Jun 03 21:19:16 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Jun 03 21:19:16 2012 -0700"
      },
      "message": "am 1fbbc071: Merge \"Implement an integrating VelocityTracker strategy.\" into jb-dev\n\n* commit \u00271fbbc0716f9b70c6dcee00c4550757077ef7f7b5\u0027:\n  Implement an integrating VelocityTracker strategy.\n"
    },
    {
      "commit": "7d3fa093bbd34e19f6b580b6258c8ea4e138c777",
      "tree": "33ed4f33968d5cfabad258135588f9c3aa1e7e71",
      "parents": [
        "66a10964b0aa56e07263005e6a41a87ecd2dd2d7",
        "f47e76e2c78e78e26110786e99548d718d177c32"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Jun 03 21:19:13 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sun Jun 03 21:19:13 2012 -0700"
      },
      "message": "am f47e76e2: Merge \"Make velocity tracker strategy configurable.\" into jb-dev\n\n* commit \u0027f47e76e2c78e78e26110786e99548d718d177c32\u0027:\n  Make velocity tracker strategy configurable.\n"
    },
    {
      "commit": "1fbbc0716f9b70c6dcee00c4550757077ef7f7b5",
      "tree": "3e6ba76e20907a8f1073e9872d12a82903043bc6",
      "parents": [
        "f47e76e2c78e78e26110786e99548d718d177c32",
        "53dd12a66884540b87fe428383e2f79d0f5e32ba"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Jun 03 21:16:38 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Jun 03 21:16:38 2012 -0700"
      },
      "message": "Merge \"Implement an integrating VelocityTracker strategy.\" into jb-dev"
    },
    {
      "commit": "f47e76e2c78e78e26110786e99548d718d177c32",
      "tree": "654c967f3332be1ee918cc4d8ab1f35451db7e13",
      "parents": [
        "cc822a769e752c2845dc795f05b7b35b5b3f6614",
        "9eb7d86181729c3eb769d71123c4ce9ffc868f08"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Jun 03 21:16:18 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Jun 03 21:16:18 2012 -0700"
      },
      "message": "Merge \"Make velocity tracker strategy configurable.\" into jb-dev"
    },
    {
      "commit": "53dd12a66884540b87fe428383e2f79d0f5e32ba",
      "tree": "7493fd04d9e2ad3143b679b9ae30829877ef38e4",
      "parents": [
        "9eb7d86181729c3eb769d71123c4ce9ffc868f08"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jun 01 13:24:04 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Jun 03 19:23:58 2012 -0700"
      },
      "message": "Implement an integrating VelocityTracker strategy.\n\nThis algorithm better tolerates certain kinds of errors in the\ntouch input than the least squares strategy but it may underestimate\nthe velocity of accelerating movements.  This algorithm is\nmainly of interest as a baseline for testing and comparison with the\nleast squares algorithm, which remains the default.\n\nBug: 6413587\nChange-Id: I8ddb50084e44875e234717907e5b06d03f59788c\n"
    },
    {
      "commit": "9eb7d86181729c3eb769d71123c4ce9ffc868f08",
      "tree": "5844b6bfd4c9eac8bc5015fa54f5255a376805c8",
      "parents": [
        "6e8e41a336dfc0c43b672fd105a23aa48c93ec67"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Jun 01 12:39:25 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun Jun 03 19:21:49 2012 -0700"
      },
      "message": "Make velocity tracker strategy configurable.\n\nThis change is very useful for testing purposes because it makes it\neasy to compare different implementations to see how they behave.\n\nThere is no change to the current default strategy.\n\nBug: 6413587\nChange-Id: I4d8567aa4160571ba9fa397ce419882cd9366749\n"
    },
    {
      "commit": "d0140062db85ae17e807e514fe14d2d0581645fb",
      "tree": "c85e199b3a86be812aa720a15099aea545ced392",
      "parents": [
        "c3895253bb833611df8c8f62347ede70153eb5b9",
        "561ff8a74e3d9ea15f58d9b6534da9ea5a63d84b"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Fri Jun 01 07:32:39 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jun 01 07:32:39 2012 -0700"
      },
      "message": "am 561ff8a7: Merge \"Skip eglSwapBuffers() call when we do not draw to GL\" into jb-dev\n\n* commit \u0027561ff8a74e3d9ea15f58d9b6534da9ea5a63d84b\u0027:\n  Skip eglSwapBuffers() call when we do not draw to GL\n"
    },
    {
      "commit": "486590963e2207d68eebd6944fec70d50d41116a",
      "tree": "7a176c6cda01c64980c5c27f9bf495b64d08c84f",
      "parents": [
        "20c15a4271ea3a7fb2210430bfc53f611603cf76"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Thu May 31 15:21:51 2012 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Thu May 31 17:22:27 2012 -0700"
      },
      "message": "Skip eglSwapBuffers() call when we do not draw to GL\n\nThe fix is to track when we issue GL drawing commands, and to skip the\ncall to eglSwapBuffers() when a DisplayList does not result in\nany actual rendering calls to GL.\n\nIssue #6364143 QuickMuni list items and buttons flicker instead of fade\n\nChange-Id: I60a02c61a58c32d92481a1e814b4c8a49c6a37a3\n"
    },
    {
      "commit": "9970bbac1f4951f5910aa5148e189a0a284f9e46",
      "tree": "07e56758856d22832e257d1b05760c3ff7df2da7",
      "parents": [
        "ddf573d6091b99199bfde93a58ef51db796c7b0f",
        "3534e13486a0081b1229e698f13bd3a37efa3fb0"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue May 22 17:22:19 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 22 17:22:19 2012 -0700"
      },
      "message": "am 3534e134: Merge \"Avoid crash if onDetachedFromWindow called after destroy\" into jb-dev\n\n* commit \u00273534e13486a0081b1229e698f13bd3a37efa3fb0\u0027:\n  Avoid crash if onDetachedFromWindow called after destroy\n"
    },
    {
      "commit": "3534e13486a0081b1229e698f13bd3a37efa3fb0",
      "tree": "c2efe65a2e556c6559745e41e7379e8d9435e805",
      "parents": [
        "2d243bc62a899f7af77886a2a2a82872d63226bb",
        "9e08012869f77f212186a5d5856831a85fb73d40"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue May 22 17:20:07 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 22 17:20:07 2012 -0700"
      },
      "message": "Merge \"Avoid crash if onDetachedFromWindow called after destroy\" into jb-dev"
    },
    {
      "commit": "9e08012869f77f212186a5d5856831a85fb73d40",
      "tree": "716edb488c20ac96334f2d4e5f8b85f1f4438784",
      "parents": [
        "f8dafa14e058cdc2f408b59be7911abaceb73c47"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue May 22 16:00:19 2012 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue May 22 16:52:00 2012 -0700"
      },
      "message": "Avoid crash if onDetachedFromWindow called after destroy\n\nThis also removes the temporary logging from commit\nf8dafa14e058cdc2f408b59be7911abaceb73c47.\n\nbug:6535911\nChange-Id: Icf1d0438b349a0e92e7d9cefed57a252eed2b9b0\n"
    },
    {
      "commit": "49413bcccbd735be4e8ad4cf98b3ab2f892225e4",
      "tree": "56e7e97f3386a199d6e1f1a7340464f9e5b858a9",
      "parents": [
        "5ba87a007629375bf0a2e1a45cd1954adef65338",
        "7a9328a3118725389564fe2a9b926837fa3d58a9"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue May 22 14:41:35 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 22 14:41:35 2012 -0700"
      },
      "message": "am 7a9328a3: Merge \"Add temporary functor lifetime logging\" into jb-dev\n\n* commit \u00277a9328a3118725389564fe2a9b926837fa3d58a9\u0027:\n  Add temporary functor lifetime logging\n"
    },
    {
      "commit": "7a9328a3118725389564fe2a9b926837fa3d58a9",
      "tree": "d58f465a269c10e94a4a30f6e2929b8980687c27",
      "parents": [
        "e5a4a3dc1648844f06d29efd42c9306c3cdf177e",
        "f8dafa14e058cdc2f408b59be7911abaceb73c47"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue May 22 14:39:13 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 22 14:39:13 2012 -0700"
      },
      "message": "Merge \"Add temporary functor lifetime logging\" into jb-dev"
    },
    {
      "commit": "5ba87a007629375bf0a2e1a45cd1954adef65338",
      "tree": "080bc3aec1e3e2aeee5c0d72b84ad26931a35ec0",
      "parents": [
        "f6f269499030cdd7fea708e01e34405906ad9a46",
        "e5a4a3dc1648844f06d29efd42c9306c3cdf177e"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue May 22 14:32:20 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 22 14:32:20 2012 -0700"
      },
      "message": "am e5a4a3dc: Merge \"Ensure we always set the proper blending mode Bug #6527305\" into jb-dev\n\n* commit \u0027e5a4a3dc1648844f06d29efd42c9306c3cdf177e\u0027:\n  Ensure we always set the proper blending mode Bug #6527305\n"
    },
    {
      "commit": "e5a4a3dc1648844f06d29efd42c9306c3cdf177e",
      "tree": "bf396dc3918ac55847b1929599cbd3c632e24b0f",
      "parents": [
        "638e012d2b5c2b075b48f86d08daec9b36319cfc",
        "ddf74373616c89e0880a28a2185fd7ce3db91de6"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue May 22 14:28:58 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 22 14:28:58 2012 -0700"
      },
      "message": "Merge \"Ensure we always set the proper blending mode Bug #6527305\" into jb-dev"
    },
    {
      "commit": "f8dafa14e058cdc2f408b59be7911abaceb73c47",
      "tree": "a3de994c2147cc21885a021199a24d82060527bb",
      "parents": [
        "c8538ade8df2c2f013f8b93094912057ee1cc417"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue May 22 13:29:40 2012 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue May 22 14:26:15 2012 -0700"
      },
      "message": "Add temporary functor lifetime logging\n\nbug:6535911\n\nChange-Id: Ida5cc1def7fe1fc314317bbc5df50e1465753deb\n"
    },
    {
      "commit": "ddf74373616c89e0880a28a2185fd7ce3db91de6",
      "tree": "dab9856ef8a857b0b107c2f471b089605a6c73b1",
      "parents": [
        "51f7c6b3620549429cd6c62e38bace43085e04fb"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue May 22 14:07:07 2012 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue May 22 14:08:10 2012 -0700"
      },
      "message": "Ensure we always set the proper blending mode\nBug #6527305\n\nAt the beginning of a frame, always set the blending mode that we\nthink GL is using just in case it was modified by another entity\n(for instance a WebView functor.)\n\nChange-Id: I0e1d0abee8a2abb2b8e7622aed28346e89562c06\n"
    },
    {
      "commit": "1ff2c7fe91f25b85478e71f19a4528fc5fde00ba",
      "tree": "b00271280c626ceffa14e3596d6f40ac1549f107",
      "parents": [
        "fd2e67cfbfe27352b253212331a32b5be9d1bd67",
        "12fd5db435043681371ca7e9694744d71b6ba271"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue May 22 13:13:17 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 22 13:13:17 2012 -0700"
      },
      "message": "am 12fd5db4: Merge \"Don\\\u0027t clear the functor at every draw\" into jb-dev\n\n* commit \u002712fd5db435043681371ca7e9694744d71b6ba271\u0027:\n  Don\u0027t clear the functor at every draw\n"
    },
    {
      "commit": "c8538ade8df2c2f013f8b93094912057ee1cc417",
      "tree": "f938473c2ecd51d8cfdede8c2ae3404b37b60767",
      "parents": [
        "0eaeb69d1c4849da8ab1df70b84e90837193df67"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue May 22 11:54:06 2012 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue May 22 11:54:06 2012 -0700"
      },
      "message": "Don\u0027t clear the functor at every draw\n\ninstead clear functors at invoke time, and let them detach themselves as needed.\n\nbug:6511995\nChange-Id: I9115fcadffb27eb850c1d1773c098d3d2e22788b\n"
    },
    {
      "commit": "d568e4d2ac0ba100c91c0e24b969c6efc726172a",
      "tree": "fa51ecbe89c373d4f60cdff32ac6271e1496249e",
      "parents": [
        "a4cae2847eb086742ff9d3b24a469242bd9ddae1",
        "196a7dae6387b118f73c78b7ae16ebfa604ae249"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri May 18 15:59:44 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 18 15:59:44 2012 -0700"
      },
      "message": "am 196a7dae: Merge \"Sanitize display list properties\" into jb-dev\n\n* commit \u0027196a7dae6387b118f73c78b7ae16ebfa604ae249\u0027:\n  Sanitize display list properties\n"
    },
    {
      "commit": "f26c8be01bb218619e073a209c9d57fe9d26c517",
      "tree": "6b00b9fb738143b19c3e3ec2496becc0e5309722",
      "parents": [
        "7e22a223afa63c591ef56cb325163e5e82046822"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri May 18 10:58:45 2012 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri May 18 10:58:45 2012 -0700"
      },
      "message": "Sanitize display list properties\n\nThe comparisons used in the various properties setters could fail badly\nin some specific conditions. The scale properties in particular did not\nuse the same comparisons.\n\nThis change also clamps alpha to the 0..1 range which avoids overflow\nissues with lowp registers in GLSL computations.\n\nChange-Id: I3e73b584e907a14e2c33d0865ca0d2d4d5bff31d\n"
    },
    {
      "commit": "952a4512a89f3d06068b17732a3ea0926b235c46",
      "tree": "1fbd3be42f8d64f206e7a5435698a8cfcecc1334",
      "parents": [
        "69337714812db8735a66785f62db39f46a70fd26",
        "2298fe223f1ae45d45dbdd69e115a24a8ea2df10"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue May 15 11:32:55 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 15 11:32:55 2012 -0700"
      },
      "message": "am 2298fe22: Merge \"Avoid unnecessary copy when invoking drawBitmap(int[]) Bug #6483390\" into jb-dev\n\n* commit \u00272298fe223f1ae45d45dbdd69e115a24a8ea2df10\u0027:\n  Avoid unnecessary copy when invoking drawBitmap(int[]) Bug #6483390\n"
    },
    {
      "commit": "d5cfec8d34a59f2a4e98b655b5e49775d69ad64c",
      "tree": "930da53f20eb9016dc4f4791ad7bdea213912ed3",
      "parents": [
        "aebfdc231aadab63e51d740a8f3abf97953fd9f2",
        "7b8523aaed11a3b5ee286776023233036ac0759d"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue May 15 11:31:54 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 15 11:31:54 2012 -0700"
      },
      "message": "am 7b8523aa: Merge \"Remove all Dalvik allocations from Cavnas.drawBitmap(int[], ...)\" into jb-dev\n\n* commit \u00277b8523aaed11a3b5ee286776023233036ac0759d\u0027:\n  Remove all Dalvik allocations from Cavnas.drawBitmap(int[], ...)\n"
    },
    {
      "commit": "aebfdc231aadab63e51d740a8f3abf97953fd9f2",
      "tree": "e2235dfcd76d18afcb2d285a48c9053457837221",
      "parents": [
        "634ec69aa9f7e5806098800b504ae94dda1df5f3",
        "e4db99cf87c47730e80dc1431f07f4f1062c648e"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue May 15 11:31:47 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 15 11:31:47 2012 -0700"
      },
      "message": "am e4db99cf: Merge \"Detect when pointer has stopped moving.\" into jb-dev\n\n* commit \u0027e4db99cf87c47730e80dc1431f07f4f1062c648e\u0027:\n  Detect when pointer has stopped moving.\n"
    },
    {
      "commit": "634ec69aa9f7e5806098800b504ae94dda1df5f3",
      "tree": "f97ef50b48d913f0f613208ca2809b3bedf83ebe",
      "parents": [
        "9de702743326deaca9466e49d488ff5c96bcecb7",
        "08b544c7be67343b10a4130611318b8273d06433"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue May 15 11:31:45 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 15 11:31:45 2012 -0700"
      },
      "message": "am 08b544c7: Merge \"Fix pointer indexing issue in VelocityTracker.\" into jb-dev\n\n* commit \u002708b544c7be67343b10a4130611318b8273d06433\u0027:\n  Fix pointer indexing issue in VelocityTracker.\n"
    },
    {
      "commit": "7469f8bb949bef1328877593952b8fe9801a3c67",
      "tree": "256ddcbe5b4a8cd0ca6d7dafe49f5c6bb37c3963",
      "parents": [
        "d83a0800679583ccc99a90a128f8d6c11afbeca4",
        "47a4a50df09b5ab76ee06cb8845fe5a02952ec32"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue May 15 11:31:32 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 15 11:31:32 2012 -0700"
      },
      "message": "am 47a4a50d: Merge \"Improve touch event resampling.\" into jb-dev\n\n* commit \u002747a4a50df09b5ab76ee06cb8845fe5a02952ec32\u0027:\n  Improve touch event resampling.\n"
    },
    {
      "commit": "e2ec70bf92e80800bd5163f56632b9eb14cce290",
      "tree": "c36a6707df306d1e052878ef34735e3ce7b893e2",
      "parents": [
        "6b65cfbe97b366ee2df4584c3ef80fd065e06cc9",
        "00ff47484f8137aa3e59f680ff07d2662cfb4088"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue May 15 11:31:08 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 15 11:31:08 2012 -0700"
      },
      "message": "am 00ff4748: Merge \"More VelocityTracker refactoring.\" into jb-dev\n\n* commit \u002700ff47484f8137aa3e59f680ff07d2662cfb4088\u0027:\n  More VelocityTracker refactoring.\n"
    },
    {
      "commit": "769bccea292329e16fe6211e10cf54cf38896b1b",
      "tree": "b29684f6d128c88d146b6eddc53d28c94322703c",
      "parents": [
        "f0e5e27bf416e43dd1018a965c271ebb69080e54",
        "c9ade202ed6a43a4edba6596492aa810530b88b6"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue May 15 11:30:21 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 15 11:30:21 2012 -0700"
      },
      "message": "am c9ade202: Merge \"Forget the name of a texture after freeing Bug #6408362\" into jb-dev\n\n* commit \u0027c9ade202ed6a43a4edba6596492aa810530b88b6\u0027:\n  Forget the name of a texture after freeing Bug #6408362\n"
    },
    {
      "commit": "f0e5e27bf416e43dd1018a965c271ebb69080e54",
      "tree": "3530ff1a4513555ceb8eac148fcc6cb2bc43cd57",
      "parents": [
        "97c5ca3422d7031c18311b732936c81a2ef55a4c",
        "2be45697f93291e1740c3b7e4ba0af5d4ae81ed6"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue May 15 11:30:00 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 15 11:30:00 2012 -0700"
      },
      "message": "am 2be45697: Merge \"Fix two memory leaks Bug #6408362\" into jb-dev\n\n* commit \u00272be45697f93291e1740c3b7e4ba0af5d4ae81ed6\u0027:\n  Fix two memory leaks Bug #6408362\n"
    },
    {
      "commit": "49c5fc0b9e850497233e189ff9dcc71a78ebe6e7",
      "tree": "7e67e74c97f750a1f04855071f54c357d0857a5b",
      "parents": [
        "66757217a6d8e6a156d15be55bf77940e2e6194b"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue May 15 11:10:01 2012 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue May 15 11:15:24 2012 -0700"
      },
      "message": "Avoid unnecessary copy when invoking drawBitmap(int[])\nBug #6483390\n\nChange-Id: I4d2d725ef50c9401b4bd998b6160128102b40745\n"
    },
    {
      "commit": "7b8523aaed11a3b5ee286776023233036ac0759d",
      "tree": "58c6c71a289be050dc1faa97b7eeb7e97ae9e05d",
      "parents": [
        "e4db99cf87c47730e80dc1431f07f4f1062c648e",
        "e651cc6239616a202f6e96ebc2ed93b4b8b3627c"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon May 14 20:12:09 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 14 20:12:09 2012 -0700"
      },
      "message": "Merge \"Remove all Dalvik allocations from Cavnas.drawBitmap(int[], ...)\" into jb-dev"
    },
    {
      "commit": "e651cc6239616a202f6e96ebc2ed93b4b8b3627c",
      "tree": "7aa90f8cccc91555bd652d0a88a898a026cdc333",
      "parents": [
        "99a6ddd4cd8762654a575eb4ac3d0e5431d919b8"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon May 14 19:44:40 2012 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon May 14 19:44:40 2012 -0700"
      },
      "message": "Remove all Dalvik allocations from Cavnas.drawBitmap(int[], ...)\n\nChange-Id: Ie28538a2104d21154fdc78a56525e7403f08287d\n"
    },
    {
      "commit": "8efd02cc49602a65efba7938f81e10b8917fa659",
      "tree": "8a1537e46eddcddcf2bf9ef7d02a50dccb88f962",
      "parents": [
        "b0708669f9612778f62bd363a461a97bb198e5e3",
        "00fdfe4106922502232d747d87bedc5343b5d4be"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon May 14 19:34:12 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon May 14 19:34:12 2012 -0700"
      },
      "message": "am 00fdfe41: Merge \"Properly pre-cache latin glyphs Bug #6408362\" into jb-dev\n\n* commit \u002700fdfe4106922502232d747d87bedc5343b5d4be\u0027:\n  Properly pre-cache latin glyphs Bug #6408362\n"
    },
    {
      "commit": "e4db99cf87c47730e80dc1431f07f4f1062c648e",
      "tree": "de24f68470ac6de5d7ccc274a0a424e8aa632cef",
      "parents": [
        "08b544c7be67343b10a4130611318b8273d06433",
        "90729403d50488566eb4ae0e09bb1be21979a633"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon May 14 19:18:15 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 14 19:18:15 2012 -0700"
      },
      "message": "Merge \"Detect when pointer has stopped moving.\" into jb-dev"
    },
    {
      "commit": "08b544c7be67343b10a4130611318b8273d06433",
      "tree": "55964ac3c37a8fbc0cc5d9a9f888c0af2e48da1d",
      "parents": [
        "a5b2d487005e967eb43b5e077713d6f9bc819fe4",
        "dcab190bd23f632f278af448b0c85b4cadcc6692"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon May 14 19:17:48 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 14 19:17:48 2012 -0700"
      },
      "message": "Merge \"Fix pointer indexing issue in VelocityTracker.\" into jb-dev"
    },
    {
      "commit": "90729403d50488566eb4ae0e09bb1be21979a633",
      "tree": "52f3abce5411493e204de30f273bfa955c95af59",
      "parents": [
        "dcab190bd23f632f278af448b0c85b4cadcc6692"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon May 14 18:46:18 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon May 14 18:57:05 2012 -0700"
      },
      "message": "Detect when pointer has stopped moving.\n\nSome input devices do not generate ACTION_MOVE events while all\npointers have stopped, thereby lulling the VelocityTracker into\na false sense of complacency.  Before handling the following sample,\nreset the VelocityTracker state so as not to be influenced by\nearlier samples before the pointer stopped.  The velocity after\nstopping is assumed to be discontinuous.\n\nBug: 6413587\nChange-Id: I6387bc036ff141d083d3d17a89e37eeaa3188349\n"
    },
    {
      "commit": "47a4a50df09b5ab76ee06cb8845fe5a02952ec32",
      "tree": "ca04808017f0c7d61b7f886af9aecf0db109ff65",
      "parents": [
        "8ce2d78aa89e89e9a5607d8809bf6d248508a531",
        "7174a491bc1f89da65eaef3be25f3ea3f3e3bab5"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon May 14 18:52:59 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 14 18:52:59 2012 -0700"
      },
      "message": "Merge \"Improve touch event resampling.\" into jb-dev"
    },
    {
      "commit": "dcab190bd23f632f278af448b0c85b4cadcc6692",
      "tree": "a5ef26d407c976a8d6cc5504393a54636b68b834",
      "parents": [
        "7174a491bc1f89da65eaef3be25f3ea3f3e3bab5"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon May 14 18:44:17 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon May 14 18:44:17 2012 -0700"
      },
      "message": "Fix pointer indexing issue in VelocityTracker.\n\nVelocityTracker was implicitly assuming that the pointer ids in\na MotionEvent were ordered.  That is not necessarily the case\nso we need to be careful while copying the pointer coordinates out.\n\nBug: 6413587\nChange-Id: I3b23a954f893eebdf786f2a94207149b092ef036\n"
    },
    {
      "commit": "7174a491bc1f89da65eaef3be25f3ea3f3e3bab5",
      "tree": "2171b655c03b965e92a68889ff5bdfea6da10757",
      "parents": [
        "85bd0d62830a098c1bdc720dfdcf4fe1b18b657c"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon May 14 17:00:27 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon May 14 18:31:53 2012 -0700"
      },
      "message": "Improve touch event resampling.\n\nFixed a few bugs related to the id-to-index mapping for\npointer coordinates.\n\nTightened the bounds on the resampling time interval to\navoid predicting too far into the future.\n\nOnly lerp X and Y components of motion events.\n\nAlter the future to satisfy past predictions.  (Rewrite touch\nevents to conceal obvious discontinuities.)\n\nAdded a system property to control whether resampling is enabled\nfor debugging purposes.\n\nBug: 6375101\nChange-Id: I35972d63278bc4e78148053a4125ad9abeebfedb\n"
    },
    {
      "commit": "00ff47484f8137aa3e59f680ff07d2662cfb4088",
      "tree": "2514eedba6d4ecf505067b34e04a653ca2457ba7",
      "parents": [
        "dbd98bfecb34eb3f7101994a6026c7a68ea1e8a9",
        "85bd0d62830a098c1bdc720dfdcf4fe1b18b657c"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Mon May 14 17:12:32 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 14 17:12:32 2012 -0700"
      },
      "message": "Merge \"More VelocityTracker refactoring.\" into jb-dev"
    },
    {
      "commit": "99a6ddd4cd8762654a575eb4ac3d0e5431d919b8",
      "tree": "998293d1bb9efd6b3e0fe2dcb6c994a377c98d8b",
      "parents": [
        "9d9758ae30a59dcf594e0d26ba5d4ee153a3e44a"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon May 14 15:32:18 2012 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon May 14 15:32:18 2012 -0700"
      },
      "message": "Forget the name of a texture after freeing\nBug #6408362\n\nFontRenderer allocates large font textures when more room is needed\nto store all the glyphs used by an application. Thse large textures\nare the first to be freed when memory needs to be reclaimed by the\nsystem. When freeing a texture, the renderer would however not set\nthe texture name to an invalid name, leading future allocations to\nbe performed on the same texture name. That name could have by then\nbe recycled by the driver and returned by a call to glGenTexture\nand used to create an entirely different texture. This would cause\nthe font renderer to point to the wrong texture, thus leading to\nthe \"corruptions.\"\n\nChange-Id: I8a1e80e5b79e8f21d1baf5320c090df4f2066cd4\n"
    },
    {
      "commit": "9d9758ae30a59dcf594e0d26ba5d4ee153a3e44a",
      "tree": "9e9699b094cb5bc74c9cd1b4249d2b35c42114bd",
      "parents": [
        "ae91c4cbc79ea910753be65e2f1d7899abcb4da2"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon May 14 15:19:58 2012 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon May 14 15:19:58 2012 -0700"
      },
      "message": "Fix two memory leaks\nBug #6408362\n\nChange-Id: I58543938e7b64d83504e11e97b0dd21ef8ebf3b6\n"
    },
    {
      "commit": "ae91c4cbc79ea910753be65e2f1d7899abcb4da2",
      "tree": "9391544d7731f84a661da570357be4f6c99cbf8d",
      "parents": [
        "2411c3361eb2c15b09a8bfadf5c7c4a3de092ea0"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon May 14 14:00:27 2012 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon May 14 14:06:02 2012 -0700"
      },
      "message": "Properly pre-cache latin glyphs\nBug #6408362\n\nChange-Id: Ie11644c5a9e2d87d3b851b7e619e5f04b60a7e02\n"
    },
    {
      "commit": "85bd0d62830a098c1bdc720dfdcf4fe1b18b657c",
      "tree": "7b1d7b8335caabd8d2f641e5b56a31ff58d6d2b7",
      "parents": [
        "0d607fbe546ac943de38dad33ae681b09efec6ea"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun May 13 15:30:42 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Sun May 13 16:10:57 2012 -0700"
      },
      "message": "More VelocityTracker refactoring.\n\nBug: 6413587\nChange-Id: Ida1152e7a34d5fe5caab5e6b5e1bc79f6c7a25e6\n"
    },
    {
      "commit": "ce8b9c33b3dec887355b1ef7359d8282a6443d33",
      "tree": "e4594a1e52f5ddf2c0cb91f8ff773b7bce6b7d11",
      "parents": [
        "5794bf2b0ece5dc480513feffcf424d86f44951b",
        "15e8439905cfae4605d101ae96a2694e69fb5017"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Sat May 12 16:26:18 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat May 12 16:26:18 2012 -0700"
      },
      "message": "am 15e84399: Merge \"Add call sites for OpenGL\\\u0027s debug label extension\" into jb-dev\n\n* commit \u002715e8439905cfae4605d101ae96a2694e69fb5017\u0027:\n  Add call sites for OpenGL\u0027s debug label extension\n"
    },
    {
      "commit": "dfa1046ecab165eb0daf5caa8475e993350f4a2b",
      "tree": "90cf67b49d82feaad76749749c38c59239bc2b08",
      "parents": [
        "2d97a70ff8bbac5ea807003d65b64e3b255e82bc"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Sat May 12 16:18:58 2012 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Sat May 12 16:22:35 2012 -0700"
      },
      "message": "Add call sites for OpenGL\u0027s debug label extension\n\nChange-Id: I9c689127e8166cbef92c935f8aa07217ab806dda\n"
    },
    {
      "commit": "47272c932ab6157022aaefd015e5d1df9dc5bd2f",
      "tree": "4d509641b27418312e4d9499266716e4df16eb36",
      "parents": [
        "08df9eac6e7ef246afb5ccd9d7cccadcb131e7b2",
        "b12b6b5116e3d76474296b45f570693bb10d6c99"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri May 11 14:06:30 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 11 14:06:30 2012 -0700"
      },
      "message": "am b12b6b51: Merge \"Minor refactoring before starting on velocity tracker changes.\" into jb-dev\n\n* commit \u0027b12b6b5116e3d76474296b45f570693bb10d6c99\u0027:\n  Minor refactoring before starting on velocity tracker changes.\n"
    },
    {
      "commit": "8a90e6e3174083f274538567d851f98478fc83e9",
      "tree": "2ac01015731bac0d759c8e7b6526ffa4874a369b",
      "parents": [
        "2f0957607411b99810226ad38d59cf18718b86d0"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri May 11 12:24:35 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri May 11 12:32:56 2012 -0700"
      },
      "message": "Minor refactoring before starting on velocity tracker changes.\n\nBug: 6413587\nChange-Id: I5eba2bb57193bff78cb3740de5f87aca0b31d154\n"
    },
    {
      "commit": "d9155605abe9111b1e708cf773c4e6ecfffb59e2",
      "tree": "9e89b971581580863c572f3a64ace1ed890474da",
      "parents": [
        "aecb9b59e6c9e9a864bf4b302f978fb950df09ff",
        "aa9972943cab627db9b10e5c9c4bb80f99f8a4bd"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed May 09 01:48:04 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 09 01:48:04 2012 -0700"
      },
      "message": "am aa997294: Merge \"Revert \"Add temporary functor lifetime logging\"\" into jb-dev\n\n* commit \u0027aa9972943cab627db9b10e5c9c4bb80f99f8a4bd\u0027:\n  Revert \"Add temporary functor lifetime logging\"\n"
    },
    {
      "commit": "aa9972943cab627db9b10e5c9c4bb80f99f8a4bd",
      "tree": "66e77c9e649a8c1eabb4c907c2178e1106d9f200",
      "parents": [
        "59f3f5853cd05103b5a83f5ddbe584a5270a9c6b",
        "12d434a9be03214e9c673580a6f55128eec9b3f9"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue May 08 13:35:09 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 08 13:35:09 2012 -0700"
      },
      "message": "Merge \"Revert \"Add temporary functor lifetime logging\"\" into jb-dev"
    },
    {
      "commit": "12d434a9be03214e9c673580a6f55128eec9b3f9",
      "tree": "3020622d2ae2b33fd5c48bf43ae395d471ab8dca",
      "parents": [
        "2fe99801e81bb7c0ff846b536cbb7a12707410ed"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue May 08 13:07:13 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 08 13:07:13 2012 -0700"
      },
      "message": "Revert \"Add temporary functor lifetime logging\"\n\nbug:6445573\n\nThis reverts commit 2fe99801e81bb7c0ff846b536cbb7a12707410ed"
    },
    {
      "commit": "48fa47174268a7e94e3e39fdd02785d97be3d446",
      "tree": "67ee3bc66727afbf2f0c7cdda1a2f3a58a35ee27",
      "parents": [
        "22135e46b167ed45337ba41bd306d93e5fa67841",
        "4bbcae7eb80704d919d8115d523196798e208439"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Mon May 07 13:21:52 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon May 07 13:21:52 2012 -0700"
      },
      "message": "am 4bbcae7e: Merge \"Fix issue where scale-animating text would jump temporarily a few pixels\" into jb-dev\n\n* commit \u00274bbcae7eb80704d919d8115d523196798e208439\u0027:\n  Fix issue where scale-animating text would jump temporarily a few pixels\n"
    },
    {
      "commit": "4bbcae7eb80704d919d8115d523196798e208439",
      "tree": "c6a50af0b94836f8adec0acbe058003e8922c51c",
      "parents": [
        "d8efe42496806b483bbacea28d2456e8b2eac4fb",
        "d3efd6920e64d0207a0655640297d87d4937ee27"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Mon May 07 13:20:00 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 07 13:20:00 2012 -0700"
      },
      "message": "Merge \"Fix issue where scale-animating text would jump temporarily a few pixels\" into jb-dev"
    },
    {
      "commit": "d3efd6920e64d0207a0655640297d87d4937ee27",
      "tree": "22054ead2157be4ed8db2147a9507e9f94e0e86c",
      "parents": [
        "73b61d67109c9a4267b93c238bb9cbab7b1304c4"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Mon May 07 12:18:19 2012 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Mon May 07 12:18:19 2012 -0700"
      },
      "message": "Fix issue where scale-animating text would jump temporarily a few pixels\n\nSome logic in the native matrix code would determine that a matrix was\n\u0027pureTranslate\u0027 based on the scale values of a matrix being close-enough to 1,\nwhich was within a very small epsilon. This works in general, because screen space\ncoordinates make that epsilon value irrelevant, so close-enough really is close-enough.\n\nHowever, TextView, when centering text, works in a coordinate system that is quite\nhuge, with left/right values about 500,000. These numbers multiplied times that small\nepsilon value would give a result that was significant, and would cause a miscalculation\nof up to 4-5 pixels, causing the snap that we\u0027d see for a couple of frames as the\nscale got \"close enough\" to 1.\n\nThe fix is to remove the optimization of \"close enough\". What we really need the matrix to\ndo is to identify itself as being translate-only when no scale as been set (which is the\ndefault). For the purposes of that check, it is good enough to simply check the values against\n1 directly. Similarly, the bounds-check logic needs to check against 0 and 1 directly.\n\nIssue #6452687: Glitch when changing scale of a view containing text\n\nChange-Id: I167fb45d02201fb879deea0e5a7ca95e38128e17\n"
    },
    {
      "commit": "d92c5c03d0fafe6f4c5f689eabd5024a4bbf262d",
      "tree": "861c2130ad32ec9a690b8ad13eeeece7188604ff",
      "parents": [
        "722211ed8384122e85c45c0490a6fa411d255130",
        "6c5f4cd074e1ec4fd22a807aab409586f9b6b45f"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Fri May 04 10:48:52 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 04 10:48:52 2012 -0700"
      },
      "message": "am 6c5f4cd0: Merge \"Fix hang/crash in native path code\" into jb-dev\n\n* commit \u00276c5f4cd074e1ec4fd22a807aab409586f9b6b45f\u0027:\n  Fix hang/crash in native path code\n"
    },
    {
      "commit": "d34dd71800d9a1077e58c3b7f2511c46848da417",
      "tree": "464ac603e38b3c8593cc03d244892ee3fb3502a6",
      "parents": [
        "5380cdc2e1adc8511b05e7623efb44d67be88418"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Wed May 02 18:50:34 2012 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Thu May 03 11:14:50 2012 -0700"
      },
      "message": "Fix hang/crash in native path code\n\nAn optimization for paths is to only create a texture for the original native\nPath object, and have all copies of that object use that texture. This works in\nmost cases, but sometimes that original path object may get destroyed (when the\nSDK path object is finalized) while we are still referencing and using that object\nin the DisplayList code. This causes undefined errors such as crashes and hanging\nas we iterate through the operations of a destroyed (and garbage-filled) path object.\n\nThe fix is to use the existing ResourceCache to refcount the original path until\nwe are done with it.\n\nIssue #6414050 Analytics Dogfood App crashes reliably on Jellybean\n\nChange-Id: I5dbec5c069f7d6a1e68c13424f454976a7d188e9\n"
    },
    {
      "commit": "0e693b249d7bf63c483654682778f6172c27a8b7",
      "tree": "0427a96c59b7c8593d5d21630bfd1e25eaaaf903",
      "parents": [
        "84cf8e9ceea097f2f613151f49b6a5e908e5bb47",
        "3421f9fd6847faa0bbf3f1d8e1c8424bce52a9a4"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed May 02 17:30:36 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 02 17:30:36 2012 -0700"
      },
      "message": "am 3421f9fd: Merge \"Add temporary functor lifetime logging\" into jb-dev\n\n* commit \u00273421f9fd6847faa0bbf3f1d8e1c8424bce52a9a4\u0027:\n  Add temporary functor lifetime logging\n"
    },
    {
      "commit": "2fe99801e81bb7c0ff846b536cbb7a12707410ed",
      "tree": "3cdd741a9ce1897bbd08ee8f4a81e57cd5271cd0",
      "parents": [
        "e849230f444653e692024b4321044cb9f6188919"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed May 02 13:34:22 2012 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed May 02 16:37:24 2012 -0700"
      },
      "message": "Add temporary functor lifetime logging\n\nbug:6405861\n\nNote: revert once the above bug is verified fixed\n\nChange-Id: Iae04ec6ffa73a2711f96e128d60011bcb5864b5c\n"
    },
    {
      "commit": "c3cca66404571454ee13b341925fe45efd5036e6",
      "tree": "9e78312726afd7ea7cd995d83e4694628ac5a6ff",
      "parents": [
        "48661a65a945367cfc65cbb4b7b39dd0cec92627",
        "0632b35b6828cd4324b3d218c2e38f895e819aad"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue May 01 18:41:00 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 01 18:41:00 2012 -0700"
      },
      "message": "am 0632b35b: Merge \"Improve handling of built-in keyboard.\" into jb-dev\n\n* commit \u00270632b35b6828cd4324b3d218c2e38f895e819aad\u0027:\n  Improve handling of built-in keyboard.\n"
    },
    {
      "commit": "0632b35b6828cd4324b3d218c2e38f895e819aad",
      "tree": "671bc68d2d73cc08001ad1fda16795bd8bf6f3d4",
      "parents": [
        "5a00661bd6a1bfe82656c51d23a3ac6be99602a2",
        "daa3753a04699724d2cfe824ac1f5a266d643a05"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue May 01 18:39:00 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 01 18:39:00 2012 -0700"
      },
      "message": "Merge \"Improve handling of built-in keyboard.\" into jb-dev"
    },
    {
      "commit": "daa3753a04699724d2cfe824ac1f5a266d643a05",
      "tree": "ddc33d395dd0f3d01a95775397356983fb28a076",
      "parents": [
        "32c8113510b2774f865e8ac763976b90d9db2706"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue May 01 15:54:03 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Tue May 01 16:34:20 2012 -0700"
      },
      "message": "Improve handling of built-in keyboard.\n\nThe window manager policy made some incorrect assumptions about the\nmeaning of the Configuration.keyboard field.  We need to be more\ncareful about distinguishing between built-in and external keyboards.\n\nMost of this change is to move the determination of the parts of\nthe Configuration related to input devices into the WindowManagerService\nleveraging new features of the InputManagerService to good effect.\n\nThen we plumb through the flag that indicates whether a device\nis internal or external so that we can be more particular about\nhow the lid switch effects changes to the Configuration.\n\nBug: 6424373\nChange-Id: I36a1c22ade35e578955465a25940a33f227b9763\n"
    },
    {
      "commit": "2bee5f4f1a2387d9cfc0604fb93d2af17ae3c86b",
      "tree": "ef08df4d158479fdec8122b5528c0b8acddf1a59",
      "parents": [
        "aa4348053857ae5b3ee00cb093057ed0e424f2ba",
        "3b83dc42df8d2d2b97bfa63a00f2d0c742fe8dfc"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Tue May 01 11:14:28 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 01 11:14:28 2012 -0700"
      },
      "message": "am 3b83dc42: Merge \"Fix launcher invisibility bug\" into jb-dev\n\n* commit \u00273b83dc42df8d2d2b97bfa63a00f2d0c742fe8dfc\u0027:\n  Fix launcher invisibility bug\n"
    },
    {
      "commit": "6f9ad204cc529babeb3aa7c9a57cf00ed7188471",
      "tree": "ebd4cc3f8f598ec8da1d778103fedf05dc3036d3",
      "parents": [
        "427db9b3d10d5c203d0351e683c3cddfd270250c"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Tue May 01 10:05:13 2012 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Tue May 01 10:05:13 2012 -0700"
      },
      "message": "Fix launcher invisibility bug\n\nThere was a bug in the DisplayList code for layers where we would\nset the alpha value for a layer only if the alpha were non-1. This works\nmost of the time (since the value is usually 1 and doesn\u0027t need to\nbe set at all, and if the value is non-1, it is set correctly). But when\nthe value has been set to a non-1 value, setting alpha back to 1 cannot happen\ndue to this logic. This caused launcher to have some invisible pages when\nreturning to Home because those pages previously had an alpha value of 0, and\nsetting the alpha to 1 had no effect due to this DisplayList code.\n\nThe fix is to simply remove the check for non-1 values; we should\nalways set the alpha value of layers to handle all cases.\n\nIssue #6413892 alpha value is messed up after AlphaAnimation\n\nChange-Id: Ia51acb2eaaf0609ea7189998ed449bdd9ea7e05f\n"
    },
    {
      "commit": "3e2d59146df9e9e325dcc65018bb130b03242bbc",
      "tree": "54d3d73e5d71d8ae0e83bfd6516cb6befd7ece97",
      "parents": [
        "39b58ba2b299e1c97e13535aae9add530d942c7b",
        "13c04786ceec6aebe898bca7c62853af2e4e7c09"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue May 01 10:00:22 2012 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue May 01 10:02:02 2012 -0700"
      },
      "message": "resolved conflicts for merge of 13c04786 to jb-dev-plus-aosp\n\nChange-Id: Ib7aa5a768f4606beb2a4387811cfed7c00cbc111\n"
    },
    {
      "commit": "39b58ba2b299e1c97e13535aae9add530d942c7b",
      "tree": "94247b9025407767a527abeded5c8cfebfabe1cb",
      "parents": [
        "a43d2589b1ce657d8af7702cd7b3e3114e7ae133",
        "bc2fb7b92e013779356c16685a388d5cdae6e93d"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue May 01 09:53:48 2012 -0700"
      },
      "committer": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue May 01 09:54:38 2012 -0700"
      },
      "message": "resolved conflicts for merge of bc2fb7b9 to jb-dev-plus-aosp\n\nChange-Id: I5386585e473201268c6ed8b05e0a16569d434ea2\n"
    },
    {
      "commit": "b2228eb7141354089f974a4db3b5224a0ad75fd4",
      "tree": "2b360bec8e2aa790c4ecee05b0486c60f42e55e6",
      "parents": [
        "9e3bc3f61df541271c8a1dfc5564cab853951aec",
        "249e3ed5400e5c7ab2e9aa8017f612d79d2e8089"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue May 01 09:20:32 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 01 09:20:32 2012 -0700"
      },
      "message": "Merge \"Runtime resource overlay: clean-up.\""
    },
    {
      "commit": "9e3bc3f61df541271c8a1dfc5564cab853951aec",
      "tree": "d8433af997868fe41e207c58577e1fb934dcb903",
      "parents": [
        "6a8186fb88455fcc418def0650b7b9f8f3573153",
        "c761d8b0086f9e92eb1e4b3a5683ae6afb84036a"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Tue May 01 08:49:37 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 01 08:49:38 2012 -0700"
      },
      "message": "Merge \"Build overlay packages just like regular packages.\""
    },
    {
      "commit": "ffd6ea4523d8fa1210d2a7bb757cc65e1d18465f",
      "tree": "1e98fb2139d8b5e7dbf8bf395fb8a6fa185ad85a",
      "parents": [
        "65340c1682dc73671d59cfbe27ee86549d23ed1d",
        "771526c88f5cc4b56a41cb12aa06a28d377a07d5"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Apr 27 17:31:50 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 27 17:31:50 2012 -0700"
      },
      "message": "Merge \"Resample touch events on frame boundaries.\" into jb-dev"
    },
    {
      "commit": "771526c88f5cc4b56a41cb12aa06a28d377a07d5",
      "tree": "71c36f271192ee66f069f0d1130a73e91b8302b9",
      "parents": [
        "330314c6fb7c178c0f0da65d6aa8c9e7d3004568"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Apr 27 15:13:25 2012 -0700"
      },
      "committer": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Apr 27 15:58:42 2012 -0700"
      },
      "message": "Resample touch events on frame boundaries.\n\nBug: 6375101\nChange-Id: I8774e366306bb2b6b4e42b913525bf25b0380ec3\n"
    },
    {
      "commit": "665a376d245d7bbfc43e3cfa651afc7448604afa",
      "tree": "a838497443ccd7ea52d429f55a9305debdb57a1e",
      "parents": [
        "d51f90ff7e9c5afa3feb4e2c2a3956861c2fd95e",
        "fdd6fc1beb5076a630c7066b8b1731995636c09f"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Apr 27 15:20:04 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 27 15:20:04 2012 -0700"
      },
      "message": "Merge \"Work-around for a Skia rasterization bug Bug #6411457\" into jb-dev"
    },
    {
      "commit": "fdd6fc1beb5076a630c7066b8b1731995636c09f",
      "tree": "8df0ddc48fda9ffb9015e3fb190e68ca806646d4",
      "parents": [
        "a44a63ac5c29b2cc57df95ec495def8cdddd9c6f"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Apr 27 11:47:13 2012 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Apr 27 11:47:13 2012 -0700"
      },
      "message": "Work-around for a Skia rasterization bug\nBug #6411457\n\nSkia does not generates the bottom right pixel of a rect when\ndrawing a rect as an SkPath into an alpha8 bitmap.\n\nChange-Id: Ifb5286ae67745c9e44ee387b6d6ad607a9a2e6ce\n"
    },
    {
      "commit": "8bd12ea8001f72f4450e318e43c50dbc46b4869c",
      "tree": "9b4edec9a02b98392cad6871b579139bb62cc92a",
      "parents": [
        "87b16c803932e8d54889cdb60117034fdc2ef75c",
        "a44a63ac5c29b2cc57df95ec495def8cdddd9c6f"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Apr 26 14:06:41 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 26 14:06:41 2012 -0700"
      },
      "message": "Merge \"Decode common GL error codes when logging frame error status\" into jb-dev"
    },
    {
      "commit": "a44a63ac5c29b2cc57df95ec495def8cdddd9c6f",
      "tree": "476fde78dde6caa2ab5053d2ba2e2c6b344404eb",
      "parents": [
        "8f8d9fb52c65e50a32babf67ef764e173d2a5473"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Apr 26 14:05:02 2012 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Apr 26 14:05:02 2012 -0700"
      },
      "message": "Decode common GL error codes when logging frame error status\n\nChange-Id: I38b333eea53aef20340ce48dfcb0dd30a223f7a8\n"
    },
    {
      "commit": "a75fbc3c76dfe6a1c678b66f83cef878e3f3cdf4",
      "tree": "adb91464ca79fb962644d559a48f482c5ee2d87d",
      "parents": [
        "85973212e9a63590118c2ad8937798bc1aa62687",
        "c2c9543c135ffc4e18c7db0e817112ac03e3e97a"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Apr 26 12:27:56 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 26 12:27:56 2012 -0700"
      },
      "message": "Merge \"On new content, attach functor directly\" into jb-dev"
    },
    {
      "commit": "c189ef53220059acf2adedc92ac4ac7e6a993e6b",
      "tree": "faf8d04864c0276bf4d5166cc72eb0b5fe77e68b",
      "parents": [
        "1b8f499a14a4340d3422d95c7f6fdc8c0c72b3a4"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Apr 25 20:02:53 2012 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Apr 25 20:02:53 2012 -0700"
      },
      "message": "Ensure we start every frame in the proper GL state\nBug #6345013, #6314960\n\nChange-Id: I6985f7f233eb6a5f9223e9f4be3f323154b5dbf0\n"
    },
    {
      "commit": "c2c9543c135ffc4e18c7db0e817112ac03e3e97a",
      "tree": "59bab91aaec14c1682d7f8500d552c21f1326fe9",
      "parents": [
        "7725180c646d1976a2a2097735862a75ec47c544"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Apr 25 15:13:52 2012 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Apr 25 15:42:59 2012 -0700"
      },
      "message": "On new content, attach functor directly\n\nbug:6323847\n\ndepends on external/webkit change: https://android-git.corp.google.com/g/#/c/184314/\n\nChange-Id: Ibdf997f3ee4f5c5c1ea5a320556813f175fea93f\n"
    },
    {
      "commit": "3d745c03ace18ee59c539e1b7f1df13f22beb57d",
      "tree": "33caa47aa08df523b6f34ec38a25845418c20f10",
      "parents": [
        "ba6be8a62dcdb3ffd210cd36b9af4e3a658eac47"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Apr 23 20:36:17 2012 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Apr 23 20:36:17 2012 -0700"
      },
      "message": "Fix the build before the bot yells at me.\n\nChange-Id: Ice7fe02b684ad662262aae3cac7a48a835ebcad5\n"
    },
    {
      "commit": "ba6be8a62dcdb3ffd210cd36b9af4e3a658eac47",
      "tree": "04f9b4d5589333970c91e51af6280a5859b78460",
      "parents": [
        "88fffb7a34313d5e94b3974d444d07bd6a4879a4"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Apr 23 18:22:09 2012 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Apr 23 20:29:31 2012 -0700"
      },
      "message": "Prevent WebView from crashing when detached from the window\nBug #6365056\n\nWebView enqueues a functor in the hardware renderer to handle\nanimations and this functor is called at a later time by the\nhardware renderer. However, the functor was not removed from\nthe queue when WebView was removed from the window. This could\ncause the hardware renderer to attempt to execute an invalid\nfunctor and lead to a crash.\n\nChange-Id: I9d38e80f3fdc5e29d4d0cdfa1e893c251a954508\n"
    }
  ],
  "next": "8bca94ad83f82682bc15df29dc25377fe43da17f"
}
