)]}'
{
  "log": [
    {
      "commit": "b5c30800e55dd2aaf9ac4d6864918138082ae735",
      "tree": "c582a0f87d3535866475d4be075f1fbd462a7880",
      "parents": [
        "74784e8e57abeb58f84d4a6bba6080ce5c41501d",
        "9580146f5076aaa7c498f86bd3d724c00599f6f4"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Sep 08 16:23:42 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 08 16:23:45 2016 +0000"
      },
      "message": "Merge \"Add API to copy a window\""
    },
    {
      "commit": "9580146f5076aaa7c498f86bd3d724c00599f6f4",
      "tree": "33df26fef261fe9ce563b20438726e0094d3c583",
      "parents": [
        "51c1b3466acfb77c14ee5332ff1ff2a273af4670"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Sep 01 09:44:09 2016 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Sep 07 11:41:15 2016 -0700"
      },
      "message": "Add API to copy a window\n\nChange-Id: I9bb5209010db6665be4b6f8db81a6fc1b7debc45\n"
    },
    {
      "commit": "f5af4a344e086efa87740a0154cace064465fe54",
      "tree": "1d55632c171717fe0f766c9a7ffe1039e3889d1f",
      "parents": [
        "499c15963a1721a63e8303a198ec898f70102206"
      ],
      "author": {
        "name": "Keisuke Kuroyanagi",
        "email": "ksk@google.com",
        "time": "Wed Aug 31 21:40:53 2016 +0900"
      },
      "committer": {
        "name": "Keisuke Kuroyanagi",
        "email": "ksk@google.com",
        "time": "Mon Sep 05 17:45:37 2016 +0900"
      },
      "message": "Always redraw text that protrude from line bounds.\n\nWith I63af3a6ecbf92, we create RenderNode lazily, but\nblocks containing contents that protrude from line top or\nbottom cannot be simply lazily redrawn after edit or\nscroll.\nWith this CL, we check if the contents protrude from line\ntop or bottom by comparing the text bounds with relevant\nfont metrics values and we always redrawn such blocks after\nedit or scroll.\n\nBug: 27889485\nChange-Id: I666da5eeb39f780c341597f347bfcba21eb34295\n"
    },
    {
      "commit": "1209bc144b637033602e9d9b0d30f27b26dbc892",
      "tree": "3a2626613c983ad8f52b7ed9a13e533be35ff194",
      "parents": [
        "25b7b18156e2e69e4bc130151e301c97fb2e4d2b",
        "658f26634fbc3a1cd703cf21860c132d96666977"
      ],
      "author": {
        "name": "Pablo Ceballos",
        "email": "pceballos@google.com",
        "time": "Wed Aug 31 02:56:35 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 31 02:56:35 2016 +0000"
      },
      "message": "Fail createVirtualDisplay with single-buffered Surface am: aff2f94939 am: d387b20dcb\nam: 658f26634f\n\nChange-Id: I499988d911ffd5ccd4b5bc10c75f3e0ed9a897c8\n"
    },
    {
      "commit": "d387b20dcbd298794da8c4ad8f36e31d7e10c402",
      "tree": "1598e050c930862acf1c1cc10e3d0afa981c1383",
      "parents": [
        "2cf3cc82e3f529b4353e552f5f38a22e9374c003",
        "aff2f949395725f4bb82802bd12201b65d514e68"
      ],
      "author": {
        "name": "Pablo Ceballos",
        "email": "pceballos@google.com",
        "time": "Mon Aug 29 17:59:07 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 29 17:59:07 2016 +0000"
      },
      "message": "Fail createVirtualDisplay with single-buffered Surface\nam: aff2f94939\n\nChange-Id: I5cfcbd0352240d7ac2a9bb0804896cae5396450e\n"
    },
    {
      "commit": "ce3338ea36c80a0e28dc6c893482a09e394db0a9",
      "tree": "81b3ac55294a37bd170de9312c66031e1e2b6cac",
      "parents": [
        "357773aa629cde25c60a27be69dd0d81fc02b7e2",
        "6a03c39e0ae5063818bc8b38c61f72675da5b40d"
      ],
      "author": {
        "name": "Kirill Grouchnikov",
        "email": "kirillg@google.com",
        "time": "Mon Aug 29 17:08:20 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 29 17:08:22 2016 +0000"
      },
      "message": "Merge \"Fix typo in PathMeasure javadocs\""
    },
    {
      "commit": "6a03c39e0ae5063818bc8b38c61f72675da5b40d",
      "tree": "a8f01435d5d081326bbe9dfdff3fa79e71a608f9",
      "parents": [
        "7c49dc57f06d131d477deadd416e4e5f7a2e12b7"
      ],
      "author": {
        "name": "Kirill Grouchnikov",
        "email": "kirillg@google.com",
        "time": "Mon Aug 29 11:46:21 2016 -0400"
      },
      "committer": {
        "name": "Kirill Grouchnikov",
        "email": "kirillg@google.com",
        "time": "Mon Aug 29 11:46:21 2016 -0400"
      },
      "message": "Fix typo in PathMeasure javadocs\n\nChange-Id: I7c637d791c7ca9b4b1d982602a6cd108385ca905\n"
    },
    {
      "commit": "2851c2905ddeef6308279c0239a1e7c0dc5f2531",
      "tree": "b6e9e7e42b210dfcb3195f27155da1e96c568890",
      "parents": [
        "4cde2c510e436cd53d747cfd9e9950fb5162dc9d",
        "caf68d03557995f91efb91e2c973eec7fb8f6b7c"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Aug 26 18:29:42 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 26 18:29:42 2016 +0000"
      },
      "message": "Ensure the layer drawable callback is set when loading from theme am: 11a84b8429 am: 3deb906397\nam: caf68d0355\n\nChange-Id: I2a61c5412cedce03612047aacce852451d16710e\n"
    },
    {
      "commit": "cdfd0c8960ed84b0b3f6bf4951e1504db09d1efe",
      "tree": "33199993b9f3252ae55be0cff85c5e9b68ab811d",
      "parents": [
        "f2c695741e1af9f76d3940285aa945432e00f3c0",
        "35a7e106ef77c06aeb9b91788f4f9d0d1c5fab8d"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Aug 26 18:27:37 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 26 18:27:37 2016 +0000"
      },
      "message": "Improve docs for GradientDrawable\u0027s useLevel and centerX/Y properties am: daec5506c4 am: cc914b6b0b\nam: 35a7e106ef\n\nChange-Id: I1357fcc227c48259e15eef74e67d86f21fcec163\n"
    },
    {
      "commit": "c5d2192f14653003f1306fe7aaa7a2133531e0da",
      "tree": "a4c9a5628990367a8c7fcde6496e0dc5c9925da8",
      "parents": [
        "62275034b0ec7a067d21cf133328b5cb03169794",
        "8b9ed44f8d559be2590b25cb4b72d2aefd3b3784"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Aug 26 17:37:06 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 26 17:37:09 2016 +0000"
      },
      "message": "Merge \"Various doc cleanups\""
    },
    {
      "commit": "8b9ed44f8d559be2590b25cb4b72d2aefd3b3784",
      "tree": "10c969eb7684a4eb049ca61b46bacdc6cecd3c84",
      "parents": [
        "feef989771c8b4393e0c742097390bc95c1ba4fb"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Thu Aug 25 15:35:53 2016 -0700"
      },
      "committer": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Fri Aug 26 06:50:21 2016 -0700"
      },
      "message": "Various doc cleanups\n\nIssue #6439958  More R.attr breakage\nIssue #918412  android.graphics.Paint.FontMetricsInt fields \u0026 methods need doc\nIssue #917387  javadoc bug: Canvas.EdgeType has minimal documentation\nIssue #18948460 [DAC-bug] LinearLayout xml layout_weight parameter is missing description\n\nChange-Id: Idb289ca778b3f316923757405460031ce7a5e1e9\n"
    },
    {
      "commit": "2b769c4ddef454651206fe4ecbec241d66eb4462",
      "tree": "0d8664ae2aeb90fc79a792367b6fd585d3f9d6a4",
      "parents": [
        "1ae4e19e7358e0f7462aa1ee3d77716ac277a456",
        "ab2ed1a4e742a07a2c952cfb91d1c66db84552c1"
      ],
      "author": {
        "name": "Teng-Hui Zhu",
        "email": "ztenghui@google.com",
        "time": "Fri Aug 26 02:15:07 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 26 02:15:07 2016 +0000"
      },
      "message": "Add an new internal DrawableContainer to handle animation scale \u003d\u003d 0 case. am: 0c03664fa6 am: 0bc9fa9896\nam: ab2ed1a4e7\n\nChange-Id: I2de378da33ca93639c03544c8702e17eaefee514\n"
    },
    {
      "commit": "aff2f949395725f4bb82802bd12201b65d514e68",
      "tree": "efb03db1dad103d78f9abe24ad2bf335291c3ec2",
      "parents": [
        "891411aaa55d0f59111745ce0e9e45f717e5a940"
      ],
      "author": {
        "name": "Pablo Ceballos",
        "email": "pceballos@google.com",
        "time": "Fri Jul 29 14:49:55 2016 -0700"
      },
      "committer": {
        "name": "Pablo Ceballos",
        "email": "pceballos@google.com",
        "time": "Thu Aug 25 12:06:52 2016 -0700"
      },
      "message": "Fail createVirtualDisplay with single-buffered Surface\n\nBug 30106031\n\nChange-Id: I434df329eb3c162dd9ef01245ac5e0da97216e70\n"
    },
    {
      "commit": "3deb906397c0ea64f3c479a7cae31aa06d5c95c5",
      "tree": "1de609e878830eef856c41b12f4c3153998c1db8",
      "parents": [
        "56d8f4e2b42fa06134cd82b7a7dbde60bff3885c",
        "11a84b8429c2cf395b99c852d232a490ba1c9975"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Aug 24 18:34:26 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 24 18:34:26 2016 +0000"
      },
      "message": "Ensure the layer drawable callback is set when loading from theme\nam: 11a84b8429\n\nChange-Id: Ia6994252d09b6cc008847cd0e084949ada7b2ab2\n"
    },
    {
      "commit": "cc914b6b0bb5607cfe9493d56cac9f164889b3db",
      "tree": "f71e6ab94722e6ee39b573451a7c4ff1ea4d3092",
      "parents": [
        "040e5d8ce34ba80a21192b2b646048040087467c",
        "daec5506c45ff0677678fde0732b199cb071250d"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Aug 24 18:32:55 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 24 18:32:55 2016 +0000"
      },
      "message": "Improve docs for GradientDrawable\u0027s useLevel and centerX/Y properties\nam: daec5506c4\n\nChange-Id: If6c4b531a17abbed1a06478ec263bc89242638b3\n"
    },
    {
      "commit": "11a84b8429c2cf395b99c852d232a490ba1c9975",
      "tree": "6a0deff226d04678c760118e959867a62aea7ae2",
      "parents": [
        "4ecc9d2db400225b6f5e0d76d17b8f94354996a6"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Aug 24 12:35:47 2016 -0400"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Aug 24 12:35:47 2016 -0400"
      },
      "message": "Ensure the layer drawable callback is set when loading from theme\n\nPreviously we would skip setting the changing configurations and callback\nif the drawable had been loaded post-inflation from a theme attribute.\n\nBug: 30756548\nChange-Id: Ia5457723ae8a62506a7562299d3fe78ec21f8030\n"
    },
    {
      "commit": "0bc9fa98967eaab7aa2e387a85391c8ee341358c",
      "tree": "ce2352d91552c3ccf8a1cda1d2a31cb3b446af47",
      "parents": [
        "50c5f4ac38471a8b07bd2ca0eaa1433d4af86426",
        "0c03664fa6acbe5c3fd11d54ab9a6792f43dda07"
      ],
      "author": {
        "name": "Teng-Hui Zhu",
        "email": "ztenghui@google.com",
        "time": "Wed Aug 24 16:28:55 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 24 16:28:55 2016 +0000"
      },
      "message": "Add an new internal DrawableContainer to handle animation scale \u003d\u003d 0 case.\nam: 0c03664fa6\n\nChange-Id: I7feae01c6302e2942087c6dfe1948109467f1326\n"
    },
    {
      "commit": "0c03664fa6acbe5c3fd11d54ab9a6792f43dda07",
      "tree": "cbc70a562ed520811c2a4633b1d2fe63e774672d",
      "parents": [
        "f4c5b344ae0845a80a05bd0a97906170fc552956"
      ],
      "author": {
        "name": "Teng-Hui Zhu",
        "email": "ztenghui@google.com",
        "time": "Fri Aug 19 10:06:25 2016 -0700"
      },
      "committer": {
        "name": "Teng-Hui Zhu",
        "email": "ztenghui@google.com",
        "time": "Mon Aug 22 15:36:32 2016 -0700"
      },
      "message": "Add an new internal DrawableContainer to handle animation scale \u003d\u003d 0 case.\n\nThis will help ProgressBar to show something meaningful when animation scale is 0.\nb/30877925\n\nChange-Id: Ieb2e78712999d2e3f3a2a234bc605b4821ae41c0\n"
    },
    {
      "commit": "d64255f61db30934e293adab2a5a8ac9eeea0b98",
      "tree": "0576a36bc82bcc17b4c9da3d2c0b683e003a467b",
      "parents": [
        "f9f8e8204504307ee7e7f2a372c58a44043893b3"
      ],
      "author": {
        "name": "Teng-Hui Zhu",
        "email": "ztenghui@google.com",
        "time": "Tue Jul 26 14:36:20 2016 -0700"
      },
      "committer": {
        "name": "Tenghui Zhu",
        "email": "ztenghui@google.com",
        "time": "Mon Aug 22 18:32:09 2016 +0000"
      },
      "message": "Update the javaDoc for VectorDrawable and AnimatedVectorDrawable\n\nb/30269243\n\nChange-Id: I139a3fcac95c41a667fa06aa3223b812caad6243\n(cherry picked from commit c224417511d8179a08c4dfd4badc73dd9699ebf2)\n"
    },
    {
      "commit": "366262dc7854ba54f64905df8d275358be41edf5",
      "tree": "f265aa9d66ba234bc41757f752f82c2721ecfc38",
      "parents": [
        "e24a4590bf5c302687a3efba684de275d13ee300"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Thu May 12 14:17:15 2016 -0700"
      },
      "committer": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Thu Aug 18 18:20:59 2016 +0000"
      },
      "message": "Only have a single call into pdfium at a time.\n\nPdfium is not thread safe and uses global variables, hence no\nparallel call pdfium is safe\n\nFixes: 28705066\nChange-Id: I04309ee691bd9cea37587e0af5be2c07ce8c9f2c\n(cherry picked from commit 0768a7dc450caf4c873c5b0883a75135536e1546)\n"
    },
    {
      "commit": "911bbc7cb0c36ccaf787b0811f0a86a2475113c5",
      "tree": "a360f134ee584d0f9db3bf5c1bc6c5dbf6fcd5f8",
      "parents": [
        "2fd53d198087c0e9fa00e45adddeda36ea69eb50",
        "a0daf61dd0850e5faa6e923c153d03b564f8f28c"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Thu Aug 18 00:07:02 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Aug 18 00:07:02 2016 +0000"
      },
      "message": "Fix listeners not getting called when AVD falls back on UI thread am: 853b23d1fa am: 79846f859c\nam: a0daf61dd0\n\nChange-Id: I90467d3501877b8f398be929084b6ae5f65360cf\n"
    },
    {
      "commit": "853b23d1fa625436b30dfab9b6cb7293c6c328b9",
      "tree": "331cb88491dad5f3128ea99789e35e622206d433",
      "parents": [
        "f1e87a20030e6404141ca4fcfe48f8c5260a3ecb"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Tue Aug 16 16:54:10 2016 -0700"
      },
      "committer": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Wed Aug 17 00:20:39 2016 +0000"
      },
      "message": "Fix listeners not getting called when AVD falls back on UI thread\n\nWhen AVD fall back on UI thread, in addition to transfer the pending\nactions from RT animator to UI animator, we also need to transfer\nthe listener, if any.\n\nBUG: 30901495\nChange-Id: Ib4a7ebb2996a02596bb5789704617c894a5dd474\n"
    },
    {
      "commit": "f49cfb874ee47217da02e5c07525a994d456d28e",
      "tree": "eee2ce9f557d0f18416e6012dc3fa028e49d138b",
      "parents": [
        "3efe391c0f60b85b85d1556833c15379a645fcc1",
        "22fdbab5d0e2275ed764652ea94686a056f4c93b"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Aug 10 01:24:20 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 10 01:24:20 2016 +0000"
      },
      "message": "Fix issue #30766518: Document what targeting N does am: b34cbedb4e am: 3a585b86be\nam: 22fdbab5d0\n\nChange-Id: Ic9beb458f4332b9ec72c4b4b4178a5bce1fcac82\n"
    },
    {
      "commit": "b34cbedb4e36f184232d7f40b093bdc9fd0cd752",
      "tree": "bb48a5c70e815dcd82e22657432bc48061c3568e",
      "parents": [
        "154cc8237b2cae4f88293076886fd0a22f8f947d"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 09 13:18:21 2016 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Tue Aug 09 13:21:24 2016 -0700"
      },
      "message": "Fix issue #30766518: Document what targeting N does\n\nAlso small documentation cleanup in a few other places.\n\nChange-Id: I16581c751aa0ffa146faba3b140a8fa2170f4520\n"
    },
    {
      "commit": "8f87912d4a8b7ef228b65058e37fa60600a10361",
      "tree": "dfdb933c17e0cee2e149371278d7b36564b21285",
      "parents": [
        "91355d5901f51b24ac1166a3197f5f9226a92389",
        "ceda529fae7e931f3580857d0d4cbecc7871bd23"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Sat Aug 06 01:24:02 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Aug 06 01:24:02 2016 +0000"
      },
      "message": "Support repeatMode \u003d reverse in AVD am: f7167e8f28 am: 113a8c63d4\nam: ceda529fae\n\nChange-Id: I17962c8cff0bd03c1a87d57b213edebdd62a4129\n"
    },
    {
      "commit": "f7167e8f286cff91dec01fdf617bf568f1d100e6",
      "tree": "f58d8288ef2ea02fdc8408dcc31e789c543983f8",
      "parents": [
        "6f20514185f836bbab48fe3867d3b249da573ec9"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Wed Aug 03 17:54:28 2016 -0700"
      },
      "committer": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Fri Aug 05 01:44:20 2016 +0000"
      },
      "message": "Support repeatMode \u003d reverse in AVD\n\nBUG: 30641232\nChange-Id: I34c823a0a45c8441873a9b467275174c5529994b\n"
    },
    {
      "commit": "daec5506c45ff0677678fde0732b199cb071250d",
      "tree": "bb14d5498a72b7cb94e3e924d1c44f2e12675a3b",
      "parents": [
        "c9682ab5b508a242f0d569857ee9f6a3b82578de"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Aug 04 13:55:11 2016 -0400"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Aug 04 13:55:11 2016 -0400"
      },
      "message": "Improve docs for GradientDrawable\u0027s useLevel and centerX/Y properties\n\nBug: 30302143\nChange-Id: I1007bf2a57ce73c9ed516a4717e7a539e9e9774b\n"
    },
    {
      "commit": "8b9a1fa0848df557d5c718f3ef1230e6a82a320a",
      "tree": "9635e321ff856b5c85af23b33fe4ae3b5bdeece4",
      "parents": [
        "d56560eb7c91ddc506e0799b54968c27f362558b",
        "897b9effb7f84c241bc68686c09324987c1dba37"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Aug 02 02:57:27 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 02 02:57:27 2016 +0000"
      },
      "message": "Eliminate recents upload jank am: 4387190d8e am: 021a952150\nam: 897b9effb7\n\nChange-Id: Iab2f01b5b3a9be6946e36169209c281a3320ed14\n"
    },
    {
      "commit": "4387190d8ec9fe4e953fcfeb093a644b82cf85ed",
      "tree": "c717cbed2691386f68b6c97ba09d64ac85137871",
      "parents": [
        "fbd93027e4f8024642271652e490653a4d0c2b55"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Aug 01 14:39:24 2016 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Aug 01 16:36:14 2016 -0700"
      },
      "message": "Eliminate recents upload jank\n\nBug: 30342017\n\nUpload recents thumbnails in the\ndead gaps between frames instead of\nat the start of a frame. This eliminates\njank caused by the large texture\nupload.\n\nChange-Id: I507cd286d199109c7a9a1511d68ba5ab5d28069f\n"
    },
    {
      "commit": "19e710e7b568fc3434025b6cb36a6ea81a4a25da",
      "tree": "c122fecf903bb780c2c2592b892afd5f0c86ae5b",
      "parents": [
        "b49c45bb08e13584d67410815456a68198a3b2c2"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Aug 01 12:05:38 2016 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Aug 01 12:05:38 2016 -0700"
      },
      "message": "Expose Path.approximate()\n\nIt is a useful APIs that applications can benefit from for a\nnumber of use cases. Since apps have currently no way of\ninspecting the content of a path, this allows them to\nperform interpolation along paths.\n\nChange-Id: I79bcba38a0ed806c418ed25d36ea25af8721d9c1\n"
    },
    {
      "commit": "f761b415010f360f65f05985356c0ea3a5661478",
      "tree": "34c960f1dc2afcf8f5798ba5bcd44f78fd819840",
      "parents": [
        "7fc9f3d8e5901990a8d223ee96ed66759318d463",
        "51fe9421aef4346c5a88bc850ab5a768d5e1169f"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Fri Jul 29 01:38:15 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jul 29 01:38:15 2016 +0000"
      },
      "message": "Merge \\\\\\\"Keyguard: Reapply insets when fitsSystemWindow changes\\\\\\\" into nyc-mr1-dev am: 5e0a42848e am: 7c323ce7d7\nam: 51fe9421ae\n\nChange-Id: Ia96e1c2c59e83d8d8472a8795fd5998d9f7fe3a2\n"
    },
    {
      "commit": "75c16264d064a1ad80a291dc69968466f9f140ae",
      "tree": "28c25c741f6155b3529c69b5be00a51662e54a08",
      "parents": [
        "aad72ebce1c1a41ffc9373c4535f3a228e8b8b7a",
        "762c82870402e318fce9875a1d75524a41d7d58a"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Jul 28 23:22:41 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 28 23:22:41 2016 +0000"
      },
      "message": "Avoid potential re-entry as a result of child mutation am: b46ba3b2b0 am: 0d98515cab\nam: 762c828704\n\nChange-Id: I41e826722759de148e3f87d31981d008ff911cfe\n"
    },
    {
      "commit": "2ef3bdbd7afdb2922acdce4722b45bb95c5d70ab",
      "tree": "34c4971fa17cd5c7c32247f2d0c3ceb77fcaed3c",
      "parents": [
        "7c323ce7d7129adf74324bc711caf21a0ae9c24e",
        "a6a8557d6e6c8ecc170767b7552979dbdb4254ef"
      ],
      "author": {
        "name": "sergeyv",
        "email": "sergeyv@google.com",
        "time": "Thu Jul 28 00:32:46 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 28 00:32:46 2016 +0000"
      },
      "message": "Turn off simplePath optimization then Path object is used as out param\nam: a6a8557d6e\n\nChange-Id: Ia9b85e52b6f0c8632989bf58ac97771ffc2a5d8d\n"
    },
    {
      "commit": "9b17ebca8f59117eca0c1e59e754b5b3a1dac844",
      "tree": "34c4971fa17cd5c7c32247f2d0c3ceb77fcaed3c",
      "parents": [
        "5e0a42848e880eec9dddbeaecfc08bd45aa9ed74",
        "a6a8557d6e6c8ecc170767b7552979dbdb4254ef"
      ],
      "author": {
        "name": "Sergei Vasilinetc",
        "email": "sergeyv@google.com",
        "time": "Wed Jul 27 23:55:46 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 27 23:55:47 2016 +0000"
      },
      "message": "Merge \"Turn off simplePath optimization then Path object is used as out param\" into nyc-mr1-dev"
    },
    {
      "commit": "a6a8557d6e6c8ecc170767b7552979dbdb4254ef",
      "tree": "ff68063aed2ed565715ba55d494ac2f9d80ea07a",
      "parents": [
        "004d140042368f92a537aa55a2f476a4f4377ff9"
      ],
      "author": {
        "name": "sergeyv",
        "email": "sergeyv@google.com",
        "time": "Wed Jul 27 14:13:34 2016 -0700"
      },
      "committer": {
        "name": "sergeyv",
        "email": "sergeyv@google.com",
        "time": "Wed Jul 27 14:13:34 2016 -0700"
      },
      "message": "Turn off simplePath optimization then Path object is used as out param\n\nChange-Id: I4d9ae5c756b2ed1ba30483e8685ce1ad6c1f0c03\nfixes:30349106\n"
    },
    {
      "commit": "b46ba3b2b0268688852cdf3d1fb4afe4873d63be",
      "tree": "9ab7db17cac14690a865b24f14b424a05f6b0d6a",
      "parents": [
        "1c2845238a1afec67f3aa9c53ea0da416a3eb497"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Jul 27 10:23:35 2016 -0400"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Jul 27 10:23:35 2016 -0400"
      },
      "message": "Avoid potential re-entry as a result of child mutation\n\nDon\u0027t set the callback until we\u0027re all done making changes.\n\nBug: 30409766\nChange-Id: Ia1560692a83ecb2c50f5e77fa4d1e8155a78a204\n"
    },
    {
      "commit": "c224417511d8179a08c4dfd4badc73dd9699ebf2",
      "tree": "9b92b20cf24c85e782428d1b7c00bce26454e452",
      "parents": [
        "6a16f908156701187a2a0b137e79df327e310e9e"
      ],
      "author": {
        "name": "Teng-Hui Zhu",
        "email": "ztenghui@google.com",
        "time": "Tue Jul 26 14:36:20 2016 -0700"
      },
      "committer": {
        "name": "Teng-Hui Zhu",
        "email": "ztenghui@google.com",
        "time": "Tue Jul 26 16:21:46 2016 -0700"
      },
      "message": "Update the javaDoc for VectorDrawable and AnimatedVectorDrawable\n\nb/30269243\n\nChange-Id: I139a3fcac95c41a667fa06aa3223b812caad6243\n"
    },
    {
      "commit": "317029aecc50a53aa1b9cc88422d316f7b893526",
      "tree": "17693f5bc98d854dca77db15015f9e3d44bb9b41",
      "parents": [
        "2b2c7f1e4ee2196750055bf733e939b468ff9502"
      ],
      "author": {
        "name": "Siyamed Sinir",
        "email": "siyamed@google.com",
        "time": "Mon Jul 25 14:50:19 2016 -0700"
      },
      "committer": {
        "name": "Siyamed Sinir",
        "email": "siyamed@google.com",
        "time": "Mon Jul 25 14:50:48 2016 -0700"
      },
      "message": "Update font feature settings w3 URL in api doc\n\nBug: 29545624\nChange-Id: I4611f53055f3a52bc607ac0cc8311f8a633217bf\n"
    },
    {
      "commit": "58eaa13f18cfa17c7f2073dc8ee022e98af091c4",
      "tree": "7d3e93593a1d2310ad8f20c4455887f4dcb9e67f",
      "parents": [
        "17e94691c2fe290d3ed9e06aa48709d062e82b40",
        "f5b87ce908f43017430c4c47635b1a0b201e5cbd"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Sat Jul 16 00:04:42 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jul 16 00:04:42 2016 +0000"
      },
      "message": "Merge \\\\\"Ensure native allocation/free is correctly registered\\\\\" into nyc-mr1-dev am: a7272b4cad\nam: f5b87ce908\n\nChange-Id: Ic04a562f2c32cb0187713f2b661e35fb3f7f6023\n"
    },
    {
      "commit": "26bb10999b1a8a64383337117fe58505eb75e9e7",
      "tree": "a243b1fe3774297c66babae0fe2a1331db3e53c6",
      "parents": [
        "538b836e05776e5a98d568997ff8d173a3e0f5dc"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Thu Jul 14 16:00:52 2016 -0700"
      },
      "committer": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Fri Jul 15 00:00:20 2016 +0000"
      },
      "message": "Ensure native allocation/free is correctly registered\n\nThis CL fixes an issue where one of the constructors creates a\nnative tree object without registering the allocation of its\nroot group with the NativeAllocationRegistry.\n\nBUG: 28943866\nChange-Id: Ic8db3f2fa8036dfabdbc1a1fcbd58d08a0379e2d\n"
    },
    {
      "commit": "88b4e87ae6453c720cdb22d9b47e8faa5d852844",
      "tree": "0a98d32618e9d5e5d54038ba189fbd3478e64e27",
      "parents": [
        "1d3a08ba89da78050fbea31709f2ac85a36f9932",
        "917d0abd303f0cb500215fdbd779da650c9d2405"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Jul 01 21:17:05 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jul 01 21:17:05 2016 +0000"
      },
      "message": "Merge \\\\\"Clarify Picture docs on playback\\\\\" into nyc-mr1-dev am: 226b4764b4\nam: 917d0abd30\n\nChange-Id: I6efc71dbe4d152e0265faf5056f8e385738a2442\n"
    },
    {
      "commit": "226b4764b4a80a1306dc21451a95626ffbd91f9f",
      "tree": "496b468611c3760e728cb9c8f95d4dce35d4a6af",
      "parents": [
        "0babe967be05980831fde54f331c674ebf4e0d98",
        "943c4e0813e740fa5ac5284f5c24e27130415780"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Jul 01 20:41:22 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 01 20:41:24 2016 +0000"
      },
      "message": "Merge \"Clarify Picture docs on playback\" into nyc-mr1-dev"
    },
    {
      "commit": "7839e4231584632c7d491c2c7391c59e80ca50b4",
      "tree": "781eebcd737c072cf945a9087f99762f76316552",
      "parents": [
        "b8e1286605042da38891bf1ed5fe7db0fc63d2cc",
        "96c4176210189bccba0e085e88e3fa79098bae1c"
      ],
      "author": {
        "name": "Tenghui Zhu",
        "email": "ztenghui@google.com",
        "time": "Thu Jun 30 23:01:15 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 30 23:01:15 2016 +0000"
      },
      "message": "Merge \\\\\"Mutate the drawable if a valid state change happen\\\\\" into nyc-mr1-dev am: 919e982c3f\nam: 96c4176210\n\nChange-Id: I38f38fd3b1c349dd938f41b199f572628c9987d7\n"
    },
    {
      "commit": "4f1acfb5f507798daaff2ff0da47d2b15607ded4",
      "tree": "a4ce79e60003b380173ef16e9fc2fd9ba9fec733",
      "parents": [
        "74f7f2ec0d1f60fc692934ad0e72d667f0fc04cd"
      ],
      "author": {
        "name": "Teng-Hui Zhu",
        "email": "ztenghui@google.com",
        "time": "Wed Jun 29 16:56:40 2016 -0700"
      },
      "committer": {
        "name": "Tenghui Zhu",
        "email": "ztenghui@google.com",
        "time": "Thu Jun 30 16:30:02 2016 +0000"
      },
      "message": "Mutate the drawable if a valid state change happen\n\nIn another word, create another cached bitmap, when the current VectorDrawable\nwill look differently when state changed.\n\nb/29870392\n\nChange-Id: I7a5ef91091e547a930368286defc7ab96aeb9471\n"
    },
    {
      "commit": "943c4e0813e740fa5ac5284f5c24e27130415780",
      "tree": "a2c637249a799eb633ce8ff31f2e7bb3e529ee04",
      "parents": [
        "d2e8ae4a907a9c8cbb49432f329a2b69fd941495"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Jun 29 16:00:29 2016 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Jun 29 16:09:20 2016 -0700"
      },
      "message": "Clarify Picture docs on playback\n\nChange-Id: Iaf8d8d04deb97aff39c93c246ef20312c9c2a7cb\nfixes: 26911597\n"
    },
    {
      "commit": "61d7a8aad32397f1b76692eed37365bde0961316",
      "tree": "2e649b4b98cd35a893f038f5fa0179db62e2c597",
      "parents": [
        "3bdb78bdcac29a99cdb1e7c1269ca56ca38a0470",
        "edb98d238f7536b8290bf45e9e9220963b031522"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Jun 29 17:10:50 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 29 17:10:50 2016 +0000"
      },
      "message": "Merge \\\\\\\"Disable constant state sharing for VectorDrawable\\\\\\\" into nyc-dev am: f66bdf9b57 am: 25242a7bbc\nam: edb98d238f\n\nChange-Id: Iad1b27849bfa501064cb3452caed3571fcdf8430\n"
    },
    {
      "commit": "25242a7bbc5738f5a1fc85499e229f849b796bcf",
      "tree": "bb8b82b4fbd1db7d4ff824ba41044dfa52376423",
      "parents": [
        "a3fc533d77bb8c12913953bb78849c548a437a3c",
        "f66bdf9b577f93485529af7bfe45f3a62a64e950"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Jun 29 17:01:21 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 29 17:01:21 2016 +0000"
      },
      "message": "Merge \\\"Disable constant state sharing for VectorDrawable\\\" into nyc-dev\nam: f66bdf9b57\n\nChange-Id: I0c6397987d926c35cb5486fd9d2cb22efb8d8f14\n"
    },
    {
      "commit": "f66bdf9b577f93485529af7bfe45f3a62a64e950",
      "tree": "3b1d2a5211674ba198c56c4a08e0ab296d4c43e3",
      "parents": [
        "55427a6650cb24da345be2cfb28e94e254a64249",
        "1882ce941ba38879733617e7a5734a244d8afaf3"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Jun 29 16:54:28 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 29 16:54:29 2016 +0000"
      },
      "message": "Merge \"Disable constant state sharing for VectorDrawable\" into nyc-dev"
    },
    {
      "commit": "1882ce941ba38879733617e7a5734a244d8afaf3",
      "tree": "148fd1c470b53a8e34a6483007e9303c93502dc1",
      "parents": [
        "43f6a45e7e111af8a843e001b555082cb356a529"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Jun 29 11:32:13 2016 -0400"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Jun 29 11:32:13 2016 -0400"
      },
      "message": "Disable constant state sharing for VectorDrawable\n\nBug: 29854240\nChange-Id: Icc58d04ad6f471d05b085a9089893e4f7205eb7d\n"
    },
    {
      "commit": "17b49651af3fb602c6e83097b89426c296bb2ce2",
      "tree": "6a8479cdc04eb2a662720bbb8c7436b43af0dd1a",
      "parents": [
        "df4a7ad5d19cab52944d44944581518909bd881b",
        "b22e74527840b6e85e8f01d5e953b6c3fe0d1f0d"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Jun 28 18:37:42 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 28 18:37:42 2016 +0000"
      },
      "message": "Merge \\\\\"Clip GradientDrawable\\\\\u0027s saveLayer\\\\\" into nyc-mr1-dev am: 694acb1e36\nam: b22e745278\n\nChange-Id: I331574caa364e87c5178bee544e1b6d570fb4ea5\n"
    },
    {
      "commit": "1e5d428b3f8cbe2132d6b85f7cc6ad5212a986dc",
      "tree": "f72d05030e45ea79bc265fd470d32de043dba3a0",
      "parents": [
        "defa943074f40b4fa729cc95d2c1a95fe62eb7e4"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Jun 28 09:33:04 2016 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Jun 28 09:45:35 2016 -0700"
      },
      "message": "Clip GradientDrawable\u0027s saveLayer\n\nbug:29456451\n\nAvoid using very expensive unclipped saveLayer codepath.\n\nChange-Id: Ib96a46169faa89eda6889b16813a7941ab402779\n"
    },
    {
      "commit": "aa2b45da4d726c686b4f44252ae60259300aa1ed",
      "tree": "4e10a041676b92782c2be39e496be6f11c69c3ff",
      "parents": [
        "ede9ad62c8fa9f95e674f8b4fae36c70c000423e",
        "fdc99784c75a3739bf17d103b80f0e5a25062c62"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Jun 21 14:04:55 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 21 14:04:55 2016 +0000"
      },
      "message": "Merge \\\\\\\"Only block invalidation in DrawableContainer initialization\\\\\\\" into nyc-dev am: 7a372a13af am: 9b81f5bfaf\nam: fdc99784c7\n\nChange-Id: I2d71a46405e1ff208f6b4fdcc71b82bb8073a385\n"
    },
    {
      "commit": "fdc99784c75a3739bf17d103b80f0e5a25062c62",
      "tree": "8472513d39b38bbabb3ec7ba588ff644b61a2fcd",
      "parents": [
        "2b7ac67f0f9c8eca0c99ad634e3ddec816317ee6",
        "9b81f5bfaf4f8ebb91f8696280d617e340dee9c0"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Jun 21 13:59:29 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 21 13:59:29 2016 +0000"
      },
      "message": "Merge \\\\\"Only block invalidation in DrawableContainer initialization\\\\\" into nyc-dev am: 7a372a13af\nam: 9b81f5bfaf\n\nChange-Id: I23aa33f0a65e311fcb0db3884216666c1d6bc01c\n"
    },
    {
      "commit": "e77dc4fe060a85acc6b0935cd06b0d06e0d3dac3",
      "tree": "3080d570e5ac71a271bb5aecedba3c870aa7428d",
      "parents": [
        "09bfc29d1735d275e2ee0a5202a02aee8e01a8d6",
        "7a372a13af0e23e30720cdf29c2ab519cb29d019"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Jun 21 13:53:49 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 21 13:53:49 2016 +0000"
      },
      "message": "Merge \\\"Only block invalidation in DrawableContainer initialization\\\" into nyc-dev\nam: 7a372a13af\n\nChange-Id: I21a7dbf975a8dca02d87b9a0f084a6af74d55834\n"
    },
    {
      "commit": "a8d3485f3d04d900317fd976ab647830edc4e8ae",
      "tree": "6c0b7c8b368a0a71c9adcd37777616a9a85c5909",
      "parents": [
        "4244c289fc9a839ac4ffde6bb828c3196e0b685e"
      ],
      "author": {
        "name": "sergeyv",
        "email": "sergeyv@google.com",
        "time": "Mon Jun 20 18:32:03 2016 -0700"
      },
      "committer": {
        "name": "sergeyv",
        "email": "sergeyv@google.com",
        "time": "Mon Jun 20 18:45:25 2016 -0700"
      },
      "message": "Fix documentation for GradientDrawable.getCornerRadius\n\nChange-Id: I4ad1ef7d989df250a9208107b5baac9e79816194\n"
    },
    {
      "commit": "633c24947c8afd7ac980e268422ff6d8442da1b1",
      "tree": "9cb209721dd517c682a434aa38b93d38cc0256d9",
      "parents": [
        "d169da95a622dfb1f3b2457b475725a6300ec7cc",
        "2df9343a775949ce96ab70da7af349486a1d4c7d"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Fri Jun 17 21:04:23 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jun 17 21:04:23 2016 +0000"
      },
      "message": "Merge \\\\\"Support AVD animation falling back on UI thread\\\\\" into nyc-mr1-dev am: 4e5ee65307\nam: 2df9343a77\n\nChange-Id: I4ca02328c52c8802dc5c006ab4bec6b1ec04cd87\n"
    },
    {
      "commit": "6d823891bbfc043f2a8ba6b5d6e6baa84cf750f6",
      "tree": "359f5cab8b5fcff0b693c898b3758b0e32812502",
      "parents": [
        "43f6a45e7e111af8a843e001b555082cb356a529"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Jun 17 13:08:42 2016 -0400"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Jun 17 13:08:42 2016 -0400"
      },
      "message": "Only block invalidation in DrawableContainer initialization\n\nBlocking (un)scheduling breaks AnimationDrawable\u0027s internal consistency.\n\nBug: 29309316\nChange-Id: I59c79a4a9a92b599cd94bd941ae78ac25b874add\n"
    },
    {
      "commit": "126df850ce6b5f8a355534eb09235e22995f0116",
      "tree": "2390277f7509c38916dea6d2a8e45672bbd3566a",
      "parents": [
        "2f75cf4bb5b2d54f8f7e878a8454efee58f556c7"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Wed Jun 15 19:04:36 2016 -0700"
      },
      "committer": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Thu Jun 16 22:09:44 2016 +0000"
      },
      "message": "Support AVD animation falling back on UI thread\n\nAVD will fall back to UI thread animation if the host view is\nrendering onto a SW layer.\n\nBUG: 27617346\nChange-Id: I5b644529048a0c30aada3abf2f4e95e40760936d\n"
    },
    {
      "commit": "f3f7cccccf0d8bbf04e19ada76b475f98d30f19c",
      "tree": "e44f6e9e4103b0d532709ba33a52a465761f6ef8",
      "parents": [
        "8a420dc7d5cf26e34d8132108c54cc3d83d8e439"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Fri Jun 10 14:15:39 2016 -0700"
      },
      "committer": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Fri Jun 10 14:15:42 2016 -0700"
      },
      "message": "Return NPE instead of ISE if page is closed.\n\nTo comply with the legacy behavior.\n\nChange-Id: I2b3c4d6d1f41022e72e5c22fe4402864d9e54986\n"
    },
    {
      "commit": "c9493879d7b38b9d0b5b09aa3760966a3ca33eac",
      "tree": "6747a2fc380bd73ec3bdb4a9760add77561d892f",
      "parents": [
        "a57e95a6a351242941e5cef97aaaa1fb34f20a9d"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Thu Jun 02 16:20:18 2016 -0700"
      },
      "committer": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Thu Jun 09 14:40:32 2016 -0700"
      },
      "message": "Support Keyframe definition for AVD on RT\n\nBUG: 27441613\nChange-Id: Iece386f65f3704d1b7caa2b3690a8d3048ccf6e2\n"
    },
    {
      "commit": "a57e95a6a351242941e5cef97aaaa1fb34f20a9d",
      "tree": "0cc73ba256548b96263885690b4830871f8a47fc",
      "parents": [
        "3e03d02f7627f81b2a132c6d59057dfaf3e30324"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Wed Jun 01 14:22:28 2016 -0700"
      },
      "committer": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Thu Jun 09 14:39:18 2016 -0700"
      },
      "message": "Throw Exception for wrong valueType with API guard\n\nPreviously, wrong valueType error is swallowed in jni. As a result,\nsome animations are quietly skipped without letting developers know.\nThis CL maintains that behavior for pre-N, and throws Exception\nto notify developers of the error for N and above.\n\nBug: 29009391\nChange-Id: I3e8f003cdb97d214da72af3f93a84f64797b1c2c\n(cherry picked from commit 94db09917a17976135e2c63d8e4171c54730c079)\n"
    },
    {
      "commit": "3f6a95283af6d93a81c74c90b1b9230f9641cfb0",
      "tree": "20449c6e59b0b4968500c6743a4d83d77652c7e7",
      "parents": [
        "836227b20b509f2f85d0ff30bd5d5caecc59d525",
        "718cd3eb70703c43f29ca37907bbf0e153d8cca0"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Thu Jun 09 21:30:01 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 09 21:30:03 2016 +0000"
      },
      "message": "Merge \"Handle hidden RT VectorDrawable animators\" into nyc-mr1-dev"
    },
    {
      "commit": "718cd3eb70703c43f29ca37907bbf0e153d8cca0",
      "tree": "cf1d4ce2d7c0a2ca19289257d3a8538ecfbaf8cb",
      "parents": [
        "a2da20d3344010b8f3ca6cc5fea265984662959c"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Tue May 17 16:50:31 2016 -0700"
      },
      "committer": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Thu Jun 09 10:27:59 2016 -0700"
      },
      "message": "Handle hidden RT VectorDrawable animators\n\nThis CL changes the target of VD specific animators to VectorDrawable,\ninstead of RenderNode. The benefit of doing so is that animators can\nnow detect whether the animation is meaningful by checking whether\ntheir VD target is in the display list. If not, that means the VD is\nnot drawing for the current frame, in which case we can be smarter\nand more power efficient by removing the animator from the list and\nposting a delayed onFinished listener callback.\n\nBy setting VD as the animation target, when an ImageView decides to\nupdate its drawable from one AVD to something else, we\u0027ll be able\nto detect that the previous AVD is no longer in the display list,\nand stop providing animation pulse to the stale AVD, which is\nsomething we couldn\u0027t do previously.  This change also\nhandles the case where one AVD instance could be drawn in two\ndifferent views.\n\nBug: 27441375\nChange-Id: Iaad1ed09cfd526276b95db0dd695275c28e074e8\n"
    },
    {
      "commit": "7e1d49326719076401b43b28649a827478ea6487",
      "tree": "d7d717e0875066b3db34f25d0191176ce5ffb764",
      "parents": [
        "7fbaf2a61a0cb9826e6d087a008ebdf421a69182",
        "a6b967cfc54408f6ee78ae0e4695eca6efd62e89"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Thu Jun 09 00:05:40 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 09 00:05:41 2016 +0000"
      },
      "message": "Merge \"Support Keyframe definition for AVD on RT\""
    },
    {
      "commit": "a6b967cfc54408f6ee78ae0e4695eca6efd62e89",
      "tree": "3d0925d10d43e0e24813aded642533ccabc644ef",
      "parents": [
        "186a7a492d8ca9150141dd643cc68a7b6d080c72"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Thu Jun 02 16:20:18 2016 -0700"
      },
      "committer": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Wed Jun 08 15:21:15 2016 -0700"
      },
      "message": "Support Keyframe definition for AVD on RT\n\nBUG: 27441613\nChange-Id: Iece386f65f3704d1b7caa2b3690a8d3048ccf6e2\n"
    },
    {
      "commit": "792926a58c94563cf35d532cd3db888cc1cbeb7d",
      "tree": "164eadbc83eac357bc4ae13fd450aa861699b827",
      "parents": [
        "ee651e63e056f888e7cec5ebe46a2bab251496d7"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Thu May 19 19:04:47 2016 -0700"
      },
      "committer": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Wed Jun 08 20:43:34 2016 +0000"
      },
      "message": "Improve the property modification effiency of VectorDrawable animators\n\nPreviously, the VectorDrawable animators modify the VD properties by\ndoing reflection based on the property name. This CL avoids the overhead\nof calling reflection by wrapping the setters of VD objects in\nFloat/IntProperty.\n\nBug: 28124049\nChange-Id: I562c8d749fdfe508564c82a700a92e835cdd9ff4\n(cherry picked from commit 9f3b31b9530a2121b4557fc312972c4faa133d5e)\n"
    },
    {
      "commit": "f126e21f433b36aa4c71f1a621d06b56206df440",
      "tree": "6cdc3274fae6e364c1e5b943a1fada7c19eaa4ae",
      "parents": [
        "939efb2f862a3e005b153da0daa38b84491e4aed"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Wed Jun 08 11:37:24 2016 -0700"
      },
      "committer": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Wed Jun 08 11:37:24 2016 -0700"
      },
      "message": "Handle bitmap\u003d\u003dnull in PdfRenderer.Page#render.\n\nChange-Id: Ie24ca45d4b5e27d5e99de72115e8e00b32b30655\n"
    },
    {
      "commit": "c859cd068b3a63be962a201db46f487d13be56da",
      "tree": "532e58067a542cf35d85326156f4c4461f469ec2",
      "parents": [
        "b8e44517a87c9f6be2be38db490bfef48e614db5"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Tue Jun 07 17:04:25 2016 -0700"
      },
      "committer": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Tue Jun 07 17:04:25 2016 -0700"
      },
      "message": "Fix up issues in PdfRenderer found by test.\n\nChange-Id: I56e403fd425e4b4353383c43077de5c47ff22b5c\n"
    },
    {
      "commit": "94db09917a17976135e2c63d8e4171c54730c079",
      "tree": "811c8b3e755d7273cab14d51ffaefe480457360b",
      "parents": [
        "5d06b41ef6c35af5fe48f1d70c5e201faf89f6e8"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Wed Jun 01 14:22:28 2016 -0700"
      },
      "committer": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Wed Jun 01 14:22:28 2016 -0700"
      },
      "message": "Throw Exception for wrong valueType with API guard\n\nPreviously, wrong valueType error is swallowed in jni. As a result,\nsome animations are quietly skipped without letting developers know.\nThis CL maintains that behavior for pre-N, and throws Exception\nto notify developers of the error for N and above.\n\nBug: 29009391\nChange-Id: I3e8f003cdb97d214da72af3f93a84f64797b1c2c\n"
    },
    {
      "commit": "0794f537daa6422566124bdcf2e11dcc86f2f1f4",
      "tree": "62de48f7e997281561abc139350ce98187a1c017",
      "parents": [
        "e1bd3ce32d80ba0995e421b9f1a2e105933004ba",
        "335d7d174464ea3fc2d058dcff6e436df1cf0fd9"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Sat May 28 01:11:22 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat May 28 01:11:23 2016 +0000"
      },
      "message": "Merge \"Copy native tree\u0027s property when mutate vector drawable\""
    },
    {
      "commit": "6f2f02e4ae5d61111bf52dbddd105cbc0a0f5e74",
      "tree": "e61c6781dbc74594a9e42299e58beb5f4b7f390c",
      "parents": [
        "c22f3e886631a0c1e440a618fad6d4b09e38404f",
        "93c1d3aa6e20b52a37548af0bf9f9a66948a7611"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 27 20:05:56 2016 +0000"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 27 20:05:56 2016 +0000"
      },
      "message": "Merge commit \u002793c1d3aa6e20b52a37548af0bf9f9a66948a7611\u0027\n\n* commit \u002793c1d3aa6e20b52a37548af0bf9f9a66948a7611\u0027:\n  docs: Refinements for testing\n  Fix toast with accessibility and app pinning\n  Updated link to material design page.\n  Change overdraw test to use windowbackground\n  Prevent callbacks during DrawableContainer child initialization\n  Fixing crash in SysUI due to invalid group.\n  Cherry pick: docs: Edited \"Features Reference\" section in \"\u003cuses-feature\u003e\" page.\n  Fix Activity Transition mess-up.\n  Time to #NameAndroidN!\n  Prevent use of a null sCallbackObj by Hardware FLP\n  Fixed the relative time spoken with accessibility\n  Use backstop timeouts on asynchronous countdown during preflight\n"
    },
    {
      "commit": "028029730bf2d177f84316d2d444d409eba4b6cb",
      "tree": "bb801210f923601dfec6d17c887af835882dc92f",
      "parents": [
        "0ca3829d4c36c96099cd1d008036c252daf90b8e"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Thu May 26 15:19:15 2016 -0700"
      },
      "committer": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Fri May 27 10:54:55 2016 -0700"
      },
      "message": "Copy native tree\u0027s property when mutate vector drawable\n\nWhen mutating vector drawables, we need to not only copy over\nthe VD tree structure, but also the properties of the VD tree,\nsuch as alpha.\n\nBug: 28974071\nChange-Id: I265e7e3cb92455b876cae248bcb9811230cb34f9\n"
    },
    {
      "commit": "335d7d174464ea3fc2d058dcff6e436df1cf0fd9",
      "tree": "7fff98258ae55ed73221533525fe27beee6a914d",
      "parents": [
        "67ce99b66ebc816ae8bbc222db8f3695fb15495b"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Thu May 26 15:19:15 2016 -0700"
      },
      "committer": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Thu May 26 16:06:58 2016 -0700"
      },
      "message": "Copy native tree\u0027s property when mutate vector drawable\n\nWhen mutating vector drawables, we need to not only copy over\nthe VD tree structure, but also the properties of the VD tree,\nsuch as alpha.\n\nBug: 28974071\nChange-Id: If793f5f2b6e116472a1c6da0fb60d8278a78b03f\n"
    },
    {
      "commit": "2b561f1c352df95df23e17e7fce2acc3144df159",
      "tree": "2afd15afb0ef0987d1afe610b0e9ff571ef04dfa",
      "parents": [
        "c396f0f70ef40ea0fb42a0872a13f4c4e9a6a5f0"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu May 26 16:49:29 2016 -0400"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu May 26 16:49:29 2016 -0400"
      },
      "message": "Prevent callbacks during DrawableContainer child initialization\n\nBug: 28900939\nChange-Id: I9c6c8af1665c2dc0bfa8bc8fc773c81e14f6aab1\n"
    },
    {
      "commit": "f143417bab8ed47981e1833595090812943aa772",
      "tree": "79601072f816313eb64b5ad6cfa45c59bfcee5b4",
      "parents": [
        "93ae564ea8a7fee3995b558d3c56698dad6c1686",
        "67ce99b66ebc816ae8bbc222db8f3695fb15495b"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Thu May 26 20:45:32 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 26 20:45:33 2016 +0000"
      },
      "message": "Merge \"Handle hidden RT VectorDrawable animators\""
    },
    {
      "commit": "67ce99b66ebc816ae8bbc222db8f3695fb15495b",
      "tree": "2abfbaf39d8bfb360155c251b5be2f2d68c34356",
      "parents": [
        "2a86e67c41cc2c0a6f8a3c18f77da1a1ea7055ec"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Tue May 17 16:50:31 2016 -0700"
      },
      "committer": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Thu May 26 11:13:19 2016 -0700"
      },
      "message": "Handle hidden RT VectorDrawable animators\n\nThis CL changes the target of VD specific animators to VectorDrawable,\ninstead of RenderNode. The benefit of doing so is that animators can\nnow detect whether the animation is meaningful by checking whether\ntheir VD target is in the display list. If not, that means the VD is\nnot drawing for the current frame, in which case we can be smarter\nand more power efficient by removing the animator from the list and\nposting a delayed onFinished listener callback.\n\nBy setting VD as the animation target, when an ImageView decides to\nupdate its drawable from one AVD to something else, we\u0027ll be able\nto detect that the previous AVD is no longer in the display list,\nand stop providing animation pulse to the stale AVD, which is\nsomething we couldn\u0027t do previously.  This change also\nhandles the case where one AVD instance could be drawn in two\ndifferent views.\n\nBug: 27441375\nChange-Id: Id4b3b37f28274c917cb9beb9dcd3d1e6991b5c5d\n"
    },
    {
      "commit": "1c1fbf2c4432c8572f0b08513e6413df5a745537",
      "tree": "0625e2156719f3a0e148b340f76b592c7c380de4",
      "parents": [
        "7c4f19cf6440497afb6b8ce67b0a7f1b09367d59",
        "c44c760b9c711eb22d0a937d56def02e57f5fc37"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed May 25 14:40:15 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 25 14:40:15 2016 +0000"
      },
      "message": "Merge \"Prevent LayerDrawable bounds updates from being re-entrant\" into nyc-dev am: 5c9444216d am: 6b525a2645\nam: c44c760b9c\n\n* commit \u0027c44c760b9c711eb22d0a937d56def02e57f5fc37\u0027:\n  Prevent LayerDrawable bounds updates from being re-entrant\n\nChange-Id: If51c75c3b9d5d39dfa8d0ed6c8113ed68ed430ee\n"
    },
    {
      "commit": "09deff1bd970bd6749d78b6c85026a9985e6a1f3",
      "tree": "f972a9003923ba5a13167db63ad98c4735ebcaa7",
      "parents": [
        "cdcc53d007d613ccfcf3a36ce22fa6823c5fe954"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue May 24 15:14:38 2016 -0400"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue May 24 15:14:38 2016 -0400"
      },
      "message": "Prevent LayerDrawable bounds updates from being re-entrant\n\nCollect child invalidations during layer bounds change, then dispatch a\nsingle invalidation if any children requested invalidation. This prevents\nre-entrance from, for example, a LayerDrawable.updateLayerBounds() call\ninvoking setBounds() on a child, which necessarily calls invalidateSelf()\nand immediately propagates up to ImageView.invalidateDrawable(), which\nthen calls configureBounds() and puts us back in updateLayerBounds().\n\nBug: 28636072\nChange-Id: I36c9eefc18904d493292d51b37e4b05cfddcf794\n"
    },
    {
      "commit": "9f3b31b9530a2121b4557fc312972c4faa133d5e",
      "tree": "48a3e8339d5550c3285a89dcc908d460875e1b18",
      "parents": [
        "9140b8f02e0ea9954c51db6bc4ffc3cd581b8604"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Thu May 19 19:04:47 2016 -0700"
      },
      "committer": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Mon May 23 18:33:24 2016 -0700"
      },
      "message": "Improve the property modification effiency of VectorDrawable animators\n\nPreviously, the VectorDrawable animators modify the VD properties by\ndoing reflection based on the property name. This CL avoids the overhead\nof calling reflection by wrapping the setters of VD objects in\nFloat/IntProperty.\n\nBug: 28124049\nChange-Id: I562c8d749fdfe508564c82a700a92e835cdd9ff4\n"
    },
    {
      "commit": "af15c8bcaec3f301b9e646d9702d90b43ceb23a0",
      "tree": "fca7a364886602727d07ef35c6951f9579e7b01a",
      "parents": [
        "69d0fcbf811855bd5d16bb83e2018e087f6287b2",
        "bf4c8f730b167e5ee65ed7c59dfa1d7867b63fcc"
      ],
      "author": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Wed May 18 02:25:10 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 18 02:25:10 2016 +0000"
      },
      "message": "Merge \"Move LocaleList to avoid layering violation.\" into nyc-dev am: 31884efd13 am: ddaf3f4681\nam: bf4c8f730b\n\n* commit \u0027bf4c8f730b167e5ee65ed7c59dfa1d7867b63fcc\u0027:\n  Move LocaleList to avoid layering violation.\n\nChange-Id: I78fee5269f7428e34b196573575784fc15cb1372\n"
    },
    {
      "commit": "23cbe85610f780134cc77dd4a54732a22ed6e86e",
      "tree": "ea498f4ec45f5d54f0cca16c705de21d67c6cbe2",
      "parents": [
        "e1f6975ebc1499ddcb493666f884ef0d8e042255"
      ],
      "author": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Tue May 17 16:42:58 2016 -0700"
      },
      "committer": {
        "name": "Yohei Yukawa",
        "email": "yukawa@google.com",
        "time": "Tue May 17 16:42:58 2016 -0700"
      },
      "message": "Move LocaleList to avoid layering violation.\n\nSince LocaleList needs to depend on android.os.Parcelable, we cannot let\nthat class belong to \"android.util\" package, which causes layering\nviolation.\n\nBug: 28819696\nChange-Id: Ia8de2ee9df3dd0a42b1fe84574439519b680fe18\n"
    },
    {
      "commit": "e66baed3875a9cb3fbbcf5717e10a9bf0a50a9f3",
      "tree": "4a4cb3e1270a7327e561dcf8c62ee2d166745591",
      "parents": [
        "d91f7f4e71b91a3a453ed3e8f87f7dc31894d8db",
        "0768a7dc450caf4c873c5b0883a75135536e1546"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Tue May 17 16:22:53 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 17 16:22:55 2016 +0000"
      },
      "message": "Merge \"Only have a single call into pdfium at a time.\""
    },
    {
      "commit": "0d65743feac1829629e327925f831e482e0f1435",
      "tree": "0a7a2d5c1b1282ea9aa6bfd06aef60faae83b20f",
      "parents": [
        "a7b826b08aa1b185b0e46b648e5c2ed7f818ae09"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue May 10 13:01:22 2016 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Mon May 16 13:45:21 2016 -0700"
      },
      "message": "Clear more native pointers in finalizers\n\nThis hopefully handles the remaining finalizers in frameworks/base\nthat didn\u0027t guard against calls from other finalizers after being\nfinalized.\n\nThe goal here is to reduce the possible corruption causes we have\nto think about by a few.\n\nIf any of theses are either very frequently used, or use large\nJava (as opposed to native) objects, we should probably convert them\nto NativeAllocationRegistry instead. But that\u0027s more work.\n\nBug: 18178237\nChange-Id: I79bc0e8fa20af8f340418a6226022e0294d77f02\n(cherry picked from commit ad3cc3c63c6d0f637d2ece3935b5b01b19473299)\n"
    },
    {
      "commit": "41f864ec45c4fc5c490936fd145c4b087c076646",
      "tree": "29db1ca3bb116c4931b5d9f7963c79878b6f9e89",
      "parents": [
        "656e11f5b5f07277283588fcaf8257946bb09b09"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu May 12 15:07:49 2016 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu May 12 15:07:49 2016 -0700"
      },
      "message": "Minor optimizations\n\nDon\u0027t save matrix if we just need clip saved\nEarly-reject the easy-to-reject cases in Canvas\nbefore hitting JNI\n\nChange-Id: I385ef90a31efbda31ce37837152f626aad553ee7\n"
    },
    {
      "commit": "0768a7dc450caf4c873c5b0883a75135536e1546",
      "tree": "dd3f4019cc37355295a968962b195f207fc7da01",
      "parents": [
        "d51546714fff2acb52941d53be643209ace51c4f"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Thu May 12 14:17:15 2016 -0700"
      },
      "committer": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Thu May 12 14:19:28 2016 -0700"
      },
      "message": "Only have a single call into pdfium at a time.\n\nPdfium is not thread safe and uses global variables, hence no\nparallel call pdfium is safe\n\nFixes: 28705066\nChange-Id: I04309ee691bd9cea37587e0af5be2c07ce8c9f2c\n"
    },
    {
      "commit": "e116fc5cf9f59e6b9cf54510d9b50785540c2a5c",
      "tree": "836dff44c5b2c2fae4a6b546c9db34bd921081da",
      "parents": [
        "c8777a833a165ed5025b18540cc2d25faa6ea744",
        "caacf332a1e568e065c9245565c135a7450cc941"
      ],
      "author": {
        "name": "Teng-Hui Zhu",
        "email": "ztenghui@google.com",
        "time": "Thu May 12 00:34:16 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 12 00:34:16 2016 +0000"
      },
      "message": "Merge \"Update and add attributes to the JavaDoc for VectorDrawable\" into nyc-dev\nam: caacf332a1\n\n* commit \u0027caacf332a1e568e065c9245565c135a7450cc941\u0027:\n  Update and add attributes to the JavaDoc for VectorDrawable\n\nChange-Id: I4d7de86055da3dcd581a7497de7f7d516fbf6ed2\n"
    },
    {
      "commit": "a8d671a144c4607c6ceb59ae8dc5b0535692639f",
      "tree": "20e71cf45216f4f57e2389025373282dd1e9e1da",
      "parents": [
        "99aa4415815fd906b93f5d5220762b94133cefef"
      ],
      "author": {
        "name": "Teng-Hui Zhu",
        "email": "ztenghui@google.com",
        "time": "Mon May 09 09:54:34 2016 -0700"
      },
      "committer": {
        "name": "Teng-Hui Zhu",
        "email": "ztenghui@google.com",
        "time": "Wed May 11 14:31:45 2016 -0700"
      },
      "message": "Update and add attributes to the JavaDoc for VectorDrawable\n\nfix:28678266\n\nChange-Id: Ife23937feb6ccbd043bd435ffcb20a79a8861edf\n"
    },
    {
      "commit": "0024c91409ae7c137ede27d10f67331720cede43",
      "tree": "523f197852bebf036b49e9beec73991092787a21",
      "parents": [
        "421746e99190fb64b8ca4d424a2bd7998b618278",
        "8521a8ff860e89ca60d530db60f58878847cf52a"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue May 10 23:48:16 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 10 23:48:16 2016 +0000"
      },
      "message": "Merge \"Clear more native pointers in finalizers\" am: a5ca0ca886\nam: 8521a8ff86\n\n* commit \u00278521a8ff860e89ca60d530db60f58878847cf52a\u0027:\n  Clear more native pointers in finalizers\n\nChange-Id: Icca385cd603ad15ab02f2033f8652e3a8d2f6c3d\n"
    },
    {
      "commit": "ad3cc3c63c6d0f637d2ece3935b5b01b19473299",
      "tree": "2b27d86da739d9ec31771a1237e8bf0b6b68d8fe",
      "parents": [
        "4c7169fadf9bc1eeac04635312fba8fb8e278693"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue May 10 13:01:22 2016 -0700"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Tue May 10 15:33:53 2016 -0700"
      },
      "message": "Clear more native pointers in finalizers\n\nThis hopefully handles the remaining finalizers in frameworks/base\nthat didn\u0027t guard against calls from other finalizers after being\nfinalized.\n\nThe goal here is to reduce the possible corruption causes we have\nto think about by a few.\n\nIf any of theses are either very frequently used, or use large\nJava (as opposed to native) objects, we should probably convert them\nto NativeAllocationRegistry instead. But that\u0027s more work.\n\nBug: 18178237\nChange-Id: I79bc0e8fa20af8f340418a6226022e0294d77f02\n"
    },
    {
      "commit": "8e96faae783fe1850d66bf3fb01fbb4579662959",
      "tree": "4fd8507d60af9bb9b9ab34cc884a6cd383afa258",
      "parents": [
        "12f2984dbf10e89124afd7bf8242f564e5a176aa",
        "0ebdbb4a8470bb77f38c33a42c220ecb8a7adcc6"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Mon May 09 15:50:29 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 09 15:50:30 2016 +0000"
      },
      "message": "Merge \"Hold a ClassLoader reference in NativeAllocationRegistry.\" into nyc-dev"
    },
    {
      "commit": "a24c9b4791dddc2dbc233dfe8dac1ae682beb272",
      "tree": "1a83004817dcb5b5d08288a3a866004032db2ce7",
      "parents": [
        "b42afe9be02b23c50c0479e93df2a853be7c369a"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri May 06 16:01:56 2016 -0400"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri May 06 16:01:56 2016 -0400"
      },
      "message": "Always mutate child when added to drawable container\n\nBug: 28456908\nChange-Id: I3e7bea85e056882a331aecf7e225134161e685e6\n"
    },
    {
      "commit": "0ebdbb4a8470bb77f38c33a42c220ecb8a7adcc6",
      "tree": "56e3327e36417761615ce3bb9479528bdbdf5bf3",
      "parents": [
        "a2c10caef20bbdb447844c09a822073fd0c9d62f"
      ],
      "author": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue May 03 13:06:22 2016 -0700"
      },
      "committer": {
        "name": "Richard Uhler",
        "email": "ruhler@google.com",
        "time": "Tue May 03 13:06:22 2016 -0700"
      },
      "message": "Hold a ClassLoader reference in NativeAllocationRegistry.\n\nSo that the native library isn\u0027t unloaded before we have a chance to\ncall the freeFunction.\n\nBug: 28406866\nChange-Id: I889f1ccd91bba70e31fb8d09c0ec6d471fc35841\n"
    },
    {
      "commit": "6543533f29d869d5cbbc1c403e4e0ed219fcc300",
      "tree": "2c3a23d40259c61ec64b901b8e008a47d3f4d319",
      "parents": [
        "13f9b398824b67be1f568c87f5595ad3e1d3085f",
        "f8d131cc8dc4ef675b8f8fc57dcc26062d575d32"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Tue May 03 16:41:17 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 03 16:41:20 2016 +0000"
      },
      "message": "Merge \"Count native allocation for VD against Java heap\" into nyc-dev"
    },
    {
      "commit": "f8d131cc8dc4ef675b8f8fc57dcc26062d575d32",
      "tree": "51c0be31e4c4e1761ce717d982fa59c5d67cc127",
      "parents": [
        "a1e7be375e618544e22287d0ee59f517536f95e1"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Fri Apr 29 18:41:29 2016 -0700"
      },
      "committer": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Mon May 02 15:34:40 2016 -0700"
      },
      "message": "Count native allocation for VD against Java heap\n\nThere are two parts to VD\u0027s native allocation:\n1) VD\u0027s internal data structure (i.e. groups, paths, etc that make\n   up of the VD tree). This structure can change, when a VD is used\n   to load a different drawable resource.\n2) Two bitmap caches, not both of which will necessarily be allocated\n   The size of the bitmap cache depends on canvas matrix and drawable\n   bounds, and therefore can often change.\n\nWe need to count the native allocation from the above against Java heap.\n\nBug: 26269056\nChange-Id: If833aedcf7f3efe00ea73a41ddccb1b48066ffd8\n"
    },
    {
      "commit": "a1c06675dd2a83ce445f27b46cddab80f8c743e6",
      "tree": "0722f305c5212e021db5f513db64d2391242d89a",
      "parents": [
        "1658fff3a92ce6ad13f41ce5faf7fcdfe3ca2673",
        "f3a51d652ff9fbcb5a41c71c801de71a3b1ece78"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Apr 29 14:49:11 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 29 14:49:13 2016 +0000"
      },
      "message": "Merge \"Video source test \u0026 bugfix\" into nyc-dev"
    },
    {
      "commit": "f3a51d652ff9fbcb5a41c71c801de71a3b1ece78",
      "tree": "dce2f5362e93ba84889baededc26c8ca2aa134cd",
      "parents": [
        "8ff7d162c624f9889a8e90ac10b6b554869fef6e"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Apr 27 15:23:51 2016 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Apr 28 10:11:36 2016 -0700"
      },
      "message": "Video source test \u0026 bugfix\n\nBug: 28428970\n\nTest for video sources and fix a bug where\nwe should throw an IAE for surfaces that are invalid\nat request time.\n\nChange-Id: I891a2b1568f583300433c7aca6de36d2e2621c63\n"
    },
    {
      "commit": "3d0d141710d23b0f08c865100b4d55b4c2976486",
      "tree": "0b1455ebba7a8c83328287902f0b0619de062c14",
      "parents": [
        "cad56c47c2b926c95e5b48861c44e7486eed48df"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Wed Apr 27 14:54:27 2016 -0700"
      },
      "committer": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Wed Apr 27 15:03:22 2016 -0700"
      },
      "message": "Add a security warning to PdfRenderer doc.\n\nChange-Id: Ia714d312665179366adae8e1923e4b9c339ebb59\n"
    },
    {
      "commit": "7f209d37f17d4df09475137c38b84a3338c84023",
      "tree": "07856ff96c1e32df08aef9ad73b7b8216d16f9c0",
      "parents": [
        "9fa8b54589b68dc6da3a7201cad1fc43e01e59e3",
        "e94cbc76d560a157c0a0d47181b4ed2a0aadbeb1"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Apr 27 14:36:51 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 27 14:36:53 2016 +0000"
      },
      "message": "Merge \"API tweaks to PixelCopy and make it public\" into nyc-dev"
    },
    {
      "commit": "e94cbc76d560a157c0a0d47181b4ed2a0aadbeb1",
      "tree": "f0f09618a3bcf57851147fb9c4082f99ae023f9f",
      "parents": [
        "a5bbbe55b74d3a835b64fa18959f487da2df967e"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Apr 25 13:03:44 2016 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Apr 26 15:41:43 2016 -0700"
      },
      "message": "API tweaks to PixelCopy and make it public\n\nBug: 27708453\nChange-Id: I81667ce42f9ca1c1a13e1e61299927900845fc84\n"
    },
    {
      "commit": "c015719954d9a1c0a53f277f68405401207a0c65",
      "tree": "df0afc43fe036a62d1e21af5db79d369cba87702",
      "parents": [
        "b7d1657016d5f5b384e231979c6dcf18b0334ca4",
        "3d8298e1a8b35dadb0a383aadb9a545ecab463e2"
      ],
      "author": {
        "name": "Sergei Vasilinetc",
        "email": "sergeyv@google.com",
        "time": "Tue Apr 26 21:39:42 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 26 21:39:43 2016 +0000"
      },
      "message": "Merge \"DisplayListCanvas: throw exception at attempt to draw bitmap with size \u003e 100MB\" into nyc-dev"
    }
  ],
  "next": "6f9626a1c27d29c67881aa22de3c19804b535ddb"
}
