)]}'
{
  "log": [
    {
      "commit": "776cf41d7c8f239d20397886f2120407396cfc87",
      "tree": "6be3366cfc5feb9f6314c10aea094f6a745fd99d",
      "parents": [
        "b2b93762b8165ee47f49765816fc7ba0428c371c"
      ],
      "author": {
        "name": "Yuichi Araki",
        "email": "yaraki@google.com",
        "time": "Fri Mar 20 18:01:02 2015 +0900"
      },
      "committer": {
        "name": "Yuichi Araki",
        "email": "yaraki@google.com",
        "time": "Thu Apr 02 04:03:07 2015 +0000"
      },
      "message": "Fix a broken link in javadoc\n\nBug: 19856130\n\nChange-Id: I0456e951f8bed36e3a62ddfd882f9c2d2bef9627\n"
    },
    {
      "commit": "4018eb376383a9bbe2aa75a95cc6917ca72aa0b7",
      "tree": "bec98fd86e140c4d0658883e8846ed146b7e4589",
      "parents": [
        "b74155cf01f959fc9b7909de5a22806ad519f7c9"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Jan 23 10:57:15 2015 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Jan 23 11:01:05 2015 -0800"
      },
      "message": "Prevent memory corruption from use-after-free\n\nBug: 19035637\n\nIf an app tries to call recycle() on a Bitmap that has\nalready been finalized it will result in use-after-frees. This is\nbad. Avoid this by setting the pointer to 0 and checking for this\n\nChange-Id: I12d73703a0f95b05fe4c2fd8e9c01b6a3f2f023b\n"
    },
    {
      "commit": "b74155cf01f959fc9b7909de5a22806ad519f7c9",
      "tree": "131fd758305d54be67bba4cde63a6ab3fe616500",
      "parents": [
        "213269599bdec3d83d3d811f5e8f62b9fd8d245c"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Jan 21 12:30:49 2015 -0800"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Jan 21 12:30:49 2015 -0800"
      },
      "message": "Avoid ripple buffer creation for empty bounds\n\nBug: 19068439\nChange-Id: I031d4303bbf101a25612dce6f02d81ce4cf58e2b\n"
    },
    {
      "commit": "a0c0ca738989fd3ecad8a54a91f0c6a8b30ad1ab",
      "tree": "1169bc3b6e40e6c79e5dbd343b0e4f5e96ea4fb2",
      "parents": [
        "c8ba2e87a40eb70ad22c62b9768e7691e3ff3bc3"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Jan 14 17:05:21 2015 -0800"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Jan 14 17:05:21 2015 -0800"
      },
      "message": "Jump ripples to end when switching to a non-hardware canvas\n\nPreviously we canceled the hardware animations but neglected to reset\nthe state, which left us drawing in the pressed state.\n\nBug: 19020524\nChange-Id: I439a18126b9093cac40006361be99f8d077b95a9\n"
    },
    {
      "commit": "7c3212b2f4f2f4b5ee18f2db925db95ee420d489",
      "tree": "5e7ead107eb2e7a847106583ddbf9f9384527d42",
      "parents": [
        "9a1b4c29672f7b7a8cfdeedfc2421854439c0af0",
        "419aa7ad14926a30220aa3b71d045855ea54040a"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Dec 12 22:00:24 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 12 22:00:26 2014 +0000"
      },
      "message": "Merge \"Propagate DrawableContainer state on mutate, fix ColorDrawable theming\" into lmp-mr1-dev"
    },
    {
      "commit": "9bc11ac168d63900589158074028e6c480579421",
      "tree": "edbb8a35d47546cf61af4a6f5186098fd18a46d5",
      "parents": [
        "4357d4eabc375c392190cf2d1dfc3aeba9718ceb"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Dec 12 13:38:10 2014 -0800"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Dec 12 13:38:10 2014 -0800"
      },
      "message": "Move ripple to end state on jump when hardware exit is pending\n\nBUG: 18734676\nChange-Id: Ie063e1eec0b4f28f936ea27822afacfd1b72a0e9\n"
    },
    {
      "commit": "419aa7ad14926a30220aa3b71d045855ea54040a",
      "tree": "8ccae7a143365e77724144544dc75f1bbe44140b",
      "parents": [
        "4357d4eabc375c392190cf2d1dfc3aeba9718ceb"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Dec 12 12:34:15 2014 -0800"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Dec 12 12:34:15 2014 -0800"
      },
      "message": "Propagate DrawableContainer state on mutate, fix ColorDrawable theming\n\nBUG: 18542282\nBUG: 18467568\nChange-Id: Id1d75cfe47fde3206ab40e5360289e0cb2504402\n"
    },
    {
      "commit": "daec594370f0e47bf07d0c9c968e3c5dfedf0bb5",
      "tree": "171865a58c2ecc8e1e98e9e7edb955bd11c7a5eb",
      "parents": [
        "4e1374378d41f15cefc1f5889fd4d549461485ff"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Dec 10 16:28:43 2014 -0800"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Dec 10 16:29:59 2014 -0800"
      },
      "message": "Fix build\n\nChange-Id: I2efdf2790aa768eaaa6e7e0b80a9ad7b2ddf3cb9\n"
    },
    {
      "commit": "3ad771b384b55bc0b9ee9519f457ea7093bb0b74",
      "tree": "0d90eb082e113b2d8b9547c632983c15f7ab9d5f",
      "parents": [
        "6c42ee470307eee56a21062ad67b67878aa9392d"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Dec 10 16:00:43 2014 -0800"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Dec 10 16:00:43 2014 -0800"
      },
      "message": "Update tint filter after setting gradient drawable state\n\nBUG: 18706381\nChange-Id: I7d664303c9b796243da6c55d1ea9482736aabf07\n"
    },
    {
      "commit": "62b780e85ff2fcefd4324c3bfbf49b14963cf58b",
      "tree": "638bbd84f1b01659d31a78e1e9bb72911c2f08b2",
      "parents": [
        "c78018774503308e8c8266f6769c9e4c895f3a97"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Dec 10 13:52:28 2014 -0800"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Dec 10 13:52:28 2014 -0800"
      },
      "message": "Avoid creating futures for drawables with no constant state\n\nWe don\u0027t need to create futures for drawables without constant state,\nsince we only copy on mutate and we don\u0027t need to do any work on mutate()\nfor drawables without shared constant state. Also we would crash in that\ncase, so avoiding the NPE is nice too.\n\nRider: Also fixes elevations again.\n\nBUG: 18696100\nChange-Id: I4d7737f39ce3efc5830704e5ce412c540603e6ac\n"
    },
    {
      "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": "6ef76c60df9e68950721f92a14c77a3ecd13607c",
      "tree": "7856e45f1fed6ac5fa261b8c3db5cfb2441e7c72",
      "parents": [
        "15b29ac7faf3b8b7845e6623f68ae7a7391dab78",
        "0b9ab9749aec297aa03c3fde6d5552c9f212ddbf"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Dec 09 17:59:06 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 09 17:59:08 2014 +0000"
      },
      "message": "Merge \"Fix default value of AnimationDrawable\u0027s one shot property\" into lmp-mr1-dev"
    },
    {
      "commit": "0b9ab9749aec297aa03c3fde6d5552c9f212ddbf",
      "tree": "4cafa5ea349683a3851d22f30e458e879c66d1f3",
      "parents": [
        "2ea3650d18ab0ce4dba2cee101d639400b411452"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Dec 09 09:48:18 2014 -0800"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Dec 09 09:48:18 2014 -0800"
      },
      "message": "Fix default value of AnimationDrawable\u0027s one shot property\n\nBUG: 18676499\nChange-Id: Iaaf134b3a58a04cd99db001edc4438ee75dab878\n"
    },
    {
      "commit": "b942b6f15c51c2ff48c59d8f620ee6156d00f67e",
      "tree": "65246fb8a87d6dea8e854c6955e2dfb260322dfc",
      "parents": [
        "2ea3650d18ab0ce4dba2cee101d639400b411452"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Mon Dec 08 10:37:39 2014 -0800"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Mon Dec 08 10:37:39 2014 -0800"
      },
      "message": "Fix hotspot coordinate propagation in ViewGroup and AbsListView\n\nThere was a weird disconnect between setPressed() and hotspot propagation\nbehavior. This makes hotspot propagation work like setPressed(). Also\nfixes ripple animation during drag-to-open.\n\nBUG: 18631557\nBUG: 18593243\nChange-Id: Id4adf5d815e4d426b4182aac4d0c780f04472ae4\n"
    },
    {
      "commit": "04c022f4c12a778027957a266dd9fce2b70a1cb0",
      "tree": "3a0f95de9088705131bf7461fb12509826395d55",
      "parents": [
        "ffbb52d0807070714e4893a6ea8e4c139b85a939",
        "d2f50c78c3c5205d6b28b7079d2f845c3d9dc0b3"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Fri Dec 05 18:28:28 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 05 18:28:30 2014 +0000"
      },
      "message": "Merge \"AVD: Deep copy the animator target setup when mutate.\" into lmp-mr1-dev"
    },
    {
      "commit": "d2f50c78c3c5205d6b28b7079d2f845c3d9dc0b3",
      "tree": "5eba4a9ebc79d1c5eb09cc90a9c532cae63fa567",
      "parents": [
        "2705387df6f3ffe87b2a3a71a48eea7e2be44fb1"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Thu Dec 04 16:41:01 2014 -0800"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Thu Dec 04 16:55:26 2014 -0800"
      },
      "message": "AVD: Deep copy the animator target setup when mutate.\n\nOnly calling VectorDrawable\u0027s mutate here will miss all the animator setup,\nwhen the VectorDrawable has a new state.\nSo we just deep copy everything and setup the animators again.\n\nb/18521582\n\nChange-Id: Id164312750bb548f9c2d21cc0b5806cd2bafcf0d\n"
    },
    {
      "commit": "6dfa60f33ca6018959ebff1efde82db7d2aed1e3",
      "tree": "fb0a111ca70f969f37bc31cc16052dba3a37a86a",
      "parents": [
        "3a0d878ab56475276c61d574af7651820a5cea5a"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Dec 04 14:10:16 2014 -0800"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Dec 04 16:52:16 2014 -0800"
      },
      "message": "Avoid extra saveLayer calls in RippleDrawable, fix docs\n\nAlso fixes opacity returned from InsetDrawable to accurately reflect\nthe transparent inset area and updates button to correctly use tint.\n\nBUG: 18226391\nChange-Id: Ia9a88d9d663990a6829d2f251c7f59ea2a79d816\n"
    },
    {
      "commit": "ebc9f2e773c3ebb4d4af3025fc6770844cc8fdef",
      "tree": "3890c36416c7691646209f95555c64b8285d718a",
      "parents": [
        "70941f203c13bbd475f2434b69155123cf5ae863"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Dec 04 12:54:46 2014 -0800"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Dec 04 12:54:46 2014 -0800"
      },
      "message": "Update locally cached drawables when constant state changes\n\nPreviously we were failing to update references to drawables that had\nbeen pulled from constant state, so we were drawing the wrong ones.\n\nAlso fixes button Z translation on press, which was WAY too high.\n\nBUG: 18542282\nChange-Id: Ifde7d64e31d31737854cfcbe75777e5b07a06e3a\n"
    },
    {
      "commit": "f29d5a5b211786248d0557157c304c5fff428bd4",
      "tree": "52c16a39bd32e4718819b1f8c0402ab7188a62d0",
      "parents": [
        "195c438883dfcca799aa456dfe52d24c077e40da"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Wed Dec 03 09:55:32 2014 -0500"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Wed Dec 03 13:43:30 2014 -0500"
      },
      "message": "Update AndroidPixelRef to prevent VM from cleaning up memory prematurely.\n\nbug:18306529\nChange-Id: I1ea94df1dcaf4fcf248b63dc8b0a13f36412570a\n"
    },
    {
      "commit": "5ed8f27858dbdf85203068eca46eef0a65f3344e",
      "tree": "18d3ae680c05999405b63b06b5c70d86aafc2f5d",
      "parents": [
        "bc3226e21dfe881bf1ccae62e10b660d97b2b232"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Nov 26 17:16:08 2014 -0800"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Nov 26 17:16:08 2014 -0800"
      },
      "message": "Update drawable container constant state following clone\n\nDrawableContainer\u0027s internal state was getting out of sync with the\ninternal state of child classes because we failed to call set state.\n\nBUG: 18542282\nChange-Id: Iacaa12042e99c1b9e9eaf08f0ab879d82260e7ee\n"
    },
    {
      "commit": "8dcd533786df8d824f1e040230ee9e7e5b083998",
      "tree": "d38f41806713828191560670b37f2eff21518fea",
      "parents": [
        "59093d925decaf6ddf2e952de25e3cdd1b492d81"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Nov 25 10:40:24 2014 -0800"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Nov 25 10:40:24 2014 -0800"
      },
      "message": "Ensure calling mutate() on DrawableContainer creates a new state\n\nPreviously, a new state would only be created on newDrawable(), which\ncaused the first drawable loaded for a resource to share constant state\nwith the cached version. Even if mutate() was called, the constant\nstate was still shared and any changes were applied to the cached copy.\n\nBUG: 18504919\nChange-Id: I40d257867eb0a092ce580b9c4338ddc7406a031d\n"
    },
    {
      "commit": "fb6121e069f25dd43e15b1377fe4d5f60c3d0dbe",
      "tree": "c2eedd451282330863640beb5dec11f651792ac6",
      "parents": [
        "0c31d97a38909e85e0df6cdc29469dbb1580ed4b",
        "cf84ab5e7f860a716f9a789a5d5d5f4378a8204c"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Nov 25 15:54:23 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 25 15:54:25 2014 +0000"
      },
      "message": "Merge \"Revert \"Ensure calling mutate() on DrawableContainer creates a new state\"\" into lmp-mr1-dev"
    },
    {
      "commit": "cf84ab5e7f860a716f9a789a5d5d5f4378a8204c",
      "tree": "b358eca2f3baeef7dbfb446b498fb0e9364bd4c1",
      "parents": [
        "d7dab349c2af0e4bde188b1969f0c697b217dd57"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Nov 25 15:50:59 2014 +0000"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Nov 25 15:50:59 2014 +0000"
      },
      "message": "Revert \"Ensure calling mutate() on DrawableContainer creates a new state\"\n\nThis reverts commit d7dab349c2af0e4bde188b1969f0c697b217dd57.\n\nChange-Id: Icc1c4bfa296a59a551088fe7cc2449a97bb2b7b7\nReason: Broke the build\n"
    },
    {
      "commit": "d30f6fba8ba15198a448d12d35e70872dcdf3589",
      "tree": "afe945789e8f228dc6bc660066d825efe2a0c360",
      "parents": [
        "9be305d146fb422a0e65e5284af2ce081cdc6a69",
        "735b75ce274ef7a4c78745844a4269d72cb4feae"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Nov 25 00:53:06 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 25 00:53:08 2014 +0000"
      },
      "message": "Merge \"Cannot set Pivot X,Y values from setPivotX, setPivotY API\" into lmp-mr1-dev"
    },
    {
      "commit": "d7dab349c2af0e4bde188b1969f0c697b217dd57",
      "tree": "8f5a17265a32925d3c4a23b42368435c44d5c794",
      "parents": [
        "29dc496a42d49a37dcd99c0465f3cec18a47e6ff"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Mon Nov 24 11:11:05 2014 -0800"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Mon Nov 24 11:11:05 2014 -0800"
      },
      "message": "Ensure calling mutate() on DrawableContainer creates a new state\n\nPreviously, a new state would only be created on newDrawable(), which\ncaused the first drawable loaded for a resource to share constant state\nwith the cached version. Even if mutate() was called, the constant\nstate was still shared and any changes were applied to the cached copy.\n\nBUG: 18504919\nChange-Id: I1ce76fbbc144e9c0c93261e3a12cc613d0c74b83\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": "735b75ce274ef7a4c78745844a4269d72cb4feae",
      "tree": "62e61f434aa4a581b4727f3d6ee40a388f9917b0",
      "parents": [
        "2ee054b4f099ce67dffc29329612170305053783"
      ],
      "author": {
        "name": "jungheang.lee",
        "email": "jungheang.lee@lge.com",
        "time": "Thu Nov 20 22:34:26 2014 +0900"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Nov 21 03:01:41 2014 +0000"
      },
      "message": "Cannot set Pivot X,Y values from setPivotX, setPivotY API\n\nPivot value can not be changed once they have been set to default.\nTo be changed \"\u003d\u003d\" -\u003e \"!\u003d\" in if()\n\nBUG: 18474532\nChange-Id: Iacd16eb951154ea97c241566b704e0ad3f225bd1"
    },
    {
      "commit": "002bc810882c0a322a09d0e4527ab8083547e145",
      "tree": "6e970ffdfda38cd2881a1298676a25b075ba8433",
      "parents": [
        "18ab5c216c62d90a4b86f37a4c993c1c8b56835d",
        "5b84eace6cb79c42fe43480f08c68b7dea4e074a"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Thu Nov 20 23:11:33 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 20 23:11:38 2014 +0000"
      },
      "message": "Merge \"ASLD: ASLD\u0027s XML reversible flag can turn off the reverse behavior now.\" into lmp-mr1-dev"
    },
    {
      "commit": "5b84eace6cb79c42fe43480f08c68b7dea4e074a",
      "tree": "a401793cd0171d04d5b3e41f6fe6b654563bf397",
      "parents": [
        "521ca5f8fba355f526e82dc3a8fc6520e4379874"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed Nov 19 10:38:18 2014 -0800"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Thu Nov 20 14:41:33 2014 -0800"
      },
      "message": "ASLD: ASLD\u0027s XML reversible flag can turn off the reverse behavior now.\n\nPreviously, the android:reversible flag behaves like a suggestion.\nNow it is used to enforce no reverse when set to false. In this way, user can\nsafely setup one direction animation only.\nWhen set to true, but AVD can\u0027t reverse , then it will show a warning.\n\nAt the same time, update the tests to show different cases, including\nAnimationDrawable.\n\nb/18413484\n\nChange-Id: I5552c49dcbd76b0724b4d5593bce8388b27bd905\n"
    },
    {
      "commit": "93ef96395a95317bec4f27423ade1ce0d6aa07d8",
      "tree": "abddd795f01abd5b72417e37bfaf1c3d8de332dc",
      "parents": [
        "4e312d81c18b286170c904659e78cab4fdf27200",
        "db7cc60eb29c215e65081211dfe65ba4d017691c"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Nov 20 21:39:45 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 20 21:39:47 2014 +0000"
      },
      "message": "Merge \"Improve ColorMatrix docs\" into lmp-mr1-dev"
    },
    {
      "commit": "db7cc60eb29c215e65081211dfe65ba4d017691c",
      "tree": "57373a0ea004db5de31c086cb7c6400468070441",
      "parents": [
        "6c912b7d056c67b41fd46f31de168795e97c2336"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Nov 19 13:17:34 2014 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Nov 20 13:28:01 2014 -0800"
      },
      "message": "Improve ColorMatrix docs\n\nbug:18415632\n\nClean up some text, and add a sample.\n\nChange-Id: I39fdda2004e1932831058701f95f67355786ad9d\n"
    },
    {
      "commit": "505ffe3633f45778e493e23ad8c163f09ed1dbb5",
      "tree": "0dda3eb9cf8d365b48c500e0c5fcd40b51154073",
      "parents": [
        "25f7c4b99284cd1e118f50bd585e6534acfad7c4",
        "d82f8a9a3869448e6d7d4b3fc962e34e33a1ba0e"
      ],
      "author": {
        "name": "Raph Levien",
        "email": "raph@google.com",
        "time": "Fri Nov 14 20:54:27 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 14 20:54:29 2014 +0000"
      },
      "message": "Merge \"Check bounds on CharSequence drawText methods\" into lmp-mr1-dev"
    },
    {
      "commit": "0c242376867feb434088387bfcdc6b4abcf7d465",
      "tree": "62414c6d412aa934fcd479509bf4b718274ff10e",
      "parents": [
        "0224d25db2f897ddfc29a722ad91d67dcf2500a9",
        "d03963ce364e9946f1bd603c2fcf07a49088af19"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Nov 14 01:52:12 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 14 01:52:14 2014 +0000"
      },
      "message": "Merge \"Set current degrees when updating RotateDrawable from typed array\" into lmp-mr1-dev"
    },
    {
      "commit": "d03963ce364e9946f1bd603c2fcf07a49088af19",
      "tree": "4162a5ed02c4b3933a357156febb77f8bc0742cb",
      "parents": [
        "136f54153e412485feae39cf3fe86392f01a2bd6"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Nov 13 15:14:36 2014 -0800"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Nov 13 15:14:36 2014 -0800"
      },
      "message": "Set current degrees when updating RotateDrawable from typed array\n\nThis regressed after enabling theming in RotateDrawable.\n\nBUG: 18288235\nChange-Id: I61a7b2c178253ed2d550fa0636e27e021ac9eb64\n"
    },
    {
      "commit": "6b3bf0ceef92d1a627360c6502f52f0237f7e50a",
      "tree": "cde76cb60763cc64dee3c02ba7005e35bfb08da4",
      "parents": [
        "24859ba016f740c16113e04271ebe6b3eb61a241",
        "0e12fa12cb2cd4e049e560bdad8f1cd654825f3b"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Nov 13 22:46:20 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 13 22:46:22 2014 +0000"
      },
      "message": "Merge \"Add offset method to Outline\" into lmp-mr1-dev"
    },
    {
      "commit": "0e12fa12cb2cd4e049e560bdad8f1cd654825f3b",
      "tree": "3f38849f50bcd0da5a7ca11cc87ef01ccce178fc",
      "parents": [
        "6c912b7d056c67b41fd46f31de168795e97c2336"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Nov 12 11:45:47 2014 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Nov 12 16:17:33 2014 -0800"
      },
      "message": "Add offset method to Outline\n\nAlso clean up offset docs in Path\n\nChange-Id: Ieca02611d32acce726efba652ae1969340a55a76\n"
    },
    {
      "commit": "075b2b4ff9a9a96462a3102b54fdcabc6e5daf99",
      "tree": "1fd777e71157d6e0a5ff141cdde65867a8222403",
      "parents": [
        "377d80ba53d4eda31d131f4f2bd899668cad426b",
        "f37a364a530c5c055cf4634f0b0463454a252b0f"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Nov 13 00:05:56 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 13 00:05:59 2014 +0000"
      },
      "message": "Merge \"Add details and performance warnings to save flag docs\" into lmp-mr1-dev"
    },
    {
      "commit": "d82f8a9a3869448e6d7d4b3fc962e34e33a1ba0e",
      "tree": "238640394315317eb9f289fc1e29edce39ff4cf5",
      "parents": [
        "705c9c131a6df977a2e9430cacb84788ef0cecbf"
      ],
      "author": {
        "name": "Raph Levien",
        "email": "raph@google.com",
        "time": "Wed Nov 12 15:05:16 2014 -0800"
      },
      "committer": {
        "name": "Raph Levien",
        "email": "raph@google.com",
        "time": "Wed Nov 12 15:05:16 2014 -0800"
      },
      "message": "Check bounds on CharSequence drawText methods\n\nThe canvas drawText() methods on CharSequence arguments didn\u0027t check\nwhether the start and end offsets were within bounds, which triggered\nnative crashes. This patch checks the bounds and throws\nIndexOutOfBoundsException when invalid.\n\nBug: 18282500\nChange-Id: I1935bf21f828b960c817b40ebce6affd4ce8bb99\n"
    },
    {
      "commit": "667ec63c9ed695ca71f6639f18c31995fb8ff880",
      "tree": "bbfb4eaa3dc91b3e0b0e257659406008016ae601",
      "parents": [
        "70cb4f3e7131cda1e58c1f6d422e296c4935289d",
        "2d91f63ec20c4b06e87c80451a656462eceba17f"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Nov 12 22:19:04 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 12 22:19:06 2014 +0000"
      },
      "message": "Merge \"Don\u0027t propagate AnimatedStateListDrawable state change to super()\" into lmp-mr1-dev"
    },
    {
      "commit": "41a8043b30a289bdba55a2469e598b3fe67c3bf1",
      "tree": "b12a667d1c85a19a4722c111fdc63adc30cd6d5a",
      "parents": [
        "10ece9c9d5c2134a6ea04bf593a2b76d167dbd7a",
        "4678dcc5524258908eadc5fe1e5e1874768967eb"
      ],
      "author": {
        "name": "Rob Tsuk",
        "email": "robtsuk@google.com",
        "time": "Wed Nov 12 21:41:58 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 12 21:42:00 2014 +0000"
      },
      "message": "Merge \"Add a way to override Xfermode DO NOT MERGE\" into lmp-mr1-dev"
    },
    {
      "commit": "ffcb5e210ad82e0f2a33d6644bc6690552a1785f",
      "tree": "696bea8f1b4860f978e92bf5d7e09b20627b6c37",
      "parents": [
        "26478bad42dd3d446131ae65ee0bf6880a950889",
        "1a40facbfd60575a3232ae49f4b05098f4ec4830"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed Nov 12 20:47:43 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 12 20:47:45 2014 +0000"
      },
      "message": "Merge \"AVD: Requires all animator has stopped before start again.\" into lmp-mr1-dev"
    },
    {
      "commit": "4678dcc5524258908eadc5fe1e5e1874768967eb",
      "tree": "3f1ca293c68326003fef888ef70c57075c885fe9",
      "parents": [
        "82aaf332b62c5a276c4046d1339441d68d817371"
      ],
      "author": {
        "name": "Rob Tsuk",
        "email": "robtsuk@google.com",
        "time": "Tue Nov 11 15:44:13 2014 -0800"
      },
      "committer": {
        "name": "Rob Tsuk",
        "email": "robtsuk@google.com",
        "time": "Wed Nov 12 12:25:24 2014 -0800"
      },
      "message": "Add a way to override Xfermode DO NOT MERGE\n\nAdd a non-public API to Canvas/GLES20Canvas to provide a way to draw\nthe touch ripple animation without using a save layer.\n\nChange-Id: I6e2095adffe515194f669fb75bb67abf813bd518\n"
    },
    {
      "commit": "f9afb46bf73984d2d29b446d4a306a523fb712ac",
      "tree": "6b236b772d7f09cbfe944cade26cd753e47caf0f",
      "parents": [
        "4fc2ea8402b62001b225bf4e1a335c4cbf3b65ea"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Nov 12 10:24:40 2014 -0800"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Nov 12 10:24:40 2014 -0800"
      },
      "message": "Fix default attributes in ScaleDrawable\n\nReverts default scales to correct value of -1, uses existing state\nvalues when updating from typed array.\n\nBUG: 18351309\nChange-Id: I45d21fe017a7bea10e3cbda50f6db65d053aa2ec\n"
    },
    {
      "commit": "2d91f63ec20c4b06e87c80451a656462eceba17f",
      "tree": "020e379f7952114aa988e1dc05a05ec62b4d91be",
      "parents": [
        "e6ef98cf0528cbc2722b979e5ad86ba859fa78b0"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Nov 11 19:12:32 2014 -0800"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Nov 11 19:12:32 2014 -0800"
      },
      "message": "Don\u0027t propagate AnimatedStateListDrawable state change to super()\n\nAlso updates child element inflation code in AnimationDrawable so\nthat color resources can be used in the \u003citem\u003e drawable attribute.\n\nBUG: 18322272\nChange-Id: I8d13643c5cbdb76d69634a7bac3cead9e9fba4e8\n"
    },
    {
      "commit": "b724314516dc15ab7afb62f7a6e63d94f4022011",
      "tree": "31e00e0ef9eaaabb86dd44c54e7e7e0c8780de89",
      "parents": [
        "3f558e7285d8632b81cde4a9f1d0829e02be5fa0",
        "cc3c573334a9cd2124a8a0ccf2f37884e36f83fa"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Nov 12 02:04:20 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 12 02:04:22 2014 +0000"
      },
      "message": "Merge \"Reduce number of saveLayer calls in RippleDrawable\" into lmp-mr1-dev"
    },
    {
      "commit": "f37a364a530c5c055cf4634f0b0463454a252b0f",
      "tree": "cf707aafa3dbda8f6109abcaf54a855ee053b598",
      "parents": [
        "6c912b7d056c67b41fd46f31de168795e97c2336"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Nov 10 16:11:20 2014 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Nov 11 17:37:04 2014 -0800"
      },
      "message": "Add details and performance warnings to save flag docs\n\nbug:18239290\n\nChange-Id: I5f73bf3f1bf01c8db6ab085b182b14348e47fb3e\n"
    },
    {
      "commit": "1a40facbfd60575a3232ae49f4b05098f4ec4830",
      "tree": "21bb9e7c72be54d16458ef0162d6d001b3bd6484",
      "parents": [
        "f4d2c8eebd8113482b48e0b8f83deb4b2f1f9b22"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Fri Nov 07 11:49:45 2014 -0800"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon Nov 10 15:03:59 2014 -0800"
      },
      "message": "AVD: Requires all animator has stopped before start again.\n\nWe should treat all the animator as a group, we should not start again unless\nall the previous animations have stopped.\n\nb/18320770\n\nChange-Id: I5b0c2c165cd314745ee6c7152aea3c666e9dff10\n"
    },
    {
      "commit": "cc3c573334a9cd2124a8a0ccf2f37884e36f83fa",
      "tree": "c995e150bbb94eb977f68d11f2b2773fe3b2029b",
      "parents": [
        "975590f22916e184204678758bb339c1d2b6b57f"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Nov 07 15:31:16 2014 -0800"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Nov 07 15:31:16 2014 -0800"
      },
      "message": "Reduce number of saveLayer calls in RippleDrawable\n\nRemoves an extra saveLayer call by rendering ripples as overlapping. We\nare now down to zero saveLayers when drawing unmasked ripples or ripples\nmasked against opaque content/masks, one saveLayer for ripples masked\nagainst content and two saveLayers when masked against an explicit mask\nlayer.\n\nBUG: 18226391\nChange-Id: I0fc09d21fbc462fbcfe4c26fc7b18737f584043e\n"
    },
    {
      "commit": "d6570d11e4d1e43c2cfe1d10e27a7786c4283169",
      "tree": "8c00b133daf5afcf62e5b92a1db1fd6ba77fa844",
      "parents": [
        "d69dacb06f98e85f5624737f376e89108f11cb23"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Nov 06 13:50:22 2014 -0800"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Nov 06 13:50:22 2014 -0800"
      },
      "message": "Support theme attributes in StateListDrawable \u003citem\u003e element\n\nAlso adds support for specifying drawable as a color since getDrawable()\nautomatically wraps colors to ColorDrawable. Does not currently allow\nthemed item elements to be used in Zygote preload, but we can add that\nat some point in the future.\n\nBUG: 18208662\nChange-Id: I4c9721ffd100da4b9db7743a46c914828b943dae\n"
    },
    {
      "commit": "b4f8a981769e95500ab6c86ab45102dc9c7e53c6",
      "tree": "2b04d3865d17a94f5eb66b3815211839dd716ea0",
      "parents": [
        "6f7fd0ba50ad15788a1378eb62ec7d8a78983051"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Mon Nov 03 18:45:23 2014 -0800"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Mon Nov 03 18:45:23 2014 -0800"
      },
      "message": "Default gradient radius to %p when no intrinsic width or height set\n\nBUG: 18224018\nChange-Id: I05cbe3023d0a5e6813658063d3a3633c6ddd8d96\n"
    },
    {
      "commit": "fce84f035c35606c5707e735f503f7bdcfd5b2a1",
      "tree": "c1c7d85246023ab80c6f25df8e47e390f907ddfa",
      "parents": [
        "e1678ddf7a8311c79ccba5a6b6183f9484fa1f1f"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Oct 31 16:56:52 2014 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Sat Nov 01 00:06:08 2014 +0000"
      },
      "message": "Crash apps that print malformed or password protected PDFs.\n\nIf apps are writing malformed content (typically not a PDF file) or if the\nPDF content they provide to the print system is password protected, are now\ncrashed as both of these are app bugs.\n\nbug:17636435\n\nChange-Id: Ifce6a3199e587448dd38f6a84290a965c24b698b"
    },
    {
      "commit": "93134ce87e7b33e599c9ef9ed8b19ec2556ca8f1",
      "tree": "c6aba8a01062d9685aa666cec168f8d1d743103d",
      "parents": [
        "b1ecf0d776a2dce5d60802f83fb97c893ba42bf1",
        "bec22beb99b279d381f720d761ca75fe3e7414dc"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Fri Oct 31 19:54:02 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 31 19:54:05 2014 +0000"
      },
      "message": "Merge \"Save to a PDF file should look like print preview.\" into lmp-mr1-dev"
    },
    {
      "commit": "bec22beb99b279d381f720d761ca75fe3e7414dc",
      "tree": "adfd449f3aea4bf81f50c80567b9d3fc9714645e",
      "parents": [
        "bd6fabe2ae535cf5d31fc7a1952e43ad6e653e2e"
      ],
      "author": {
        "name": "Svetoslav",
        "email": "svetoslavganov@google.com",
        "time": "Thu Sep 25 13:03:20 2014 -0700"
      },
      "committer": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Oct 31 10:41:34 2014 -0700"
      },
      "message": "Save to a PDF file should look like print preview.\n\nWhen rendering a PDF file for print preview we take into account\nthe selected print options such as paper size, orientation, etc\nwithout modifying the document. To print we send the doc in its\noriginal form and the print options so the print service can apply\nthe necessary transforms in addition to the optional custom options\nit supports. When saving to PDF we have to actually change the\ndocument as we act as a print service.\n\nbug:13545980\n\nChange-Id: Icdcecf962bec6ff742cc6015df5af9d9086ce760\n"
    },
    {
      "commit": "7f4a63d1ebc13c6499a48331ecb78c4d27446dbc",
      "tree": "90c9830d6fe16da6753b1c6b0457fd71f4d0fac4",
      "parents": [
        "674a3a21cba94c129b322b05bbaaf9b1fc8afbd8"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Oct 30 10:29:03 2014 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Oct 30 10:29:03 2014 -0700"
      },
      "message": "Ensure we don\u0027t pass null values in to Theme.resolveAttributes\n\nBUG: 18182274\nChange-Id: I08acf877cb81478cc205254edf92a31fcf05991d\n"
    },
    {
      "commit": "425b1dc88c47e0e9d3a653ad902a69f3ec09b966",
      "tree": "a30bc6f8f8f2d0cd4ea07181ea14120f6724eab8",
      "parents": [
        "104504053d33d337d52350960c48a1edc5ba1444",
        "d21fd9d1ccd2b525f9c004a6cd9ba19a645701ab"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Oct 30 00:24:27 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 30 00:24:28 2014 +0000"
      },
      "message": "Merge \"Add theme and config change support to more Drawable types\" into lmp-mr1-dev"
    },
    {
      "commit": "d21fd9d1ccd2b525f9c004a6cd9ba19a645701ab",
      "tree": "2c8d4993c26a75cda6e84909ee2880acba208310",
      "parents": [
        "e41d967c5c6ff42ea41f61c731d77aa687b3956f"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Oct 29 10:24:42 2014 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Oct 29 10:24:42 2014 -0700"
      },
      "message": "Add theme and config change support to more Drawable types\n\nBUG: 16045735\nChange-Id: Ic03173a1c1779c1bb545c4c389f77afed97011ee\n"
    },
    {
      "commit": "969ca91acd008cb33b72888e0b9e7109556db019",
      "tree": "18d1bfb552f501f256dedd3232e733e5927fc089",
      "parents": [
        "e41d967c5c6ff42ea41f61c731d77aa687b3956f"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Oct 24 12:25:04 2014 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Oct 24 12:25:04 2014 -0700"
      },
      "message": "Clean up GradientDrawable styled attributes, fix useLevelForShape\n\nBUG: 18117976\nChange-Id: Iff2ea392204346f68ea47d577e442d398114e5d8\n"
    },
    {
      "commit": "d422dc358f0100106dc07d7b903201eb9b043b11",
      "tree": "9db96b09fc54dcd7129e17f64ce1ad2902d89fdf",
      "parents": [
        "d0aae5a2226c620c547690039fc06dfdf20ea35d"
      ],
      "author": {
        "name": "Yigit Boyar",
        "email": "yboyar@google.com",
        "time": "Thu Sep 25 12:23:35 2014 -0700"
      },
      "committer": {
        "name": "Yigit Boyar",
        "email": "yboyar@google.com",
        "time": "Thu Oct 23 11:46:01 2014 -0700"
      },
      "message": "Added a generic configuration and theme based cache\n\nFor now, only animators use it but we can consider migrating\ndrawable cache to it as well.\n\nBug: 17456416\nChange-Id: I571b96856805edb171f0fc52e6bff5a365f46b70\n"
    },
    {
      "commit": "7c133e19ddabe753a9c0d49d814c89f9df4121ad",
      "tree": "199ce2073bb6ce5574d7a6047251e97c2d621eff",
      "parents": [
        "624dd5ce9d6dbdf6522d51134128cb9baadd558e",
        "2efbe9816e097a07864a04f0722d5669b98699f4"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Oct 21 18:25:00 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 21 18:25:01 2014 +0000"
      },
      "message": "Merge \"Fix gradient drawable radius when specified as float, dimension\" into lmp-mr1-dev"
    },
    {
      "commit": "46b4920ac85c5294174df9421eb9a69b0c9b5d55",
      "tree": "e50fa00cf460fad2a7680e7495af183d78b87d78",
      "parents": [
        "a9a550dd8e87b33979670cf856838ba227500547",
        "f81c6af10ef3041eeddb4a4560611a17dd3d399b"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Oct 21 18:14:49 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 21 18:14:50 2014 +0000"
      },
      "message": "Merge \"Propagate state changes even when we don\u0027t change drawable index\" into lmp-mr1-dev"
    },
    {
      "commit": "2efbe9816e097a07864a04f0722d5669b98699f4",
      "tree": "4d79b7f6319674a8cc5fe305257253a3460fa9c9",
      "parents": [
        "d00e68c3b6a4c727bd59a7e7c4524fb3fdd193f0"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Oct 21 11:04:04 2014 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Oct 21 11:04:04 2014 -0700"
      },
      "message": "Fix gradient drawable radius when specified as float, dimension\n\nBUG: 18070756\nChange-Id: I991ff792c376c9695a007f8f1187390ab5ff6e3c\n"
    },
    {
      "commit": "f81c6af10ef3041eeddb4a4560611a17dd3d399b",
      "tree": "5986f61f9177b01da87af7b1755116a6eba1ec79",
      "parents": [
        "d00e68c3b6a4c727bd59a7e7c4524fb3fdd193f0"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Mon Oct 20 14:42:53 2014 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Mon Oct 20 14:42:53 2014 -0700"
      },
      "message": "Propagate state changes even when we don\u0027t change drawable index\n\nPreviously we could miss the state change if we were simply reversing the\ncurrent transition.\n\nBUG: 17967405\nChange-Id: I2cb396dedbff61b980741ef8c0d931be6abe129c\n"
    },
    {
      "commit": "12d808a24f4af9a127ae851edd06339b77020178",
      "tree": "8a00f37cf21e7fc4b34b80c182e792616bcd49c0",
      "parents": [
        "3babc728e0910ac25744bdf3f923fdfdeeb689d1",
        "a724d1ab4083f08958bd88e76e15b7c0af337bfc"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon Oct 20 20:42:51 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 20 20:42:51 2014 +0000"
      },
      "message": "am a724d1ab: am 877ce2c4: Merge \"Make sure the bitmap from VD\\\u0027s cache is drawn using bi-linear filter.\" into lmp-dev\n\n* commit \u0027a724d1ab4083f08958bd88e76e15b7c0af337bfc\u0027:\n  Make sure the bitmap from VD\u0027s cache is drawn using bi-linear filter.\n"
    },
    {
      "commit": "eec6164e6f6178343219bdedcb1e26779fae7f89",
      "tree": "9a4bff7ee5865357a80888e21ad746912bbe9ded",
      "parents": [
        "0a1ffdb3f89705eeeb89349fcd31c82b2d15b0a5"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Thu Oct 16 15:16:09 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Thu Oct 16 15:40:04 2014 -0700"
      },
      "message": "Make sure the bitmap from VD\u0027s cache is drawn using bi-linear filter.\n\nb/17949291\n\nChange-Id: I0e59852220ab8a3be2c70afa483e805029a9e19e\n"
    },
    {
      "commit": "b70cfb9103b02e90409ba1f1bc334210f139774f",
      "tree": "dc2021c0322776cad23d2875e3a470f39b2e5203",
      "parents": [
        "9e18d7ab70eb581200afe0abbd1bb6e32f9e135d",
        "a7b64e8eefec1a200701443622debf1032291bdd"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Oct 15 21:17:58 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 15 21:18:00 2014 +0000"
      },
      "message": "Merge \"Avoid saveLayer in RippleDrawable if the background won\u0027t draw\" into lmp-mr1-dev"
    },
    {
      "commit": "9a00cbcc66b5b0002ff78507a1dc1efa12e84d63",
      "tree": "b07cdbe80ff37893ed40fd4824b308eb99d9fc6a",
      "parents": [
        "669eef661de138fa674e69f9b840570300f9bd5d",
        "17cd4dfe3a05c2eddbcbc76066ff3b13fc3f2c8b"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Oct 14 22:47:36 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 14 22:47:43 2014 +0000"
      },
      "message": "Merge \"Update preload list, clean up drawable theming\" into lmp-mr1-dev"
    },
    {
      "commit": "17cd4dfe3a05c2eddbcbc76066ff3b13fc3f2c8b",
      "tree": "7aef608f259426843b3cca46ddb1d1660be72f0d",
      "parents": [
        "2f82e48abb71c92e41caa8057e3068dbfe96ed62"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Oct 14 14:07:21 2014 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Oct 14 14:07:21 2014 -0700"
      },
      "message": "Update preload list, clean up drawable theming\n\nRemoves all implementations of three-arg ConstantState constructor, since\nwe handle mutation and applyTheme() in Resources now. Moves progress bar\ntinting to android:tint attribute. Correctly implements applyTheme() and\ncanApplyTheme() in all drawable wrapper and container classes.\n\nChange-Id: Ic9cb43d0d6228aa4914f3124bed234b837beaa41\n"
    },
    {
      "commit": "42e96769ae9acd830e919ebc17a9294b6367538d",
      "tree": "a09185a71bab1713b79074f144f679997afa3080",
      "parents": [
        "788e30bd34b575e029d6b55d74e9c81ce28b21df",
        "43027b7bca554818cc4223389747d661819d5706"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Oct 14 01:00:35 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 14 01:00:36 2014 +0000"
      },
      "message": "Merge \"Add support for tint and tintMode to GradientDrawable\" into lmp-mr1-dev"
    },
    {
      "commit": "788e30bd34b575e029d6b55d74e9c81ce28b21df",
      "tree": "23d5a32d3a9e1a04d90028f22247dff16d57a7c1",
      "parents": [
        "5dac2a225e54e0fc4cbddb81e7e11c6296c579b3",
        "2627206e1b1658ccade3669d1794dc0d90e36264"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Oct 14 00:37:02 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 14 00:37:03 2014 +0000"
      },
      "message": "Merge \"Revert \"Always project ripples\"\" into lmp-mr1-dev"
    },
    {
      "commit": "43027b7bca554818cc4223389747d661819d5706",
      "tree": "d2a576f71bfa8324f8f68fd8a1fbedafa40f9046",
      "parents": [
        "2f82e48abb71c92e41caa8057e3068dbfe96ed62"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Mon Oct 13 16:55:59 2014 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Mon Oct 13 16:55:59 2014 -0700"
      },
      "message": "Add support for tint and tintMode to GradientDrawable\n\nBUG: 17975498\nChange-Id: I8aeec48b8499abaf055e75018759f99801efdecc\n"
    },
    {
      "commit": "a7b64e8eefec1a200701443622debf1032291bdd",
      "tree": "ae1bbfc9b2a7c852365043d8265360564263bb69",
      "parents": [
        "2f82e48abb71c92e41caa8057e3068dbfe96ed62"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Mon Oct 13 16:47:57 2014 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Mon Oct 13 16:47:57 2014 -0700"
      },
      "message": "Avoid saveLayer in RippleDrawable if the background won\u0027t draw\n\nBUG: 17952941\nChange-Id: Ic2640f847e2ed43fc5117d43230513ee7696d9e7\n"
    },
    {
      "commit": "2627206e1b1658ccade3669d1794dc0d90e36264",
      "tree": "5519aaed9a94c092fc71867abf4519fd6f2c2290",
      "parents": [
        "f90b6bd54f60960a790b5bd507a0d75d961a981a"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Mon Oct 13 23:18:04 2014 +0000"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Mon Oct 13 23:18:04 2014 +0000"
      },
      "message": "Revert \"Always project ripples\"\n\nProjecting ripples places them under shadows, which is not\nideal. Punting this workaround and waiting until we have\nproper support for rounded corner clipping on windows.\n\nThis reverts commit f90b6bd54f60960a790b5bd507a0d75d961a981a.\n\nChange-Id: I61946649bbb1bf74a969d74e5353608afc8e4463\n"
    },
    {
      "commit": "2f82e48abb71c92e41caa8057e3068dbfe96ed62",
      "tree": "0993a3f484b7af2486f8b3908f2fa1b520add7bd",
      "parents": [
        "9ca39d744cdf6ffdb782bbc883b2f4266545f64e",
        "f90b6bd54f60960a790b5bd507a0d75d961a981a"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Mon Oct 13 20:58:47 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 13 20:58:48 2014 +0000"
      },
      "message": "Merge \"Always project ripples\" into lmp-mr1-dev"
    },
    {
      "commit": "cdd5e067f25825bb565b0723f6ce039d2347f828",
      "tree": "e11a0dba023ecfaaac7721360aac5ea8a181157e",
      "parents": [
        "69f35c8e1bc5b7bd087907d7d88a5de4cf57ba42"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Oct 10 14:08:32 2014 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Oct 10 14:08:32 2014 -0700"
      },
      "message": "Fix inset drawable\u0027s intrinsic size, replace ic_text_dot asset\n\nBUG: 17648301\nChange-Id: I8af0f6d1beee7a1cb3a3b9db571ed2c407e24556\n"
    },
    {
      "commit": "f90b6bd54f60960a790b5bd507a0d75d961a981a",
      "tree": "1b6e57b650e8af2677c7346db7802fc8e422b35c",
      "parents": [
        "19a9e6c23b44e4fbee2f559e921170e34732d858"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Oct 09 14:47:19 2014 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Oct 09 14:47:19 2014 -0700"
      },
      "message": "Always project ripples\n\nWe already handle bounding rect in draw(), so this just ensures\nthat ripples are always clipped to window background outlines\nuntil we can implement more general clipping.\n\nBUG: 17498583\nChange-Id: Iaff51fb177b017a11822bdf4f31c117fc9522c15\n"
    },
    {
      "commit": "d83e9e42805e340384f30199777fbc472c5c6f20",
      "tree": "0595834055c44488261afe988e065c67c5c45837",
      "parents": [
        "0a61c7ee4a94326b7524d58f456973b68ac62d35",
        "0761b1b5ebb453a411e3289c1c972dbfddcee880"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Thu Oct 09 13:03:21 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 09 13:03:21 2014 +0000"
      },
      "message": "am 0761b1b5: am 89b19695: Merge \"Put in real \"code\" (aka marketing) name.\" into lmp-dev\n\n* commit \u00270761b1b5ebb453a411e3289c1c972dbfddcee880\u0027:\n  Put in real \"code\" (aka marketing) name.\n"
    },
    {
      "commit": "f92f26fef215897bd302c1c06adbe5d853881b3f",
      "tree": "b7a55854cc902269eabc726284848fe3b8059690",
      "parents": [
        "b7af00f2b14e9f8333e3518aa81a15502858ea11"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Oct 08 14:49:21 2014 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Oct 08 14:49:21 2014 -0700"
      },
      "message": "Slow down ripple background fade in from press\n\nBUG: 17433613\nChange-Id: Ie9c4046532d61ad8ef8e044d14557db5d52e0d0b\n"
    },
    {
      "commit": "955d8d69ea6caabce1461dc25b339b9bf9dc61a6",
      "tree": "f6bd4b5d4be17a8e237e837d59c3f8aaa76ebe55",
      "parents": [
        "0d334365c6123388a0df81438b82122be29d19ab"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Oct 07 20:17:19 2014 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Oct 07 20:17:19 2014 -0700"
      },
      "message": "Put in real \"code\" (aka marketing) name.\n\nChange-Id: Idb3976edfae37293ed75cb5b869b4b42d8042bbe\n"
    },
    {
      "commit": "727cae197b123ef764a1f8fbe08a995b000d14c3",
      "tree": "7ae1c2dd3afcc6bdbfc4d20bf261fab69abaec97",
      "parents": [
        "84659edd41b0bc7ecde645405e926a641e704824"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Oct 07 15:08:47 2014 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Oct 07 15:08:47 2014 -0700"
      },
      "message": "Mutate and apply theme if needed before caching themed drawables\n\nThis ensures that drawables are completely separated from their cached\nconstant states before applying a theme. After this, we can remove the\nimplicit (and incomplete) mutation in the clone constructors.\n\nAlso implements missing mutate() method on ClipDrawable.\n\nBUG: 17646144\nChange-Id: If0d66b0a85724d76e0a4f506758c7ba3c0aa3410\n"
    },
    {
      "commit": "39e33621a725bcdaa21a723866e53c6ea3356169",
      "tree": "61046f0bf0864906d0d4c57e5ad3e1c4c137b124",
      "parents": [
        "c403a340cbb097a95b35b198b27cf44c80a7242e"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Oct 02 15:53:31 2014 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Oct 02 15:54:23 2014 -0700"
      },
      "message": "Fix theme propagation to contained android:drawable elements\n\nBUG: 17790666\nChange-Id: I6733a98e779cad0d384b917c57d2b3409a166c02\n"
    },
    {
      "commit": "c3fdffa98136bdad1fee9c77598d541d792920e1",
      "tree": "0423694c992cce31d0776b25e4a53d0805b8ba97",
      "parents": [
        "b27d43a8805769f9a9dfdc024b5cd19b71cfd8d7"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon Sep 29 13:19:00 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Sep 30 15:02:24 2014 -0700"
      },
      "message": "Correct the documentation for VectorDrawable\n\nWe missed the alpha for the vector drawable root level in the documentation.\nAnd the animation target can be vector drawable itself for the alpha value,\nwhich is more than path and group object.\n\nb/17696183\n\nChange-Id: Ic9d441fbdf411dad92718ae5adbc6655fe708453\n"
    },
    {
      "commit": "b805da9b592e67cb777b78db3a96d47c60e31ca7",
      "tree": "f4d23ece9389ce78a8d83c06b1caa1be7198a0d6",
      "parents": [
        "4a154af9aad13c09821ada6187440feaec2d38e8",
        "bddb843e793a279db99888dd78b4f74a362cbb8b"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Sep 30 00:32:29 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 30 00:32:30 2014 +0000"
      },
      "message": "Merge \"Fix drawable container tinting\" into lmp-dev"
    },
    {
      "commit": "bddb843e793a279db99888dd78b4f74a362cbb8b",
      "tree": "b950fc20888d22a85bc37f4a579e31e84a64e247",
      "parents": [
        "f7c4509ffbbe6b1849c3ea61edac8d1d23906eaa"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Mon Sep 29 17:22:47 2014 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Mon Sep 29 17:22:47 2014 -0700"
      },
      "message": "Fix drawable container tinting\n\nBUG: 17704311\nChange-Id: Ib9ced41e8589352c852e6c9dc7abbe6e4b9f2520\n"
    },
    {
      "commit": "3f873d86441c30f5d45640a9f70b3b7331985c90",
      "tree": "3b8d6d05d993452f093af78a1cae2acbf26d6f95",
      "parents": [
        "9eef5bf8d1a69879ada3176c839676dc82b14daf"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Sep 29 13:22:05 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Sep 29 21:14:43 2014 +0000"
      },
      "message": "Implement alpha as documented for drawables\n\nbug:17693526\n\nWith this change, outline opacity isn\u0027t published by default, as was\nintended. Default behavior for custom drawables is to have a\nrectangular outline, but not cast a shadow, e.g. as a button\nbackground.\n\nChange-Id: If80a256ff359bcb58f3f593ec9018f2df5fc4e44\n"
    },
    {
      "commit": "b067405bf453289a6b6bfd34b06700f08be58c24",
      "tree": "0808109294ae56586c0d0d89b02b0d77033c3964",
      "parents": [
        "a0f63c6e9522b891898c665be58415d34a1dd6c1"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Sep 26 16:12:16 2014 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Sep 26 16:12:16 2014 -0700"
      },
      "message": "Add callback to track and thumb drawables, propagate state in ASLD\n\nBUG: 17665424\nChange-Id: I22da4530f3e2869d856102e804f020461a46fe49\n"
    },
    {
      "commit": "5004032ebc2aee97c5884b7f91cc33d2f98ae8b5",
      "tree": "b1403e833ae389066826d9fde339f18fc9c2e7ca",
      "parents": [
        "a8181a9a0b420429a188218689a299fdf1335bb8"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Sep 26 10:37:30 2014 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Sep 26 10:37:30 2014 -0700"
      },
      "message": "Fixed mutate() for RippleDrawable, ASLD, AVD, fix applyTheme in VD\n\nBUG: 17646144\nChange-Id: I58c111d86224dc8f7f557073c0bcbc22ad74aa1b\n"
    },
    {
      "commit": "33ae07ab814df0242625bb1e1961f464b630a7fe",
      "tree": "df6ef00c1e32f40403ff36126d6475d3aba91c72",
      "parents": [
        "314dc4c553d7ab712151003c0d569982301a44e3",
        "8bdb44270323ec8b665d26322fe67cd307719904"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Sep 25 20:14:33 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 25 20:14:34 2014 +0000"
      },
      "message": "Merge \"Cut ripple background alpha in half\" into lmp-dev"
    },
    {
      "commit": "8bdb44270323ec8b665d26322fe67cd307719904",
      "tree": "4d8d4435fb58512e7d33f12684c94540cead7133",
      "parents": [
        "a93e58f888c8012312cf83f051236ecea46a6b95"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Sep 25 13:06:03 2014 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Sep 25 13:06:03 2014 -0700"
      },
      "message": "Cut ripple background alpha in half\n\nRipple alpha is supposed to be split evenly between the foreground\nripple layer and the background layer, but the background alpha wasn\u0027t\ngetting adjusted properly.\n\nBUG: 17658817\nChange-Id: I7af2f2ed38400a40d4a17da020363c7ae5c71a7b\n"
    },
    {
      "commit": "dde353394c43ad01820c27db403cb9dedd36da4e",
      "tree": "0f42bfa02753f6987edc9f076f00c999a7976045",
      "parents": [
        "81ba98619b3b7d5856fe3787167333b05fe16f83",
        "98916d146afe2ff25a439603f7d9559e74a790ca"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed Sep 24 23:07:17 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 24 23:07:18 2014 +0000"
      },
      "message": "Merge \"Fix AVD for CTS failure.\" into lmp-dev"
    },
    {
      "commit": "98916d146afe2ff25a439603f7d9559e74a790ca",
      "tree": "4aa7fcf443f453749066b7b08e8ed8b8ae3698a8",
      "parents": [
        "fdb35f0526e63dc4d6882d86029d9beacc6a2d07"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Sep 23 11:12:43 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Sep 23 16:07:27 2014 -0700"
      },
      "message": "Fix AVD for CTS failure.\n\nMostly about changingConfig flags, the fix is just a copy from VectorDrawable.\n\nb/17631551\n\nChange-Id: Ibad9c2f61cd86b15e9bca1d1991c8cd147897bb0\n"
    },
    {
      "commit": "dbcccffc3760f702887faa95b2748125bac88a89",
      "tree": "d9231523830afc10f2695679b3613621bc8d3c3f",
      "parents": [
        "fdb35f0526e63dc4d6882d86029d9beacc6a2d07"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Sep 23 10:58:57 2014 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Tue Sep 23 11:22:26 2014 -0700"
      },
      "message": "Fix animation on the some properties\n\nThe risk is low since most of them are just matching the naming to xml.\nAnd this update won\u0027t cause build breakage.\n\nb/17623982\n\nChange-Id: I1eda0b8314ec7b94bc03976cdc365a7dc1039f4c\n"
    },
    {
      "commit": "f559326b182e321f51ab9711614d3e37fefa603a",
      "tree": "a95a70bc7eeedfcaec0964c81be777de5b8a43ce",
      "parents": [
        "8f8f5f579fa6448a2ed370c5bd48af35a30f4944"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Sep 16 10:51:45 2014 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri Sep 19 08:54:09 2014 -0700"
      },
      "message": "Hide other color filter mutability\n\nbug:17262092\nChange-Id: Ia6c0e1a684365c372803d1a6be41a478a05e0dd0\n"
    },
    {
      "commit": "238aeca552f74a71867e560f0ae73ec99aae844d",
      "tree": "b0dfb16092aa9bfd7f3d401cdb747385554bb467",
      "parents": [
        "84f20ec49df3bfc8b40a27964ba2b074e5f101fc",
        "2ae56403542582bd39c0e522bf29844d59300f37"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Sep 16 00:37:14 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 16 00:37:16 2014 +0000"
      },
      "message": "Merge \"Reduce overdraw after clearing ripples in RippleDrawable\" into lmp-dev"
    },
    {
      "commit": "9c13ed366f205d94b2f3f4ddc96b55b1b9faadba",
      "tree": "206be1d4167bf3553c800c350795bc42e49d63c2",
      "parents": [
        "a2f945e227d8059e3ff9c41676146b057cd7ddbe"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon Sep 15 16:36:07 2014 -0700"
      },
      "committer": {
        "name": "Tenghui Zhu",
        "email": "ztenghui@google.com",
        "time": "Mon Sep 15 23:41:34 2014 +0000"
      },
      "message": "Set cache dirty when re-create the cache bitmap\n\nb/17503595\n\nChange-Id: Icdaa3651345b740772363f8afb29bb36741fcc87"
    },
    {
      "commit": "2ae56403542582bd39c0e522bf29844d59300f37",
      "tree": "256e3836decd0b4898e447ad65eb1e7cff1ee7af",
      "parents": [
        "c6a65dfbfff0b9fe1f6e0292cd4b92ffb679728c"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Mon Sep 15 12:27:13 2014 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Mon Sep 15 12:27:13 2014 -0700"
      },
      "message": "Reduce overdraw after clearing ripples in RippleDrawable\n\nWe only need to force a transparent draw after canceling a render\nthread accelerated animation, and then we can draw again without\nthe transparency to avoid overdraw in the display list.\n\nBUG: 17451761\nChange-Id: I640f9a29d0940a93802f14a15f27d2c2072755ce\n"
    },
    {
      "commit": "264ea9c35fcc9a75a923187c6a3a7fa579244283",
      "tree": "5031521d36a79d284c79e47e9f3b292a403cd907",
      "parents": [
        "f47ff5bf97edf9a5c8d20ef47b6a5b4571554546",
        "b07b086bd42181f62718a6394b56be3917b12511"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Sep 12 23:47:54 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 12 23:47:55 2014 +0000"
      },
      "message": "Merge \"Apply VectorDrawable color filter at draw time\" into lmp-dev"
    },
    {
      "commit": "b07b086bd42181f62718a6394b56be3917b12511",
      "tree": "b7e99088221bb557508fbaa1d437524d86222c7a",
      "parents": [
        "61642ce8c3c604a5b4d101a1b5460069b82666b9"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Sep 12 16:37:44 2014 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Sep 12 16:37:44 2014 -0700"
      },
      "message": "Apply VectorDrawable color filter at draw time\n\nBUG: 17491152\nChange-Id: Ia0ca0bd7cd00363ad5777d3e2e62fa1131a6d8a5\n"
    },
    {
      "commit": "6d325763120d2123633e358b34c3975545e81fe0",
      "tree": "8102edd5d7aad7ddc1f334d554cb0daf3be2f7d2",
      "parents": [
        "6225dd239f6dcffb49bd1e1f33fdbb00623f378a",
        "888b4cf73c9663be37c4faa1249cef1a6a8f8c38"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Sep 12 23:14:32 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 12 23:14:33 2014 +0000"
      },
      "message": "Merge \"Report button opacity for current state, fix button shadows\" into lmp-dev"
    },
    {
      "commit": "888b4cf73c9663be37c4faa1249cef1a6a8f8c38",
      "tree": "e42cd7fe4ec9cf6a1f8428162c9f67958b5df328",
      "parents": [
        "86ae74b129d6212d663f2476fcd0738382def46f"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Sep 12 16:13:32 2014 -0700"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Sep 12 16:13:32 2014 -0700"
      },
      "message": "Report button opacity for current state, fix button shadows\n\nBUG: 17433604\nChange-Id: I25e0bd9b96e09ed2a4d85476b60f459e7cc33002\n"
    }
  ],
  "next": "74cc5c39ae0335af9055cab000d4e92bbf4c9e60"
}
