)]}'
{
  "log": [
    {
      "commit": "0c453ccb87e0b5a4f4b318df01700c9a9a0da545",
      "tree": "c0578cad34a1e1b3fb1cad6b8abce860746f0dba",
      "parents": [
        "c0c6ee6b6fb6dc8c818c7886756bb8de7a0042a5"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Nov 16 13:44:35 2017 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Nov 16 16:32:43 2017 -0800"
      },
      "message": "Make ripples silky smooth\n\n* Updates press state ripple to match UX spec\n* Makes it ungodly silky smooth LIKE BUTTAH\n* Update hover \u0026 focus states to be closer to UX spec,\n  still needs a final pass.\n\nBug: 63635160\nTest: Clicked on a bunch of stuff\n\nChange-Id: I162ab9d8d669002f2ae511f93b5d9fe67f99c533\n"
    },
    {
      "commit": "828ff7e3ef032f3c3b149be9961fa39a979d2fd2",
      "tree": "4cca378419a88c94fe6379b28e65d43c2d6a3c12",
      "parents": [
        "7bb06e012a33c94c68b173bc8f276f78e0d60764"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Tue Nov 14 01:01:29 2017 +0000"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Tue Nov 14 01:03:50 2017 +0000"
      },
      "message": "Support insets on secondary displays\n\nIndroduced DisplayFrames object to track frames used to calculate\nwindow insets per display vs. at a global level in PhoneWindowManager.\n\nBug: 64148922\nChange-Id: I19f166920eba0a4f933a223a77e096bcc8dab0c1\nTest: bit FrameworksServicesTests:com.android.server.wm.ScreenDecorWindowTests\nTest: go/wm-smoke\n"
    },
    {
      "commit": "7bb06e012a33c94c68b173bc8f276f78e0d60764",
      "tree": "38a8511a249fc050f074458d77721318f330a2f2",
      "parents": [
        "9bc2692939d4dececbfde5ea67df4594a7842bd1"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Mon Nov 13 16:49:19 2017 +0000"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Mon Nov 13 16:49:19 2017 +0000"
      },
      "message": "Revert \"Support insets on secondary displays\"\n\nThis reverts commit 9bc2692939d4dececbfde5ea67df4594a7842bd1.\n\nChange-Id: Ia065372e9e220e653b4729a290663c3536d99307\nFixes: 69241956\nBug: 64148922\n"
    },
    {
      "commit": "9bc2692939d4dececbfde5ea67df4594a7842bd1",
      "tree": "a5bbad1a5679d3a3b358045f9f9b9b17630427f1",
      "parents": [
        "5e22f57bc80e8447ce5a8cd8fe2ea9dce2ef8dba"
      ],
      "author": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Mon Nov 06 14:21:51 2017 -0800"
      },
      "committer": {
        "name": "Wale Ogunwale",
        "email": "ogunwale@google.com",
        "time": "Fri Nov 10 04:57:30 2017 -0800"
      },
      "message": "Support insets on secondary displays\n\nIndroduced DisplayFrames object to track frames used to calculate\nwindow insets per display vs. at a global level in PhoneWindowManager.\n\nBug: 64148922\nTest: bit FrameworksServicesTests:com.android.server.wm.ScreenDecorWindowTests\nTest: go/wm-smoke\nChange-Id: I4a668d6c2dd0bfa666cb6acecf663cf83545ea87\n"
    },
    {
      "commit": "20866c140438a9aca3e1ad09fe646308678e9383",
      "tree": "13cfb8a0d73c19a5422e6ad4013a5b8a0dc75d19",
      "parents": [
        "b10dd4158875d6fe967a0fca687f8b305a69c480"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Thu Oct 26 16:02:01 2017 -0700"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Tue Nov 07 14:13:41 2017 -0800"
      },
      "message": "Use enum class for FontVariation and update MinikinUtils\n\nThis CL contains followins:\n- Use enum class FontVariation instead of legacy enum.\n- Store FontStyle in MinikinPaint.\n\nBug: 65024629\nTest: minikin_tests\nChange-Id: I86bf64fd5d9a8c08eff47db851fa4655da84b1e4\n"
    },
    {
      "commit": "3de6335137faf3aa836861025dcbca19ba0f7447",
      "tree": "f28f36303f15df7b5c2ac7813f652b1cae7aab3a",
      "parents": [
        "73f6b8a6fc8bf211b8a15b9f4fbccc28c5df6090",
        "a1a1cfa40724586fb10499908c4082b5b53b36a4"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 30 23:58:47 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 30 23:58:47 2017 +0000"
      },
      "message": "Merge \"Add more gradient info in VectorDrawable\u0027s javadoc\""
    },
    {
      "commit": "690e62bb6849aa7ad2d9e012138e8a5054059ed8",
      "tree": "554554cde5d4cc07830fcb337ef1b77e9e567504",
      "parents": [
        "584886319aca5f6a183ea368e2888418b35a6660"
      ],
      "author": {
        "name": "Mihai Popa",
        "email": "popam@google.com",
        "time": "Thu Oct 19 20:47:15 2017 +0100"
      },
      "committer": {
        "name": "Mihai Popa",
        "email": "popam@google.com",
        "time": "Mon Oct 30 11:48:54 2017 +0000"
      },
      "message": "Enable variation settings for fonts in XMLs\n\nBug: 37853920\nTest: bit FrameworksCoreTests:android.content.res.FontResourcesParserTest\n\nChange-Id: I1acf9767fb1cecc5f4982b79405f92280b31bfa7\n"
    },
    {
      "commit": "a1a1cfa40724586fb10499908c4082b5b53b36a4",
      "tree": "ba0975dd9838577251907b4beb5d29430073f216",
      "parents": [
        "08fc60206ee0266509cdb8a5158b2ea732027ce1"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed Oct 25 16:25:08 2017 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Fri Oct 27 15:48:17 2017 -0700"
      },
      "message": "Add more gradient info in VectorDrawable\u0027s javadoc\n\nb/30269243\nTest: make offline-sdk-docs -j24\n\nChange-Id: Ie9a353c05508b818efd7e401c2624b9be5dbdcc2\n"
    },
    {
      "commit": "208f0970d57808a346acf79cdeb8bbcd1a060fb8",
      "tree": "0b51c61d40182e6681cf7a487efc92411a45e56d",
      "parents": [
        "9069f179817f6bae718955f2d9edf8293c312726",
        "96aac9b3754b9f85b3db87435d890c43092be20d"
      ],
      "author": {
        "name": "Joachim Sauer",
        "email": "jsauer@google.com",
        "time": "Thu Oct 19 11:48:58 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 19 11:48:58 2017 +0000"
      },
      "message": "Merge \"Framework: Prefer android.system.Os over libcore.io.Libcore.os\""
    },
    {
      "commit": "96aac9b3754b9f85b3db87435d890c43092be20d",
      "tree": "c333778ddda0cac49771e17d7926bf4c8f04ced6",
      "parents": [
        "aab5a8a087f41373682dfb1d0a37f3d24435c15b"
      ],
      "author": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Tue Oct 17 20:26:20 2017 +0100"
      },
      "committer": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Wed Oct 18 10:35:22 2017 +0100"
      },
      "message": "Framework: Prefer android.system.Os over libcore.io.Libcore.os\n\nThis is a pure refactoring with no a behavior change other than\nthat these calls now go through android.system.Os, which immediately\ndelegates to Libcore.os.\n\nThis is a first step towards separating framework (via\nandroid.system.Os) vs. libcore (via Libcore.os) clients of these\nlow level APIs. Separating these is a prerequisite towards moving\nthe API parts of android.system into framework, and moving the\nrest into a different package in libcore.\n\nTest: Treehugger\nBug: 67901714\n\nChange-Id: Ifd8349ec5416e5693f40dba48fdf2bef651b7d81\n"
    },
    {
      "commit": "e34ad1871b9f7da309af0b4e11b93b1be834f38b",
      "tree": "0f20a9c12003965b962ff2b235b7bb9b6d8f4e1e",
      "parents": [
        "96ba9c44224b87c6ddc93a46b74c25d8119d844a"
      ],
      "author": {
        "name": "Mihai Popa",
        "email": "popam@google.com",
        "time": "Thu Oct 12 17:22:33 2017 +0100"
      },
      "committer": {
        "name": "Mihai Popa",
        "email": "popam@google.com",
        "time": "Fri Oct 13 12:44:21 2017 +0100"
      },
      "message": "Enable the public TTC index attribute for fonts\n\nThis change adds support for specifying the TTC index on font entries,\nrelevant in the context of .ttc font files used to deliver multiple\nfonts in the same file.\nBug: 37853920\nTest: adb shell am instrument -w -e class android.content.res.FontResourcesParserTest com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner\n\nChange-Id: I3f74e87dec78e1f5a68ccead80b0f637af1aa7a3\n"
    },
    {
      "commit": "8c6f329ea947c9ed90286ef26976b7cc376d31af",
      "tree": "74b00a08aeb4f2560a4f3f86d2010b6d009c75c6",
      "parents": [
        "5ddf4c2570ee9d42dab2c37737282cf3f744e031",
        "5d3501172c9e2329f46bc6bb53050fd2ec7d2305"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 11 19:57:52 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 11 19:57:52 2017 +0000"
      },
      "message": "Merge \"Add missing annotations\""
    },
    {
      "commit": "5d3501172c9e2329f46bc6bb53050fd2ec7d2305",
      "tree": "10881fc2a11585e3d37d05f5c111a837a0dd0e6c",
      "parents": [
        "a08d748932e65e3fc6bc3b936419a1b6aedbd74e"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Oct 11 10:47:12 2017 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Oct 11 10:47:12 2017 -0700"
      },
      "message": "Add missing annotations\n\nBug: 67608144\nTest: make offline-sdk-docs verified docstring shows up\nChange-Id: I22bcfcc58888fa2d4c479e4687afb2fabd5b2f71\n"
    },
    {
      "commit": "65d56ec5fef1a4777a4b66c54fe6f387403bc220",
      "tree": "f66cd7b49a6ba340d5c13c3bab983a15c749d5fb",
      "parents": [
        "404f23d6d0950754f4d4d65606379889c922a3eb"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon Oct 09 16:24:21 2017 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon Oct 09 16:28:04 2017 -0700"
      },
      "message": "Matching interpolator for ripple\n\nMatching the interpolators to be declerate on both enter and exit.\nAccording to the UX team feedback.\n\nb/63635160\nTest: demo app, settings app and calculator app\n\nChange-Id: I49b88ef73f0bd45cd2b2c26feb2443633f171575\n"
    },
    {
      "commit": "bcc64e2cf47fe53bac1cea1548fd2049e4e38be6",
      "tree": "fe5e6dedd4891c8cad81bd8cb10d2f3a12b12b7a",
      "parents": [
        "5467373b89f69342dbf6627d53b0eb0c377c7b65"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed Oct 04 15:45:44 2017 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Fri Oct 06 10:00:10 2017 -0700"
      },
      "message": "Update ripple according to UX feedback.\n\n1. Consistent enter and exit duration and speed. Both bounded and\nunbouned. It used to be that exit is much faster than enter.\n\n2. Instead of starting from 0 size radius, we start from some size\naccording to the current drawable\u0027s bound.\n\nb/63635160\nTest: demo app, settings app and calculator app\n\nChange-Id: I1135fefc9d9103f170ab889269b38a9900835450\n"
    },
    {
      "commit": "6cf001e8d5e06d1588d58426f86999c4b00e457e",
      "tree": "ea2390f8b8c5e71f84ae3aab853f9abcb6de1d3a",
      "parents": [
        "21e6180afd260682f91e71d6d0586372987143ea",
        "57e79cf0a3cbbc6f34fd338c7f3f491dc39ec93b"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Oct 02 22:24:38 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 02 22:24:38 2017 +0000"
      },
      "message": "Merge \"ImageFormat: Document units/coordinate system for DEPTH_POINT_CLOUD\" into oc-mr1-dev am: 56afee3c1f\nam: 57e79cf0a3\n\nChange-Id: Ic43ab67194613c4888ad5ecf54b4ff66171df31d\n"
    },
    {
      "commit": "3e99a5fcb98070b6794a50a788e7ffc74ba832de",
      "tree": "bfa207eb4bbde58178d3ca3e8492e50607644d12",
      "parents": [
        "79ef7d950d39ea0823d62bc9bd3de3202e76fa85"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Oct 02 11:39:41 2017 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Oct 02 11:39:41 2017 -0700"
      },
      "message": "ImageFormat: Document units/coordinate system for DEPTH_POINT_CLOUD\n\nFor camera devices, DEPTH_POINT_CLOUD coordinates are in meters and\nare in the camera\u0027s local coordinate system.\n\nTest: Built docs, manually verified output.\nBug: 67308479\nChange-Id: I028e13a2fb79688a7ce440f905fa82826fc38a03\n"
    },
    {
      "commit": "0df0cd3c820680938188a2b1e70a37b3c5d0cdf9",
      "tree": "ad92a865f91cd4dee3bb53608f26cb0b515bfff0",
      "parents": [
        "342cab74594650554a16d47ef121f877c37be3b0",
        "ac4c063eb9d8065aad7538bdcc9a06ea9eb95bdb"
      ],
      "author": {
        "name": "Tenghui Zhu",
        "email": "ztenghui@google.com",
        "time": "Fri Sep 29 16:20:20 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 29 16:20:20 2017 +0000"
      },
      "message": "Merge \"Don\u0027t show the background when pressed and focus\""
    },
    {
      "commit": "ac4c063eb9d8065aad7538bdcc9a06ea9eb95bdb",
      "tree": "2b7bcfce955833f204499068b0d8b04fb87074c0",
      "parents": [
        "5cfb3d7e984d578855c408c695dcf3c45b5795ea"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Thu Sep 28 15:02:33 2017 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Thu Sep 28 16:38:51 2017 -0700"
      },
      "message": "Don\u0027t show the background when pressed and focus\n\nAccording to the spec, the foreground will cover the whole area at\nthe end of expansion, and do not show the background.\n\nIn bounded case, the ripple exit should start from the current value.\n\nb/63635160\n\nTest: demo app, calculator and settings\nChange-Id: I64d8b941e2b28ea11165d29de3e6ef77d5ee78f5\n"
    },
    {
      "commit": "9a30254241a91ab9b05e32639a9ad6b965961da5",
      "tree": "0d2448ac1971efd55d960fa73ebeab9baff3985f",
      "parents": [
        "ed0665f3a3ea884e8568eccf0d9dfe687c979531",
        "5cfb3d7e984d578855c408c695dcf3c45b5795ea"
      ],
      "author": {
        "name": "Tenghui Zhu",
        "email": "ztenghui@google.com",
        "time": "Thu Sep 28 16:26:27 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 28 16:26:27 2017 +0000"
      },
      "message": "Merge \"Trigger circular ripple when touched down, instead of up.\""
    },
    {
      "commit": "bfc7a118fcbfb01f39bd042f9bff1d57ae0db743",
      "tree": "5dfdfbbe4375784ea21c7c81446e797dd16aef57",
      "parents": [
        "ef48ae837fd77d45b042cbb6d0350ceceb988fb1",
        "5fa85b7e2e7000f9b36b91cbc66f311c60cf2ca4"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Sep 27 19:56:58 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Sep 27 19:56:58 2017 +0000"
      },
      "message": "Merge \"Add nullptr check\" into oc-mr1-dev am: b20694ab00\nam: 5fa85b7e2e\n\nChange-Id: Ieb93edf167a158a1f1759c6ffc6f492eac0b4144\n"
    },
    {
      "commit": "3885bf6f048c98148d6c1962ff5c8cef7abe8625",
      "tree": "222f2a42fe07bb2d3b2b90d10db255cfdfcd9dcc",
      "parents": [
        "73c93f02f77e81fdfdbfd7594fc7d7f12c7cf19a"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Sep 27 09:30:30 2017 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Sep 27 09:30:30 2017 -0700"
      },
      "message": "Add nullptr check\n\nBug: 65717856\nTest: builds\nChange-Id: I188d3366e956f087c6317ae0b56d5fb19a20708d\n"
    },
    {
      "commit": "484851b9146d5e67a652c253d06ab8e17ebc74cb",
      "tree": "83a0b7ff123b1f1705b690deddc1ca9ee06721b7",
      "parents": [
        "5fdb88c70a32dbd8e24c498b7358a46c3cb8cbba"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Fri Sep 22 16:03:27 2017 +0200"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Mon Sep 25 13:31:04 2017 +0200"
      },
      "message": "Improve window manager layout attribute dumping\n\nTest: adb shell dumpsys window\nChange-Id: I9c76e6a6950265b49667cc19998282ef0c682815\n"
    },
    {
      "commit": "3d30ca1d3c9cbb8e7c6f4194b7e5f79fd44cd0b3",
      "tree": "839703f4c764d960d8951f7882932450fb9a89d8",
      "parents": [
        "e8041834b1de4322456c40436240650482217bc9"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed Sep 13 10:32:50 2017 -0700"
      },
      "committer": {
        "name": "Tenghui Zhu",
        "email": "ztenghui@google.com",
        "time": "Fri Sep 22 19:44:24 2017 +0000"
      },
      "message": "Add systrace for VectorDrawable inflation and draw\n\nWe didn\u0027t trace the draw from cache.\nHere we add trace for draw into bitmap, which is normally heavy.\n\nfix: 65060698\nBug: 65060698\nTest: run test app and get systrace and check\n\nChange-Id: Ia81127c4aa285b3277e9c9edbdf356d85cb28b5e\n(cherry picked from commit cf0c41dbc221c2619212c7e25e6d90a9c4d05b05)\n"
    },
    {
      "commit": "5cfb3d7e984d578855c408c695dcf3c45b5795ea",
      "tree": "b3e8ab72befdb4806491b943d0b062c45ce5bc5e",
      "parents": [
        "6d17e6586e77e1f2409df469c2c4ddfeb64e2369"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Fri Sep 22 09:27:11 2017 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Fri Sep 22 11:26:40 2017 -0700"
      },
      "message": "Trigger circular ripple when touched down, instead of up.\n\nThis will also show circular ripple when focus is on.\nPreviously, bounded case behaved differently than unbounded case. Now\nthey are consistent, too.\n\nb/63635160\nTest: sample app and calculator app\n\nChange-Id: I5c96c8079c789d6e571af2c2356e3ce6add37b46\n"
    },
    {
      "commit": "56c093cad20b1a5c14c8656edf63048c18fd5252",
      "tree": "75b8404386f111270d0bdd868436ba492d130340",
      "parents": [
        "2eba753d38a1826e697d16010dd9386186d99911",
        "cf0c41dbc221c2619212c7e25e6d90a9c4d05b05"
      ],
      "author": {
        "name": "Tenghui Zhu",
        "email": "ztenghui@google.com",
        "time": "Fri Sep 15 16:55:56 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 15 16:55:56 2017 +0000"
      },
      "message": "Merge \"Add systrace for VectorDrawable inflation and draw\""
    },
    {
      "commit": "10c6d8b68ed18aad06cec22aa18af63d22023a56",
      "tree": "7781a8e1e6d169d23dd3479217117dc70ef6f0c2",
      "parents": [
        "6d71e1363063fa12d1b5b28e59f16da0d64c7034",
        "7a9b7da0514004d98beeff49072a3f1d167f6060"
      ],
      "author": {
        "name": "sergeyv",
        "email": "sergeyv@google.com",
        "time": "Fri Sep 15 11:46:10 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 15 11:46:10 2017 +0000"
      },
      "message": "Merge \"Merge \"Throw if BitmapFactory.Options.inBitmap is HARDWARE\" into oc-mr1-dev am: cebe432650\" into oc-mr1-dev-plus-aosp\nam: 7a9b7da051\n\nChange-Id: If0cad94709d037fd47a96870d7b4f56622e9131a\n"
    },
    {
      "commit": "cf0c41dbc221c2619212c7e25e6d90a9c4d05b05",
      "tree": "46b9526090b931ed2a74472dea2568e9cef7d909",
      "parents": [
        "6d17e6586e77e1f2409df469c2c4ddfeb64e2369"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Wed Sep 13 10:32:50 2017 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Thu Sep 14 15:56:50 2017 -0700"
      },
      "message": "Add systrace for VectorDrawable inflation and draw\n\nWe didn\u0027t trace the draw from cache.\nHere we add trace for draw into bitmap, which is normally heavy.\n\nfix: 65060698\nTest: run test app and get systrace and check\n\nChange-Id: Ia81127c4aa285b3277e9c9edbdf356d85cb28b5e\n"
    },
    {
      "commit": "08beea71c9c68a65e078e476f4747b66cf20128f",
      "tree": "ccf17390a3d7fc40259f1af41206f65d51db6049",
      "parents": [
        "5dab2f297c9e51640114eaa0f7bac1b2044a4d0a"
      ],
      "author": {
        "name": "sergeyv",
        "email": "sergeyv@google.com",
        "time": "Thu Sep 14 11:41:54 2017 -0700"
      },
      "committer": {
        "name": "Sergey Vasilinets",
        "email": "sergeyv@google.com",
        "time": "Thu Sep 14 21:13:58 2017 +0000"
      },
      "message": "Throw if BitmapFactory.Options.inBitmap is HARDWARE\n\nTest: BitmapRegionDecoderTest#testHardwareBitmapIn\nbug:34415265\nChange-Id: I58061504dd42ba918f89e1e5daf668f7601ca8d3\n"
    },
    {
      "commit": "0390655dbac012a9b0b9ed0e9292819893e568d2",
      "tree": "a3ee4f9684d3ca46e70506e0bebd6363bed70710",
      "parents": [
        "b8688916714f49dd5d53163e4ea15b21c4491f0b",
        "d4012d6505c8b5368ee4607d54fb98d0a96ec136"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Sep 01 01:35:28 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 01 01:35:28 2017 +0000"
      },
      "message": "Merge \"Fix documentation typo\""
    },
    {
      "commit": "d4012d6505c8b5368ee4607d54fb98d0a96ec136",
      "tree": "af53dda1b6e5557d8d5160ee588bb4b79ea0ffc0",
      "parents": [
        "cbae716bed5af9fc5009f5da11c2a319fa72c677"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Aug 31 16:08:42 2017 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Aug 31 16:08:42 2017 -0700"
      },
      "message": "Fix documentation typo\n\nTest: compiles\nBug: 65213121\nChange-Id: I5bfc7074a42ec0ef5cd624b0bb72234e072684d3\n"
    },
    {
      "commit": "7bc18b20fa1a175e565532a67cd015ff1f9c0841",
      "tree": "f3a0da4e920da9b13c8c1b56831765918f44bf76",
      "parents": [
        "9f5e99159056da901aefc4ac4ff26aa382a23765"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Mon Aug 28 15:13:09 2017 -0700"
      },
      "committer": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Tue Aug 29 08:22:15 2017 -0700"
      },
      "message": "Deal with finalize() after failed constructor\n\nIf the constructor throws an exception, the object will still be\nfinalized. Hence we have to make sure to set objects that are cleaned up\nto 0/null and clean up everything else. Otherwise the finalizer might\ndouble clean up a failed PdfRenderer.\n\nIt also appears that the Pdfium error state is only set if a open-doc\nfunction fail. Hence remove it in every other case. Otherwise successes\nmight read the error of the last call.\n\nFixes: 63875707, 37052344\nTest: cts-tradefed run singleCommand cts-dev -m Pdf --test\u003dandroid.graphics.pdf.cts.PdfRendererTest\nChange-Id: I6d9fc26be768ba1e338344740e340cf9b56386e9\n"
    },
    {
      "commit": "1d4be040e06a11d750c364bac856120cbcc03669",
      "tree": "af61a1ffa9083ec3b1cdbaff04a41779b774eefd",
      "parents": [
        "bb034af696961325b643a0c36a32aba211e13326",
        "938e884a1fcc385dba5a41475aad76d8b7189609"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Aug 25 04:33:31 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 25 04:33:31 2017 +0000"
      },
      "message": "Merge \"Avoid setting high contrast in every view draw\""
    },
    {
      "commit": "938e884a1fcc385dba5a41475aad76d8b7189609",
      "tree": "82b62e00c04d34ec9b9118da40f78c6c666a4fee",
      "parents": [
        "3a58025684a8c379d64bd9968f6549bb11efe753"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Aug 24 13:41:59 2017 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Aug 24 16:15:58 2017 -0700"
      },
      "message": "Avoid setting high contrast in every view draw\n\nTest: high contrast text still works\nChange-Id: I6674d1aca8dddf7eb9725a5346aed12ef1dbc195\n"
    },
    {
      "commit": "4a40e0febf3de60c54c19797aecd3c698b770699",
      "tree": "833617138784df346c4ee6327fa6f7fdc1dad048",
      "parents": [
        "b2fb182085686ea72ee4a1364d0399ba236f4ec5"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Thu Aug 17 17:01:27 2017 -0700"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Wed Aug 23 14:41:25 2017 -0700"
      },
      "message": "Make Typeface.create thread safe.\n\nTypeface.create has not been thread-safe. This CL makes it thread safe.\nAt the same time, reorganize cache and lock in Typeface.\n\nBug: 64606109\nTest: bit FrameworksCoreTests:android.graphics.TypefaceTest\nTest: bit CtsGraphicsTestCases:android.graphics.cts.TypefaceTest\nChange-Id: Id18e9b8bfab508a26fc0c83af6b1ca97e132b732\n"
    },
    {
      "commit": "737dfead64dd24a431beff85b685594dc0efb49a",
      "tree": "544614313b240caf09ed181859b57a6027f5b1fe",
      "parents": [
        "980d88d9a70451c8caec882e4488e38c90427c1f"
      ],
      "author": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Thu Aug 10 11:32:24 2017 -0700"
      },
      "committer": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Thu Aug 17 12:10:31 2017 -0700"
      },
      "message": "Support extra linespacing based on fallback fonts\n\n* Increase the ascent and descent of individual lines in StaticLayout\n  as needed, if any fallback fonts that end up getting used call for\n  it. For backward compatibility, this is hidden behind a builder\n  flag.\n* Document in Paint.java that the returned parameters are only for\n  the default font, and a layout may need more space based on\n  fallbacks used.\n\nAlso update for changes in minikin API:\n\n* MinikinFont now requires a method for getting vertical extents\n  (ascent, descent, and line gap).\n* minikin API now allows asking for vertical extents of laid out\n  text.\n* minikin API\u0027s LineBreaker now returns ascents and descents for each\n  line.\n\nFinally, added performances test for creating a StaticLayout.\nFollwing are the numbers on a marlin with a stable clock before and\nafter this CL.\n\nFor fixed text almost always hitting the cache:\nBefore: mean\u003d260684 median\u003d260188 min\u003d258532 standardDeviation\u003d1897\nAfter:  mean\u003d262432 median\u003d261509 min\u003d260429 standardDeviation\u003d2185\n\nFor random text almost never hitting the cache:\nBefore: mean\u003d5971827 median\u003d5991126 min\u003d5886871 standardDeviation\u003d83724\nAfter:  mean\u003d6337093 median\u003d6317010 min\u003d6311222 standardDeviation\u003d40213\n\nBug: 28963299\nBug: 29063863\nBug: 32057121\nBug: 37756858\nTest: bit FrameworksCoreTests:android.text.\nTest: bit CtsTextTestCases:*\nChange-Id: I482a98ff8f472e8bab4f0ba9d1d7b368858038ff\n"
    },
    {
      "commit": "af03df6a7a93c832e0bc77b88607ef9161f0791b",
      "tree": "80fc218e3ad1c988468fb683ba73ddee804a5f6c",
      "parents": [
        "211ec527d65cc218fbc86b97d358f72f3b60c17b"
      ],
      "author": {
        "name": "Steven Timotius",
        "email": "stimo@google.com",
        "time": "Tue Jul 18 16:56:43 2017 -0700"
      },
      "committer": {
        "name": "Steven Timotius",
        "email": "stimo@google.com",
        "time": "Mon Aug 14 17:06:17 2017 -0700"
      },
      "message": "Update WindowManager to output dumpsys in protobuf format\n\nImplement enough functionality in protobuf dumpsys to replicate\nold functionaltiy in android.server.cts.WindowManagerState\n\nTest: cts-tradefed run commandAndExit cts-dev --module CtsWindowManagerHostTestCases\ncts-tradefed run commandAndExit cts-dev --module CtsServicesHostTestCases\nChange-Id: Ib527ab3f44620a08cf03b77c37c2bae883d90e13\n"
    },
    {
      "commit": "c9c6ee667f9282fdfa1cbab4ff7215ee92ad34b3",
      "tree": "17d607704a2be8230e2a66fcae92a587eb9f4024",
      "parents": [
        "db01c43523eed9d435df2a0832ccc58d1e219fa3",
        "99975a3e25e11f5c5958d8a901d37902087c75fd"
      ],
      "author": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Fri Aug 11 23:27:50 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 11 23:27:50 2017 +0000"
      },
      "message": "Merge \"Support multiple languages per font in fonts.xml\""
    },
    {
      "commit": "99975a3e25e11f5c5958d8a901d37902087c75fd",
      "tree": "a78def3c7c7b984a6e3668879d08e3d25595ec3e",
      "parents": [
        "a7d731d5fecbac339a37ad963253b651b1ba7046"
      ],
      "author": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Wed Aug 09 09:42:20 2017 -0700"
      },
      "committer": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Fri Aug 11 12:34:26 2017 -0700"
      },
      "message": "Support multiple languages per font in fonts.xml\n\nMinikin already supports multiple languages specified per font in\nI7f13b51464c9b01982bb573251d77052b9ddbd70. This CL adds a couple of\nsuch cases into fonts.xml and clarifies in the method and the\nvariable names and parameters that the frameworks is handling a\nmulti-language string when it is.\n\nFixes: 26687969\nTest: make -j checkbuild\nTest: bit FrameworksCoreTests:android.graphics.TypefaceSystemFallbackTest\nChange-Id: Ifa540a95f87921983f9069330d1dd0892538a8df\n"
    },
    {
      "commit": "891f481ef8ab3fd26f68602f634bd0b73f42005f",
      "tree": "4bcafbd84715d4e4a8b67178c2ed0a50120282b3",
      "parents": [
        "e685cc06a81e4e91d2f9566c094b8c4829c073a7",
        "318ca04079bd6242cb6186d9005b9caeee22e845"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 08 19:48:05 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 08 19:48:05 2017 +0000"
      },
      "message": "Merge \"Refactoring: Deprecate Paint.mNativeTypeface.\""
    },
    {
      "commit": "318ca04079bd6242cb6186d9005b9caeee22e845",
      "tree": "23f517b54d6d9fe3e2ae4cacdaac3a94cee18035",
      "parents": [
        "3bf594f0643010d9f2e94777ea66e2d414bf3e4f"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Tue Aug 01 16:36:18 2017 -0700"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Tue Aug 08 18:07:28 2017 +0000"
      },
      "message": "Refactoring: Deprecate Paint.mNativeTypeface.\n\nBug: 64269689\nTest: m checkbuild\nTest: bit CtsGraphicsTestCases:*\nTest: bit CtsViewTestCases:*\nTest: bit CtsTextTestCases:*\nChange-Id: Idc9f2b4612741be949204cd06efc41e1738d6587\n"
    },
    {
      "commit": "e88b5df5b7aaf5a5f654805eb5e5e4c2f09afaa8",
      "tree": "95808acdc5eb72364338783e0016bac5f4a477c3",
      "parents": [
        "a19cd51d2c511777201c09e258a4e8286249fd9a"
      ],
      "author": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Tue Jul 25 13:52:57 2017 -0700"
      },
      "committer": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Mon Aug 07 16:22:00 2017 -0700"
      },
      "message": "Make ellipsize retry if text doesn\u0027t fit\n\nThis fixes the cases where the replacement of parts of text with\nellipsis may result in more-than-expected width of text due to\ncontextual width changes in the font, such as kerning or Arabic\nshaping.\n\nThe calculations in TextUtils.ellipsize() and StaticLayout are fixed\nto recalculate the new width and reduce it further until the text\nactuall fits. BoringLayout and DynamicLayout get fixed too since\nthey use the other two implementations indirectly.\n\nAlso reverse a recently-introduced incorrect check for\nmulti-character ellipsis in Layout.java.\n\nFixes: 31537595\nFixes: 64156587\nTest: Manual (Arabic edge cases ellipsize correctly)\nTest: bit CtsTextTestCases:*\nTest: bit CtsWidgetTestCases:android.widget.cts.TextViewTest\nTest: bit CtsWidgetTestCases:android.widget.cts.EditTextTest\nTest: bit CtsWidgetTestCases:android.widget.cts.CheckedTextViewTest\nTest: bit CtsWidgetTestCases:android.widget.cts.AutoCompleteTextViewTest\nTest: bit CtsWidgetTestCases:android.widget.cts.MultiAutoCompleteTextViewTest\nTest: bit FrameworksCoreTests:android.text.\nTest: adb shell am instrument -w com.android.documentsui.tests/android.support.test.runner.AndroidJUnitRunner\nChange-Id: Iaddcc8b01c78d477e2c29b339d321c9631426f34\n"
    },
    {
      "commit": "762dc8bdaec8a3ac32874f6aaa67e2063439445f",
      "tree": "e0d577d0d4119286c49e97898a38a789a69ba201",
      "parents": [
        "e3abb1fff169c64e6d88b4865d0c725a149802f1"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Mon Jul 31 15:09:37 2017 -0700"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Tue Aug 01 02:04:18 2017 +0000"
      },
      "message": "Introduce new public API for specifying exact weight.\n\nAdding Typeface.create(Tyepface, int weight, boolean italic).\nThis API is a most primitive API for specifying exact weight value\nfor drawing text.\n\nTest: CtsGraphicsTestCases:android.graphics.cts.TypefaceTest\nBug: 63135308\nChange-Id: I5766870f68026fd1b13815e794f5df243cd8c912\n"
    },
    {
      "commit": "065c59beafb89d8a67f6cb39313fc812133d4445",
      "tree": "538b52941ef4de3a6dc771033b67c70f60b055dc",
      "parents": [
        "c3f71b61059bbe92b1aedf13db266bb436071eec"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Tue Jul 25 14:28:30 2017 -0700"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Wed Jul 26 22:21:14 2017 +0000"
      },
      "message": "Revert \"Implement family fallback.\" DO NOT MERGE\n\nThis reverts commit 0d253e46aa0b4cb2ea56e220812aeab92de64ae1.\n\nThe original CL changed Typeface internal methods and broke\nTypefaceCompatApi26Impl in support library which uses reflections.\nIdeally, TypefaceCompatApi26Impl must fall back to public API\nimplementation but due to lack of method availability check, it ended up\ncrashing the application.\n\nThe original patch didn\u0027t change any behaviors in MR1, so reverting\nthat change is the best solution for MR1.\n\nBug: 64033594\nChange-Id: Ie86afeb1b809e57915d62c1db5a70c8d210d2354\nTest: N/A\n"
    },
    {
      "commit": "89e4c1ce1791413d44a87109402433d788e34289",
      "tree": "54ecc5a08870e1df6a23536de6efb4924d839e55",
      "parents": [
        "2b65b12907f41200fd634855fd1c0bfcf8a96c96",
        "42673c33ee05af1cd792aa8c8ed55f17a79da73c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 21 08:08:31 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 21 08:08:31 2017 +0000"
      },
      "message": "Merge \"Refactor TextUtils.join() and add documentation\""
    },
    {
      "commit": "42673c33ee05af1cd792aa8c8ed55f17a79da73c",
      "tree": "45fbc9174a67d25a8ed6041b8f84eb6df15f08b6",
      "parents": [
        "34dc4c1f0719f2790488e3bf23da20f93d835c2a"
      ],
      "author": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Thu Jul 20 15:23:33 2017 -0700"
      },
      "committer": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Thu Jul 20 17:22:30 2017 -0700"
      },
      "message": "Refactor TextUtils.join() and add documentation\n\nAdded documentation to clarify what happens in the case of null or\nempty arguments.\n\nChange-Id: I694dc0f6a6d95ab6ca7ed95b51d81938618eb75f\nFixes: 36861796\nTest: bit CtsTextTestCases:*\nTest: bit CtsGraphicsTestCases:android.graphics.cts.FontVariationAxisTest\n"
    },
    {
      "commit": "298bb2995b7544793006c0f93953c7aac2f08d61",
      "tree": "da9ed7c53a18256494f79a63425198d38992f580",
      "parents": [
        "d57fcca82343d276e9d35e86bd7039f19db819a1"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Thu Jul 13 13:34:00 2017 -0700"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Thu Jul 20 23:40:44 2017 +0000"
      },
      "message": "Support font resource in TextAppearanceSpan\n\nTo be able to parcel/unparcel Typeface, keep it in static context.\n\nBug: 62850669\nTest: Manually done\nTest: bit CtsTextTestCases:android.text.style.cts.TextAppearanceSpanTest\nChange-Id: I408cd33b98d8bb13776560231d1eeaac0a7c6bf8\n(cherry picked from commit c49ee3bde904b1dcce2d605477ed07278be22561)\n"
    },
    {
      "commit": "c49ee3bde904b1dcce2d605477ed07278be22561",
      "tree": "2f767239b28c0367e22317d2ceadf6b29a09461a",
      "parents": [
        "a73f5e6bffefc4741bc1814a4e3e002c936f890b"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Thu Jul 13 13:34:00 2017 -0700"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Thu Jul 20 12:01:05 2017 -0700"
      },
      "message": "Support font resource in TextAppearanceSpan\n\nTo be able to parcel/unparcel Typeface, keep it in static context.\n\nBug: 62850669\nTest: Manually done\nTest: bit CtsTextTestCases:android.text.style.cts.TextAppearanceSpanTest\nChange-Id: I408cd33b98d8bb13776560231d1eeaac0a7c6bf8\n"
    },
    {
      "commit": "d0426628f60d063836c0dce691d4698b12434724",
      "tree": "654b147dc46f74c58c3195c0994f672c85e28165",
      "parents": [
        "ac86bc8764a30677cac34f07fc8e3ed68316136a"
      ],
      "author": {
        "name": "Selim Cinek",
        "email": "cinek@google.com",
        "time": "Tue Jul 11 13:19:59 2017 +0200"
      },
      "committer": {
        "name": "Selim Cinek",
        "email": "cinek@google.com",
        "time": "Wed Jul 19 11:05:26 2017 -0700"
      },
      "message": "Reducing bitmap sizes in notifications\n\nBitmap sizes could be arbitrary large when they were sent\nover to the system. We\u0027re now reducing them to reasonable\nsizes.s\n\nAlso fixed that notification bitmaps were not put into\nashmem anymore since it got lost in a refactor.\n\nTest: code inspection\nBug: 62319200\nChange-Id: I87db7656e749666b9eab1f67fd497f155c407e18\n"
    },
    {
      "commit": "1480b67635cdc4c2c5e735741bf30393fd70d738",
      "tree": "169d4719407b891bd390d200ae9d4f11cde22f50",
      "parents": [
        "845dae5cdb167dde981eeefb8508cb383046ed7f"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Fri Jul 14 08:42:50 2017 -0700"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Fri Jul 14 11:40:29 2017 -0700"
      },
      "message": "Better preload drawable logging\n\nBug 63136392\nTest: Manual test\n\nChange-Id: I8753b36f632cf2ff57a5ef28df29f3fc5657f607\n"
    },
    {
      "commit": "e2393ae726d52acb32e04886529013897a3e5805",
      "tree": "25604e995a1673bf073a94e4f586ffe573de2d6e",
      "parents": [
        "294e7ea9be0527a33f64d845d14fc9ff3b9ae1f7",
        "1378a9d72cb4a9f7a939f0a28a78fcfb87fb7879"
      ],
      "author": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Fri Jul 14 02:17:43 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 14 02:17:43 2017 +0000"
      },
      "message": "Merge \"Make strike-through respect kerning at boundaries\""
    },
    {
      "commit": "1378a9d72cb4a9f7a939f0a28a78fcfb87fb7879",
      "tree": "888fdd792e47229b0dc0c19ae677efa16a847858",
      "parents": [
        "1137f872c6e4ee0b2f630cd03f5b4f0033368115"
      ],
      "author": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Thu Jul 13 12:45:20 2017 -0700"
      },
      "committer": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Thu Jul 13 13:21:00 2017 -0700"
      },
      "message": "Make strike-through respect kerning at boundaries\n\nAlso clean up lower-level drawing of strike-through in Cavas.cpp.\n\nWe still cannot use the strike-through information from the font\nsince Skia doesn\u0027t provide it, so we are going with the default\nvalues.\n\nTest: Manual\nTest: bit CtsTextTestCases:*\nTest: adb shell am instrument -w -e package android.text com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner\nBug: 32907446\nChange-Id: Iee6f8102a35eba0ff4127dbbef189529ab573e6d\n"
    },
    {
      "commit": "0d253e46aa0b4cb2ea56e220812aeab92de64ae1",
      "tree": "790b3171f79c25b3be1878d0e2070be84a84fb4e",
      "parents": [
        "ab78a4707b276a58c758e5a7122a21d75403497b"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Thu Jun 29 17:50:33 2017 -0700"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Thu Jul 13 10:47:48 2017 -0700"
      },
      "message": "Implement family fallback.\n\nIntroduce new attribute \"fallbackFor\" to font element.\nBy specifying name of the family to this attribute, that font is used\nwhen the developer specifies the font family.\nFor example, if fonts.xml has the following family entry,\n  \u003cfamily lang\u003d\"ja\"\u003e\n    \u003cfont fallbackFor\u003d\"serif\"\u003eNotoSerifJP-Regular.ttf\u003c/font\u003e\n    \u003cfont\u003eNotoSansJP-Regular.ttf\u003c/font\u003e\n  \u003c/family\u003e\nthe Japanese text is rendered by NotoSansJP-Regular.ttf by default.\nThen, if developer specifies fontFamily\u003d\"serif\" in TextView, the Japanese\ntext is rendered by NotoSerifJP-Regular.ttf.\n\nBug: 37328609\nBug: 31491668\nTest: bit FrameworksCoreTests:android.graphics.TypefaceSystemFallbackTest\n\nChange-Id: I2744db7384c8056795e841c88b387545434131f4\n"
    },
    {
      "commit": "3594b9f4fda1e83c48aba8ace4c688d5c0ea21c6",
      "tree": "db31f29a2dc6a776f93c5a670e590f03285f5d8a",
      "parents": [
        "c523f4dc0c9226738a53b7d85279f4d151273b6f",
        "3ec9d993ce0112919d57ae2958c682ba7ac4f690"
      ],
      "author": {
        "name": "Selim Cinek",
        "email": "cinek@google.com",
        "time": "Mon Jul 03 10:59:17 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jul 03 10:59:17 2017 +0000"
      },
      "message": "Merge \"Fixed an issue where the shelf could be hidden\" into oc-dr1-dev am: fdc84a13a2\nam: 3ec9d993ce\n\nChange-Id: I307a3d65603f5ede0e283f36715271bc68b8eabd\n"
    },
    {
      "commit": "fdc84a13a25c205c87b5d5dff92244ae8c295759",
      "tree": "2da5b15749734551a4c0105b9b1f36e29dc49956",
      "parents": [
        "0fc10b2b1d7be649c80dda4ebdb2e31af216bfcc",
        "707e2072c81b7405e6c9102b1f937fd251f56291"
      ],
      "author": {
        "name": "Selim Cinek",
        "email": "cinek@google.com",
        "time": "Mon Jul 03 10:46:35 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 03 10:46:35 2017 +0000"
      },
      "message": "Merge \"Fixed an issue where the shelf could be hidden\" into oc-dr1-dev"
    },
    {
      "commit": "707e2072c81b7405e6c9102b1f937fd251f56291",
      "tree": "0207d3df8469c848b099811ee852851486012cfe",
      "parents": [
        "d43bc31eb73ed062af502f77da38a64983ed90cf"
      ],
      "author": {
        "name": "Selim Cinek",
        "email": "cinek@google.com",
        "time": "Fri Jun 30 18:32:40 2017 +0200"
      },
      "committer": {
        "name": "Selim Cinek",
        "email": "cinek@google.com",
        "time": "Fri Jun 30 18:40:53 2017 +0200"
      },
      "message": "Fixed an issue where the shelf could be hidden\n\nDuring reinflation, the panel could be stuck in\na bad state where qs edit mode was on but not\nvisible. QS edit now persists through reinflations.\n\nTest: manual\nChange-Id: I6e7a20fda2db2184a26a11093064a1367469ab45\nFixes: 62807612\n"
    },
    {
      "commit": "0e00add46a760480bb9269b391347834b6be8355",
      "tree": "b7bc2b8338eb0cc84bc77a78feb4d1f696ecc538",
      "parents": [
        "44d02baff1336a9371231129fb61d610e42acbfc",
        "73035910fca06317dbb6c7dff24c957c90394805"
      ],
      "author": {
        "name": "Hyunyoung Song",
        "email": "hyunyoungs@google.com",
        "time": "Thu Jun 29 19:33:54 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 29 19:33:54 2017 +0000"
      },
      "message": "Merge \"AdaptiveIconDrawable should not update layer bounds when bound is empty\" into oc-dr1-dev am: e54ad58aea\nam: 73035910fc\n\nChange-Id: I43e867115e6242ef5a19795c8e53cccb5097d633\n"
    },
    {
      "commit": "dba9934fb789d67bbd305aa384bf5917a001e715",
      "tree": "355dc521f77a7897acba22b9b5ccf705c0b2f426",
      "parents": [
        "bf15050a0c23fcfab2f7e103df6f86a65f72d212"
      ],
      "author": {
        "name": "Hyunyoung Song",
        "email": "hyunyoungs@google.com",
        "time": "Tue Jun 27 16:56:41 2017 -0700"
      },
      "committer": {
        "name": "Hyunyoung Song",
        "email": "hyunyoungs@google.com",
        "time": "Wed Jun 28 00:13:15 2017 +0000"
      },
      "message": "AdaptiveIconDrawable should not update layer bounds when bound is empty\n\nTest: build succeeds. Also, setting tint mode does not result in error.\n\nBug: 37682281\nChange-Id: I5991b8e58514a2130a793a5edb90baeafae9b148\n"
    },
    {
      "commit": "fc651ecf8195eb9ca0530b9aac4da0029396e987",
      "tree": "61005a173c72a1ffec68f491fdb318fdad4cb8f1",
      "parents": [
        "b11fbf83645e96e8b18ef81605397f8201de84e2",
        "bc1db397ebb25a8b1e14c35c217b0a0831f4557f"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Jun 27 02:08:00 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 27 02:08:00 2017 +0000"
      },
      "message": "Merge \"Use NativeAllocationRegistry for ColorFilter\" into oc-dr1-dev am: 049543b771\nam: bc1db397eb\n\nChange-Id: I76e107bbbb89e32f535324f393c8f4ad3341bed3\n"
    },
    {
      "commit": "f65e92d9f96cabb23fd8afa43e0580ea616ea154",
      "tree": "774771ddd3e219aba20c4190025425bbbcdf6555",
      "parents": [
        "5345fce58ff35b29e8e7264a2e36c9c990aedcb1"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Jun 26 14:03:01 2017 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Jun 26 21:33:47 2017 +0000"
      },
      "message": "Use NativeAllocationRegistry for ColorFilter\n\nBug: 62994689\nTest: bit CtsGraphicsTestCases:*\n\nChange-Id: Icea01fa7d4c6e78f3a93434de64bc8ddfe0c7a0e\n"
    },
    {
      "commit": "554585e08da5e89762105b2adc0b4c76651d1d68",
      "tree": "372a439b91843535b75859088584bd9297be3f21",
      "parents": [
        "7a8a457af6a0572953370058d13749a2320aaee3",
        "ca8a04a36640eb227a556ad9ced925c48ced2495"
      ],
      "author": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Fri Jun 09 21:44:42 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 09 21:44:59 2017 +0000"
      },
      "message": "Merge \"Get underline position and thickness from the font\""
    },
    {
      "commit": "ca8a04a36640eb227a556ad9ced925c48ced2495",
      "tree": "50187f2094741703429e43c4c7ca1ab8aa7ecff9",
      "parents": [
        "eed27590babac4b697c7341d43bfb43e9257a7ee"
      ],
      "author": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Tue Jun 06 18:30:29 2017 -0700"
      },
      "committer": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Thu Jun 08 14:13:57 2017 -0700"
      },
      "message": "Get underline position and thickness from the font\n\nPreviously, font underline position and thickness were fixed in Android.\nAlthough a custom font may have specified a different value, such a value\nwould never be used. Now we use the values from the font if they are\nprovided and fall back to the old default values only if needed.\n\nBug: 62353930\n\nTest: adb shell am instrument -w -e package android.graphics com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner\nTest: adb shell am instrument -w -e package android.text com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner\nTest: cts-tradefed run cts-dev --module CtsTextTestCases\nTest: Manual\nChange-Id: I6bf21000dd69a2780c894b231638bc0c122e41f4\n"
    },
    {
      "commit": "21d562c122493dc15976edf864764b6ff5a07c0c",
      "tree": "31f8caca62f2303e7c68ee76a8bf12585ca34bcf",
      "parents": [
        "d37ba3bc38a5dc8fd1e2b6485e8e25063e05b132",
        "cab35e9b0e68ec78d2f48b6de353a95530ee60cb"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Wed Jun 07 19:45:52 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 07 19:45:52 2017 +0000"
      },
      "message": "Merge \"Better error message for AVD\" into oc-dev am: cabf9cdc2e\nam: cab35e9b0e\n\nChange-Id: I48726108f88abbe3d08973259e1be1a1683df797\n"
    },
    {
      "commit": "7bbb50e21d6705ad27f7ee576dea6927b66e15c8",
      "tree": "dcbb1879a0d142e78d101c0ee2fcda3e23c72721",
      "parents": [
        "dab10f2bb3687195e51daf8579423ebed8d6c71b",
        "cabf9cdc2e742b168f8d5a1dd6ccd6355b8eb2aa"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Wed Jun 07 19:40:53 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 07 19:40:53 2017 +0000"
      },
      "message": "Merge \"Better error message for AVD\" into oc-dev\nam: cabf9cdc2e\n\nChange-Id: I6e63b81fd2168780d23a88d7340812b55db98497\n"
    },
    {
      "commit": "cabf9cdc2e742b168f8d5a1dd6ccd6355b8eb2aa",
      "tree": "5d1613334225315115d68e478a7956dd8d0db7d4",
      "parents": [
        "6746aa8c4d01f559150439808dc0b489c512d5a4",
        "03f2fcbd88478636acc9d67b9698b50e5b3eae25"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Wed Jun 07 19:31:09 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 07 19:31:14 2017 +0000"
      },
      "message": "Merge \"Better error message for AVD\" into oc-dev"
    },
    {
      "commit": "4ee3fb4c5486b4b54dcece313dbb504ed725933d",
      "tree": "6880fafe7954e1bd05a3218cd447c7144141866c",
      "parents": [
        "2fe945c3a916430d1ba33824e6452dd48c5f13c8",
        "d3e78478aa2e548ab857aa6549964bffd5803e39"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Jun 07 16:49:12 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 07 16:49:12 2017 +0000"
      },
      "message": "Merge \"Clear native shader when Paint shader changes\" into oc-dev\nam: d3e78478aa\n\nChange-Id: I7d96db34b1894e1064116b830a8fb159ad4c57b0\n"
    },
    {
      "commit": "fbff7117abac7a335c6bc2e2f8b927a8dac5753e",
      "tree": "c16bb5d083083a9deaf5d7713956e64114cc86ec",
      "parents": [
        "5fc8f7d08a5e1835b792757dc25f3ab2420d4b75"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Jun 06 12:14:04 2017 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Jun 06 12:14:04 2017 -0700"
      },
      "message": "Clear native shader when Paint shader changes\n\nSince Recents never goes away that means TaskViewThumbnail\nnever goes away which in turn means mDrawPaint never goes away.\n\nmDrawPaint has a setShader(null) called on it to release\nthe BitmapShader it was previously drawn with, but that\nchange didn\u0027t push down to native until the next time the\npaint was used. As a result, the Paint held on to a\nreference to the bitmap.\n\nThe fix is simple, when the shader is changed simply\npush down an immediate clear of the native shader. Since\nthe bitmap of a BitmapShader isn\u0027t changeable we don\u0027t\nneed to worry about clearing references for shader mutation,\nmerely when Paint#setShader() happens.\n\nBug: 38258699\nTest: Open \u0026 close recents, observe EGL memory immediately returns\nto sub-5MB.\n\nChange-Id: I6742efa8ae8dfca76b62a06bc1a1a00646feba64\n"
    },
    {
      "commit": "fd8c22d513d92d547f883efc45a3dbcd9558f90a",
      "tree": "d631419d14c2172612ab147c0306a5fe00e8f713",
      "parents": [
        "a3112ceedc146005779dba2825af5484d55c8827"
      ],
      "author": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Mon Jun 05 15:57:14 2017 -0700"
      },
      "committer": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Mon Jun 05 15:57:14 2017 -0700"
      },
      "message": "Move underline thickness and position computation to Paint\n\nAlso, in TextLine, fix underline color and thickness to come from the\nunderline info rather than the TextPaint object.\n\nBug: 32907446\nBug: 62353930\nTest: Manual\nTest: cts-tradefed run cts-dev --module CtsTextTestCases\nTest: cts-tradefed run cts-dev --module CtsWidgetTestCases\nChange-Id: I259e9cf635a7056ccd367baa77c03100c69e3b98\n"
    },
    {
      "commit": "03f2fcbd88478636acc9d67b9698b50e5b3eae25",
      "tree": "187bdcee0879c305af2bed46d3a322e8a87ff2dd",
      "parents": [
        "faba1835b4028fccc6f7382a67e406f0b6352445"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Thu Jun 01 17:34:13 2017 -0700"
      },
      "committer": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Mon Jun 05 15:51:18 2017 -0700"
      },
      "message": "Better error message for AVD\n\nMoved the error checking to an earlier stage of the AVD, so that\nthe error message can contain more information.\n\nBUG: 36571432\nTest: Follow the repro step in b/36244835, the error message\n      is much clear now.\n\nChange-Id: Ibc6a0e666cc4c23c3dfa589755a77a015da2db1c\n"
    },
    {
      "commit": "cc4f086c94f0dbdd0081a456032520923be8a079",
      "tree": "04c36e1ee2384db299b90c297858d44fbb929272",
      "parents": [
        "4548e744bc5f65f4a28aeec8896780e584ae0637",
        "538de5bb3b3662c51c17cd9dd24e660c85e88b78"
      ],
      "author": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Mon Jun 05 17:30:18 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 05 17:30:27 2017 +0000"
      },
      "message": "Merge \"Make underlining spans independent of actual class\""
    },
    {
      "commit": "538de5bb3b3662c51c17cd9dd24e660c85e88b78",
      "tree": "7ad94ecd9e84f072e55b2356d6227c38dafe05e0",
      "parents": [
        "1cdf223a0e968ead15d37cfb83f9c1ea88a54d6c"
      ],
      "author": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Wed May 24 09:07:52 2017 -0700"
      },
      "committer": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Thu Jun 01 16:45:33 2017 -0700"
      },
      "message": "Make underlining spans independent of actual class\n\nPreviously, we had singled out UnderlineSpan for special treatment\nfor proper kerning at span boundaries. That had the limitation that\nany other span that used underlining, or even subclasses of\nUnderlineSpan were not getting the fix.\n\nWith this CL, we actually look at all the effects of applying a\nspan\u0027s updateDrawState() and if the changes were only in underlining,\nwe merge the pieces and call handleText() on the merged chunk of\ntext.\n\nChange-Id: I829162c758192b80594f164d1105699224b627ba\nBug: 32907446\nTest: cts-tradefed run cts-dev --module CtsTextTestCases\nTest: cts-tradefed run cts-dev --module CtsWidgetTestCases\nTest: manual\n"
    },
    {
      "commit": "2a3220b247c899456a556c8c3c0d677275cf7ce9",
      "tree": "30d706d97a61ec7ea64ab893726524ddaf67d12d",
      "parents": [
        "1cdf223a0e968ead15d37cfb83f9c1ea88a54d6c",
        "335a6e0f74841b0655b79e3277a401d273f2cb32"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jun 01 20:31:45 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 01 20:31:50 2017 +0000"
      },
      "message": "Merge \"graphics: Icon: use Arrays#equals for byte array comparison\""
    },
    {
      "commit": "335a6e0f74841b0655b79e3277a401d273f2cb32",
      "tree": "3983a5c1b12a2c3765b20d48a460e39e421cc873",
      "parents": [
        "bcb5bca1f3fd2dc54d088c3e2eae1c1c3a072718"
      ],
      "author": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Thu Jun 01 10:43:35 2017 -0700"
      },
      "committer": {
        "name": "Peter Qiu",
        "email": "zqiu@google.com",
        "time": "Thu Jun 01 10:45:56 2017 -0700"
      },
      "message": "graphics: Icon: use Arrays#equals for byte array comparison\n\nBug: 62258815\nTest: build\n\nChange-Id: I95b7b7b663a8067aea40f36944003901afd8988c\n"
    },
    {
      "commit": "0ee11e3f7ebbad3e28386636f2d53f6ffe4fb700",
      "tree": "7d83d8c0f5bab3ab2a6943d02d3c5aa2ed05b708",
      "parents": [
        "b4ec958c7cf780d4d4d43784b9b5f74cae67c32d",
        "bc790383d204c8cb7669e0788ea20d5b0e4047c2"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Wed May 31 00:27:12 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 31 00:27:12 2017 +0000"
      },
      "message": "Merge \"Fix NPE and wrong behavior of Typeface.isSupportedAxes\" into oc-dev am: 633b32be55\nam: bc790383d2\n\nChange-Id: Ie308baed43bf39394949e2fa9fc1ebab1dc98e65\n"
    },
    {
      "commit": "633b32be5536585add78906be89ef6249ae1ce9a",
      "tree": "8afee63446a09e248d79e347a25b4cb02d91f5d2",
      "parents": [
        "17e512528f821dd76130662750fc6000937fbdf2",
        "ffae6c7f71e9da9f887002994d270b9dbf6d0673"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 30 23:58:01 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 30 23:58:11 2017 +0000"
      },
      "message": "Merge \"Fix NPE and wrong behavior of Typeface.isSupportedAxes\" into oc-dev"
    },
    {
      "commit": "a63794c9cce820b0d6fa1d48b3cfbbc4e1c62b82",
      "tree": "838de62d1874b2f68e57c27bfdb3abef07e23dff",
      "parents": [
        "1eb6a84d8e45f04d0e7d038bd1b950284b2b6c18",
        "1ee4894e6c3c421937c3a229de5c87132aac369e"
      ],
      "author": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Tue May 30 21:35:50 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 30 21:35:50 2017 +0000"
      },
      "message": "Merge \"Update Paint#mFontVariationSettings in set() and reset()\" into oc-dev am: d865c624bd\nam: 1ee4894e6c\n\nChange-Id: I6c9bff56660ec6b6bddc48da9f629a571c7fe2d6\n"
    },
    {
      "commit": "d865c624bda8130bdb03238e875dec9df5491e25",
      "tree": "387fe7f4a045b27ef8b0b1e7ba27ba775417833b",
      "parents": [
        "bf7f23cc9c746c91c04e04962326b96c7e1600e3",
        "425e719c462edbedd66ccec14667357ab409a483"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 30 21:15:13 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 30 21:15:20 2017 +0000"
      },
      "message": "Merge \"Update Paint#mFontVariationSettings in set() and reset()\" into oc-dev"
    },
    {
      "commit": "ffae6c7f71e9da9f887002994d270b9dbf6d0673",
      "tree": "1704473cfd02eabd0cf21edc0eda7c49ed2f7b6a",
      "parents": [
        "dc23c5e8098c5c22d7734f8430560600611eb30c"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Fri May 26 17:50:10 2017 -0700"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Tue May 30 13:40:49 2017 -0700"
      },
      "message": "Fix NPE and wrong behavior of Typeface.isSupportedAxes\n\nThe Typeface kept by Paint object can be null if nobody calls\nsetTypeface. The null typeface is equivalent to the Typeface.DEFAULT.\nTo check whether the passed axis is usable for Typeface.DEFAULT, we\nneed to pass Typeface.DEFAULT to isSupportedAxes if no typeface was set\non the Paint.\n\nAt the same time this CL fixes an issue in isSupportedAxes.\nIf the requested axis is listed in the first element of axes list,\nisSupportedAxes returned false due to wrong handling of binarySearch\nresult.\n\nBug: 62146672\nBug: 62147012\nTest: am instrument -w -e class android.graphics.cts.PaintTest\nandroid.graphics.cts/android.support.test.runner.AndroidJUnitRunner\n\nChange-Id: I7c154adfe8a19d6ed24ad645df7c10cee7880461\n"
    },
    {
      "commit": "d04970da5d749028ba29b6d5b198a40242783cbf",
      "tree": "d20704d63a23ab264e47e17fc1e6c080d4feb044",
      "parents": [
        "2cbc277dc05a7ed474c24570d871b8524471b940",
        "fa5f8fa8a804f0250c49655f79e92ce89977b56e"
      ],
      "author": {
        "name": "Hyunyoung Song",
        "email": "hyunyoungs@google.com",
        "time": "Thu May 25 23:52:25 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 25 23:52:25 2017 +0000"
      },
      "message": "Merge \"Merge \"Fix safezone and getAlpha b/38361276 Test: frameworks/base/core/tests/coretests/src/android/graphics/drawable/IconTest.java\" into oc-dev am: cca181bfbb\" into oc-dev-plus-aosp\nam: fa5f8fa8a8\n\nChange-Id: I11d97f6c553882c0fb2423c1a62ee540378fcd25\n"
    },
    {
      "commit": "cca181bfbbbe1cf7bbbc71e1da41a74dc4a2e09a",
      "tree": "46385b50ee1eb977d720d7d30048889faa4236c2",
      "parents": [
        "9ddb0f8691555cd86407cd2bb7c6427f22a603d2",
        "ac2f74e80ef1934d3a5e083e524707ed79612d3d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 25 22:55:51 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 25 22:55:56 2017 +0000"
      },
      "message": "Merge \"Fix safezone and getAlpha b/38361276 Test: frameworks/base/core/tests/coretests/src/android/graphics/drawable/IconTest.java\" into oc-dev"
    },
    {
      "commit": "ac2f74e80ef1934d3a5e083e524707ed79612d3d",
      "tree": "6c4ac92c2f0e14f1a12a27fb84e67a1cd1fb5f86",
      "parents": [
        "54ddf4a4e266ab544f43516c2ebb6cf2a8e6c7f1"
      ],
      "author": {
        "name": "Hyunyoung Song",
        "email": "hyunyoungs@google.com",
        "time": "Mon May 22 14:15:14 2017 -0700"
      },
      "committer": {
        "name": "Hyunyoung Song",
        "email": "hyunyoungs@google.com",
        "time": "Wed May 24 17:29:34 2017 -0700"
      },
      "message": "Fix safezone and getAlpha\nb/38361276\nTest: frameworks/base/core/tests/coretests/src/android/graphics/drawable/IconTest.java\n\nChange-Id: I3e1c73276968747249b053fd581f289c340d98af\n"
    },
    {
      "commit": "425e719c462edbedd66ccec14667357ab409a483",
      "tree": "7cba4297f3c25dba50afffba4aedec94bf3b7606",
      "parents": [
        "e85f8eb0ca7f7b9788512f85bb1f117a9de3f7d7"
      ],
      "author": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Wed May 24 15:16:55 2017 -0700"
      },
      "committer": {
        "name": "Roozbeh Pournader",
        "email": "roozbeh@google.com",
        "time": "Wed May 24 15:16:55 2017 -0700"
      },
      "message": "Update Paint#mFontVariationSettings in set() and reset()\n\nChange-Id: I2dc41a998c940c4a4a98a06aaa6038cbca457186\nFixes: 62066408\nTest: none\n"
    },
    {
      "commit": "c495d8f1b5f31b04b83f36f6810fc2dd9927bbc2",
      "tree": "12b9978b62bcbb06f099b1fa3679239bd2cbfcc8",
      "parents": [
        "54f1ac523cc6d51296e96cad498f5b2d08855e0b",
        "e7bc3d70b50593d2b590c67327f72ba96115b151"
      ],
      "author": {
        "name": "Tenghui Zhu",
        "email": "ztenghui@google.com",
        "time": "Wed May 24 21:36:45 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 24 21:36:45 2017 +0000"
      },
      "message": "Merge \"Add documentation about 0 scale matrix to Shader\" into oc-dev am: 52ca75011b\nam: e7bc3d70b5\n\nChange-Id: I1f659529a22072d329af949bedb3636400f0fde3\n"
    },
    {
      "commit": "52ca75011b6a636ac3485e58305b102787fd08e9",
      "tree": "f273192d7874dbf142b5a99ff70d387b6bfa6f94",
      "parents": [
        "ce8a4b89c8e585e5aa5900166e27430005a61335",
        "6f085f60e929f4bb5ae7ccbc04cbc23c99ee8850"
      ],
      "author": {
        "name": "Tenghui Zhu",
        "email": "ztenghui@google.com",
        "time": "Wed May 24 21:06:52 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 24 21:06:56 2017 +0000"
      },
      "message": "Merge \"Add documentation about 0 scale matrix to Shader\" into oc-dev"
    },
    {
      "commit": "591cccd2e749bc8fde452debbe6f1fb6a4413315",
      "tree": "b9cf000f59ceb39d94a470235c8b7dd584b2acb6",
      "parents": [
        "04f7fafdeb3d9b80a257f9d6dd461ae1724760b6",
        "670286ea8932ca7182a6ef2b367417094487c0f6"
      ],
      "author": {
        "name": "Andrew Solovay",
        "email": "asolovay@google.com",
        "time": "Wed May 24 18:21:17 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 24 18:21:17 2017 +0000"
      },
      "message": "Merge \"docs: Fixing malformatted HTML escape\" into oc-dev am: 1272847f1d\nam: 670286ea89\n\nChange-Id: I8f9acee143abd62b2d0599ad7ee866235916084d\n"
    },
    {
      "commit": "22ebb54e174b3f94cb003b80986703ac1227f425",
      "tree": "add86574230a92ffea233dec3396dd098eb4ed77",
      "parents": [
        "5b49464dc6cae55c240edf794d5b0da988774151"
      ],
      "author": {
        "name": "Andrew Solovay",
        "email": "asolovay@google.com",
        "time": "Tue May 23 12:08:23 2017 -0700"
      },
      "committer": {
        "name": "Andrew Solovay",
        "email": "asolovay@google.com",
        "time": "Tue May 23 12:24:12 2017 -0700"
      },
      "message": "docs: Fixing malformatted HTML escape\n\nThrough the file\u0027s javadoc comments, the less-than character is\nimproperly coded as \"\u0026lt\" instead of \"\u0026lt;\" (it\u0027s missing the\nterminating semicolon). Chrome is clever enough to render that as \u003c\n, but I don\u0027t know if other browsers do, and in any event we\nshouldn\u0027t count on that behavior.\n\nDoc is staged to:\n\nhttp://go/dac-stage/reference/android/graphics/drawable/RippleDrawable.html\n\nTest: make ds-docs\nBug: 62028102\nChange-Id: I81813fcb758349300f56ce10ccb0d03046ab4736\n"
    },
    {
      "commit": "6f085f60e929f4bb5ae7ccbc04cbc23c99ee8850",
      "tree": "171949529d360e029fc671fa0132d9a8f2bcae97",
      "parents": [
        "f14aea9f8ba0c65c1e6924fcbaf1a73f85c1da4c"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Fri May 19 13:55:43 2017 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon May 22 14:56:50 2017 -0700"
      },
      "message": "Add documentation about 0 scale matrix to Shader\n\nfix:36989035\n\nTest: build\nChange-Id: Id1134d5d31ea6a17dc56f24d26eb5da9a78a2c2d\n"
    },
    {
      "commit": "3915e25d41ce40f24fd41d8bcd6a058403d0bbc5",
      "tree": "f3965dabc05b1a8e87de8f668ebb6148524e5f11",
      "parents": [
        "ad6dde65ff767b25a0c7795def86235518853dd2"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri May 19 10:55:20 2017 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon May 22 13:30:00 2017 -0700"
      },
      "message": "Convert Shader to NativeAllocationRegistry\n\nBug: 38258699\nTest: manual\nChange-Id: I1537dee3187ea0366f2c236f3e6825196d738a37\n"
    },
    {
      "commit": "8bde0be1b4772787b98f1def6931877eb3f7991e",
      "tree": "bdf572d37de70e575af7e61567b42db219209e88",
      "parents": [
        "ee411445d33dfe2f133ccfee337b060407273c7d"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri May 19 10:55:20 2017 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri May 19 10:55:20 2017 -0700"
      },
      "message": "Convert Shader to NativeAllocationRegistry\n\nBug: 38258699\nTest: manual\nChange-Id: I1537dee3187ea0366f2c236f3e6825196d738a37\n"
    },
    {
      "commit": "68169d84d9dd2f136f206a494a200afbfb35b011",
      "tree": "5614f8d5b25ffea5ec9aac4c4ff69983ba3d3cf3",
      "parents": [
        "d2c455c268e10f91f4bbe28aece743486c68b94a",
        "27caadd2c4394afaf0c0409d70c78ad01e43e5d4"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Fri May 12 20:34:36 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 12 20:34:36 2017 +0000"
      },
      "message": "Merge \"Update Bitmap#prepareToDraw doc\" into oc-dev am: d4fff1565b\nam: 27caadd2c4\n\nChange-Id: I403d0a52958c7bf2720f078f5db140e3a3c3ebe7\n"
    },
    {
      "commit": "d4fff1565b3f5af92e4ef1136b9951b8f01a024c",
      "tree": "ba8db1be4fc64cf4a6fec1ac5aa140bbfe9f3295",
      "parents": [
        "ab7eb6de4de95a37e861f472c4660605d2b35748",
        "b1d2f0a1d0900ba5651f98021b4b7b4229ebb490"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri May 12 20:06:22 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 12 20:06:27 2017 +0000"
      },
      "message": "Merge \"Update Bitmap#prepareToDraw doc\" into oc-dev"
    },
    {
      "commit": "ef16269e41d43ca88b41ad505f9df0d616c3451c",
      "tree": "251ada7dad2ad8dd1c21c29dcbbf1640e46e2768",
      "parents": [
        "36af98c6ba4db0442819484d258e2d92f8396bc0",
        "172bd0730859ee8097bde6cbe0a2fea94cd741a7"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu May 11 14:56:32 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 11 14:56:32 2017 +0000"
      },
      "message": "Merge \"Add an O-release targetAPI check for Canvas.setBitmap. am: d70695ee34\" into oc-dev-plus-aosp\nam: 172bd07308\n\nChange-Id: Iddc0babe08b2e1a9abe1bebe117fa66832417cff\n"
    },
    {
      "commit": "d70695ee34611bee420d901ac9e6470d8c211519",
      "tree": "6c2c02988e22713e938d608d26f5b88004e9f622",
      "parents": [
        "6d4db456ea896388b10bf17c02f70402c9980828"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Fri May 05 15:44:04 2017 -0400"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu May 11 09:28:02 2017 -0400"
      },
      "message": "Add an O-release targetAPI check for Canvas.setBitmap.\n\nFor apps targeting releases earlier than O setBitmap will attempt\nto preserve the matrix from the previous bitmap.  It does not however\nattempt to reconstruct the save/restore stack or the clip.\n\nTest: manual test of messenger app referenced in the bug\nBug: 37589964\nChange-Id: I67f0928a3f84a8be41da38ef1868e79bdeb03e46\n"
    },
    {
      "commit": "4f2c7f88ac0e1b5dee8eaa3c535b5a8a4bf23279",
      "tree": "d517133d17d51dee151cc7080a1e7d2ebf6a6469",
      "parents": [
        "26991e6d89bbfe7e47509e6937930beb5e0e73d4",
        "54b5a35cbf3ed052c524d1ad57c81735eee041e4"
      ],
      "author": {
        "name": "Sergey Vasilinets",
        "email": "sergeyv@google.com",
        "time": "Thu May 11 04:57:44 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 11 04:57:44 2017 +0000"
      },
      "message": "Merge \"Fix npe due to strict mode in Bitmap.sameAs\" into oc-dev am: 8d2b02bf08\nam: 54b5a35cbf\n\nChange-Id: I2cc440261656e5cbba5e0e24b7da22b7bc631106\n"
    },
    {
      "commit": "b1d2f0a1d0900ba5651f98021b4b7b4229ebb490",
      "tree": "83376a7c70590425f44c418c1677d1d240123e1f",
      "parents": [
        "ca50e88b6b0a3ba2d66f1316cc7403dca2748ab1"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed May 10 16:35:05 2017 -0700"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed May 10 16:38:50 2017 -0700"
      },
      "message": "Update Bitmap#prepareToDraw doc\n\nFixes: 38132750\nTest: none\n\nChange-Id: I95d4617c08c1aab23c322ec40ae15462766db3ba\n"
    },
    {
      "commit": "e1fc36d197639ee13194de74b2e7e42c39b12286",
      "tree": "65eec60889a32aedf1f3ee6c1ebc98d758b0970f",
      "parents": [
        "bbc764e83af47a09f69a378eefdbd2c500c9889f"
      ],
      "author": {
        "name": "sergeyv",
        "email": "sergeyv@google.com",
        "time": "Tue May 09 16:36:09 2017 -0700"
      },
      "committer": {
        "name": "sergeyv",
        "email": "sergeyv@google.com",
        "time": "Tue May 09 16:36:09 2017 -0700"
      },
      "message": "Fix npe due to strict mode in Bitmap.sameAs\n\nbug:38164234\nTest: none\nChange-Id: Ib267d1b06f86980202693fc1c330f73ed06411b0\n"
    },
    {
      "commit": "dddc5c5418587fc55bb77a5138853b9c30a5589d",
      "tree": "c55fb641534e981a0762c4677bf52ef59a878bcc",
      "parents": [
        "f660976ebef35f65413958d1ecafdfcce1746c0d",
        "ca353e51ce552e389598ec2a1a411ed6e4f39364"
      ],
      "author": {
        "name": "Tenghui Zhu",
        "email": "ztenghui@google.com",
        "time": "Tue May 09 18:54:29 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 09 18:54:29 2017 +0000"
      },
      "message": "Merge \"Fix VectorDrawable size rounding issue\" into oc-dev am: be030126fe\nam: ca353e51ce\n\nChange-Id: I41bb4065bb6684871f5d2edb8037d6d98b1f6d49\n"
    },
    {
      "commit": "be030126fe91341788a29d16c10cf523ea566862",
      "tree": "99071b63ecf82a3e38ace229e59a3ed0387c31d4",
      "parents": [
        "5ddf88dfe650a6adc2b86a99d0792b9f024b0ad9",
        "e2ec2e86ae9f9552551e524efb9898d889e2f70a"
      ],
      "author": {
        "name": "Tenghui Zhu",
        "email": "ztenghui@google.com",
        "time": "Tue May 09 16:38:30 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 09 16:38:36 2017 +0000"
      },
      "message": "Merge \"Fix VectorDrawable size rounding issue\" into oc-dev"
    },
    {
      "commit": "373b15bda93c8b400c5e1271bc93cbef26af503f",
      "tree": "bb8ef292a69082853e596ff6ba9e0552b7d60142",
      "parents": [
        "718688f39bc6d760fac650ad2a76e490c2465e4b"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Mon May 01 22:17:36 2017 -0700"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Tue May 09 04:10:07 2017 +0000"
      },
      "message": "Fix double bolding\n\nresolveStyle increases minikinStyle\u0027s weight value based on Skia\u0027s style\nvalue. Since we compute Skia\u0027s style based on given weight value, we\nshould not add extra bold weight to minikinStyle.\n\nThis CL also fixes misunderstanding of base weight.\nThe base weight is only used for computing weight relative to the\nweighted alias. Thus, base weight should not be updated except for\ncreateWeightAlias method.\n\nTo be clear, this CL changes the function names but keeps the same\nsemantics as before.\n\nTest: adb shell /data/nativetest/hwui_unit_tests/hwui_unit_tests\nTest: am instrument -w -e class android.graphics.cts.TypefaceTest\\\n      android.graphics.cts/android.support.test.runner.AndroidJUnitRunner\nBug: 37880319\nMerged-In: Ied73189b11792fb062da46f45afd2db664e6ecb4\n\nChange-Id: I82350a1bfb99ce198b955f127949e21bccccb1cb\n"
    },
    {
      "commit": "e2ec2e86ae9f9552551e524efb9898d889e2f70a",
      "tree": "cbb7b9b275e4d69888e42544b49066fddc6033a4",
      "parents": [
        "c1aaede528df2db695e3a94f39eeea1b0a8d8ee1"
      ],
      "author": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Thu May 04 15:24:25 2017 -0700"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Mon May 08 13:54:58 2017 -0700"
      },
      "message": "Fix VectorDrawable size rounding issue\n\nb/36668701\nTest: Added new CTS test for this.\nChange-Id: Ifcd74bc89e85841bf9f47eca8eb7d4eb401cf6ff\n"
    }
  ],
  "next": "1f9c461e6a9537f91a6509e73eeb04ee6d5706cf"
}
