)]}'
{
  "log": [
    {
      "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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"
    },
    {
      "commit": "6f9626a1c27d29c67881aa22de3c19804b535ddb",
      "tree": "bbaed6bb00e2f9750db7f1261d5f9a277048379f",
      "parents": [
        "93536af56d70c516760a796a1731237acce14f54"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Mon Apr 25 11:28:17 2016 -0400"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Mon Apr 25 11:28:17 2016 -0400"
      },
      "message": "Check for null drawable during LayerDrawable.jumpToCurrentState()\n\nChild drawables specified as theme attributes may not have been\ninitialized yet.\n\nBug: 28371482\nChange-Id: I8452a7c5b8f74368c58ba3373336bf7d650af7a3\n"
    },
    {
      "commit": "3d8298e1a8b35dadb0a383aadb9a545ecab463e2",
      "tree": "6c8dca1e8cf515239f04a69241bd0a06f7296524",
      "parents": [
        "2faac0d74169ddc1f54f9cd356dc23b96a74c9eb"
      ],
      "author": {
        "name": "sergeyv",
        "email": "sergeyv@google.com",
        "time": "Thu Apr 21 13:05:24 2016 -0700"
      },
      "committer": {
        "name": "sergeyv",
        "email": "sergeyv@google.com",
        "time": "Thu Apr 21 14:48:04 2016 -0700"
      },
      "message": "DisplayListCanvas: throw exception at attempt to draw bitmap with size \u003e 100MB\n\nbug:26943116\nChange-Id: If72c9f21ca2d8eb660ea2db4a42c8199f8d02472\n"
    },
    {
      "commit": "967d93440cd1386810bdfad50dcca4bff9bae722",
      "tree": "61bbde5fbd441c9097e4e3159c9beb448095765c",
      "parents": [
        "4e9a9dfb67ebc48028b1613a03144101d94f7d92",
        "d049837397e72def57a71bf6f3387cdbf179fa19"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Tue Apr 19 22:14:11 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 19 22:14:13 2016 +0000"
      },
      "message": "Merge \"Pause infinite AVD when the drawable is not visible\" into nyc-dev"
    },
    {
      "commit": "d049837397e72def57a71bf6f3387cdbf179fa19",
      "tree": "c32b311cfd0310874b0f88b499ed7e248d928dc6",
      "parents": [
        "b6e1dafe78b2875ebe1837508e28c8dce2693b19"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Mon Apr 18 17:26:51 2016 -0700"
      },
      "committer": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Mon Apr 18 18:48:43 2016 -0700"
      },
      "message": "Pause infinite AVD when the drawable is not visible\n\nAnd resume when it becomes visible again\n\nBug: 27441375\nChange-Id: Ic5140a30f5726df252ca63be9e14c495cbd76466\n"
    },
    {
      "commit": "de16f96c7e66b7a643ecc7b6c1a8fb70737f5250",
      "tree": "3d2863b2fd65e06c89b76110b59140d3c5c53d9f",
      "parents": [
        "02f9e23525bd3ae97528041bc0eaf25d43d8fc53",
        "a5fdde9d15fbdf1aaeb61e1cf0c128af3aeb7b67"
      ],
      "author": {
        "name": "Winson Chung",
        "email": "winsonc@google.com",
        "time": "Fri Apr 15 00:56:18 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 15 00:56:20 2016 +0000"
      },
      "message": "Merge \"Take app screenshots in 565.\" into nyc-dev"
    },
    {
      "commit": "a5fdde9d15fbdf1aaeb61e1cf0c128af3aeb7b67",
      "tree": "17034dbf4ffd181a0418149373c06f49106dcf92",
      "parents": [
        "f824e58d493bb86789bcb8de27a2e43a762c5d3e"
      ],
      "author": {
        "name": "Winson",
        "email": "winsonc@google.com",
        "time": "Thu Apr 14 15:27:15 2016 -0700"
      },
      "committer": {
        "name": "Winson",
        "email": "winsonc@google.com",
        "time": "Thu Apr 14 16:03:44 2016 -0700"
      },
      "message": "Take app screenshots in 565.\n\n- Or to be specific, SurfaceFlinger can’t easily take 565 screenshots,\n  so convert them when creating the ashmem bitmap.\n\nBug: 28151300\nChange-Id: Ic7586659a41cc19c322136f77a1c52ef68c22707"
    },
    {
      "commit": "112f0aa28e017d4d7a3638389709b94a718dadc8",
      "tree": "2721aa79c394e00b711f030332ed58c24a5f1c2f",
      "parents": [
        "3af45bd2d06303bfaf8ba28324ca976e6f96ece3"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Apr 14 11:22:44 2016 -0400"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Apr 14 11:22:44 2016 -0400"
      },
      "message": "Basic documentation for custom drawables\n\nBug: 23621364\nChange-Id: Ia292433ebd40d4c85ff6974def3d1f4b26926b52\n"
    },
    {
      "commit": "0c340260889ca70163a332a364996d33703bd79f",
      "tree": "c5dcfa279a9505a5d389b9f3d1e23e21d653cf92",
      "parents": [
        "1dfe35b8a797f921d095beeaf1018f7a987e8343",
        "78e561ce541e5c72780c68b5b14eb50c08bb97ac"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Apr 13 23:07:04 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 13 23:07:05 2016 +0000"
      },
      "message": "Merge \"Update docs for Drawable.setLayoutDirection() return value\" into nyc-dev"
    },
    {
      "commit": "2089575686331550138af542dff331e56283cb64",
      "tree": "6e8c9cfd8dfcd84c8bf5f4bfed72a4308df90fc3",
      "parents": [
        "5352dda479452c248f87521d6c69c9dd8399ebb7",
        "b8cbb806fc70573def954f7ba84dd7b53b3be1bd"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Apr 13 15:22:02 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 13 15:22:04 2016 +0000"
      },
      "message": "Merge \"Clean up Drawable annotations\" into nyc-dev"
    },
    {
      "commit": "b8cbb806fc70573def954f7ba84dd7b53b3be1bd",
      "tree": "2a72f0b4d69f06626d31472311e128e935c7121a",
      "parents": [
        "68b19f2778989c3f4ae9eb2407f40c97e11fb57d"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Apr 13 10:14:06 2016 -0400"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Apr 13 10:14:06 2016 -0400"
      },
      "message": "Clean up Drawable annotations\n\nNo functional changes.\n\nBug: 23621364\nChange-Id: Ia5ac34eb8464ee40afd7052f34b42bb6153260bf\n"
    },
    {
      "commit": "2519996e4e2d535420b64539ef13dba97044f060",
      "tree": "2302cf8cb6e4a3d424d6084a91dde89e748b6bb0",
      "parents": [
        "cadfc77d0355ef57308ef1bf8bf43560d2b2e245",
        "5849500a193ac1327242e01d7f6912d0a384ffc9"
      ],
      "author": {
        "name": "Siyamed Sinir",
        "email": "siyamed@google.com",
        "time": "Tue Apr 12 23:38:21 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 12 23:38:23 2016 +0000"
      },
      "message": "Merge \"Cache Typeface.createFromAsset objects.\" into nyc-dev"
    },
    {
      "commit": "1ee2dd2f5fb10cd0e6a4d3d368c1e24d3ec417a2",
      "tree": "5dd308817df6e463f02b9aa2bf4e0bb439fa4d98",
      "parents": [
        "a8d21a0facb415ed085059298c50eaa58544129a",
        "cdedc9a80d971c8152b6f2674c040c79cff3b8dd"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Tue Apr 12 19:50:38 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 12 19:50:39 2016 +0000"
      },
      "message": "Merge \"Check whether VD tree is still valid before calling native setter\" into nyc-dev"
    },
    {
      "commit": "cdedc9a80d971c8152b6f2674c040c79cff3b8dd",
      "tree": "3788af7a3b2d6d1d4ef5fcd6dca5398112d9462b",
      "parents": [
        "b6e1dafe78b2875ebe1837508e28c8dce2693b19"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Mon Apr 11 18:13:01 2016 -0700"
      },
      "committer": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Tue Apr 12 11:13:10 2016 -0700"
      },
      "message": "Check whether VD tree is still valid before calling native setter\n\nVD tree is ref-counted in both Java and native. VD\u0027s child nodes are\nentirely owned by the native tree, as VD nodes in native should outlive\nits Java counterparts, with one exception: when there\u0027s an infinite UI\nanimator running on VD, the animator may have weak reference to a few\nchild nodes. In the case of hidden animator running infinitely, the child\nnodes would keep getting the animation pulse while the rest of the tree\nwould have been destroyed. To prevent the setters triggered by animation\nfrom calling into native, we need to check whether the tree is still\nvalid before going down into JNI.\n\nBug: 28104172\nChange-Id: Ie9d4bf3898c0c23e620a4747624d24b8ab779743\n"
    },
    {
      "commit": "78e561ce541e5c72780c68b5b14eb50c08bb97ac",
      "tree": "2921c5a50e969d01b486b33c39d0585e3e88b847",
      "parents": [
        "68b19f2778989c3f4ae9eb2407f40c97e11fb57d"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Apr 12 14:03:22 2016 -0400"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Apr 12 14:03:22 2016 -0400"
      },
      "message": "Update docs for Drawable.setLayoutDirection() return value\n\nBug: 27107547\nChange-Id: I98dd706e6dfb07e7b5ec9c257cf5bea6aea2bbfc\n"
    },
    {
      "commit": "5849500a193ac1327242e01d7f6912d0a384ffc9",
      "tree": "1f2d553238541398a215fb117c3d46eb54d6ac8f",
      "parents": [
        "f64a0fea6c1f5b2d8262282bb7f2b8b1c67ae9a4"
      ],
      "author": {
        "name": "Siyamed Sinir",
        "email": "siyamed@google.com",
        "time": "Fri Apr 08 12:16:01 2016 -0700"
      },
      "committer": {
        "name": "Siyamed Sinir",
        "email": "siyamed@google.com",
        "time": "Mon Apr 11 17:23:46 2016 -0700"
      },
      "message": "Cache Typeface.createFromAsset objects.\n\nCaches Typeface objects returned from Typeface.createFromAsset function,\nObjects are cached in an LruCache with a max size of 16.\n\nBug: 27251075\nChange-Id: I6baae4211a0d0d26422945bf1557b364cfe84b2b"
    },
    {
      "commit": "10dd0585c11dcedb5a271d54e645594f1d215d5c",
      "tree": "eeb6b94cd87202b16d662225b55c8d7940e701fd",
      "parents": [
        "ffdaae004b403714dbf01b47a31065e67eec0177"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Mar 31 16:36:16 2016 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Apr 11 16:00:22 2016 -0700"
      },
      "message": "Framework-side of SurfaceView#getBitmap\n\nBug: 27708453\n\nChange-Id: Ie6fd7eca522d3e6549d8af587c975fd7e6053649\n"
    },
    {
      "commit": "296bf8c55aaba0025f3e5b904fda3b6e15686753",
      "tree": "9be4f98f898d71dc22726d3a39b2082591e38dcd",
      "parents": [
        "b4e39f5b2fcb74259a0a33ac4ad3d07a0073204f"
      ],
      "author": {
        "name": "Raph Levien",
        "email": "raph@google.com",
        "time": "Wed Apr 06 15:23:57 2016 -0700"
      },
      "committer": {
        "name": "Raph Levien",
        "email": "raph@google.com",
        "time": "Fri Apr 08 08:29:32 2016 -0700"
      },
      "message": "Avoid copying of font table data, provide raw font bytes\n\nMinikin is changing its approach to table access to use HarfBuzz to\naccess the tables, based on raw font data, rather than calling the\nMinikinFont::GetTable() virtual method. This patch provides raw access\nto the font data to make this work.\n\nThere\u0027s a bit of plumbing to make sure fonts get a pointer to the raw\ndata as well.\n\nBug: 27860101\nChange-Id: I638e18cf363644bf22fbc9fb9b3358a9e731087f\n"
    },
    {
      "commit": "a7f775db93235ab25636ab2350ccf6df2729c030",
      "tree": "aacc8e84a12f923f4f14b772942042be037ec57a",
      "parents": [
        "26952d748eaab23330c660fa0d7f5c0450dc1d06",
        "136d1af1cc67f51e8523189260a7c4a22cc02768"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Apr 04 22:08:30 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 04 22:08:32 2016 +0000"
      },
      "message": "Merge \"Fix how outlines are sent to rendernode\" into nyc-dev"
    },
    {
      "commit": "1d8e194661085f9a18ab1b3cd12f9e19d3a86be5",
      "tree": "b48053c21a27e6a8500b45f4cc8bf4a2b0c6676f",
      "parents": [
        "3942978af2314801379e807a3a913841c1f1481c"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Wed Mar 02 15:16:28 2016 -0800"
      },
      "committer": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Mon Apr 04 14:40:17 2016 -0700"
      },
      "message": "Make AVD thread safe\n\nThis CL introduces staging properties to VectorDrawable, which holds\nproperties coming from UI thread. When staging properties are changed,\nthey are marked dirty, and the staging properties then get pushed to\nRenderThread at sync point. In cases where no staging property has\nbeen changed, at sync point we sync the render thread properties back\nto staging properties to reflect the latest render thread animation\nvalue change.\n\nAlso, update Vector Drawable bitmap only when it\u0027s dirty\n\nBug: 27343970\nBug: 27385912\nBug: 27263667\nBug: 27927674\nBug: 27774383\n\nChange-Id: Ia864f5400a53a08dbfb284fae581fb1aac4fff87\n"
    },
    {
      "commit": "136d1af1cc67f51e8523189260a7c4a22cc02768",
      "tree": "b6621baa2c2aa3356acfe13a23cf8d6c26f99db6",
      "parents": [
        "ebdb34d67aead66e5388c8cb501eb34668d7cec3"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Apr 04 13:40:39 2016 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Apr 04 13:40:39 2016 -0700"
      },
      "message": "Fix how outlines are sent to rendernode\n\nbug:27918183\n\nFixes an issue where all convex outlines were pushed as empty rects to\nRenderNode.\n\nAlso adds outline/reveal clip property logging, so such issues are\neasier to debug in the future.\n\nChange-Id: Ic4a996ecd09a8ef84cdf8b963bdb4853c7f6d180\n"
    },
    {
      "commit": "008c6c54908c423a034c40b3f79e712176c141b6",
      "tree": "33aaa0f1b493f00a61e795c8b6afc29397a81162",
      "parents": [
        "af64f6341bdbca93aff3d68264af48e74faa9e58"
      ],
      "author": {
        "name": "Ben Wagner",
        "email": "bungeman@google.com",
        "time": "Thu Mar 17 11:53:14 2016 -0400"
      },
      "committer": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Tue Mar 29 23:13:49 2016 +0000"
      },
      "message": "Fix shift precedence in FontListParser.\n\nBUG\u003d27707457\n\nChange-Id: I7ea7a5fa67ec540401454136427b37562a4eef30\n"
    },
    {
      "commit": "0925f40372cb140fd9e2a55ec0b5c645e90f3b84",
      "tree": "d1be7eba13cf0a339776a72d5464c22fc5658920",
      "parents": [
        "396884ca84672f746b627fef27121e578fe9262e"
      ],
      "author": {
        "name": "Siyamed Sinir",
        "email": "siyamed@google.com",
        "time": "Fri Mar 25 18:25:39 2016 -0700"
      },
      "committer": {
        "name": "Siyamed Sinir",
        "email": "siyamed@google.com",
        "time": "Mon Mar 28 16:14:46 2016 -0700"
      },
      "message": "Update get/setFontFeatureSettings JavaDoc\n\nAdd CSS font-feature-settings URL to get/setFontFeatureSettings method\nJavaDoc in both TextView and Paint.\n\nBug: 27857640\nChange-Id: I8c20068801032407d493e4f4a15b89dcf35949d2"
    },
    {
      "commit": "f35e7dc773101b86f2eb28c0120ae22b4c46fd26",
      "tree": "1b485bfcb61d09273a9bb5b6d39f00e946a3b005",
      "parents": [
        "5957df2cab3a522d74bedb6c83b18fe450bafb2c",
        "4eab3850ec1a6cd3ec86f0c648497ee51c3ac609"
      ],
      "author": {
        "name": "Tenghui Zhu",
        "email": "ztenghui@google.com",
        "time": "Mon Mar 28 16:30:56 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 28 16:30:57 2016 +0000"
      },
      "message": "Merge \"Update the Drawable.inflate() documentation\" into nyc-dev"
    },
    {
      "commit": "4eab3850ec1a6cd3ec86f0c648497ee51c3ac609",
      "tree": "5483edb05126d025b0a44ca990b4cb853d06c4ac",
      "parents": [
        "db9fba373450e01d52f14e8380646e631dee1713"
      ],
      "author": {
        "name": "Teng-Hui Zhu",
        "email": "ztenghui@google.com",
        "time": "Fri Mar 25 09:44:31 2016 -0700"
      },
      "committer": {
        "name": "Teng-Hui Zhu",
        "email": "ztenghui@google.com",
        "time": "Fri Mar 25 09:44:31 2016 -0700"
      },
      "message": "Update the Drawable.inflate() documentation\n\nChange-Id: I1f8a4e40fae43ad75550d3dffbccd831b063be03\n"
    },
    {
      "commit": "527bcac4d75f9efe80df0d07355f3f7fb54d9ef5",
      "tree": "7ac2de930b151a4d1f67ac46864806909c133598",
      "parents": [
        "b85ec6d0ee50d6436a7b52133d278625bb73f6d8",
        "4abd7ecfa2fb5aee6449cfa7fb02971bab9918bb"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Fri Mar 25 16:17:02 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 25 16:17:03 2016 +0000"
      },
      "message": "Merge \"Fix javadoc for Icon.loadDrawableAsync(Context, OnDrawableLoadedListener, Handler).\" into nyc-dev"
    },
    {
      "commit": "4ee3b6216d2d8cef517f13d3e8ee7f274b0cb8b6",
      "tree": "1ae4c64e65c740e4d97aae6a79aad89f59a77b87",
      "parents": [
        "f189c2ffa250d4da27b18263c6876d79610ce6e3",
        "336f1cbaf55f7ef3164427255494937341efac7b"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Mar 24 15:05:13 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 24 15:05:14 2016 +0000"
      },
      "message": "Merge \"Enforce API preconditions in Java instead of deferring to Skia.\" into nyc-dev"
    },
    {
      "commit": "ab852f2972550d1ff6d6b9ec9ec85a9add16409c",
      "tree": "17410f33834191a0633c6c8511ee2605918bfc7e",
      "parents": [
        "3e4c79e474dec39455895b3a4f2cff46c6d07c66",
        "ecbcdd384c07402204064243981a432f5b0aad36"
      ],
      "author": {
        "name": "Sergei Vasilinetc",
        "email": "sergeyv@google.com",
        "time": "Thu Mar 24 05:01:59 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 24 05:02:02 2016 +0000"
      },
      "message": "Merge \"Add offset() to Path\u0027s fast-case mode\" into nyc-dev"
    },
    {
      "commit": "5d83f69fcdd4a7f46ead2896db42e0689af31a89",
      "tree": "d10a1e8ea115833c9640084c66e9fa9aa1ce8ff8",
      "parents": [
        "1334376d1d110a5d50d5a4814ac1c79edfe199dd",
        "d253797588f6847d582078bc6a4171e3dc5d8405"
      ],
      "author": {
        "name": "Sergei Vasilinetc",
        "email": "sergeyv@google.com",
        "time": "Thu Mar 24 01:22:06 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 24 01:22:08 2016 +0000"
      },
      "message": "Merge \"Fix NinePatch insets scaling\" into nyc-dev"
    },
    {
      "commit": "ecbcdd384c07402204064243981a432f5b0aad36",
      "tree": "d8662b5bf0105a2660de403149b7308c77bd00b6",
      "parents": [
        "c57fc4787f5aadb129686e904b86d343c8ae3541"
      ],
      "author": {
        "name": "sergeyv",
        "email": "sergeyv@google.com",
        "time": "Tue Mar 22 13:54:24 2016 -0700"
      },
      "committer": {
        "name": "sergeyv",
        "email": "sergeyv@google.com",
        "time": "Wed Mar 23 16:45:55 2016 -0700"
      },
      "message": "Add offset() to Path\u0027s fast-case mode\n\nbug:22510833\nChange-Id: I417ed13ff450aa7f6c72370b4c5de8e8a53a0235\n"
    },
    {
      "commit": "336f1cbaf55f7ef3164427255494937341efac7b",
      "tree": "967f325c66f98e8586ed932ed0fbc1474c6306d1",
      "parents": [
        "9545d8e3377e73eb7d781360910b733760d3b0fb"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Wed Mar 23 15:04:22 2016 -0400"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Wed Mar 23 15:04:22 2016 -0400"
      },
      "message": "Enforce API preconditions in Java instead of deferring to Skia.\n\nThe Skia API has been relaxed on the types of input it will accept,\nbut in order to preserve the old API behavior we need to test for\nthose conditions in Java.\n\nbug: 27682974\nChange-Id: I9a33acdcd8f55c63d2e42f1733e94bf695193ac7\n"
    },
    {
      "commit": "4abd7ecfa2fb5aee6449cfa7fb02971bab9918bb",
      "tree": "a4018d4a6db5b9f3a0080dd85770916a13001d9c",
      "parents": [
        "10ae65d226ac9205d53fabc3b9c9e53e1c642076"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Wed Mar 23 12:02:00 2016 -0700"
      },
      "committer": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Wed Mar 23 12:02:04 2016 -0700"
      },
      "message": "Fix javadoc for Icon.loadDrawableAsync(Context, OnDrawableLoadedListener, Handler).\n\nChange-Id: I349008b293066c6c45b080f945f9fe197a3f2158\n"
    },
    {
      "commit": "d253797588f6847d582078bc6a4171e3dc5d8405",
      "tree": "0f40586b215229dc066ab78cbe4edc562768d979",
      "parents": [
        "83ad1c16f9e54e35d12b644973da72bae8e2dac4"
      ],
      "author": {
        "name": "Sergey Vasilinets",
        "email": "sergeyv@google.com",
        "time": "Tue Mar 22 16:26:32 2016 -0700"
      },
      "committer": {
        "name": "Sergey Vasilinets",
        "email": "sergeyv@google.com",
        "time": "Tue Mar 22 22:35:52 2016 -0700"
      },
      "message": "Fix NinePatch insets scaling\n\nbug:27323867\nChange-Id: I33c0007eb9259703c73d2e3672ae1427a2155037\n"
    },
    {
      "commit": "988fc6fa43d4f35d17b4ab7574863f5017fd289a",
      "tree": "b07838bf7eb26d0d71e341ce641a3b4f02dc0836",
      "parents": [
        "8384d815d02e522dfe538fd572493979e045c99f"
      ],
      "author": {
        "name": "Teng-Hui Zhu",
        "email": "ztenghui@google.com",
        "time": "Tue Mar 22 12:56:37 2016 -0700"
      },
      "committer": {
        "name": "Teng-Hui Zhu",
        "email": "ztenghui@google.com",
        "time": "Tue Mar 22 15:06:21 2016 -0700"
      },
      "message": "Fix callback issue for AVD on UI thread\n\nWe have created AnimatorSet from XML, but it is assigned to the AVD only when\nwe start the animation due to theme-ing operations.\n\nGiven listeners can be added to AVD at any time, we have to cache them if\nAnimatorSet is not setup yet.\n\nb/26979225\n\nChange-Id: I94315892de83f93a0205efe5e70dca0cd0f0a8e3\n"
    },
    {
      "commit": "aaa725647e83dcefda3614b9bf4dd3d1c61e900c",
      "tree": "9b7d2959dfb8e1e510ec9093d8beb21085132caf",
      "parents": [
        "6eccafd3394f977d44c329dc75eb12739a818f4b",
        "c0b87a84c6220cfa7b9c411609bf140b9c5928d5"
      ],
      "author": {
        "name": "Tenghui Zhu",
        "email": "ztenghui@google.com",
        "time": "Mon Mar 21 17:30:42 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 21 17:30:44 2016 +0000"
      },
      "message": "Merge \"Document the cache bitmap behavior for VD\" into nyc-dev"
    },
    {
      "commit": "c0b87a84c6220cfa7b9c411609bf140b9c5928d5",
      "tree": "13f6d4225a20829524908a45010ebf877db04221",
      "parents": [
        "e2578e2d9ea968cf900814cc3d2e62e4cf476f3e"
      ],
      "author": {
        "name": "Teng-Hui Zhu",
        "email": "ztenghui@google.com",
        "time": "Wed Mar 16 14:54:51 2016 -0700"
      },
      "committer": {
        "name": "Teng-Hui Zhu",
        "email": "ztenghui@google.com",
        "time": "Fri Mar 18 11:19:23 2016 -0700"
      },
      "message": "Document the cache bitmap behavior for VD\n\nb/26454083\n\nChange-Id: I22aeef9760aaf6bb79dca85740281cf94e19e601\n"
    },
    {
      "commit": "a856e96eb543c0d2de63921b148015fc32c9d6ba",
      "tree": "264e4d985253f6e3e6264561de24eda7ecca2f31",
      "parents": [
        "3b2e22a004f659c2e18faa7f2a6e0aa73ce695f2"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Mar 18 12:36:00 2016 -0400"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Mar 18 12:36:00 2016 -0400"
      },
      "message": "Ensure nine-patch uses the best available target density\n\nBug: 27507887\nChange-Id: Iddab4fdd2fe8fbf201dbb8ed42657a00509f42cc\n"
    },
    {
      "commit": "0b3a9ceed250c11ee2a7274ac630bfcf4a59df3d",
      "tree": "60d4e2c8e6a968fcdf33560a0444baf5d579f4bf",
      "parents": [
        "943c68ae0683c602ef704aa0c0270b93ec8b4154",
        "2c7f9a8fb955022a1ae2581dbcc71e176247229a"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Mar 17 17:21:32 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 17 17:21:33 2016 +0000"
      },
      "message": "Merge \"Avoid allocation in methods of Outline\" into nyc-dev"
    },
    {
      "commit": "2c7f9a8fb955022a1ae2581dbcc71e176247229a",
      "tree": "33b6fa8485e7b04501eba1bc10efe58b8b9404f9",
      "parents": [
        "83d0078f9571b3967ba73ca3651c60d55cd4096c"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Mar 16 18:46:09 2016 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Mar 16 18:51:01 2016 -0700"
      },
      "message": "Avoid allocation in methods of Outline\n\nbug:26516265\n\nOutlines are generally cached by the View system and reused, so optimize\nfor performance/allocation avoidance, rather than size.\n\nChange-Id: I578d24c1255f1c1d8ebb30f3223fbe4ade4c67b4\n"
    },
    {
      "commit": "71e806b2f464b0ac85367fe008b554b44e4c5812",
      "tree": "eb4aefcb68eb454b878fbbaf3f902a50aac52f8c",
      "parents": [
        "495defd74f9a47dec33eb27ca25f5e390bd3fb4a",
        "46591f4a2dbd785bcae2b82bb490e78208605ec8"
      ],
      "author": {
        "name": "Tenghui Zhu",
        "email": "ztenghui@google.com",
        "time": "Wed Mar 16 21:13:23 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 16 21:13:24 2016 +0000"
      },
      "message": "Merge \"Add fillType support to VectorDrawable\" into nyc-dev"
    },
    {
      "commit": "d3eb078ac7aa1a046d1b23519d91ac0c8d3241bc",
      "tree": "2d621a9f5f9166504896147d5dee403512fe23c2",
      "parents": [
        "0747f58da88f3c08c2544e205b9cc7a988eacdea",
        "ccdc3ebb9c9bf67ec8e0e30ab117c82bf8485663"
      ],
      "author": {
        "name": "Chet Haase",
        "email": "chet@google.com",
        "time": "Wed Mar 16 18:09:51 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 16 18:09:53 2016 +0000"
      },
      "message": "Merge \"Document that Rect right/bottom are exclusive\" into nyc-dev"
    },
    {
      "commit": "46591f4a2dbd785bcae2b82bb490e78208605ec8",
      "tree": "617adae82702b9a1d093f312a07d41ae3ec1977b",
      "parents": [
        "e2578e2d9ea968cf900814cc3d2e62e4cf476f3e"
      ],
      "author": {
        "name": "Teng-Hui Zhu",
        "email": "ztenghui@google.com",
        "time": "Tue Mar 15 14:32:16 2016 -0700"
      },
      "committer": {
        "name": "Teng-Hui Zhu",
        "email": "ztenghui@google.com",
        "time": "Wed Mar 16 11:03:27 2016 -0700"
      },
      "message": "Add fillType support to VectorDrawable\n\nDefault as non-zero, which is the same as SVG.\nb/27533958\n\nChange-Id: Id20e6d3493bb4d2b4b65d7f6cdb13586631c40e4\n"
    },
    {
      "commit": "7494eb2114f047f1d96a7520c95c72a8e4e2cb35",
      "tree": "3d437179da91321aadfd4a1cddc169325a8d32a4",
      "parents": [
        "c25c9032ffdca20a4080db5a1fe1e771af9256f6",
        "51e7805f14062df674f613fdaa830030aaaa4f8e"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Wed Mar 16 12:17:14 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 16 12:17:16 2016 +0000"
      },
      "message": "Merge \"Remove all non-porterduff xfermodes from the public API\" into nyc-dev"
    },
    {
      "commit": "ccdc3ebb9c9bf67ec8e0e30ab117c82bf8485663",
      "tree": "ef449f09b8babae12e841e1bc8beb44550617a18",
      "parents": [
        "481355a45df5a8e5c57b1058f48cb1102b05ebc0"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Mar 15 10:57:47 2016 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Mar 15 10:57:48 2016 -0700"
      },
      "message": "Document that Rect right/bottom are exclusive\n\nbug:22254401\n\nChange-Id: I891e73404937b4b67210f0ac180f4cef952f8f16\n"
    },
    {
      "commit": "e2578e2d9ea968cf900814cc3d2e62e4cf476f3e",
      "tree": "d698b6449c00f694515b98315ab1158871ecfabc",
      "parents": [
        "712acbe13c76b2274b34d7ca40c4bbcc436b0cda",
        "6888597c93cb0e78a30d7ba5b31025ffa435dcad"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Mar 15 17:23:34 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 15 17:23:35 2016 +0000"
      },
      "message": "Merge \"Rename undefined inset constant\" into nyc-dev"
    },
    {
      "commit": "6888597c93cb0e78a30d7ba5b31025ffa435dcad",
      "tree": "998694a98265f5958f7230db438df8df4f9673e1",
      "parents": [
        "e5155dee85b6ea704e61fe39ba3bfea3e981880d"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Mar 15 12:43:41 2016 -0400"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Mar 15 12:43:41 2016 -0400"
      },
      "message": "Rename undefined inset constant\n\nBug: 27531289\nChange-Id: I31c5cc295c7f36b934eccf46cdbe7a7b293af9e0\n"
    },
    {
      "commit": "0e48bc913d08e5def064af6d38dcfcfadd1b96f7",
      "tree": "8d101b0fd31cb2fc36f4ad619a124c27100e470f",
      "parents": [
        "57f8462f56eb2311bb409fd09848117523d3b5aa",
        "7ab0f835e6edf92eeb4f905a3c76df91a879add5"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Mar 15 14:30:58 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 15 14:31:00 2016 +0000"
      },
      "message": "Merge \"Switch back to UI-driven AVD\" into nyc-dev"
    },
    {
      "commit": "7ab0f835e6edf92eeb4f905a3c76df91a879add5",
      "tree": "075b38ca3d9cb81e00355082ea1f19f065e74103",
      "parents": [
        "6387cd2849fb10bdb19d4261bcecbdb2b41b8503"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Mar 14 17:16:10 2016 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Mar 14 17:16:10 2016 -0700"
      },
      "message": "Switch back to UI-driven AVD\n\nBug: 27550546\nChange-Id: I7c37438555fb8a72d2ff0bc42bf5de25a31cc464\n"
    },
    {
      "commit": "fb354a375202e697e3b797cbdc5da95357989028",
      "tree": "cc87ca25a60026af9ed61177f44f6bc41ea82b79",
      "parents": [
        "481355a45df5a8e5c57b1058f48cb1102b05ebc0"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Mar 14 17:04:22 2016 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Mar 14 17:04:24 2016 -0700"
      },
      "message": "Return \u003c0 if undefined Outline radius\n\nbug:27531289\n\nChange-Id: I0a2880693c59406e2d610f3a11020cde5379e230\n"
    },
    {
      "commit": "781fbf28c70868d803a6caf13a2209c785fa4fce",
      "tree": "cfbf656debf3b0255e4e667e9d18908bec01917d",
      "parents": [
        "031d15dd70a016eeb4253788aa1e3c109c83f4bd",
        "ac85f90466dd60d2af8ffc3942d503a0de606726"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Mon Mar 14 15:01:50 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 14 15:01:51 2016 +0000"
      },
      "message": "Merge \"Ensure all Java-side usages of config flags are using Java flags\" into nyc-dev"
    },
    {
      "commit": "f4c3d9f4c2e759b47d3aa7afcc3cb6900e926cc9",
      "tree": "61b8f28fe51fd656e2e7bce48b8380cb3843876d",
      "parents": [
        "207139291a714e4666d857f254c9f3c852ec67a5",
        "5291a9571580d5147331adbdefb017fa395df505"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Mar 11 20:19:09 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 11 20:19:11 2016 +0000"
      },
      "message": "Merge \"Invalidate DrawableContainer\u0027s cached canConstantState on child add\" into nyc-dev"
    }
  ],
  "next": "ac85f90466dd60d2af8ffc3942d503a0de606726"
}
