)]}'
{
  "log": [
    {
      "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": "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"
    },
    {
      "commit": "ac85f90466dd60d2af8ffc3942d503a0de606726",
      "tree": "a149870cbbd5bcf53934d5c24070383b8e3d5174",
      "parents": [
        "95b69f82316220bc40d227bf7208920eb6ed9283"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Mar 11 15:15:51 2016 -0500"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Mar 11 15:15:51 2016 -0500"
      },
      "message": "Ensure all Java-side usages of config flags are using Java flags\n\nPreviously we were using native config flags in some places that expected\nJava flags, and vice-versa. All usages of config flags are now annotated\nto ensure we\u0027re using the right type.\n\nCleans up annotations on most methods that were touched.\n\nBug: 21161798\nChange-Id: Ifd87dfb12199fc8258915d8a510e03ddb681ca89\n"
    },
    {
      "commit": "48653d225b964f4e62e5e94d98966826875dd99c",
      "tree": "b2b6a3fd45c16d52b948a2a6bac497dbfa7479c2",
      "parents": [
        "1374af2c7be265701b9b402b7d4749ffe716ef01",
        "24bf21b89469a7175d66add2affd6fe765d3a075"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Mar 11 19:34:03 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 11 19:34:05 2016 +0000"
      },
      "message": "Merge \"Ensure Outline consistently sets the radius to be undefined\" into nyc-dev"
    },
    {
      "commit": "79936ddda4c8d1709f736cda013070c3ab32db6f",
      "tree": "30cf5c59d3c95734062626bf4b20abf560d9ad30",
      "parents": [
        "44dbe294fbf06a1def61c48e758621e61ce23b08",
        "f6d87ec193f17e8dad82c9994ba7a58e975d364b"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Mar 11 18:42:41 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 11 18:42:43 2016 +0000"
      },
      "message": "Merge \"Add consistent @NonNull annotations for drawable callbacks\" into nyc-dev"
    },
    {
      "commit": "335875bb480d340e5dfed19bd4512df0c177674d",
      "tree": "afe9529094c5f0590baedffaa275f9cd6bc839dd",
      "parents": [
        "e11936725e6227c98f356572cbfd512f16b98c3b",
        "1af03b1d5319921c9f898103353f2646975ab0af"
      ],
      "author": {
        "name": "Tenghui Zhu",
        "email": "ztenghui@google.com",
        "time": "Fri Mar 11 17:35:58 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 11 17:36:00 2016 +0000"
      },
      "message": "Merge \"Add the missing overriden API\" into nyc-dev"
    },
    {
      "commit": "5291a9571580d5147331adbdefb017fa395df505",
      "tree": "6f7e5ac4967f2963941c606d1c7a5c537a544b58",
      "parents": [
        "95b69f82316220bc40d227bf7208920eb6ed9283"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Mar 08 18:12:56 2016 -0500"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Mar 11 10:09:44 2016 -0500"
      },
      "message": "Invalidate DrawableContainer\u0027s cached canConstantState on child add\n\nBug: 27553319\nChange-Id: I625234baea8a992900935f562f9b767c85e527fd\n"
    },
    {
      "commit": "f6d87ec193f17e8dad82c9994ba7a58e975d364b",
      "tree": "8f9dc1405d4d7434a6dd5686b08968224361591e",
      "parents": [
        "95b69f82316220bc40d227bf7208920eb6ed9283"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Mar 11 10:09:14 2016 -0500"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Mar 11 10:09:14 2016 -0500"
      },
      "message": "Add consistent @NonNull annotations for drawable callbacks\n\nBug: 27599515\nChange-Id: I33fdc5392302403bfff9cc74a8226173ec962af6\n"
    },
    {
      "commit": "51e7805f14062df674f613fdaa830030aaaa4f8e",
      "tree": "1bb713ab589db59aa0f1cda47917059c155759d5",
      "parents": [
        "5781e61cb6a134cf897d8454a222687880ce639a"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Fri Mar 11 09:10:27 2016 -0500"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Fri Mar 11 09:10:27 2016 -0500"
      },
      "message": "Remove all non-porterduff xfermodes from the public API\n\nbug: 14650725\nChange-Id: I3c935c32849be8762281eb3d1c86481be3fa139f\n"
    },
    {
      "commit": "24bf21b89469a7175d66add2affd6fe765d3a075",
      "tree": "3960b37ad3c859be1648dbee6dea9a24eb04562d",
      "parents": [
        "a3fc34c71dd57ae3b7ac4972453ce7fab0dc62bb"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Mar 10 15:52:00 2016 -0500"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Mar 10 15:52:00 2016 -0500"
      },
      "message": "Ensure Outline consistently sets the radius to be undefined\n\nRadius should only be defined when the rect is also defined. Also updates\nArcShape to not return an outline, since it may be convex.\n\nBug: 27593976\nBug: 27592381\nChange-Id: I99010b139361607af6ec8cab26c9aa1d4dcbba77\n"
    },
    {
      "commit": "1af03b1d5319921c9f898103353f2646975ab0af",
      "tree": "c75bf35e04af311f1ef6f107bd8ae6c935d88cb1",
      "parents": [
        "f10d08a3d4968d3dfb4324959e33ebb691899eda"
      ],
      "author": {
        "name": "Teng-Hui Zhu",
        "email": "ztenghui@google.com",
        "time": "Wed Mar 09 14:22:04 2016 -0800"
      },
      "committer": {
        "name": "Teng-Hui Zhu",
        "email": "ztenghui@google.com",
        "time": "Wed Mar 09 15:38:55 2016 -0800"
      },
      "message": "Add the missing overriden API\n\nThis is exposed by the CTS test.\n\nChange-Id: Ic25fda1567d8c8504612d4e825dbb646f7db1076\n"
    },
    {
      "commit": "4a07c34ca86fddb75332eba22a4d7b9bd48205db",
      "tree": "227372406227259f306573584a0b1290148d698b",
      "parents": [
        "010859739552709ae2f0e51472bf5a650967280e",
        "5504622fb01ab9774b5e73d05f86ee03a8b68ab7"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Wed Mar 09 22:28:43 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 09 22:28:45 2016 +0000"
      },
      "message": "Merge \"ShortcutManager: add remaining APIs.\" into nyc-dev"
    },
    {
      "commit": "0dda14c671e7c19841f963b0bc665da055738437",
      "tree": "5514e63faf1c5baf00a6991d9a180b58f03da95a",
      "parents": [
        "366e137c0e6afe420131560c5783627ed9e06625",
        "5f63721a6c2c29e639d8d239834a825c535c034a"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Mar 09 19:22:32 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 09 19:22:34 2016 +0000"
      },
      "message": "Merge \"Add missing annotations, getters to GradientDrawable\" into nyc-dev"
    },
    {
      "commit": "5f63721a6c2c29e639d8d239834a825c535c034a",
      "tree": "f0df3cd7092754bf6fc8c472ffbe3c4772dd6892",
      "parents": [
        "2c18cd082359533d326081756b4fd2df2164a253"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Mar 09 13:30:35 2016 -0500"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Mar 09 13:30:35 2016 -0500"
      },
      "message": "Add missing annotations, getters to GradientDrawable\n\nFixes getColor() NPE when colors array is null.\n\nBug: 27543512\nChange-Id: Ieec8a2315d0a2e4ab0ddbe053bccdd8c43080857\n"
    },
    {
      "commit": "35d44ba4396348511d8032ab586722cfc37ee177",
      "tree": "0e6906f5cdf30382d0dd7d5acf2c26762dfce09c",
      "parents": [
        "fa4f3f2f2cd588b681050d11b8a691e4369c9b20",
        "f10d08a3d4968d3dfb4324959e33ebb691899eda"
      ],
      "author": {
        "name": "Tenghui Zhu",
        "email": "ztenghui@google.com",
        "time": "Wed Mar 09 18:07:41 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 09 18:07:43 2016 +0000"
      },
      "message": "Merge \"Update the VD and AVD\u0027s getOpacity()\" into nyc-dev"
    },
    {
      "commit": "5504622fb01ab9774b5e73d05f86ee03a8b68ab7",
      "tree": "40883d6391f6c12e92169ed522ef0d256e96dc27",
      "parents": [
        "76cb56bb210a2ffeeda6294b8cde2dd971c495a7"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Tue Mar 08 10:49:47 2016 -0800"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Tue Mar 08 18:37:32 2016 -0800"
      },
      "message": "ShortcutManager: add remaining APIs.\n\n- Icons are now persisted. (under /data/system_ce, as PNGs)\n- the \"load icon\" APIs in LauncherApps are supported.\n- Implement updateShortcuts()\n\n- Addressed all the comments on the previous CL\n- @hide the newly added constructor for PersistableBundle\n\n- Enhance incoming shortcut validation\n- A lot of internal clean-up.\n\nBug 27548047\n\nChange-Id: I8e3c1ccd3e0a997a6d271c84d81170f0c022b60e\n"
    },
    {
      "commit": "f10d08a3d4968d3dfb4324959e33ebb691899eda",
      "tree": "07c811f13b49ae938d0dcf14f9669ca12de4a5e4",
      "parents": [
        "1664a829eb08dd5c0f567f6466368ef1d1895e36"
      ],
      "author": {
        "name": "Teng-Hui Zhu",
        "email": "ztenghui@google.com",
        "time": "Tue Mar 08 15:25:39 2016 -0800"
      },
      "committer": {
        "name": "Teng-Hui Zhu",
        "email": "ztenghui@google.com",
        "time": "Tue Mar 08 15:54:50 2016 -0800"
      },
      "message": "Update the VD and AVD\u0027s getOpacity()\n\nstatic VectorDrawable should be returning Transparent while root alpha is 0.\nAnimatedVectorDrawable running on RenderThread now, and the opacity should\nbe conservatively set as Translucent.\n\nhttp://b/27554766\n\nChange-Id: I9a78696cab94f10ba40a733cc9c00f1c2d7ebb7f\n"
    },
    {
      "commit": "44027214d4f2154ebc9265912933bac282be3bb4",
      "tree": "6b5d12640df5024f714b2636990672479c3bbd38",
      "parents": [
        "a0021cbb7fe9b1f97c0a31bd0681eb6c0f7f34a9"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Tue Mar 01 18:09:21 2016 -0800"
      },
      "committer": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Tue Mar 01 18:09:21 2016 -0800"
      },
      "message": "Handle multiple animation actions within one frame\n\nBug: 27438778\nChange-Id: I1b14da4bc7b4e82e5b4e45f3eb9ad04e3d7842c4\n"
    },
    {
      "commit": "f6765f3965ce669458e0bb5d2e226d4233a1acb3",
      "tree": "42a7decf8a3e9ba4f69fab76378d25bc1d25cb42",
      "parents": [
        "342006e91990f59b2e71c76a7d8589f7de571246"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Feb 26 08:54:54 2016 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Feb 29 10:49:01 2016 -0800"
      },
      "message": "Frameworks/base: Refactor Paint \u0026 Canvas native allocation support\n\nPut the native allocation support into a holder class. This allows\nstatically initializing the classes in the boot image.\n\nBug: 27265238\nBug: 23130675\nChange-Id: I857aebfdbaec39067a5eb58afceb49630176af98\n"
    },
    {
      "commit": "2d3ca47ef83c097e3a1aaa66f2d119be0e93e677",
      "tree": "81ede09839b3a989ade8dc2b76bd8db08d695d1c",
      "parents": [
        "8baf238a41099561477d30aa4fef4818c1e8436c"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Feb 25 12:27:02 2016 -0500"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Feb 25 12:27:02 2016 -0500"
      },
      "message": "Always update drawable container source res\n\nBug: 27349209\nChange-Id: I3bb3d4862a03fd5ce0beeb2bf5208f2917ec9320\n"
    },
    {
      "commit": "30058435065f392754e749fe43589dd8b452727d",
      "tree": "00ce114b3e0f95cac53ee30ce20e7705dce39ec4",
      "parents": [
        "f7e98b2c44f885034a5e823433224dc8abbe6a40",
        "28cfd20f024a56a927014351c8bdf9d8552603e3"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Tue Feb 23 22:43:52 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 23 22:43:53 2016 +0000"
      },
      "message": "Merge \"Support running AVD on UI thread\" into nyc-dev"
    },
    {
      "commit": "28cfd20f024a56a927014351c8bdf9d8552603e3",
      "tree": "e7e6e0ff59ad1073da1727774c775934ece78a07",
      "parents": [
        "272fe13331cad7197e47c19056d2f49dd26ba0b3"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Mon Feb 22 16:51:40 2016 -0800"
      },
      "committer": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Tue Feb 23 14:40:47 2016 -0800"
      },
      "message": "Support running AVD on UI thread\n\nBy default, AVD animates on RT thread. But since in some cases there\u0027s a\nneed for a finer control on when the frame update for the animation should\nhappen, such as coordiating the AVD animation with other animations that\nrun on UI thread, we are providing a way to force the AVD to run on UI\nthread.\n\nBug: 27278616\nChange-Id: I372ecd3dc52e3fa0bdce3a1e9c19443f9b199027\n"
    },
    {
      "commit": "921ec4464720ebe5f07a4dcb6e18b86e27baba6e",
      "tree": "baca4a7800ddc9514b719653527a00f32fd0c015",
      "parents": [
        "c7bf3f7cb8a2506297c2ccb5ebcb7f0b9aba4ee3"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Feb 23 14:54:01 2016 -0500"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Tue Feb 23 14:54:01 2016 -0500"
      },
      "message": "Fix NinePatchDrawable handling of density changes\n\nScaling is now manually applied when the canvas density is not set.\n\nRemoves set/getNinePatch accessors that were added in N, since these\nare not used and setting the nine patch directly will break padding.\nAlso removes local NinePatch, which was not necessary.\n\nBug: 27038114\nChange-Id: Ie8b2e485b54d1ed1521081b329a09915fd0a95c1\n"
    },
    {
      "commit": "c21e8bcb013a6a562aa6288143368d9dba80fef4",
      "tree": "ab2f0b7ba6f6eb814fc7502854a1d91807418385",
      "parents": [
        "350e65206cfbd86484fcfda77bb988e270606dda"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Wed Feb 17 15:38:38 2016 -0800"
      },
      "committer": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Fri Feb 19 14:35:55 2016 -0800"
      },
      "message": "Ensure invalidate is called after start()/reverse()\n\nChange-Id: Iec96ada74cc7b845e21b5f0eb208ff7c7b1071ed\n"
    },
    {
      "commit": "8b083206aef627b6445a8c6be8bf5bb1d778a7f8",
      "tree": "3c4e5e18fbd6f1f6dd3400567b86e9e793fd2665",
      "parents": [
        "c4bb185d41cfb960ed9a3178a4f8974c351abdb0"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Fri Feb 19 21:46:06 2016 +0000"
      },
      "committer": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Fri Feb 19 13:52:41 2016 -0800"
      },
      "message": "Revert \"Revert \"Check RenderNode\u0027s owning view before attaching animators\"\"\n\nThis reverts commit eb40178af3b7c8d925eaf6c1aa0bef739c8ea47e.\n\nChange-Id: I6838ecb35b50847746ee66ac204f14eb5f579b91\n"
    },
    {
      "commit": "c4bb185d41cfb960ed9a3178a4f8974c351abdb0",
      "tree": "8fce2eab0422581acb8342def694abe23ed2c824",
      "parents": [
        "53503069895918a59a305addaac84ea11937edcf"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Fri Feb 19 21:39:21 2016 +0000"
      },
      "committer": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Fri Feb 19 13:51:31 2016 -0800"
      },
      "message": "VectorDrawable native rendering - Step 5 of MANY\n\nThis is reverting the revert of what reverts the revert of the original\nimplementation. Fourth revert is a charm!\n\nThis reverts commit df7fdb1e0bdb5c289bbc08047e5c710185503309.\n\nChange-Id: I6fc3a5accfd8b79c3da31bbc101ad9e9b4d6e7dd\n"
    },
    {
      "commit": "5b7188aebc2401c9c010543eff62ef53036c147b",
      "tree": "a77f18cad8eed299fe0ef4fbbcb5609769df9027",
      "parents": [
        "b9fb8fdf78ba3369da1fc89932bb8253b9183620",
        "df7fdb1e0bdb5c289bbc08047e5c710185503309"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Thu Feb 18 19:06:19 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 18 19:06:20 2016 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Revert \"VectorDrawable native rendering - Step 5 of MANY\"\"\"\" into nyc-dev"
    },
    {
      "commit": "b9fb8fdf78ba3369da1fc89932bb8253b9183620",
      "tree": "74e23f7378b4002af6ac081063fa470af310b627",
      "parents": [
        "d30d95d36ceabb6ce1e4908251606be6e36c125f",
        "eb40178af3b7c8d925eaf6c1aa0bef739c8ea47e"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Thu Feb 18 19:04:26 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 18 19:04:28 2016 +0000"
      },
      "message": "Merge \"Revert \"Check RenderNode\u0027s owning view before attaching animators\"\" into nyc-dev"
    },
    {
      "commit": "df7fdb1e0bdb5c289bbc08047e5c710185503309",
      "tree": "cb80f84a0aa8efd7ab68d74bcf818ea2eaaad34f",
      "parents": [
        "0d20a275a5baf8579c8b9111cf2ce6615874a6b6"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Thu Feb 18 18:37:02 2016 +0000"
      },
      "committer": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Thu Feb 18 18:37:02 2016 +0000"
      },
      "message": "Revert \"Revert \"Revert \"VectorDrawable native rendering - Step 5 of MANY\"\"\"\n\nThis reverts commit 0d20a275a5baf8579c8b9111cf2ce6615874a6b6.\n\nChange-Id: I97c782f1164a5d39ab74dc098cca71d9e1b30cd8\n"
    },
    {
      "commit": "eb40178af3b7c8d925eaf6c1aa0bef739c8ea47e",
      "tree": "4391aee82c9128353237465ef6ca9d1e0071d0f8",
      "parents": [
        "12abdeb3c7bffbc7c07b913595f6ea2cb66154d1"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Thu Feb 18 18:34:59 2016 +0000"
      },
      "committer": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Thu Feb 18 18:34:59 2016 +0000"
      },
      "message": "Revert \"Check RenderNode\u0027s owning view before attaching animators\"\n\nThis reverts commit 12abdeb3c7bffbc7c07b913595f6ea2cb66154d1.\n\nChange-Id: I938deddf5f294127f87a0e70f940fe5b9a85e0b2\n"
    },
    {
      "commit": "e6e57a9d5175b6e5c874317b232652f481b6f4a4",
      "tree": "5bb8d0370834622ea74959b85f82348ba169fa53",
      "parents": [
        "5b49c6f31bce6b5ac250178ce004c21d50a48819",
        "12abdeb3c7bffbc7c07b913595f6ea2cb66154d1"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Tue Feb 16 23:38:56 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 16 23:38:57 2016 +0000"
      },
      "message": "Merge \"Check RenderNode\u0027s owning view before attaching animators\" into nyc-dev"
    },
    {
      "commit": "5b49c6f31bce6b5ac250178ce004c21d50a48819",
      "tree": "7f113dd692443fbb485cc05190f893154c86f4de",
      "parents": [
        "f19e3434f80977d6f8313a2057bca161c4f777c5",
        "0d20a275a5baf8579c8b9111cf2ce6615874a6b6"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Tue Feb 16 23:38:42 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 16 23:38:43 2016 +0000"
      },
      "message": "Merge \"Revert \"Revert \"VectorDrawable native rendering - Step 5 of MANY\"\"\" into nyc-dev"
    },
    {
      "commit": "12abdeb3c7bffbc7c07b913595f6ea2cb66154d1",
      "tree": "8770a4c0412b95902d5c49328f357e39eb3fba8e",
      "parents": [
        "0d20a275a5baf8579c8b9111cf2ce6615874a6b6"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Thu Feb 11 20:08:10 2016 -0800"
      },
      "committer": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Tue Feb 16 14:25:48 2016 -0800"
      },
      "message": "Check RenderNode\u0027s owning view before attaching animators\n\n-Only add animators to a RenderNode when its owning view is attached\n-When changing animator\u0027s target RenderNode, remove the animator from\n the old target RenderNode that it\u0027s currently running on, if any.\nBug: 27141983\nBug: 27145149\nChange-Id: I9c9592382d64ecc0390f7ec743a59ce1ad7d9798\n"
    },
    {
      "commit": "d86d3fd7689676bf18710cfb4d9cb2a6c76b0128",
      "tree": "9e632c9eca1254a82546960d646bec03a1b93054",
      "parents": [
        "5393a6605f0ffd7f5e1e7e080c414096d6b0db2a",
        "e4f976dc3b7dd2548deb409b6fd421c6c47f6b42"
      ],
      "author": {
        "name": "George Mount",
        "email": "mount@google.com",
        "time": "Tue Feb 16 15:19:03 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 16 15:19:03 2016 +0000"
      },
      "message": "Merge \"Set the hover state to the same as focus state in RippleDrawable.\" into nyc-dev"
    }
  ],
  "next": "0d20a275a5baf8579c8b9111cf2ce6615874a6b6"
}
