)]}'
{
  "log": [
    {
      "commit": "571c5a26f767f67118f34ca0d426aeeb4a287b2c",
      "tree": "c6019f3417f18d7b7c80342aae5f78cfd649ca80",
      "parents": [
        "d693690aee3ee94878ab59ee86d8db8ce5bb3789",
        "1b4f316651096f0ef9301b4ffde4816a08a54ab5"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Apr 14 23:25:26 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 14 23:25:27 2015 +0000"
      },
      "message": "Merge \"Fix UB in ResourceTable::stringToInt.\""
    },
    {
      "commit": "a08f6a66e91c7bacd50e64c039aaaa6b9fe2625c",
      "tree": "38ccb9efe7e3c12da3f5813c8600d4a7326cd588",
      "parents": [
        "d56e087b550f7ee351f15ac6c5ff9d57a08387fc",
        "1f61b1911e03ef3fc51c3db64798071f3a7477ec"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Apr 10 15:32:00 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 10 15:32:01 2015 +0000"
      },
      "message": "Merge \"Fix GL_INVALID_OPERATION in font renderer when font cache is limited.\""
    },
    {
      "commit": "d56e087b550f7ee351f15ac6c5ff9d57a08387fc",
      "tree": "7ea4efa4538b4b42c5c626d73b19b38d04af065b",
      "parents": [
        "6d718c2f43f6be057f9a519bc02f6b123405b79d",
        "e11f3ab000ec8d71e816aea7f266a3ceafebfd56"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Apr 10 15:27:01 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 10 15:27:02 2015 +0000"
      },
      "message": "Merge \"Fixing memory leak in RenderBufferCache\""
    },
    {
      "commit": "1b4f316651096f0ef9301b4ffde4816a08a54ab5",
      "tree": "f141604343f4114337483ed0fb30fe36f4750310",
      "parents": [
        "47c1cf4b35616059409a0674382c2318494e877b"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Apr 07 18:43:15 2015 -0700"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Wed Apr 08 14:12:21 2015 -0700"
      },
      "message": "Fix UB in ResourceTable::stringToInt.\n\nWas here because UBsan found integer overflow in the parsing for hex\nnumbers, since hex numbers here are actually unsigned but assigned to\na signed integer.\n\nAlso fixes a number of missing error conditions.\n\nChange-Id: Iaea576daedfc6c75521cde02de3fe9dd0198a3b7\n"
    },
    {
      "commit": "82f6b16e10a116a42e32c99c34fb2d435da21fd5",
      "tree": "5987d276af72492cb5317cea7a8a90062e4f76c9",
      "parents": [
        "ff022cb1bd70fc4c9f973af5afebf51517bda572",
        "b159633aa3b91301de108a0b32e4634c72f34d14"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@android.com",
        "time": "Wed Mar 25 16:15:11 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 25 16:15:12 2015 +0000"
      },
      "message": "Merge \"hwui : fix memory leak due to duplicate in shadow cache\""
    },
    {
      "commit": "c80c9ad188ac6c421e70c906104d4394504878fb",
      "tree": "63a540b1640646ea5edde02daad5479830c7759c",
      "parents": [
        "d3e6428aea34ce3297123c63b4dd6223dac5d5a8"
      ],
      "author": {
        "name": "youngmin0822.lee",
        "email": "youngmin0822.lee@lge.com",
        "time": "Fri Mar 20 21:22:32 2015 +0900"
      },
      "committer": {
        "name": "youngmin0822.lee",
        "email": "youngmin0822.lee@lge.com",
        "time": "Fri Mar 20 21:22:32 2015 +0900"
      },
      "message": "Don\u0027t create unnecessary RenderThread\u0027s instance when executing \u0027dumpsys gfxinfo\u0027\n\nTo obtain the gfxinfo for each process, the static method of RenderProxy is used, which is named outputLogBuffer().\nIn there,\n1. RenderTask is created for getting DisplayList Commands in RenderNode.\n2. staticPostAndWait() is called\n3. RenderThread\u0027s instance is created by \u0027RenderThread::getInstance()\u0027 in staticPostAndWait()\n\nIn case of the service, they don\u0027t use HW Acceleration, so don\u0027t need RenderThread.\nBut, by the process of No.3, RenderThread is created for all process.\nAs we know, RenderThread never be destroyed while the process is alive.\nThis patch checks RenderThread instance before the creation of RenderTask.\nAnd, there is no one, just return to prevent the unnecessay creation of it.\n\nChange-Id: I4fe29d83c9ced3e8b67177c0874c5d8ee62e1870\n"
    },
    {
      "commit": "b159633aa3b91301de108a0b32e4634c72f34d14",
      "tree": "6a1afed560dac8141242f6abb6ea51cae75784dd",
      "parents": [
        "9aeb080eec2286e8604901bd2b8248be4e527107"
      ],
      "author": {
        "name": "Mykola Kondratenko",
        "email": "mykola.kondratenko@sonymobile.com",
        "time": "Thu Mar 12 15:20:38 2015 +0100"
      },
      "committer": {
        "name": "Henrik Baard",
        "email": "henrik.baard@sonymobile.com",
        "time": "Tue Mar 17 08:57:41 2015 +0100"
      },
      "message": "hwui : fix memory leak due to duplicate in shadow cache\n\nNew ShadowTask with the ShadowDescription key that already\nexists in the shadow LruCache will leak as it is not being\nadded.\n\nFix adds check for the existing key that is common in the hwui\ncode but missing for the TessellationCache::precacheShadow\nfunction.\n\nChange-Id: I37fd5ec82f8b8da5d1ec0f2ab9fd04c5f8534367\n"
    },
    {
      "commit": "76507a64b530c757dc284f1f4d0807ffbfd9a701",
      "tree": "18ec820c1dd7fb03a97636fcc5451fd88e049cc2",
      "parents": [
        "948682d15f1a4a6676318213a49b50b967cfae27",
        "72dc62ead214bdec5c46d42f4e859b139dba0a00"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Feb 24 12:56:52 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Feb 24 12:56:52 2015 +0000"
      },
      "message": "am 72dc62ea: Merge \"Track removal of refcounts from FileMap.\"\n\n* commit \u002772dc62ead214bdec5c46d42f4e859b139dba0a00\u0027:\n  Track removal of refcounts from FileMap.\n"
    },
    {
      "commit": "688ff4cf0f93d1a886437884f23874e5595d59a3",
      "tree": "b8ef91775dfc3dff86d05aa5638b17dee597ca91",
      "parents": [
        "adb52ef7034d4d3e0eee58cedae2a343d29771b9"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Feb 23 15:47:54 2015 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Feb 23 15:47:54 2015 +0000"
      },
      "message": "Track removal of refcounts from FileMap.\n\nUse delete instead of release.\n\nChange-Id: I25c841b368aa9d51e9259399b94cafa2bbb7a076\n"
    },
    {
      "commit": "c7e6b93aba9dce93aacb05b5d9f59d09eddb0329",
      "tree": "4ac6ea4f9cdc30c08c5a6f81f3301220667e5679",
      "parents": [
        "4c49b1fb774d59d3a6e8a6bb5a4549828504c5af",
        "af6eaf656ec0de5fcbea03968daffe2c845e2089"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Feb 04 22:08:27 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 04 22:08:27 2015 +0000"
      },
      "message": "am af6eaf65: Merge \"Fix ANR caused by hwuiTask thread\" automerge: 5ad36d4\n\n* commit \u0027af6eaf656ec0de5fcbea03968daffe2c845e2089\u0027:\n  Fix ANR caused by hwuiTask thread\n"
    },
    {
      "commit": "5ad36d4591e7b3b1b74f0a213d18384f53734ab2",
      "tree": "b65334ee41c519e1a05aa9489b469b0592694728",
      "parents": [
        "fd2c1307e66573c398ff53eab25ee82735277091",
        "c3c58e015fa30a0ad87d4af2b95b7071baa8ffe4"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Feb 04 21:53:47 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 04 21:53:48 2015 +0000"
      },
      "message": "Merge \"Fix ANR caused by hwuiTask thread\""
    },
    {
      "commit": "fe5ac4fc31ee671721f98cf28cf1bd32ac119998",
      "tree": "952b5017b376254fb22310bbb91d6c600dd5291e",
      "parents": [
        "3ac22f7a386317ed4affe5bca0406501726ddb73",
        "5f3e21cebeecf042e8e18a5021b3965415d9ff60"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Jan 29 20:28:08 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 29 20:28:08 2015 +0000"
      },
      "message": "am 5f3e21ce: am 6efc3ac6: Merge \"Allow ~Layer() to happen after onGLContextDestroyed\" into lmp-mr1-dev\n\n* commit \u00275f3e21cebeecf042e8e18a5021b3965415d9ff60\u0027:\n  Allow ~Layer() to happen after onGLContextDestroyed\n"
    },
    {
      "commit": "57998017ff137f7d4ec33df21b6596141f8c4547",
      "tree": "ed9786692ee5727eacea084f12ea417b1d0f7915",
      "parents": [
        "8514766a0a388c3598eaa64709edc634f8edccb1"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Jan 29 10:17:57 2015 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Jan 29 10:17:57 2015 -0800"
      },
      "message": "Allow ~Layer() to happen after onGLContextDestroyed\n\nBug: 19146354\nChange-Id: I9e885936168bd541bfbed4064ad67ab524f58e32\n"
    },
    {
      "commit": "3a10a672f05735be46256617b8a61cdb1e589008",
      "tree": "1af6e4124be472ec39bc66563ade6f4efca10b5a",
      "parents": [
        "3fd1ebff6c017ba4495070cb34f1ed7652b33cc9",
        "f70492898b3efa3c5f480f195062fa6f293bc764"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Tue Jan 27 07:04:55 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 27 07:04:55 2015 +0000"
      },
      "message": "am f7049289: am 3812e68e: Merge \"kill HAVE_PTHREADS.\"\n\n* commit \u0027f70492898b3efa3c5f480f195062fa6f293bc764\u0027:\n  kill HAVE_PTHREADS.\n"
    },
    {
      "commit": "1610486d371b867c0a842ede38e64774c18ba5d9",
      "tree": "0c48396116094b6642fbc86973c3939d800ca7d3",
      "parents": [
        "82a1a2c63959adc0c7e3208c6ffa6985a346ae57"
      ],
      "author": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Jan 26 19:43:58 2015 -0800"
      },
      "committer": {
        "name": "Yabin Cui",
        "email": "yabinc@google.com",
        "time": "Mon Jan 26 22:32:38 2015 -0800"
      },
      "message": "kill HAVE_PTHREADS.\n\nBug: 19083585\nChange-Id: Ib466949bb6cd6d1bbc4680e989f0f9fae62ca564\n"
    },
    {
      "commit": "d9bd08864eaf9d8847d974eadb81806b9e086a2d",
      "tree": "7f3f1caed8501f6409955deb27db6fa211fbca62",
      "parents": [
        "a9c122af60621597f1d008c8a283074309383aac",
        "554a6f5278ec05077d8252249afc911897fbfe76"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Jan 20 21:55:12 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 20 21:55:12 2015 +0000"
      },
      "message": "am aee7225e: Merge \"Process base APK\" into lmp-mr1-dev\nautomerge: 554a6f5\n\n* commit \u0027554a6f5278ec05077d8252249afc911897fbfe76\u0027:\n  Process base APK\n"
    },
    {
      "commit": "42eea270a0a2bc54f454312817c41ac357e3a884",
      "tree": "36a4b3f3f658c40be17f3ce7c4bc3b6836bc817a",
      "parents": [
        "8d47bc97e642cd0d0caf31d09efe05d8dc233f27"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Jan 15 17:01:39 2015 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Jan 16 14:11:30 2015 -0800"
      },
      "message": "Process base APK\n\nThe base APK may have resources with configurations that compete\nagainst some splits. The base APK must be involved in the selection\nof splits.\n\nBug:18982001\nChange-Id: Ieb29b5a36cf2c68e7831484d98a9fd275acd97e8\n"
    },
    {
      "commit": "a2e1630b1e82f19c8e58882ab484ed21c3508692",
      "tree": "56fbbebbbb1dedb91e9264cf005a5a88f32db5f4",
      "parents": [
        "c2230a9d1a7bba12b78630a0dfbad7be5c97050f",
        "996d39743a73cc37fb888779d52323743f50c666"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@android.com",
        "time": "Fri Jan 16 18:07:23 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 16 18:07:23 2015 +0000"
      },
      "message": "am 996d3974: am ed35f5c7: Merge \"Fast loadInverse() implementation for the common case\"\n\n* commit \u0027996d39743a73cc37fb888779d52323743f50c666\u0027:\n  Fast loadInverse() implementation for the common case\n"
    },
    {
      "commit": "e4998e1ea93253c177f2358dc37c39d117b2f6c4",
      "tree": "7358fe43e5acd3eddc6875ec0cfdea2604ca3c60",
      "parents": [
        "a747d5e47bef27acd18afda3ed43309ad5fab87b"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@curious-creature.com",
        "time": "Thu Jan 15 11:53:44 2015 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@curious-creature.com",
        "time": "Thu Jan 15 16:49:18 2015 -0800"
      },
      "message": "Fast loadInverse() implementation for the common case\n\nMost matrices used by the UI toolkit are translation matrices, whose\ninverses can be quickly computed by using the negated translation\nvector.\n\nChange-Id: I54a28a634a586085779bfc26f3a4160cd5ab2b22\n"
    },
    {
      "commit": "5baa164aec06a9973a68303bc7752aa76e5c68e5",
      "tree": "059ff600e32873cd11ff9e3a3a78495eb43f9504",
      "parents": [
        "fce232b4080a12220821568ab670a0cdce4893c5"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jan 14 18:19:54 2015 -0800"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed Jan 14 18:19:54 2015 -0800"
      },
      "message": "Restore write_delete_file\n\nChange-Id: Id93a59ae6c82f6068c58b22e2a651ff8a3b8f530\n"
    },
    {
      "commit": "cefeb34e4866209e2ccf4c520919fe31a3f1aeb5",
      "tree": "fea8262b6a42bc41e5a84a65a4858ca37ecd0c21",
      "parents": [
        "c83245be678608533ce53005f4149719f6dd5e03",
        "2c9f86aa21b8d7ea6a77eaca9a49ccdb31245129"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Jan 15 01:39:50 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 15 01:39:50 2015 +0000"
      },
      "message": "am 2c9f86aa: am 53af1cd3: Merge \"Vsyncs are hard\" into lmp-mr1-dev\n\n* commit \u00272c9f86aa21b8d7ea6a77eaca9a49ccdb31245129\u0027:\n  Vsyncs are hard\n"
    },
    {
      "commit": "49138184dee54357b1923f302e4b3fedd73ca34f",
      "tree": "865df305f680cb41daf7216664d4b2a0edc133b3",
      "parents": [
        "b8794c76d677ef04c96b9edc002fe6e1f53022c7",
        "9568307cf32c8abc6703dc7a1b0b0fee56c4f8f5"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Jan 15 01:39:29 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 15 01:39:29 2015 +0000"
      },
      "message": "am 9568307c: am 43a4a8c7: Fix redundant file backups\n\n* commit \u00279568307cf32c8abc6703dc7a1b0b0fee56c4f8f5\u0027:\n  Fix redundant file backups\n"
    },
    {
      "commit": "53af1cd3930a398b2008c4be9c10e5182392ffaf",
      "tree": "4eb04dafd9140f91dcb00e9d56dea09a1d371759",
      "parents": [
        "aa229902ef73f8777768414092eaf99eeff05f87",
        "a22c9b2cd171a656fa684d57a915dbe636da5f6a"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Jan 15 01:08:56 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 15 01:08:57 2015 +0000"
      },
      "message": "Merge \"Vsyncs are hard\" into lmp-mr1-dev"
    },
    {
      "commit": "43a4a8c777fbb8f71540ac7fbe82674489ef557b",
      "tree": "ab4f4b3a27124b244aa8b3cbb013c674da07731d",
      "parents": [
        "a2fa3d219bc148c196b0eb3cf7b3b1bd453e830b"
      ],
      "author": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Thu Jan 08 18:42:33 2015 -0800"
      },
      "committer": {
        "name": "Christopher Tate",
        "email": "ctate@google.com",
        "time": "Wed Jan 14 16:36:30 2015 -0800"
      },
      "message": "Fix redundant file backups\n\nWe\u0027d observed a bug in which an unchanged file was nevertheless\nbeing redundantly transmitted for backup on every backup pass.\nThe underlying issue turns out to have been the FileBackupHelper\nbase implementation\u0027s logic for diffing the prior-state file\nset against the current state, in the case when there had been\ndeletions of prior files.  In addition, there was also a\nparallel bug in which file checksums were not calculated\nproperly in some cases, leading to at least one additional\nredundant backup of the file in question.\n\nBug 18694053\n\nChange-Id: Ie0dec06486b5fef4624561737019569c85d6b2a0\n"
    },
    {
      "commit": "a22c9b2cd171a656fa684d57a915dbe636da5f6a",
      "tree": "d7b4e944191fc2dc62d12f1e2bb4b73642267fc4",
      "parents": [
        "820088587e732fe04b705248a06f275bf264be33"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Jan 14 10:40:15 2015 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Jan 14 10:40:15 2015 -0800"
      },
      "message": "Vsyncs are hard\n\nBug: 18866485\nChange-Id: I7d304df0f20a3296956cb6887a72adba9243f117\n"
    },
    {
      "commit": "1e14722167210e176cc1f6e702f1a7a98271c6d2",
      "tree": "8f5934e5c190670cf8e9fadcc047a54820328a56",
      "parents": [
        "5849c0e4c6f8bf44de44e964ce365c0959070494",
        "d6c475dc246b1681f5c9af9e00ac74183812329c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jan 13 01:32:37 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jan 13 01:32:37 2015 +0000"
      },
      "message": "am d6c475dc: am 595ae39f: Merge \"Use more intention-revealing tests for S_ISLNK and S_ISSOCK.\"\n\n* commit \u0027d6c475dc246b1681f5c9af9e00ac74183812329c\u0027:\n  Use more intention-revealing tests for S_ISLNK and S_ISSOCK.\n"
    },
    {
      "commit": "1bf248123399daf8d4bee9c30ba13b9887e5001e",
      "tree": "055e3fdc43d09f7d30253638bbd84507cfd171a0",
      "parents": [
        "837261cc997cbb188de05e3d1194adb91cb75825"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 12 14:33:04 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Mon Jan 12 14:33:04 2015 -0800"
      },
      "message": "Use more intention-revealing tests for S_ISLNK and S_ISSOCK.\n\nChange-Id: Ia7f13eb7d5a36cf2b4c0a253b2b4d7f7af396951\n"
    },
    {
      "commit": "c3c58e015fa30a0ad87d4af2b95b7071baa8ffe4",
      "tree": "9d76978e72832d6f33357c39445aecf804ee4b21",
      "parents": [
        "7f94b52fc7c66bc40702b46f59b3929c076cbbfb"
      ],
      "author": {
        "name": "Sangkyu Lee",
        "email": "sk82.lee@lge.com",
        "time": "Mon Jan 12 09:51:53 2015 +0900"
      },
      "committer": {
        "name": "Sangkyu Lee",
        "email": "sk82.lee@lge.com",
        "time": "Mon Jan 12 13:10:52 2015 +0900"
      },
      "message": "Fix ANR caused by hwuiTask thread\n\nIf hwuiTask thread is exited while HWUI renders something,\nsome tasks can remain unfinished forever.\nThis can make ANR problem if RenderThread waits this kind of tasks.\n\nAccording to the current implementation, hwuiTask threads are\nexited when HWUI receives trimMemory() callback with level \u003e\u003d 20\nand some applications such as SystemUI can receive trimMemory()\nwith level \u003e\u003d 20 even though they renders something yet.\n(For instance, when RecentsActivity in SystemUI is finished,\nHWUI receives trimMemory() callback with level \u003e\u003d 20\nbut SystemUI should still render the status bar and navigation bar.)\n\nThis patch prevents the tasks from remaining unfinished and\nmake the tasks executed immediately if they cannot be added\nto their TaskProcessors.\n\nChange-Id: I5bd26439aa5f183b1a7c1ce466362e27554b4d16\n"
    },
    {
      "commit": "ed3c2962be1e2966c3b46f20e81d2902a8302d8b",
      "tree": "d159399de6dec180d4afb71681ed0b748dd53fb3",
      "parents": [
        "19ecc7847faf0f6800c342eab806358d68b610c1",
        "165fb8f5aa0709a8dc35f99a9b81f6906452a648"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Dec 19 23:21:44 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Dec 19 23:21:44 2014 +0000"
      },
      "message": "am 165fb8f5: am f89dac47: Merge \"Tweak RT-animator scheduling\" into lmp-mr1-dev\n\n* commit \u0027165fb8f5aa0709a8dc35f99a9b81f6906452a648\u0027:\n  Tweak RT-animator scheduling\n"
    },
    {
      "commit": "a733f89c05567c97359169832f41389b939baaad",
      "tree": "043dc0c717173faf4154b357a544ff328d9c37ff",
      "parents": [
        "28fbe04052b95ada3c32d805f26d6d9ad5548d6b"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Dec 19 11:37:21 2014 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Dec 19 11:37:21 2014 -0800"
      },
      "message": "Tweak RT-animator scheduling\n\nBug: 18226391\n\nThe issue occurs as a result of a dispatchFrame itself\ntaking longer than 12ms, the alloted budget. The result\nis that a vsync request (which occured at the end) would\nmiss the vsync that occured 1ms prior to the end of the frame.\nAs a result it would end up waiting for the following vsync,\nessentially dropping to 30fps even though 60 could have been\nsustained.\n\nFix this with a few tweaks.\nFirst, adjust the UI thread\u0027s delay bias from (now + 4ms) to\n(vsync + 4ms), this prevents RT animators from slowly drifting\nif the vsync occurs mid-task.\nSecond, request a vsync preemptively prior to running callbacks.\nThis way if any callbacks needs the next vsync and it takes\n\"too long\", we will catch that vsync.\nFinally, fix an issue where the display event queue was always\ndrained \u0026 rejected at the end of a task loop. Instead, drain\nand reject all stale vsyncs. This still prevents the issue of\nboth UI thread \u0026 RT thread trying to drive 2 frames in a single\npulse, but also allows RT to notice that it missed a vsync\npulse it needed and that it should speed-up a bit in response\n\nChange-Id: I9d6be037737e9283297898cac2e3563453e797cd\n"
    },
    {
      "commit": "fd461edee007a654dc163b397445cd071f04caf9",
      "tree": "ffa1bf4644f7523f374f20c8fdbcf24a67f0b3d9",
      "parents": [
        "424924afc17c807a8059a55a522c976f64973c5d",
        "93492d1a478770783abab764855c8d47e0264f71"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Dec 17 22:17:21 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Dec 17 22:17:21 2014 +0000"
      },
      "message": "am 93492d1a: am c748832f: Merge \"Revert overdraw avoidance visualization change\" into lmp-mr1-dev\n\n* commit \u002793492d1a478770783abab764855c8d47e0264f71\u0027:\n  Revert overdraw avoidance visualization change\n"
    },
    {
      "commit": "c748832f759cd7a390a32890530e854b9711eb7c",
      "tree": "b06fbef4fccf329486365496f20899a79666b64c",
      "parents": [
        "fadfe708e6f0c74890fe2b3292a91570f3049215",
        "ef8d6f272ae451aaedb0f02249c0f9f0576efdf3"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Dec 17 22:07:02 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 17 22:07:04 2014 +0000"
      },
      "message": "Merge \"Revert overdraw avoidance visualization change\" into lmp-mr1-dev"
    },
    {
      "commit": "ef8d6f272ae451aaedb0f02249c0f9f0576efdf3",
      "tree": "693f1a191c5a8704a55fc13360eab56e9db01fb3",
      "parents": [
        "596d4e7230ae1858aaafbae7987e46d65181f1bd"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Dec 17 11:10:28 2014 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Dec 17 11:21:02 2014 -0800"
      },
      "message": "Revert overdraw avoidance visualization change\n\nbug:18787324\n\nPartial revert of 23d307c8d88f4a3849163b9e5b7cd11d0d4f372c.\n\nChange-Id: Ic8b91b046707fc5b8fa53c35ea7b37bb19c3c943\n"
    },
    {
      "commit": "f088c349dfea985e561d7e838ecd41be5168cd4a",
      "tree": "5b9d412b5bf31cd6f20f0e94dc464174441efca0",
      "parents": [
        "7fc885b0bfb8a799825531932567a1d472a55087"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Dec 12 09:49:29 2014 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Dec 12 09:49:29 2014 -0800"
      },
      "message": "Fix style\n\nChange-Id: I7227b0eac126bf470ed50249a7809b845872983b\n"
    },
    {
      "commit": "ec9b598c7be65abb5ceb9d82e752c50f7e93deab",
      "tree": "94a557067d2c17e1d44b51e82545d0d364f79276",
      "parents": [
        "3f454e7d1cf7103e312f67f745f01f00fa49df13",
        "b21a7ad02e43900ea5480e796cb1518bd5829e3f"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Dec 12 04:27:14 2014 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Dec 12 04:27:14 2014 +0000"
      },
      "message": "am b9a4d15d: Merge \"Force-flush state sync on texid change\" into lmp-mr1-dev\nautomerge: b21a7ad\n\n* commit \u0027b21a7ad02e43900ea5480e796cb1518bd5829e3f\u0027:\n  Force-flush state sync on texid change\n"
    },
    {
      "commit": "3f454e7d1cf7103e312f67f745f01f00fa49df13",
      "tree": "98012eb43a2c47674a47f9383d29638a27f6e8da",
      "parents": [
        "2d6627a9f28c5c31fec5da3dcf48d96ff7a0d893",
        "00905a984c07ffc9960ce83548631c59aae37ec6"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Dec 12 04:25:43 2014 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Dec 12 04:25:43 2014 +0000"
      },
      "message": "am 63c7b246: Merge \"Correct layer size formatting in trace\" into lmp-mr1-dev\nautomerge: 00905a9\n\n* commit \u002700905a984c07ffc9960ce83548631c59aae37ec6\u0027:\n  Correct layer size formatting in trace\n"
    },
    {
      "commit": "b9a4d15d0942a55c7dc32a471ee40890986e3fab",
      "tree": "b1a7f92b399c09f02a37b9a45d073f4ab89ba9e7",
      "parents": [
        "63c7b24645d94c92dc6dc32d57c23b5167950c8b",
        "9a7fe1a034bf0a9dea7c0676211bb780d3ab30be"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Dec 11 22:44:18 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 11 22:44:19 2014 +0000"
      },
      "message": "Merge \"Force-flush state sync on texid change\" into lmp-mr1-dev"
    },
    {
      "commit": "63c7b24645d94c92dc6dc32d57c23b5167950c8b",
      "tree": "b4ddc30659c38aaa05c6e6f08327362a90aac6ce",
      "parents": [
        "72b047c6c37ddf860be15b159b9a143be36d7425",
        "c2379070a46f208bce490b938e0673ba00373e2e"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Dec 11 22:43:16 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 11 22:43:18 2014 +0000"
      },
      "message": "Merge \"Correct layer size formatting in trace\" into lmp-mr1-dev"
    },
    {
      "commit": "c2379070a46f208bce490b938e0673ba00373e2e",
      "tree": "03de6d4d7a829847d8b072de23ca0c37d963f472",
      "parents": [
        "596d4e7230ae1858aaafbae7987e46d65181f1bd"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Dec 11 14:29:51 2014 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Dec 11 14:29:51 2014 -0800"
      },
      "message": "Correct layer size formatting in trace\n\nbug:18722704\nChange-Id: Icef9aaa62633b2d86ad250f43d4c8fa5cc0b6842\n"
    },
    {
      "commit": "9a7fe1a034bf0a9dea7c0676211bb780d3ab30be",
      "tree": "65631f26270c93bb56c94c235ad0f18f30e39236",
      "parents": [
        "f8dc9d7b3d496593c6c6dddcd42cae13ac508876"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Dec 11 14:27:39 2014 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Dec 11 14:27:39 2014 -0800"
      },
      "message": "Force-flush state sync on texid change\n\nBug: 18718646\n\nCaused because the Texture object thought the GLES texture\nwas in a different state than it was as it persists across\nEGL/GL contexts. Fix this by force-flushing the default\nvalues when the texid has changed.\n\nChange-Id: I264bac9a2beb08df8e2ba8a85ad15f0dd1fce22a\n"
    },
    {
      "commit": "d67bb5015f716c094beff02b2c5e77c9bb7d11a0",
      "tree": "4f23359e87a1bb079bd499f922d763e45c7a8752",
      "parents": [
        "934d8d85be221b86cb5097625c0f48391b3a71b2",
        "e4a6ed9d6d8721c9fad018b0d43dfe7daf4b24e7"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Dec 11 01:25:54 2014 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 11 01:25:54 2014 +0000"
      },
      "message": "am eb2dcc79: Merge \"Don\\\u0027t preload textures for AssetAtlas\" into lmp-mr1-dev\nautomerge: e4a6ed9\n\n* commit \u0027e4a6ed9d6d8721c9fad018b0d43dfe7daf4b24e7\u0027:\n  Don\u0027t preload textures for AssetAtlas\n"
    },
    {
      "commit": "eb2dcc791e649e07ec8114e00752b54965c46e65",
      "tree": "778bf0fffa448d4a6333fc8571b2dd74717b2551",
      "parents": [
        "daec594370f0e47bf07d0c9c968e3c5dfedf0bb5",
        "ebd52610cfeff6e557fde284a7e1efc5e6438285"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Dec 11 01:12:29 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 11 01:12:31 2014 +0000"
      },
      "message": "Merge \"Don\u0027t preload textures for AssetAtlas\" into lmp-mr1-dev"
    },
    {
      "commit": "ebd52610cfeff6e557fde284a7e1efc5e6438285",
      "tree": "6e371646828e9074579fe91f869954a67f48e93a",
      "parents": [
        "fa3f43145ac1af62ed063d3cd7ba1c30a81bb3fd"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Dec 10 16:47:36 2014 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Dec 10 17:07:41 2014 -0800"
      },
      "message": "Don\u0027t preload textures for AssetAtlas\n\nBug: 18317479\n\nRenderNode::prepareSubTree calls prefetchAndMarkInUse\non every bitmapResoruce in the DisplayList. However,\nthis resulted in textures being uploaded for bitmaps\nthat would be drawn from the AssetAtlas instead.\n\nTo fix this we teach TextureCache about the AssetAtlas\nso that calls to TextureCache return the Texture from\nAssetAtlas if it exists. Thus usage of AssetAtlas\nis now purely to allow for further optimizations via\ndraw merging instead of a requirement to get\nany benefit at all.\n\nChange-Id: I65282fa05bac46f4e93822b3467ffa0261ccf200\n"
    },
    {
      "commit": "347040cf84401601b0d5cbb1d76e4648d1c8a461",
      "tree": "55aaab9d50d252ad2ed6bc03f35bf42ebe0cec3e",
      "parents": [
        "a349a9e71aecf93d7d6d7d3e0d93d3e06291a519",
        "740acf213c56c406132294790fa2fadd0380cfa7"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Dec 11 00:07:02 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 11 00:07:02 2014 +0000"
      },
      "message": "am 740acf21: am c7801877: Merge \"Fix issue where non-resource attributes would cause obtainStyleAttributes to fail\" into lmp-mr1-dev\n\n* commit \u0027740acf213c56c406132294790fa2fadd0380cfa7\u0027:\n  Fix issue where non-resource attributes would cause obtainStyleAttributes to fail\n"
    },
    {
      "commit": "5369b76963a344d08fda4532227a6f0da28fd23a",
      "tree": "9cc8519749be8ddff2f0f1d4c4fe7a1457c80fcd",
      "parents": [
        "16d73a752e9ee937c39be4ce2da5411cf1af0c5c",
        "ed211b940b24231d02c4e6e2757ee02ff1b9ea79"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Dec 10 15:23:54 2014 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Dec 10 15:23:54 2014 -0800"
      },
      "message": "resolve merge conflicts of ed211b9 to lmp-mr1-dev-plus-aosp.\n\nChange-Id: Ib9d6d301282bbaae6b23b9ce07b9e6a4e9075991\n"
    },
    {
      "commit": "c78018774503308e8c8266f6769c9e4c895f3a97",
      "tree": "c8d2e64fbea4fc28907ef345ede9588950c959c2",
      "parents": [
        "4ef9edeb67a1aa25b4ec57b9951b8dc4a06c3691",
        "5dce5e67dbdcd14882edf3f64fba671c77577ee4"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Dec 10 21:12:02 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 10 21:12:04 2014 +0000"
      },
      "message": "Merge \"Fix issue where non-resource attributes would cause obtainStyleAttributes to fail\" into lmp-mr1-dev"
    },
    {
      "commit": "4ac36f80beb958c77a92a3e1a235f6ed9daaa510",
      "tree": "b555302a34a4a81cb32699aa3b987536c6ab2982",
      "parents": [
        "596d4e7230ae1858aaafbae7987e46d65181f1bd"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Dec 09 16:54:03 2014 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Dec 10 12:27:08 2014 -0800"
      },
      "message": "Fix frame-allocated path lifecycles\n\nbug:18667472\n\nPreviously, we were allocating per-frame temporary paths within the\nPlaybackStateStruct, but these are not safe as layers allocate these\ntransiently. Instead, move these to the OpenGLRenderer, which has\nbetter define lifecycle.\n\nAdditionally, don\u0027t store SkPath objects directly in vector, since\nthey are then subject to relocation.\n\nChange-Id: I8187ef542fcd5b030502bb75eb123ee26c0daa96\n"
    },
    {
      "commit": "5dce5e67dbdcd14882edf3f64fba671c77577ee4",
      "tree": "685d15b6cbb42c2d3bd50825f0b4198c3bd1ee7d",
      "parents": [
        "4df65bf1eb454814954421403da9f8b5fcb82180"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Dec 10 10:47:53 2014 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Dec 10 10:51:48 2014 -0800"
      },
      "message": "Fix issue where non-resource attributes would cause obtainStyleAttributes to fail\n\nA sentinal value of 0x00000000 was used to mark the first time an AttributeFinder\nwas used. If the resource ID of an attribute was also 0x00000000 (which occurs with\nnon-resource attributes, like \u0027style\u0027), then it would be mistaken as the sentinel\nstart value.\n\nBug:18421787\nChange-Id: I4be353e0f8c940cb6f262d155129f048dcc444ae\n"
    },
    {
      "commit": "3bae94d78ed4c078552df9817a1952129a725189",
      "tree": "1bea1dc942af9e6633c10fc36342574669377d98",
      "parents": [
        "28089cc39b0247d5e854a1a44cd8af17464b9e36",
        "fe11126d23f7456b4ea1dffce30dac45173f63f0"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Dec 09 15:38:38 2014 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Dec 09 15:38:38 2014 -0800"
      },
      "message": "resolved conflicts for merge of fe11126d to lmp-mr1-dev-plus-aosp\n\nChange-Id: I60bf82ff71d9af0d80e7da8856efb4641c85885b\n"
    },
    {
      "commit": "4f1942d999c60fd91cb826651b6d978d47a74321",
      "tree": "4ba55bba29606543e959f5cf648f341805080e9a",
      "parents": [
        "3ef5033cdacbc44702d0b6ba687e81383348e2fd",
        "dad7d84c04c5954b63ea8bb58c52b2291f44b4df"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Dec 09 23:12:41 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 09 23:12:42 2014 +0000"
      },
      "message": "Merge \"Teach AssetAtlas about more drawables\" into lmp-mr1-dev"
    },
    {
      "commit": "dad7d84c04c5954b63ea8bb58c52b2291f44b4df",
      "tree": "c46db9d14d4bef9ea6b16bf5d86eefd9048d0235",
      "parents": [
        "6ef76c60df9e68950721f92a14c77a3ecd13607c"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Dec 09 12:33:26 2014 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Dec 09 14:18:33 2014 -0800"
      },
      "message": "Teach AssetAtlas about more drawables\n\nBug: 18317479\n\nChange-Id: I16868ee204d24af72af9a2efc987f7e9eb1d266b\n"
    },
    {
      "commit": "1f78b3364f0e39db912d898187bed0195d9319cd",
      "tree": "b46571ae4b3d0665085c067aa88768bc4c48c2e7",
      "parents": [
        "389baa395125d5ae5aac3b9d2f98457dde09da26",
        "497499b1eb76726090ea46dcfc5b8ab0221cd447"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Tue Dec 09 22:18:33 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 09 22:18:33 2014 +0000"
      },
      "message": "am 497499b1: am 04c2bf4f: Merge \"Remove unnecessary/erroneous reference counting\" into lmp-mr1-dev\n\n* commit \u0027497499b1eb76726090ea46dcfc5b8ab0221cd447\u0027:\n  Remove unnecessary/erroneous reference counting\n"
    },
    {
      "commit": "ee648e517f09cccf59010a7423240a38aaeb2c04",
      "tree": "76571a17e882b02ba9c4f26850c373849a8b3a07",
      "parents": [
        "cdcabe4cd6510e1009c01f5266da74b0ae1f1b32"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Tue Dec 09 10:54:16 2014 -0500"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Tue Dec 09 18:36:42 2014 +0000"
      },
      "message": "Remove unnecessary/erroneous reference counting\n\nThe SkBitmap* used by HWUI holds a reference to the PixelRef (which\nin turn holds the colorTable) so keeping an additional ref is not\nonly unnecessary, but also potentially problematic.\n\nIf a bitmap changes its pixelRef after it has been added to a displayList,\nthen we end up with unbalanced ref/unref calls that cause the newly added\nPixelRef to be unref\u0027d and prematurely deleted, while the original PixelRef\nis leaked.\n\nbug: 18659976\nChange-Id: I34a06152e7bb2d733249a207dafd36b9b5dc0712"
    },
    {
      "commit": "e97908d32ee8ea80138d085260a0eac93841c722",
      "tree": "0fb24cd7ef6cf6236d3451296937262b78fe2efc",
      "parents": [
        "501bf216dc9068c8169687437d8d6594cd1e1165",
        "0953ab276449cf8d2b27d4f68cb213dfe317a3b4"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Dec 05 11:06:21 2014 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Dec 05 11:06:21 2014 -0800"
      },
      "message": "Merge commit \u00270953ab27\u0027 into manualmerge\n\nChange-Id: I36dea45f7571096136ea7bda5e2680bd85a0df32\n"
    },
    {
      "commit": "a75b0ad3842a5cfc406fbd9c7a36bf8a7bdcf069",
      "tree": "aef030b2f3b65e829e3569a0b0304b609f1c856c",
      "parents": [
        "1c88fc009fb3f7a3b5f085abb6a40cf4d845d662",
        "a51a0901ada5e2bc472c379a39df13ff48e666ed"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Dec 04 13:41:04 2014 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Dec 04 13:41:04 2014 -0800"
      },
      "message": "resolved conflicts for merge of a51a0901 to lmp-mr1-dev-plus-aosp\n\nChange-Id: Id7df835f0bd3d5d276b162635ddfb7fe0918dfed\n"
    },
    {
      "commit": "720beef28dacc924d77576f63fced84e6a820dc6",
      "tree": "11cdfd10ab302973dd88a6928a8637d461a080fd",
      "parents": [
        "391232da084d715b9f20539a98b4a49cc56bf949",
        "9b624c186cb6059dfb3ec24bfb6386a0fc17b88c"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Dec 04 18:24:39 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 04 18:24:41 2014 +0000"
      },
      "message": "Merge \"AAPT: Move private attrs to new type for framework\" into lmp-mr1-dev"
    },
    {
      "commit": "8e5362f20e2bc41b1dcf130a613b7e0b3cd1db58",
      "tree": "e395d9177a329782dd5be2a5ec228b1abe3093a2",
      "parents": [
        "c0707c007d8322338e9f46f5ccb04b5582e75845",
        "503071ae41374a66f61e53e05a91243473db83b9"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Dec 04 09:21:45 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Dec 04 09:21:45 2014 +0000"
      },
      "message": "am 503071ae: am a2b5067a: Merge \"RRO: prevent duplicate system overlays\"\n\n* commit \u0027503071ae41374a66f61e53e05a91243473db83b9\u0027:\n  RRO: prevent duplicate system overlays\n"
    },
    {
      "commit": "9b624c186cb6059dfb3ec24bfb6386a0fc17b88c",
      "tree": "e57516e076eddb75d4c657704522f43067153c2a",
      "parents": [
        "92ad4dd017a13364b4001bdb04911202932f81c2"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Nov 19 17:49:26 2014 -0800"
      },
      "committer": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Dec 03 15:59:20 2014 -0800"
      },
      "message": "AAPT: Move private attrs to new type for framework\n\nPrivate attributes are typically placed after public\nattributes in the resource table. Each time a new version\nof the Android framework is released, new public attributes\ntake the place of the private attributes, and the private\nattributes are shifted after the new public ones.\n\nThis means that any apps built against the newer SDK\nmay inadvertently be using private attributes on older\ndevices.\n\nThis change moves all private attributes to a completely\ndifferent type ID, so there will never be collisions across\nversions.\n\nThese private attributes are automatically moved to a synthesized\ntype only for the system resources.\n\nBug:18263655\n\nChange-Id: I7a850512953fadcc9f3524d509cea30249782db8\n"
    },
    {
      "commit": "01a5ea35fbba4c5bb1d7790ae1677a2fa752e042",
      "tree": "d890ced3bdb3be6275e2d13d0dbd9f901ec8ce4d",
      "parents": [
        "8d72046b9ba06feadbcf71815a1c6e1017c8da37"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Dec 03 13:01:07 2014 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Dec 03 13:03:59 2014 -0800"
      },
      "message": "Resume RT-animations after a pauseSurface\n\nBug: 18203577\n\nThe issue occurs as a result of performTraversals() both doing\na window relayout call *and* early-returning because it\u0027s not dirty.\n\nTo fix this pauseSurface() returns whether or not the RT-side is\n\"dirty\" to force ViewRootImpl to do a draw even if mDirty is\notherwise empty.\n\nChange-Id: I534f367e75d18d273ebf14df3927f5c464ef6bef\n"
    },
    {
      "commit": "a2b5067aeef5b2d68a7a2f7b4edc7ee0908b5d5b",
      "tree": "db4b1a0c53a697fb010a6feba69e9b2bb11250fd",
      "parents": [
        "abdaa32dd79c915d0e419560c8eaa64e3d946b77",
        "cb7b63d928cd562ea66d10d816056b984f50193a"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Wed Dec 03 17:44:17 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 03 17:44:18 2014 +0000"
      },
      "message": "Merge \"RRO: prevent duplicate system overlays\""
    },
    {
      "commit": "9438ad1599716176fb6c593e77a2e93b265bbcb5",
      "tree": "b8d7eef8c9baf5837a896a0e2ccbdd7f1d930a29",
      "parents": [
        "723bce8a0d4fa900ca4344c03e5e82b5881fcf19",
        "e580d6617f67a1db5eff7ffe5450684cfc7e1a2b"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Dec 02 23:07:43 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 02 23:07:43 2014 +0000"
      },
      "message": "am e580d661: am e89a2865: Merge changes If2c7e09f,Ie21f227c\n\n* commit \u0027e580d6617f67a1db5eff7ffe5450684cfc7e1a2b\u0027:\n  RRO idmap: pad with 0xffffffff, not 0x00000000\n  RRO: reintroduce lost ResTable insert of assets\n"
    },
    {
      "commit": "e89a286541e242ad96705fcdd1fe2c6a9eafb4a0",
      "tree": "c55e1a0c4cc7a2c22c4bb4dfa190a2fb38f6a3df",
      "parents": [
        "acd01ff07668a608cb4890a2ea1533a2397149c8",
        "96198ebae8deab14b434645f628213db492abdbc"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Tue Dec 02 22:52:36 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 02 22:52:37 2014 +0000"
      },
      "message": "Merge changes If2c7e09f,Ie21f227c\n\n* changes:\n  RRO idmap: pad with 0xffffffff, not 0x00000000\n  RRO: reintroduce lost ResTable insert of assets\n"
    },
    {
      "commit": "a22ab0da6f72b2e52166cc6e11f4c6d44c0fb714",
      "tree": "9c93658e1586d303e066fb3bd67b187a5b38cedf",
      "parents": [
        "3380f4961814c0aaa23e92dca4d2999ebb254f65",
        "9a04480e36c42eb63d1d727221ba3ce6a6d533ef"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Dec 02 01:39:20 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Dec 02 01:39:20 2014 +0000"
      },
      "message": "am 9a04480e: am ef124887: Merge \"Clip outline to View clip bounds for shadow computation\" into lmp-mr1-dev\n\n* commit \u00279a04480e36c42eb63d1d727221ba3ce6a6d533ef\u0027:\n  Clip outline to View clip bounds for shadow computation\n"
    },
    {
      "commit": "ef124887c616d03cf0a689d2b7d5b1894405d12e",
      "tree": "eda6c9f10b7d7391b3e4e73075de480067373675",
      "parents": [
        "93b429247673bb8e019fe9d39b46700fc86c3313",
        "faa79ff9d964de940660d2226d5b06ded9294597"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Dec 02 01:27:24 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 02 01:27:26 2014 +0000"
      },
      "message": "Merge \"Clip outline to View clip bounds for shadow computation\" into lmp-mr1-dev"
    },
    {
      "commit": "faa79ff9d964de940660d2226d5b06ded9294597",
      "tree": "f0cffdaa4de22117f6a47268a17d52f79e1e0bad",
      "parents": [
        "293f0f380b514658f63474b714053fda0e92569f"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Dec 01 13:44:21 2014 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Dec 01 15:47:10 2014 -0800"
      },
      "message": "Clip outline to View clip bounds for shadow computation\n\nbug:18509823\n\nThis allows animations of View clipBounds (and other callers of\nsetClipBounds) to affect shadows, instead of leaving them floating.\n\nChange-Id: I249fa4b371a170cb0c54001f5b0e0097e109b8b8\n"
    },
    {
      "commit": "76de89820c51c4bc288b440a82374b9d6c806244",
      "tree": "bac5be532ce1ef3c84c973752529a5cccfbb374a",
      "parents": [
        "e6bd61d5bbea012b6b80c8bff915042f615630bc",
        "a12b2405df5c12363e24cebc684f5f3a5c9a5b7b"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Dec 01 22:39:29 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 01 22:39:31 2014 +0000"
      },
      "message": "Merge \"Prevent calling GL functions with an invalid surface\" into lmp-mr1-dev"
    },
    {
      "commit": "d7af6eaace4ffdd3635a1cdeff65e9dc1af39f67",
      "tree": "db08af2392b33783928c8ff5954301131d5e09aa",
      "parents": [
        "b62b1b03792e7c583ec1a51a3d621deb51663414",
        "d51205fda7351ca32e54ef34b32e72f6c7c79847"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Dec 01 21:40:32 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 01 21:40:32 2014 +0000"
      },
      "message": "am d51205fd: am 6afc5cf3: Merge \"Prevent calling GL functions with an invalid surface\"\n\n* commit \u0027d51205fda7351ca32e54ef34b32e72f6c7c79847\u0027:\n  Prevent calling GL functions with an invalid surface\n"
    },
    {
      "commit": "a12b2405df5c12363e24cebc684f5f3a5c9a5b7b",
      "tree": "395524d5f2413969c38197aa7db765e45e29c655",
      "parents": [
        "6cacf44e7ecfe50097adc99dab97c3fb9770a1af"
      ],
      "author": {
        "name": "Sangkyu Lee",
        "email": "sk82.lee@lge.com",
        "time": "Fri Nov 21 18:05:41 2014 +0900"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Dec 01 21:38:34 2014 +0000"
      },
      "message": "Prevent calling GL functions with an invalid surface\n\nBug: 18518580\n\nWhen destroying CanvasContext, the surface can be invalid\nstate. So the surface should be updated to null prior to\ndestroying GL resources to ensure that GL functions\nare not called with an invalid surface.\nSome GL implementation makes an error if GL functions\nare called with an invalid surface. (Adreno 3xx)\n\nCherry picked from AOSP: f76d36f96bf221672e98e440c9df7cbf0e02e84e\n\nChange-Id: Ie6f6ea081ec931fc9df30b2c3ed066ec1ae9d294\n"
    },
    {
      "commit": "6afc5cf3d9e1a0c0eb6ecd6eea258f1ccd37bef3",
      "tree": "5e99b6642ba777f398bdb06f3fb0cbc652bb3823",
      "parents": [
        "ee7c30e1f9a40b6498f7aa374e71bb0bfc6482a3",
        "f76d36f96bf221672e98e440c9df7cbf0e02e84e"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Dec 01 21:28:26 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 01 21:28:27 2014 +0000"
      },
      "message": "Merge \"Prevent calling GL functions with an invalid surface\""
    },
    {
      "commit": "659de832b9796e14de44b6411980a65e33283a93",
      "tree": "9ab610781d982dbef689dacf38a7bfc47da18a81",
      "parents": [
        "f90404ca7b47234437b3f8f418fca313825de02c",
        "52b2cf9fdf95ccdcbb3f5e403eb9691c1ead1214"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Dec 01 20:08:27 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 01 20:08:29 2014 +0000"
      },
      "message": "Merge \"Enable stencil clipping within clearLayerRegions\" into lmp-mr1-dev"
    },
    {
      "commit": "e986817a2dc8a412c12e456319965a67ac60f236",
      "tree": "b2d50e32c557e8f7c38c0c8f09c9886bc82e0114",
      "parents": [
        "0eaee607b8799bc6635efc8e65df13b6411b5a84",
        "6eac26a49957eda233ad22ad75da43379f220bbc"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Nov 26 21:02:24 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 26 21:02:24 2014 +0000"
      },
      "message": "am 6eac26a4: am ca84c8b1: Merge \"Revert \"Force-use the pbuffer surface for destroy\"\" into lmp-mr1-dev\n\n* commit \u00276eac26a49957eda233ad22ad75da43379f220bbc\u0027:\n  Revert \"Force-use the pbuffer surface for destroy\"\n"
    },
    {
      "commit": "ca84c8b1b0e364e01ce392f0dbca5132830a148d",
      "tree": "380eb2c186cf19a4b4c76f8de342c9b9c8182f90",
      "parents": [
        "a181da10ac5a7fc750d046e7789ba2244ee563b9",
        "9f81485a76dd02a07fd460a29db6adddd2ca2efe"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Nov 26 20:50:08 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 26 20:50:10 2014 +0000"
      },
      "message": "Merge \"Revert \"Force-use the pbuffer surface for destroy\"\" into lmp-mr1-dev"
    },
    {
      "commit": "9f81485a76dd02a07fd460a29db6adddd2ca2efe",
      "tree": "b83710c292efceb1675ae0a1adb543ba24b704a7",
      "parents": [
        "b945f2313aee6e49a082ba5caaf95334d2570d52"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Nov 26 18:59:58 2014 +0000"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Nov 26 18:59:58 2014 +0000"
      },
      "message": "Revert \"Force-use the pbuffer surface for destroy\"\n\nbug:18528859\n\nThis reverts commit b945f2313aee6e49a082ba5caaf95334d2570d52.\n\nChange-Id: I6915624d356cb8570471eb3a5b8921f59b58db6d\n"
    },
    {
      "commit": "52b2cf9fdf95ccdcbb3f5e403eb9691c1ead1214",
      "tree": "48c2a12a644d15b458030915541a6adfac0539ff",
      "parents": [
        "6c912b7d056c67b41fd46f31de168795e97c2336"
      ],
      "author": {
        "name": "Dohyun Lee",
        "email": "dohyun.lee@lge.com",
        "time": "Mon Nov 24 21:08:15 2014 +0900"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Nov 26 10:51:32 2014 -0800"
      },
      "message": "Enable stencil clipping within clearLayerRegions\n\nbug:18538502\n\nCherry-pick of adc0d9da8648abfea1035fb1108eceea9fd9b5b1 from AOSP\n\nPreviously stencil clipping within clearLayerRegions is disabled by commit\n62d307c2402777d5e53b4590af5f32f8c55afd81. However, clearing whole layer\nregions causes black-colored triangle regions when a TextView has\nRotateAnimation because the draw within clearLayerRegions does not\naffected by the current stencil clip.\n\nChange-Id: Id32a0b16754b109905f833e063ebfa156bd953f2\nSigned-off-by: Dohyun Lee \u003cdohyun.lee@lge.com\u003e\n"
    },
    {
      "commit": "0d4ab958c11801f5453e999f930416c87c63d100",
      "tree": "02b23e48142325e228d32e81783cdb7a84c7ca99",
      "parents": [
        "2f47df83343e51214c792dc89874f0bccbeb4593",
        "4e3404d90fe33a0ff790aff4a97b6bb55e4c0e8f"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Nov 26 12:02:19 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 26 12:02:19 2014 +0000"
      },
      "message": "am 4e3404d9: am dec3f138: Merge \"Force-use the pbuffer surface for destroy\" into lmp-mr1-dev\n\n* commit \u00274e3404d90fe33a0ff790aff4a97b6bb55e4c0e8f\u0027:\n  Force-use the pbuffer surface for destroy\n"
    },
    {
      "commit": "1fb141f83bad3884e2199c7acdc23932afaefe0c",
      "tree": "2eb9679e2494a207378ae5dd127f4c68632b58c5",
      "parents": [
        "6df037ac5d2b4b6f027ca36284ee09ed10970cd8",
        "9c5b7b094254cad0a8a90ece5ea650c49694087d"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Nov 26 12:01:46 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 26 12:01:46 2014 +0000"
      },
      "message": "am 9c5b7b09: am ee660651: Merge \"Improve DisplayList state output\" into lmp-mr1-dev\n\n* commit \u00279c5b7b094254cad0a8a90ece5ea650c49694087d\u0027:\n  Improve DisplayList state output\n"
    },
    {
      "commit": "f76d36f96bf221672e98e440c9df7cbf0e02e84e",
      "tree": "e1c81a2faf4ea012f087292f198b703fc9d0288c",
      "parents": [
        "f926d71b8ef2790da067550144860705c1a61fe5"
      ],
      "author": {
        "name": "Sangkyu Lee",
        "email": "sk82.lee@lge.com",
        "time": "Fri Nov 21 18:05:41 2014 +0900"
      },
      "committer": {
        "name": "Sangkyu Lee",
        "email": "sk82.lee@lge.com",
        "time": "Wed Nov 26 09:59:39 2014 +0900"
      },
      "message": "Prevent calling GL functions with an invalid surface\n\nWhen destroying CanvasContext, the surface can be invalid\nstate. So the surface should be updated to null prior to\ndestroying GL resources to ensure that GL functions\nare not called with an invalid surface.\nSome GL implementation makes an error if GL functions\nare called with an invalid surface. (Adreno 3xx)\n\nChange-Id: Ie6f6ea081ec931fc9df30b2c3ed066ec1ae9d294\n"
    },
    {
      "commit": "ab1a53c509edbc8bacd944233335587dffd95999",
      "tree": "97ee8869648bde18856e9449dc5b1fa9dfcec77e",
      "parents": [
        "1fae0991326fbaac8a11ae972f0da2bbc50be429",
        "bf62d3070c1653b79f4edcc0729b6a1a833d3ca1"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@android.com",
        "time": "Wed Nov 26 00:08:05 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 26 00:08:05 2014 +0000"
      },
      "message": "am bf62d307: am af5bd75b: Merge \"Enable stencil clipping within clearLayerRegions\"\n\n* commit \u0027bf62d3070c1653b79f4edcc0729b6a1a833d3ca1\u0027:\n  Enable stencil clipping within clearLayerRegions\n"
    },
    {
      "commit": "dec3f138c2f6a31879b0fe055a26d618e4874bb5",
      "tree": "56f1c4b6985c0c2e874242c4b564dc06548febf9",
      "parents": [
        "c1de25d8ebaecff697c1d5dfaa445e18ee07fa2d",
        "b945f2313aee6e49a082ba5caaf95334d2570d52"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Nov 25 19:52:52 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 25 19:52:53 2014 +0000"
      },
      "message": "Merge \"Force-use the pbuffer surface for destroy\" into lmp-mr1-dev"
    },
    {
      "commit": "5ab86ba05decf12e8ee3f693aab6b265905049c6",
      "tree": "15e0238afc57509c9ca6da9bfce1c9babb2e7cb9",
      "parents": [
        "18c295bf8b258e94050b2e2fb741cb597011159b",
        "89a63f02f5d0814435e72b515b792bc6737014dc"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Nov 25 18:45:48 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 25 18:45:48 2014 +0000"
      },
      "message": "am 89a63f02: am 0c31d97a: Merge \"Switch TextureCache to SkPixelRef::fStableId\" into lmp-mr1-dev\n\n* commit \u002789a63f02f5d0814435e72b515b792bc6737014dc\u0027:\n  Switch TextureCache to SkPixelRef::fStableId\n"
    },
    {
      "commit": "ee6606519d22805c1caf23a3c75cde9fc97b34eb",
      "tree": "923b1bdc3095cacfb77cc3d0b3ea0e29c24acc90",
      "parents": [
        "d0f6b4f6297373e569e383edc21aaa3f87591e0b",
        "b5a5435a77bae40b55053ccde93b1ed45d0e8329"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Nov 25 18:45:10 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 25 18:45:11 2014 +0000"
      },
      "message": "Merge \"Improve DisplayList state output\" into lmp-mr1-dev"
    },
    {
      "commit": "b945f2313aee6e49a082ba5caaf95334d2570d52",
      "tree": "99319f925561305925e2dc3ec71c651f2f04b0cd",
      "parents": [
        "0c31d97a38909e85e0df6cdc29469dbb1580ed4b"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Nov 25 09:54:13 2014 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Nov 25 09:54:13 2014 -0800"
      },
      "message": "Force-use the pbuffer surface for destroy\n\nBug: 18518580\n\nIf CanvasContext is being destroyed() the Surface\nis probably no longer valid as well, so make sure to\nmakeCurrent() to the pbuffer surface so that the\nsubsequent GL operations are not using an invalid\nEGLSurface\n\nChange-Id: Ica5d6a065841772c47e00ad65aa7894c7e27e043\n"
    },
    {
      "commit": "71d08a07189c2b433080203895d9d5e936b16b9e",
      "tree": "88079370391f3e5b8e7610911b247a5db50abf97",
      "parents": [
        "9be80ee53ff5a3df51537f10b3d63f1f7f0ccd3e"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Nov 24 15:21:28 2014 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Nov 24 15:24:02 2014 -0800"
      },
      "message": "Switch TextureCache to SkPixelRef::fStableId\n\nBug: 18245805\nChange-Id: I08e6792dbeed86b13e569c7f2137de0e50dc2763\n"
    },
    {
      "commit": "adc0d9da8648abfea1035fb1108eceea9fd9b5b1",
      "tree": "8656d15624a473abdf019d1d8d51de2d74adeaac",
      "parents": [
        "ff4dd15cd024f72cbd2b6d547356de030b2dd71c"
      ],
      "author": {
        "name": "Dohyun Lee",
        "email": "dohyun.lee@lge.com",
        "time": "Mon Nov 24 21:08:15 2014 +0900"
      },
      "committer": {
        "name": "Dohyun Lee",
        "email": "dohyun.lee@lge.com",
        "time": "Mon Nov 24 21:08:15 2014 +0900"
      },
      "message": "Enable stencil clipping within clearLayerRegions\n\nPreviously stencil clipping within clearLayerRegions is disabled by commit\n62d307c2402777d5e53b4590af5f32f8c55afd81. However, clearing whole layer\nregions causes black-colored triangle regions when a TextView has\nRotateAnimation because the draw within clearLayerRegions does not\naffected by the current stencil clip.\n\nChange-Id: Id32a0b16754b109905f833e063ebfa156bd953f2\nSigned-off-by: Dohyun Lee \u003cdohyun.lee@lge.com\u003e\n"
    },
    {
      "commit": "ee46d1621f817d626e8dd42e9ffe7051f4a829eb",
      "tree": "5f32ddc31c7f34e797ceb3430ee0eafb7879fb14",
      "parents": [
        "1da25f9331892be262289e3ce00dde23e685db03",
        "08e2fd7238c50b5d06af41bc944ee08acb023d51"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Sat Nov 22 07:56:46 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Sat Nov 22 07:56:46 2014 +0000"
      },
      "message": "am 08e2fd72: am ff4dd15c: Merge \"We HAVE_LITTLE_ENDIAN.\"\n\n* commit \u002708e2fd7238c50b5d06af41bc944ee08acb023d51\u0027:\n  We HAVE_LITTLE_ENDIAN.\n"
    },
    {
      "commit": "9d074a1fb727b7b4990cd0501e4661596e828c40",
      "tree": "e0bc3432c5e9eb4e95356b1c90fff11a6a54813f",
      "parents": [
        "f1058308c62f297c5bca9e9baf8451efeb200805"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 21 23:36:45 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 21 23:36:45 2014 -0800"
      },
      "message": "We HAVE_LITTLE_ENDIAN.\n\nChange-Id: I5b5d0ef3f91fe84d629d2ddac436bd22019edfd4\n"
    },
    {
      "commit": "b5a5435a77bae40b55053ccde93b1ed45d0e8329",
      "tree": "6589f39a057fd5af9147e05abcb2ecb37cc79c4a",
      "parents": [
        "6c912b7d056c67b41fd46f31de168795e97c2336"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Nov 21 14:54:35 2014 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Nov 21 16:23:00 2014 -0800"
      },
      "message": "Improve DisplayList state output\n\nbug:17991451\n\nLog hardware layers and shadow casting\n\nChange-Id: I2ae40f270d18f5b2a5af985513e0f5e8841216c2\n"
    },
    {
      "commit": "8b59a528b54279ce640b2d23a00acae1d0f477c5",
      "tree": "fd10f5ffc634e0d574f269f7fd2f18b742f6e1d1",
      "parents": [
        "42ddc18d108f789705ad4eb697ce9599ad322507"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@android.com",
        "time": "Sat Nov 22 00:10:02 2014 +0000"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@android.com",
        "time": "Sat Nov 22 00:10:02 2014 +0000"
      },
      "message": "Revert \"Frameworks/base: Unused parameters in hwui\"\n\nThis reverts commit 42ddc18d108f789705ad4eb697ce9599ad322507.\n\nChange-Id: I3574a936a39a96314db6437d0a1eb58d260d893d\n"
    },
    {
      "commit": "90102e10093f7bb658fb7dd6c30a1efd5380c6d1",
      "tree": "8e13cdc9be351def8f0b2c14b9ed60eb2f4592be",
      "parents": [
        "220c3f4f48b53b6010093a1ef437f4197a382ebf",
        "1ae8a98e8a6ba82396955c0b6ab0e02568a3494b"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Nov 21 22:21:02 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 21 22:21:02 2014 +0000"
      },
      "message": "am 1ae8a98e: am 29dc496a: Merge \"Revert \"Add a way to override Xfermode DO NOT MERGE\"\" into lmp-mr1-dev\n\n* commit \u00271ae8a98e8a6ba82396955c0b6ab0e02568a3494b\u0027:\n  Revert \"Add a way to override Xfermode DO NOT MERGE\"\n"
    },
    {
      "commit": "2ab8298dc37851aab4623ba3f98d71055d653a73",
      "tree": "e31d76f1c16ec8e980983392b09287515bcec2f1",
      "parents": [
        "4c9041cf837cda13c749b148661d18c3fab0fbd6",
        "99377df12ee696e01cd9071132f122801a9862ce"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 21 14:19:06 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 21 14:19:06 2014 -0800"
      },
      "message": "resolved conflicts for merge of 99377df1 to lmp-mr1-dev-plus-aosp\n\nChange-Id: I3a98f55832ac447b1ed0dd129c7a93d088025943\n"
    },
    {
      "commit": "29dc496a42d49a37dcd99c0465f3cec18a47e6ff",
      "tree": "b358eca2f3baeef7dbfb446b498fb0e9364bd4c1",
      "parents": [
        "c0491a2e2d30eb4bc3e03fccee89d57e9bd575e4",
        "69e65019b0a6204f0ed9487d8fd7b3564eba6df8"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Nov 21 22:11:11 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 21 22:11:13 2014 +0000"
      },
      "message": "Merge \"Revert \"Add a way to override Xfermode DO NOT MERGE\"\" into lmp-mr1-dev"
    },
    {
      "commit": "69e65019b0a6204f0ed9487d8fd7b3564eba6df8",
      "tree": "9266aa679771904e019f1a0f08b250bf53d22ef5",
      "parents": [
        "4678dcc5524258908eadc5fe1e5e1874768967eb"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Nov 21 22:05:33 2014 +0000"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Nov 21 22:05:33 2014 +0000"
      },
      "message": "Revert \"Add a way to override Xfermode DO NOT MERGE\"\n\nFeature no longer needed.\n\nbug:18448377\n\nThis reverts commit 4678dcc5524258908eadc5fe1e5e1874768967eb.\n\nChange-Id: Ib0a19946e966a54857165555827b5fa7b34b6bea\n"
    },
    {
      "commit": "42ddc18d108f789705ad4eb697ce9599ad322507",
      "tree": "53ed2c03a53112f6bfd515a6d03b02dfed0cc9e9",
      "parents": [
        "f926d71b8ef2790da067550144860705c1a61fe5"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 21 09:49:08 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 21 10:39:21 2014 -0800"
      },
      "message": "Frameworks/base: Unused parameters in hwui\n\nRemove Clang cutout for unused parameters. Fix warnings.\n\nRemove Clang cutout for deprecated Skia function usage. Has been\nfixed in the L push.\n\nChange-Id: I7ea073ff67127cc1e14e798b655e2c50615fe8e7\n"
    },
    {
      "commit": "f2235b6a48db2e16b52711570bf2a0d0cb0b0d90",
      "tree": "159f121d1330bba957764704de13720e785f3e3b",
      "parents": [
        "cd24a6d70b54c79605e51fcc6a249313e9c25a51",
        "57b641a2ed87f2827399c363053436cba88bee75"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Nov 20 16:38:06 2014 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Nov 20 16:38:06 2014 -0800"
      },
      "message": "resolve merge conflicts of 57b641a to lmp-mr1-dev-plus-aosp.\n\nChange-Id: I1be708f5a0cd4d64021a57f1063d54330f1d2d7e\n"
    },
    {
      "commit": "582bdf9a5961a32de27556832e23e0611c4d1cbb",
      "tree": "ec33c632f8b6f6d0437342c4dfe211ae6e6f1ed3",
      "parents": [
        "c51fdd1bbf507862c10686458d2486f57a5b9585",
        "d8c169fedf883491e46b354484909694fd52cfaf"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Nov 20 23:00:56 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 20 23:00:56 2014 +0000"
      },
      "message": "am d8c169fe: am 0c437fd3: Merge \"Add appropriate casts for char16_t.\"\n\n* commit \u0027d8c169fedf883491e46b354484909694fd52cfaf\u0027:\n  Add appropriate casts for char16_t.\n"
    },
    {
      "commit": "6698749dd4d4d6513b26aa9071af290b956b68a7",
      "tree": "6c0716e521b60ff501f4aa4a3f7aff160578135f",
      "parents": [
        "36c7f4b67326bad547f16aa6e72140bd839ab28d"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Nov 20 11:41:21 2014 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Nov 20 11:47:40 2014 -0800"
      },
      "message": "Add appropriate casts for char16_t.\n\nC++11 defines a real char16_t, which is not implicitly convertible to\nuint16_t (and by extension jchar). Add casts as needed.\n\nBug: 18300613\nChange-Id: I00752002ef2e938bdb57f70947e8fd53ec103293\n"
    },
    {
      "commit": "3b2ba44be3699a4e133d7a09cb4ed182405d7ff9",
      "tree": "fcded4723a443028815b3ee7e51fcd30a2fb53e7",
      "parents": [
        "bf1960ce9c353267490d65cc1b8beacc7dd85347",
        "70850ea258cbf91477efa57a1f1a23cc0044cc93"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Nov 20 17:36:24 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 20 17:36:26 2014 +0000"
      },
      "message": "Merge \"Improve logging around performance critical events\" into lmp-mr1-dev"
    },
    {
      "commit": "70850ea258cbf91477efa57a1f1a23cc0044cc93",
      "tree": "674621c2adc816afae2a1d09291fcd4af12b08e7",
      "parents": [
        "6c912b7d056c67b41fd46f31de168795e97c2336"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Nov 18 10:49:23 2014 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Nov 19 17:24:30 2014 -0800"
      },
      "message": "Improve logging around performance critical events\n\nbug:17702227\n\nAdd details useful to developers (such as layer size/View name), and\nswitch away from logging implementation names/details, since they\nare generally not relevant to developers.\n\nChange-Id: Iee605d182f241450f7e75a6d0c283d51fa1312f5\n"
    },
    {
      "commit": "842697a3602204036e991cfea8b74da3df6e7f14",
      "tree": "6143113b63f3e52f443b6247a0611cb0c41042c1",
      "parents": [
        "1ec9c526c1d45161887faf353f4dc36b582be813",
        "decc26df39b734ca1cbaccda1cbe3b355eba6898"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Nov 18 21:33:19 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Nov 18 21:33:19 2014 +0000"
      },
      "message": "am decc26df: am f0f68117: Merge \"Trace some interesting events\" into lmp-mr1-dev\n\n* commit \u0027decc26df39b734ca1cbaccda1cbe3b355eba6898\u0027:\n  Trace some interesting events\n"
    },
    {
      "commit": "f0f68117c432edd5aea406e773ec5bd372976eec",
      "tree": "d4fc5ee2b10a3e2d191c21346cd6aa3e535351f8",
      "parents": [
        "f984eb42724e66326549d7bf33a7ec1515a7ff3c",
        "fbc8df03e498baf47ff1a5e05e182f1bcd60c770"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Nov 18 21:23:47 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 18 21:23:50 2014 +0000"
      },
      "message": "Merge \"Trace some interesting events\" into lmp-mr1-dev"
    }
  ],
  "next": "cb82b7f1824dc7f9fa73c2bada7107c48290af8b"
}
