)]}'
{
  "log": [
    {
      "commit": "172873f5e6754cb9c1cdb1c08b3b095770c1e3e3",
      "tree": "ee1bb89202f04731f25a69fbb6bace04b7aae8e8",
      "parents": [
        "a093a89b17d398ff2f32997ecaca13295485f35a",
        "8ec21062ded44fe28ea7cd50e24112dc1832b0e5"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Feb 17 19:25:03 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 17 19:25:08 2017 +0000"
      },
      "message": "Merge \"Add RGBA 10:10:10:2 format for surfaces\""
    },
    {
      "commit": "b44abf290190ceee037f24c47493a34de45fa3f4",
      "tree": "069fbe76a62a60238c0ae94885fbb859b267f91f",
      "parents": [
        "78e1375a6799df4d3e2595b8d00786bd7b1427ec"
      ],
      "author": {
        "name": "Clara Bayarri",
        "email": "clarabayarri@google.com",
        "time": "Thu Feb 16 14:19:19 2017 +0000"
      },
      "committer": {
        "name": "Clara Bayarri",
        "email": "clarabayarri@google.com",
        "time": "Thu Feb 16 18:21:23 2017 +0000"
      },
      "message": "Use weight \u0026 style data for fonts from xml source\n\nBug: 34916944\nTest: manual tests\nChange-Id: I1d6e1c4c52859c5e9d7a8b0a247e4d0581935833\n"
    },
    {
      "commit": "8ec21062ded44fe28ea7cd50e24112dc1832b0e5",
      "tree": "9d8c8e0435fbad65fe3b90cabf92932b44da8624",
      "parents": [
        "e8d2ebb5c29efb996179f9a4b62c78e4d3037e14"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Feb 10 18:49:33 2017 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Feb 15 18:29:50 2017 -0800"
      },
      "message": "Add RGBA 10:10:10:2 format for surfaces\n\nBug: 2984164\nTest: CtsHardwareTestCases\nChange-Id: I4a42cb9002d8f1f1362999f2739d06c712157620\n"
    },
    {
      "commit": "966ad0b2f5a52e4223ff0943e448aee53763496d",
      "tree": "0f02ae5d23f532463e38138ea7d42d498420c1d1",
      "parents": [
        "1ea19d3463c048dceaf2d70cdea9e82575453c69"
      ],
      "author": {
        "name": "Hyunyoung Song",
        "email": "hyunyoungs@google.com",
        "time": "Tue Feb 14 10:22:44 2017 -0800"
      },
      "committer": {
        "name": "Hyunyoung Song",
        "email": "hyunyoungs@google.com",
        "time": "Tue Feb 14 10:23:06 2017 -0800"
      },
      "message": "Remove color attribute from MaskableIconDrawable foreground/background tag\nTest: manual test\n\nChange-Id: Ia8426051aed8c4451b10cf415e179930caede974\n"
    },
    {
      "commit": "02761acc674ae9b13d5bbda493ac794ecc4c1c6e",
      "tree": "70dc19d465abb10d5414fe76f456721839f6a1cf",
      "parents": [
        "a10b057bb869ca7c99938053ca5fe60029555b3b",
        "4b5a4d221f377686a730182a3bffb8c6f190e313"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 14 15:39:00 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 14 15:39:04 2017 +0000"
      },
      "message": "Merge \"Declarative downloadable fonts\""
    },
    {
      "commit": "4b5a4d221f377686a730182a3bffb8c6f190e313",
      "tree": "e681c202c0231976720d4ff64b9fcfb78e6a559c",
      "parents": [
        "0bb700914cb84b53a93252e5904826c104b8d65b"
      ],
      "author": {
        "name": "Clara Bayarri",
        "email": "clarabayarri@google.com",
        "time": "Fri Jan 27 20:15:45 2017 +0000"
      },
      "committer": {
        "name": "Clara Bayarri",
        "email": "clarabayarri@google.com",
        "time": "Tue Feb 14 13:32:41 2017 +0000"
      },
      "message": "Declarative downloadable fonts\n\nImplement support for downloadable font requests in xml. Given the\nxml fonts feature in O, this adds support to not only declare\nlocal font files as font resources, but also Downloadable fonts\nfrom a fonts provider.\n\nA provider returns a font family (of one or more files) given a\nquery, so the new attributes are added to the font-family tag.\n\nAdditionally, add support to pre-declare downloadable font resources\nin the Android Manifest. These will then be fetched at app startup\ntime so they are available to use from the Typeface cache asap.\n\nWhen retrieving downloadable fonts via resources, the cache is\nchecked to see if the font is already there and is used, otherwise\na request is sent to the provider and the default font is returned\nas we need a result synchronously.\n\nTo do this, the developer declares an additional fonts xml resource\nfile with the list of fonts to preload and links it in the manifest\nwith a meta-data tag.\n\nE.g.:\n\nres/font/mydownloadedfont.xml\n\n\u003cfont-family xmlns:android\u003d\"http://schemas.android.com/apk/res/android\"\n        android:fontProviderAuthority\u003d\"com.example.test.fontprovider\"\n        android:fontProviderQuery\u003d\"myrequestedfont\"\u003e\n\u003c/font-family\u003e\n\nres/font/preloaded_fonts.xml\n\n\u003c?xml version\u003d\"1.0\" encoding\u003d\"utf-8\"?\u003e\n\u003cfont-family xmlns:android\u003d\"http://schemas.android.com/apk/res/android\"\u003e\n    \u003cfont android:font\u003d\"@font/mydownloadedfont\" /\u003e\n\u003c/font-family\u003e\n\nand in the AndroidManifest.xml\n\n\u003cmeta-data android:name\u003d\"preloaded_fonts\"\n    android:resource\u003d\"@font/preloaded_fonts\" /\u003e\n\nBug: 34660500, 34658116\nTest: WIP, need to add more\nChange-Id: I1d92555e115e241bf23b59e6f5c6cca6c7361de7\n"
    },
    {
      "commit": "7183b6908b0af807491e90f37e9e05794bd0c3f1",
      "tree": "926cf693b36572e61a935381bf43f8b72d0da486",
      "parents": [
        "23a96af5234a2f3a9553b9efeeab0ca99d368827",
        "b8201195dfb2bae05faaf91b9b3d065e2f199929"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Tue Feb 14 13:31:18 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 14 13:31:21 2017 +0000"
      },
      "message": "Merge \"Deprecate Canvas save/saveLayer flags.\""
    },
    {
      "commit": "4d20ee8c4632a97171396c9089b79d014cc12c0e",
      "tree": "2d01537f863ac54bb5b5626c3a62f9708cb2afc3",
      "parents": [
        "817c2097e782f9f64856af0743e08a2a48006e58",
        "9ee90a42dcd5057eab0b0fdc106de617e0a55133"
      ],
      "author": {
        "name": "Hyunyoung Song",
        "email": "hyunyoungs@google.com",
        "time": "Mon Feb 13 23:36:13 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 23:36:15 2017 +0000"
      },
      "message": "Merge \"Icon class should support Maskable bitmap type\""
    },
    {
      "commit": "427acd7c77bdfc3f7140853587a5f06b3eb033a6",
      "tree": "44b6a71831dc0284a50b19074c3e1e089d560133",
      "parents": [
        "df475d8c57421e21393cf8ea6b77691302d5c5c2",
        "8c5759624c71ef701cba6751a030328481b4a83c"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Mon Feb 13 20:16:23 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 13 20:16:26 2017 +0000"
      },
      "message": "Merge \"Deprecate Canvas clipping for arbitrary Region.Ops.\""
    },
    {
      "commit": "9ee90a42dcd5057eab0b0fdc106de617e0a55133",
      "tree": "23ccfdc7aa30be920bd5f8cf5fe01cb4b8ffae86",
      "parents": [
        "620f72841fb3284e43878789ef7029d316d7b54e"
      ],
      "author": {
        "name": "Hyunyoung Song",
        "email": "hyunyoungs@google.com",
        "time": "Fri Feb 03 15:53:26 2017 -0800"
      },
      "committer": {
        "name": "Hyunyoung Song",
        "email": "hyunyoungs@google.com",
        "time": "Mon Feb 13 09:56:05 2017 -0800"
      },
      "message": "Icon class should support Maskable bitmap type\n\nTest: Unit test on IconTest\n$ runtest --path\u003dframeworks/base/graphics/tests/graphicstests/src/android/graphics/drawable/IconTest.java\n\nb/34196580\n\nChange-Id: I321c4b02f17ad9426c053216c4c88616a605aacf\n"
    },
    {
      "commit": "e8d2ebb5c29efb996179f9a4b62c78e4d3037e14",
      "tree": "55bc22afe48f7bea29354a776a823c5f9eadb9d7",
      "parents": [
        "54afd007141076273e5536c967428ca23648d3d6"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Thu Feb 09 18:38:47 2017 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Feb 10 11:37:54 2017 -0800"
      },
      "message": "Report bitmap config when decoding only metadata\n\nWith the introduction of support for 16 bit images, bitmaps returned\nby BitmapFactory may be using the RGBA_F16 configuration. Some apps\nand libraries assume the returned configuration is always ARGB_8888\nand make assumptions based on that to compute cache sizes, etc.\n\nThis changes extract the output config when BitmapFactory is invoked\nwith the inJustDecodeBounds option. Despite its name, this option\nis already used (and documented!) to decode more than bounds as it\nalso decodes the MIME type.\n\nBug: 35108998\nTest: CtsGraphicsTestCases\nChange-Id: If71959751458816678e42b21ab26c889aba5dea0\n"
    },
    {
      "commit": "8c5759624c71ef701cba6751a030328481b4a83c",
      "tree": "2dd2d07b1afd894419a8d05a589d52b607712305",
      "parents": [
        "3eacb58a494f5ed65e83ac8e15a60c579c0c3805"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Feb 09 14:17:55 2017 -0500"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Feb 09 14:17:55 2017 -0500"
      },
      "message": "Deprecate Canvas clipping for arbitrary Region.Ops.\n\nOperations that can expand the clip are difficult to support and\ndon\u0027t fit the parent child model that is used by the view system.\n\nTest: compile\nBug: 14650725\nChange-Id: I67e99d3e1a1eb0b231910ee5d277a38e8a953dc4\n"
    },
    {
      "commit": "b8201195dfb2bae05faaf91b9b3d065e2f199929",
      "tree": "be71be024a4ab03a432116336bbe2684292eda5d",
      "parents": [
        "3eacb58a494f5ed65e83ac8e15a60c579c0c3805"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Mon Jan 09 16:11:59 2017 -0500"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Feb 09 13:18:25 2017 -0500"
      },
      "message": "Deprecate Canvas save/saveLayer flags.\n\nTest: compile\nBug: 14650725\nChange-Id: I6424ac46bae0a7a87c4b7743e81319945dfdd087\n"
    },
    {
      "commit": "1e2758256a391be23c537725f0a7785e4fb5b7d0",
      "tree": "15b2bcec000b3967272a5c43e49292d17cbf3b33",
      "parents": [
        "d8df1b083dc691b7f50c480649436906c1bb249c",
        "c2e28932d22faece6e7179c78d4e7656dc63052c"
      ],
      "author": {
        "name": "Phil Weaver",
        "email": "pweaver@google.com",
        "time": "Tue Feb 07 19:14:06 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 07 19:14:09 2017 +0000"
      },
      "message": "Merge \"Provide text locations to accessibility services.\""
    },
    {
      "commit": "c2e28932d22faece6e7179c78d4e7656dc63052c",
      "tree": "780652a8effbc8e5a4d501ba85593116864fe755",
      "parents": [
        "0fcdf4399e86ea3fb905b1298915afec46fb3be6"
      ],
      "author": {
        "name": "Phil Weaver",
        "email": "pweaver@google.com",
        "time": "Thu Dec 08 12:29:25 2016 -0800"
      },
      "committer": {
        "name": "Phil Weaver",
        "email": "pweaver@google.com",
        "time": "Mon Feb 06 12:57:17 2017 -0800"
      },
      "message": "Provide text locations to accessibility services.\n\nBug: 30170631\nTest: New CTS tests on linked CL.\nChange-Id: I723e3777189c8df71c59dada00abdf339ebc983d\n"
    },
    {
      "commit": "b12397e57e79c5dd9e8b2cb3839f5cd30b5d515f",
      "tree": "2301ceac9d409663597206b233aedd71d8a4fa36",
      "parents": [
        "995f4b5721e092478881b8929bdd235ec5855646"
      ],
      "author": {
        "name": "Clara Bayarri",
        "email": "clarabayarri@google.com",
        "time": "Fri Jan 27 11:02:48 2017 +0000"
      },
      "committer": {
        "name": "Clara Bayarri",
        "email": "clarabayarri@google.com",
        "time": "Mon Feb 06 10:46:34 2017 +0000"
      },
      "message": "Cache Downloaded Fonts in Typeface\n\nIf the requested Typeface is already loaded into memory, return\nfrom the cache.\n\nTest: none, optimization\nChange-Id: I32422c47c68502ba83b7d976f6e05f70dda5daed\n"
    },
    {
      "commit": "3084ec2df4f14684d11ca1006f8f243243071730",
      "tree": "75919c30eed153cf723b7bc15b25cb5e659d367e",
      "parents": [
        "419fbce429b363049eee6e77b996f2c8e03a6f23"
      ],
      "author": {
        "name": "Hyunyoung Song",
        "email": "hyunyoungs@google.com",
        "time": "Thu Feb 02 00:53:06 2017 -0800"
      },
      "committer": {
        "name": "Hyunyoung Song",
        "email": "hyunyoungs@google.com",
        "time": "Thu Feb 02 00:59:13 2017 -0800"
      },
      "message": "Handle nullable drawables inside MaskableIconDrawable\nTest: manual test\nb/34902453\n\nChange-Id: I36fc48f7e4c1f6503a9c26b8f239c62da729b490\n"
    },
    {
      "commit": "cf45c852977e5f68a0d67fca01f03b11c09e32ba",
      "tree": "93ef75be91423e483c4a65165512d5b045dd5e00",
      "parents": [
        "e9b8348027074996b08796816e0ce0998169a881",
        "9ff994d98846d24bc488939af6e7dc440149a4bc"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 31 05:46:23 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 31 05:46:27 2017 +0000"
      },
      "message": "Merge \"Introduce set/getFontVariationSettings.\""
    },
    {
      "commit": "9ff994d98846d24bc488939af6e7dc440149a4bc",
      "tree": "8db47dea9dee9a387d96a6f2a1e0a5ed47a41425",
      "parents": [
        "ac2d17857884b932a3d8bb4428d37311fd2bc568"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Wed Nov 30 14:04:21 2016 -0800"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Mon Jan 30 20:22:41 2017 +0900"
      },
      "message": "Introduce set/getFontVariationSettings.\n\nThis is 2nd attempt of I249d464f8cdaa56017a987588b94ed685aadeb58.\nThe original CL was reverted due to conflicting with another CL submitted\nbefore.\nNothing has changed except for following class name changes.\n\nHere is the original commit message of reverted change.\n\nThis CL enables developers to specify axis values to the underlying\nfont collection. The specification of the font variation settings is\nthe same as the CSS font-variation-settings attribute in CSS working\ndraft as of 2016-11-30.\n\nCode example: Here is an example to set width 100 and weight 1.5.\n\n  TextView tv \u003d (TextView) findViewById(R.id.textView);\n  tv.setFontVariationSettings(\"\u0027wdth\u0027 100, \u0027wght\u0027 1.5\");\n\nBug: 33062398\nTest: Manually done. Ran FrameworksGraphicsTests, CtsGraphicsTestCases\n      and CtsWidgetTestCases\n\nChange-Id: I9cdfbdecc87c995d805096883ef2652768c6c21e\n"
    },
    {
      "commit": "fe98ad919bebaf41191b7fdf0a1d841198d4f46a",
      "tree": "3db85eb490b186b4d7e45f615f8bc99668f41d2a",
      "parents": [
        "881ba34ba75be2e4f653e0dc77a1daacea3c5d4e",
        "ed00bfdfae5d5cbc9e13f4e8affdece48f4c5b7f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 30 09:37:10 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 30 09:37:13 2017 +0000"
      },
      "message": "Merge \"Implement .xml font resource support\""
    },
    {
      "commit": "ed00bfdfae5d5cbc9e13f4e8affdece48f4c5b7f",
      "tree": "aefdd060f6160bee38c25988ce0619a6a61d704d",
      "parents": [
        "a1dc8f6d71f9c8b2c6c1dce28c6a5b30005dd949"
      ],
      "author": {
        "name": "Clara Bayarri",
        "email": "clarabayarri@google.com",
        "time": "Fri Jan 20 14:58:21 2017 +0000"
      },
      "committer": {
        "name": "Clara Bayarri",
        "email": "clarabayarri@google.com",
        "time": "Fri Jan 27 20:16:48 2017 +0000"
      },
      "message": "Implement .xml font resource support\n\nThis change implements the loading and parsing\nof xml type font resources, and makes sure it is\nused properly by TextView styles.\n\nTest: run cts -m CtsContentTestCases -t android.content.res.cts.ResourcesTest\nrun cts -m CtsWidgetTestCases -t android.widget.cts.TextViewTest#testFontResources*\n\nChange-Id: I5a2930b3ba7dad67d9607e9036a5dde6bab0c5a4\n"
    },
    {
      "commit": "0ce4b0e4c31a65864e0cda3c9d3fb6fe8a40f2ed",
      "tree": "0312b321b8ac943de7d2a2613bfa95d3842c2812",
      "parents": [
        "e3d08aebdcf2ab939b9f9e8c65105594db7dd720",
        "9b21265b2ce0f57796bffb241c008fff459d4b05"
      ],
      "author": {
        "name": "Elliot Waite",
        "email": "elliotwaite@google.com",
        "time": "Thu Jan 26 04:49:33 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 26 04:49:33 2017 +0000"
      },
      "message": "Fix @links in reference docs. am: 54de77470d am: ab978c035e am: 28ba4722a9\nam: 9b21265b2c\n\nChange-Id: If246ebdb36cf2832d5a6c42cbe752e290b6fb6e8\n"
    },
    {
      "commit": "9b21265b2ce0f57796bffb241c008fff459d4b05",
      "tree": "482772e30f52d984b41e3bddd68c5614c3c5449a",
      "parents": [
        "0946c26b39d66e89fb83d1d51e7c68d7fb3e8f16",
        "28ba4722a9e77ce98de454ed2ac862e44f496632"
      ],
      "author": {
        "name": "Elliot Waite",
        "email": "elliotwaite@google.com",
        "time": "Thu Jan 26 04:44:54 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 26 04:44:54 2017 +0000"
      },
      "message": "Fix @links in reference docs. am: 54de77470d am: ab978c035e\nam: 28ba4722a9\n\nChange-Id: I98177a8cf0a20677e140406bb7371474ca259e5b\n"
    },
    {
      "commit": "54de77470de4f605eef7f4b4e01718b301fe275e",
      "tree": "ed253ff342d6ecbdde4fb2873fbc4db7637a35ac",
      "parents": [
        "fb99d1450d086e1d971eb171b0874a2b9632bda8"
      ],
      "author": {
        "name": "Elliot Waite",
        "email": "elliotwaite@google.com",
        "time": "Wed Jan 11 15:30:35 2017 -0800"
      },
      "committer": {
        "name": "Elliot Waite",
        "email": "elliotwaite@google.com",
        "time": "Wed Jan 25 17:00:55 2017 -0800"
      },
      "message": "Fix @links in reference docs.\n\nChange-Id: I40cea46efd80c448640ff69753698fe8404da40b\n"
    },
    {
      "commit": "c65ea181da71fab4d911da010c7413492104df4d",
      "tree": "477c3fdf258d27554c06b60674b8e6994651fb07",
      "parents": [
        "954cfce18d94c30c84899b38fed4e09aaa6e601d"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Wed Jan 25 22:25:10 2017 +0900"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Wed Jan 25 22:25:10 2017 +0900"
      },
      "message": "Fix crash with FontProvider\n\nNeed to freeze the FontFamily otherwise the FontFamily is not created.\n\nTest: manually done\nChange-Id: I81a6f0d295f13bbeb059deafb4283654f97c0090\n"
    },
    {
      "commit": "68eb1ac342f30b77b6fdba98e67559c4858e3f74",
      "tree": "75a553902b4d3c3ca5b5ae7feef5947d94d00150",
      "parents": [
        "b2540e8d8d46a8eaa3f82ea36fb2bd60d53f77dc",
        "8b48e624457e438fcc2b6b9363329036ef2f7743"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 25 07:05:45 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 25 07:05:50 2017 +0000"
      },
      "message": "Merge \"Follow minikin::FontFamily constructor signature change.\""
    },
    {
      "commit": "8d07bfa43745a069b0911f7529acad3a423d94d4",
      "tree": "eb9b59a63301645344351b8d47d216cc47a36863",
      "parents": [
        "4afaad887fe3e78f08731ce0df7a9a2e4d94c5f0",
        "f665a3295000941e98175ab5d2f355d4b46959ce"
      ],
      "author": {
        "name": "Hyunyoung Song",
        "email": "hyunyoungs@google.com",
        "time": "Tue Jan 24 23:01:36 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 24 23:01:40 2017 +0000"
      },
      "message": "Merge \"Adds MaskableIconDrawable class to android.graphics.drawable package\""
    },
    {
      "commit": "f665a3295000941e98175ab5d2f355d4b46959ce",
      "tree": "27b6da2212a5152f08ac0280175005cb0d1d9cc7",
      "parents": [
        "a132bbd5a8651746d6fe3a4cd23e413785ed15d7"
      ],
      "author": {
        "name": "Hyunyoung Song",
        "email": "hyunyoungs@google.com",
        "time": "Mon Jan 09 15:07:26 2017 -0800"
      },
      "committer": {
        "name": "Hyunyoung Song",
        "email": "hyunyoungs@google.com",
        "time": "Tue Jan 24 12:00:02 2017 -0800"
      },
      "message": "Adds MaskableIconDrawable class to android.graphics.drawable package\n\nTest: manual test ag/1774462, cts tests ag/1813947\n\nBug: 32063838\nDesign doc: http://go/layered-icons-eng\n\n- Reads in the mask path from config.\n- If \u003cmaskable-icon\u003e is dynamically created, clip the drawable using the mask path.\n- Instead of using clipPath method, used BitmapShader for performance.\n\nChange-Id: If5b4a24127bf823477c6c5d8a81d5093501d58e7\n"
    },
    {
      "commit": "b0812a30499376e09e2deb5995e998c629f24985",
      "tree": "bb7bc8050fff97d57fe50b718b618977c07901ce",
      "parents": [
        "2cff9319e8d37c9ee5527326da7a778137b917b8"
      ],
      "author": {
        "name": "Clara Bayarri",
        "email": "clarabayarri@google.com",
        "time": "Thu Oct 20 10:42:13 2016 +0100"
      },
      "committer": {
        "name": "Clara Bayarri",
        "email": "clarabayarri@google.com",
        "time": "Tue Jan 24 19:32:09 2017 +0000"
      },
      "message": "Introduce Fonts Content Provider\n\nThis change exposes to developers the ability to request fonts\nfrom a provider via Typeface.\n\nUntil further security is implemented, only system apps can\nprovide fonts.\n\nTest: See topic for CTS change\nChange-Id: Ic7d5e2648340ee561f4d4c2d73a673748d2af076\n"
    },
    {
      "commit": "8b48e624457e438fcc2b6b9363329036ef2f7743",
      "tree": "5a8f230de2c356f9d7a976b69e8b908f5120663d",
      "parents": [
        "78b09a00a875d62e055c0d206fb1128015b4a5f2"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Sat Jan 07 15:33:38 2017 +0900"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Tue Jan 24 15:10:29 2017 +0900"
      },
      "message": "Follow minikin::FontFamily constructor signature change.\n\nThis is 2nd attempt of Id10ca97f6f6f5bbe4999c1ad2736423a204d6e87.\nThe root caus of crash is due touching null pointer in nUnrefFamily.\nAfter above change, native object may not be created on error case.\nIn that case, nUnrefFamily can not be called. In addition to this issue\nthere is also memory leak on error case. This fixes it by introducing\nabortCreation method.\n\nAlso this contains fix of layout lib breakage done by jgaillard@.\nOriginally submitted by Ic8872a43993bcb0a157c5e3f0ce423af9b47f606\n\nHere is original commit message of reverted change.\n\nminikin::FontFamily no longer has addFont function, instead it accept\nvector of Fonts in its constructor. To follow this signature change,\nholding minikin::Font instance in native and build minikin::FontFamily\ninstance in FontFamily.freeze() method.\n\nBug: 34042446\nBug: 28119474\nBug: 34378805\nTest: hwui test has passed\nTest: m layoutlib layoutlib-tests\nChange-Id: Ic34ebaa8191273d4c9f49c43124f15a1da5f7b78\n"
    },
    {
      "commit": "540dbd08adb04c5f405e1e0966491fa3fa8a7618",
      "tree": "97a3f4aebf4ee49c1c746032ae130085109d5b9a",
      "parents": [
        "8e9a42e84b0d024fa1fc1e657c91829423aaa9c6",
        "bfa0b29883d56edfc2ec217962290d3c94f9fc2a"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Jan 24 00:14:57 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 24 00:15:02 2017 +0000"
      },
      "message": "Merge \"Use @CriticalNative in Canvas\""
    },
    {
      "commit": "bfa0b29883d56edfc2ec217962290d3c94f9fc2a",
      "tree": "882a673cf9b395b17cfa853e5aebded0614cf3a3",
      "parents": [
        "4842c4c83023f06182115171aaddee5f70d6f5fd"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Thu Jan 19 19:12:36 2017 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Jan 23 14:25:06 2017 -0800"
      },
      "message": "Use @CriticalNative in Canvas\n\nBug: 33460152\nTest: ViewShowHidePerfTests\n\nSwitches non-drawing @FastNative methods to @CriticalNative, except\nwhere out arguments prevent it.\n\nPerformance in ViewShowHidePerfTests not significantly impacted.\n\nChange-Id: I3edc963accb4f87f73d175c7b2534868602a7db3\n"
    },
    {
      "commit": "4a65687b853a92268f4f0eb52f22e092b16f8ed3",
      "tree": "3d92b5e9ddfb7bd8ce7f899a70c094058b0583fa",
      "parents": [
        "55725f002383fbbcc52b20980e18cfca01e3e9d6",
        "04d72abde1efc963ebb2f145f859552e83b92d13"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 23 19:57:16 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 23 19:57:23 2017 +0000"
      },
      "message": "Merge \"Expose fonts.xml via public API with a service\""
    },
    {
      "commit": "764ff2740fe49ca10a9e21b58f933e761b5b7865",
      "tree": "0b1e5f3fae487c2872965690c4472ef93e9448a2",
      "parents": [
        "83d577581bf136def8fe03a31d1c1b71f65dd988"
      ],
      "author": {
        "name": "Clara Bayarri",
        "email": "clarabayarri@google.com",
        "time": "Mon Jan 23 15:43:54 2017 +0000"
      },
      "committer": {
        "name": "Clara Bayarri",
        "email": "clarabayarri@google.com",
        "time": "Mon Jan 23 15:43:54 2017 +0000"
      },
      "message": "Delete accidentally submitted FontResourcesParser\n\nThis should have not been part of commit\nIdc06bfbfd16452a328bfcc6ea9dcfb723b633f0c\n\nTest: none\nChange-Id: I0701e5fad0df898ba64ea695ec31d0dd7d3bb333\n"
    },
    {
      "commit": "04d72abde1efc963ebb2f145f859552e83b92d13",
      "tree": "62e2d74e3cb0d336d0d02afa4d89c650e83c4e6b",
      "parents": [
        "b334b8f0f26d93e50c07bbb90ade097025d795c1"
      ],
      "author": {
        "name": "Clara Bayarri",
        "email": "clarabayarri@google.com",
        "time": "Tue Jan 10 09:31:51 2017 -0800"
      },
      "committer": {
        "name": "Clara Bayarri",
        "email": "clarabayarri@google.com",
        "time": "Mon Jan 23 15:02:23 2017 +0000"
      },
      "message": "Expose fonts.xml via public API with a service\n\nThis change creates a new FontManagerService, in charge of providing\nfont management data. It exposes a public API to retrieve the\ninformation in fonts.xml without accessing it directly. To do this,\nit also refactors FontListParser\u0027s internal classes into a new public\nFontConfig class holding all the font data.\n\ngetSystemFonts() returns all the available information in fonts.xml\nas well as file descriptors for all the fonts. This allows us to\nshare the memory consumed by these files between all clients.\n\nBug: 34190490\nTest: See attached CTS change in topic\nChange-Id: I0e922f8bcc9a197a1988d04071eb485328d66fb7\n"
    },
    {
      "commit": "18e9f9f3778318918c44d944489cb50daaf45d1c",
      "tree": "64f98430e51a0214dee521def7817766bcee5608",
      "parents": [
        "bcd68cf520241c5cbfe4030e043aeba308e351e0"
      ],
      "author": {
        "name": "Clara Bayarri",
        "email": "clarabayarri@google.com",
        "time": "Mon Dec 19 16:20:29 2016 +0000"
      },
      "committer": {
        "name": "Clara Bayarri",
        "email": "clarabayarri@google.com",
        "time": "Mon Jan 23 11:18:09 2017 +0000"
      },
      "message": "Expose Resources.getFont\n\nBased on the work already done in aapt2, load a Font from a\nresource id.\n\nTest: WIP\nChange-Id: Idc06bfbfd16452a328bfcc6ea9dcfb723b633f0c\n"
    },
    {
      "commit": "c0d685b87aa544bc23c1ed1c01e88f6c04855f72",
      "tree": "efeaeba630a9cefaba926744082f8d52f2662c79",
      "parents": [
        "fdf9a1b7208a78eea7db3440b5df885c76049add"
      ],
      "author": {
        "name": "Siyamed Sinir",
        "email": "siyamed@google.com",
        "time": "Fri Jan 20 01:10:59 2017 +0000"
      },
      "committer": {
        "name": "Siyamed Sinir",
        "email": "siyamed@google.com",
        "time": "Fri Jan 20 02:01:25 2017 +0000"
      },
      "message": "Revert \"Follow minikin::FontFamily constructor signature change.\"\n\nThis reverts commit a0a4828614edfd633ab86f04408e7f4e55b491dd.\n\nBug: 34378805\nChange-Id: Icbdbfbde2efe8eaebbe4334a679e3b3247057388\n"
    },
    {
      "commit": "24fac986ecad9a4c8b7ccdf545abebbfc0532678",
      "tree": "8d9e19e723ec7cc6ac672ce6a8cb948261a8b61e",
      "parents": [
        "5bb4c96d43b31d1a79393cf54b8e3c3ce414bdef",
        "a3b9f2e3c66ec485f3b712560d52e31632a9cbe8"
      ],
      "author": {
        "name": "Siyamed Sinir",
        "email": "siyamed@google.com",
        "time": "Fri Jan 20 01:59:47 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 20 01:59:52 2017 +0000"
      },
      "message": "Merge \"Revert \"Introduce set/getFontVariationSettings.\"\""
    },
    {
      "commit": "a3b9f2e3c66ec485f3b712560d52e31632a9cbe8",
      "tree": "e0f0748744a484dc62fd942b3fc5b36f1b7c6f15",
      "parents": [
        "ba3028c1fc9fca2d45acc841557da2c9a83923bf"
      ],
      "author": {
        "name": "Siyamed Sinir",
        "email": "siyamed@google.com",
        "time": "Fri Jan 20 01:11:15 2017 +0000"
      },
      "committer": {
        "name": "Siyamed Sinir",
        "email": "siyamed@google.com",
        "time": "Fri Jan 20 01:13:23 2017 +0000"
      },
      "message": "Revert \"Introduce set/getFontVariationSettings.\"\n\nThis reverts commit ba3028c1fc9fca2d45acc841557da2c9a83923bf.\n\nBug: 34378805\nChange-Id: I8250c87af5d65fb45789632580be4ae1b8711372\n"
    },
    {
      "commit": "03ab3520a84f82f3d85e1fa8d99510dfb800f575",
      "tree": "c0085d17743699c13fde1bfcb3e424459e8eb8b3",
      "parents": [
        "a9fe012ee1081efc9f2fb97c8d691b1fa00e0e8c",
        "77b161e0b14372e3eb124ed19321a9639aeb4271"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 18 04:17:43 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 18 04:17:47 2017 +0000"
      },
      "message": "Merge \"Color API to create/store wide-gamut colors in a long\""
    },
    {
      "commit": "77b161e0b14372e3eb124ed19321a9639aeb4271",
      "tree": "97c6acd0d4b8c3344c863b73d38e179ae928ae0a",
      "parents": [
        "bede012069321f7e1a264ac3ed55f45f39102627"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Jan 09 21:38:57 2017 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Jan 17 14:32:10 2017 -0800"
      },
      "message": "Color API to create/store wide-gamut colors in a long\n\nThis change also includes the ability to create instances of\nthe Color class to represent more complex colors (any number\nof components, etc.).\n\nTest: CtsGraphicsTestCase\nBug: 32984164\n\nChange-Id: I59399547c4aa2580901c93dd16e626fe07f8f23a\n"
    },
    {
      "commit": "1f6df68a90c6aa02ed21e8ed2753f9d2488880c8",
      "tree": "aaa62b280246e726f89be6be22acc6b215c74806",
      "parents": [
        "04e7b6c6de620406348142ba9dd65bad094e264b",
        "b3061e82ebfaefdbf33b35f78e5e87de7abd5591"
      ],
      "author": {
        "name": "Sergei Vasilinetc",
        "email": "sergeyv@google.com",
        "time": "Tue Jan 17 21:27:48 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 17 21:27:52 2017 +0000"
      },
      "message": "Merge \"Prohibit rendering hardware bitmaps in software mode.\""
    },
    {
      "commit": "6486d31dcbffb7179127a72ceefa11a1e726271f",
      "tree": "fa94b997afd1c23b2809d63a6931e95cfc4872b2",
      "parents": [
        "d26d2af79e5bb52f4392bdbfd1858f905f80480d"
      ],
      "author": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Mon Jan 09 19:48:29 2017 -0800"
      },
      "committer": {
        "name": "Robert Carr",
        "email": "racarr@google.com",
        "time": "Thu Jan 12 11:16:34 2017 -0800"
      },
      "message": "Expose SurfaceControl method to screenshot to GraphicBuffer.\n\nA graphic buffer is most useful, as we can both attach it\nto starting windows, and directly use it in Sys-UI. The old\ncodepath for starting windows/saved surfaces, is co-existing\nat the moment, so I don\u0027t make large attempts to clean up\nthe existing screenshot code.\n\nBug: 31339431\nTest: Manual test in combination with other branches\nChange-Id: I562fdd5460dbce3201ba090272e8731850780f20\n"
    },
    {
      "commit": "ba3028c1fc9fca2d45acc841557da2c9a83923bf",
      "tree": "1accfd45ea89fd4ccbd4e1e2b3816ac36e799690",
      "parents": [
        "e4e375c7493a06af89151b7cbd44cf07930d521b"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Wed Nov 30 14:04:21 2016 -0800"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Thu Jan 12 18:11:03 2017 +0900"
      },
      "message": "Introduce set/getFontVariationSettings.\n\nThis CL enables developers to specify axis values to the underlying\nfont collection. The specification of the font variation settings is\nthe same as the CSS font-variation-settings attribute in CSS working\ndraft as of 2016-11-30.\n\nCode example: Here is an example to set width 100 and weight 1.5.\n\n  TextView tv \u003d (TextView) findViewById(R.id.textView);\n  tv.setFontVariationSettings(\"\u0027wdth\u0027 100, \u0027wght\u0027 1.5\");\n\nBug: 33062398\nTest: Manually done. Ran FrameworksGraphicsTests, CtsGraphicsTestCases\n      and CtsWidgetTestCases\nChange-Id: I249d464f8cdaa56017a987588b94ed685aadeb58\n"
    },
    {
      "commit": "b3061e82ebfaefdbf33b35f78e5e87de7abd5591",
      "tree": "91bcf392c8a1e3e1135ebce101eab3cc5aae2148",
      "parents": [
        "8a86825e7ee772446623a460af8c779b7a34df77"
      ],
      "author": {
        "name": "sergeyv",
        "email": "sergeyv@google.com",
        "time": "Thu Jan 05 18:11:32 2017 -0800"
      },
      "committer": {
        "name": "sergeyv",
        "email": "sergeyv@google.com",
        "time": "Wed Jan 11 10:28:09 2017 -0800"
      },
      "message": "Prohibit rendering hardware bitmaps in software mode.\n\nTest: CanvasTest#testHwBitmapShaderInSwCanvas1,\nCanvasTest#testHwBitmapShaderInSwCanvas2\nCanvasTest#testDrawHwBitmapInSwCanvas\n\nbug:30999911\nChange-Id: Ia8cf4578db160d52a4c56060beb66ed9a58f1eaa\n"
    },
    {
      "commit": "a0a4828614edfd633ab86f04408e7f4e55b491dd",
      "tree": "e7cd850537d7ee795530e664484f24b5e7ee9171",
      "parents": [
        "3b6bcfb65d3a869ac36f5fea9a78820e1268470a"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Sat Jan 07 15:33:38 2017 +0900"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Wed Jan 11 17:57:59 2017 +0900"
      },
      "message": "Follow minikin::FontFamily constructor signature change.\n\nminikin::FontFamily no longer has addFont function, instead it accept\nvector of Fonts in its constructor. To follow this signature change,\nholding minikin::Font instance in native and build minikin::FontFamily\ninstance in FontFamily.freeze() method.\n\nTest: hwui test passed\nChange-Id: Id10ca97f6f6f5bbe4999c1ad2736423a204d6e87\n"
    },
    {
      "commit": "c543713babea6bcb83401726f70a3f25344131fe",
      "tree": "c69d65c5bb1c4038a5c7d6aae7960c09b172deb2",
      "parents": [
        "bede012069321f7e1a264ac3ed55f45f39102627",
        "b29b16e5423fe7deab8ebf3da512c6d2192f19b5"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Mon Jan 09 18:01:47 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 09 18:01:50 2017 +0000"
      },
      "message": "Merge \"Remove clipRegion from the public API.\""
    },
    {
      "commit": "6e3658a63843096058ed444d073fbcd191fd7e1b",
      "tree": "1996840d5e663d7d66f28a0d4f552256c8a8de9b",
      "parents": [
        "0a0f23163a7a62900d46c7f81d109320d73d6c6b"
      ],
      "author": {
        "name": "sergeyv",
        "email": "sergeyv@google.com",
        "time": "Wed Jan 04 16:57:51 2017 -0800"
      },
      "committer": {
        "name": "sergeyv",
        "email": "sergeyv@google.com",
        "time": "Thu Jan 05 17:03:48 2017 -0800"
      },
      "message": "Hidden method to get a graphic buffer from a hardware bitmap\n\nTest: locally tested Bitmap.getGraphicBuffer()\nbug:30999911\nChange-Id: I68d56d769045bada6a5db90ed884a570c49be4fd\n"
    },
    {
      "commit": "0a0f23163a7a62900d46c7f81d109320d73d6c6b",
      "tree": "b4e43aac4ed68ea2070289f8850dbbce6c340b2d",
      "parents": [
        "8a86825e7ee772446623a460af8c779b7a34df77"
      ],
      "author": {
        "name": "sergeyv",
        "email": "sergeyv@google.com",
        "time": "Wed Jan 04 13:58:52 2017 -0800"
      },
      "committer": {
        "name": "sergeyv",
        "email": "sergeyv@google.com",
        "time": "Wed Jan 04 14:01:52 2017 -0800"
      },
      "message": "Move GraphicBuffer to graphics package\n\nTest: locally tested Bitmap.createHardwareBitmap method\nbug: 30999911\nChange-Id: Iad432577f26f2362ede9e77cd8a5425c010692e5\n"
    },
    {
      "commit": "b29b16e5423fe7deab8ebf3da512c6d2192f19b5",
      "tree": "6e0c9b68f6cf30fddb28f358e373c2cefa3d37a8",
      "parents": [
        "e5fb79bb2def5a17d158193c2e668224dc5ad5c1"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Wed Jan 04 14:57:43 2017 -0500"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Wed Jan 04 14:57:43 2017 -0500"
      },
      "message": "Remove clipRegion from the public API.\n\nThis API is difficult to support for printing and has other negative\neffects as it does not respect the current matrix/clip.\n\nTest: compile\nBug: 14650725\nChange-Id: I71f9bd687d446c7ce8910d755421aad8e09458db\n"
    },
    {
      "commit": "980bead518fc5ddb52ae8d00258f91b087c1f91a",
      "tree": "0cc26d9917a7469a4d567557f8cfd3a653624f93",
      "parents": [
        "81f97ee47ccf0d011cdc4f38b6ea5c45b70dedc0"
      ],
      "author": {
        "name": "sergeyv",
        "email": "sergeyv@google.com",
        "time": "Thu Dec 29 12:05:51 2016 -0800"
      },
      "committer": {
        "name": "sergeyv",
        "email": "sergeyv@google.com",
        "time": "Tue Jan 03 15:54:57 2017 -0800"
      },
      "message": "Prohibit copyPixelsToBuffer \u0026 copyPixelsFromBuffer\n\nTest: BitmapTest#testHardwareCopyPixels(From|To)Buffer\nbug:30999911\nChange-Id: I3bfa2846bff574bc0bfd54674eac794d1a6a0ff9\n"
    },
    {
      "commit": "81f97ee47ccf0d011cdc4f38b6ea5c45b70dedc0",
      "tree": "fe1060819454ed1d3c0970e7ae3e1fdf6913face",
      "parents": [
        "15a108550e3d74b406927d85c8e69018761adf49"
      ],
      "author": {
        "name": "sergeyv",
        "email": "sergeyv@google.com",
        "time": "Tue Dec 27 18:08:01 2016 -0800"
      },
      "committer": {
        "name": "sergeyv",
        "email": "sergeyv@google.com",
        "time": "Tue Jan 03 15:53:03 2017 -0800"
      },
      "message": "HardwareBitmaps: support createBitmap methods that return immutable bitmap\n\nTest: testCreateScaledBitmap, testCreateTransformedBitmap, testCreateSubsetBitmap in HardwareBitmapTests\nbug:30999911\nChange-Id: Ic128dfed78b18ad6f12dad50023ee7c2f5bfa4ad\n"
    },
    {
      "commit": "99418fb205ad710a23107e950dc30c6487c531e2",
      "tree": "47c457043ca63669e3ee336073c1cddfcfb3ff60",
      "parents": [
        "30297303993f664228163f85a6ea0e434094867e",
        "57eafc6f90a1ce2dd97079dd82b4b2f8dcd9e00f"
      ],
      "author": {
        "name": "Sergei Vasilinetc",
        "email": "sergeyv@google.com",
        "time": "Tue Dec 20 18:56:27 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 20 18:56:31 2016 +0000"
      },
      "message": "Merge \"Throw exception if getPixel(s) is called on a hardware bitmap\""
    },
    {
      "commit": "30297303993f664228163f85a6ea0e434094867e",
      "tree": "a8c09aeba7ea59cafb7bc083449a0acd59fdc1eb",
      "parents": [
        "d5115103fcc6e1dc352ff002f6eb6b5c982f17d9",
        "f161dce70eab5ba1011bd26226c14e31675d5955"
      ],
      "author": {
        "name": "Sergei Vasilinetc",
        "email": "sergeyv@google.com",
        "time": "Tue Dec 20 18:55:16 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 20 18:55:21 2016 +0000"
      },
      "message": "Merge \"Add docs about Config.HARDWARE in Bitmap.writeToParcel method\""
    },
    {
      "commit": "b9277312849f7c8abcfde4da3f48b9aa23e330ec",
      "tree": "de6c7301073bf562879a60b10fcaa9f6d575691a",
      "parents": [
        "68b86f19f732c24f06a6fe94598c98052f7f34a5",
        "84f12cd33e1c3959dd6f760525f48f711b44e78d"
      ],
      "author": {
        "name": "Mark Lu",
        "email": "marklu@google.com",
        "time": "Mon Dec 19 20:34:29 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Dec 19 20:34:29 2016 +0000"
      },
      "message": "docs: update Paint.setTextSize() to indicate pixel units am: 5f05256106 am: 9c834b1241 am: 4da3266828\nam: 84f12cd33e\n\nChange-Id: I463334d7c43cb934848e10eb3040f4a898f6ed2c\n"
    },
    {
      "commit": "84f12cd33e1c3959dd6f760525f48f711b44e78d",
      "tree": "412eae3a4df0fa82451b584c9cbe3718d858a61d",
      "parents": [
        "09583bdc884547351b59b2337263fa39e6992331",
        "4da3266828785fa05629f39a2157757ee3de5b96"
      ],
      "author": {
        "name": "Mark Lu",
        "email": "marklu@google.com",
        "time": "Mon Dec 19 20:27:51 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Dec 19 20:27:51 2016 +0000"
      },
      "message": "docs: update Paint.setTextSize() to indicate pixel units am: 5f05256106 am: 9c834b1241\nam: 4da3266828\n\nChange-Id: I65e2a1c43bd049e5c4cada55e8689ecc98a70fa5\n"
    },
    {
      "commit": "57eafc6f90a1ce2dd97079dd82b4b2f8dcd9e00f",
      "tree": "b65b66242cb2315c47db9579d2db4a6cde90c44e",
      "parents": [
        "ab99c11c55c82e39a601a0b6f59005011f9fa109"
      ],
      "author": {
        "name": "sergeyv",
        "email": "sergeyv@google.com",
        "time": "Mon Dec 19 11:52:06 2016 -0800"
      },
      "committer": {
        "name": "sergeyv",
        "email": "sergeyv@google.com",
        "time": "Mon Dec 19 11:52:06 2016 -0800"
      },
      "message": "Throw exception if getPixel(s) is called on a hardware bitmap\n\nTest: android.graphics.cts.BitmapTest#testHardwareGetPixel\nbug:30999911\nChange-Id: Ifa5a80d048c44c91122e9e7c79ca3ef9ecab963e\n"
    },
    {
      "commit": "f161dce70eab5ba1011bd26226c14e31675d5955",
      "tree": "b107931fb48b6dd3afd8e4fb0d143bc37b97fd00",
      "parents": [
        "ab99c11c55c82e39a601a0b6f59005011f9fa109"
      ],
      "author": {
        "name": "sergeyv",
        "email": "sergeyv@google.com",
        "time": "Thu Dec 15 13:20:17 2016 -0800"
      },
      "committer": {
        "name": "sergeyv",
        "email": "sergeyv@google.com",
        "time": "Mon Dec 19 10:56:27 2016 -0800"
      },
      "message": "Add docs about Config.HARDWARE in Bitmap.writeToParcel method\n\nTest: android.graphics.cts.BitmapTest#testWriteHwBitmapToParcel\nbug:30999911\nChange-Id: I5282df7d881d76f3e78979a2e5d3777f78673a5d\n"
    },
    {
      "commit": "8b6fe1d8948bbd6479387ab1015a306022b55db4",
      "tree": "47765432f7dea619282c967a2de2acb174306759",
      "parents": [
        "46cbd1cef8fc802b3f8212bcd9c6dab1b1b85885",
        "05126d151eb3caa85bd3a039cffb6e37940c3fa4"
      ],
      "author": {
        "name": "Sergei Vasilinetc",
        "email": "sergeyv@google.com",
        "time": "Mon Dec 19 18:41:15 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 19 18:41:21 2016 +0000"
      },
      "message": "Merge \"Support Bitmap.copy for hardware bitmaps\""
    },
    {
      "commit": "cab02c5b3afa7169b8bdd21496da5fbe54458f18",
      "tree": "4edb22fb6ae2ed864cfc345aac718657ba673656",
      "parents": [
        "f77c05b9f22e1b96df12f5070b51d232da110cb9",
        "f34e9fc48daca51ace3e3c714d22a47a3a850b1e"
      ],
      "author": {
        "name": "Mark Lu",
        "email": "marklu@google.com",
        "time": "Mon Dec 19 18:14:24 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Dec 19 18:14:24 2016 +0000"
      },
      "message": "docs: update description for BitmapFactory.Options#inBitmap am: a8f4286272 am: 58d24b22ed am: 2b77de3a44\nam: f34e9fc48d\n\nChange-Id: I856c71a7b0dd930ecc0b5cc8805060a65a197324\n"
    },
    {
      "commit": "5f052561063597043938d69064872a209ace8ffa",
      "tree": "0e20ed448045c56f2d71ed4d324136cf230ec83a",
      "parents": [
        "e161f75d384721a1edb4b7aec19b31274c9d64d4"
      ],
      "author": {
        "name": "Mark Lu",
        "email": "marklu@google.com",
        "time": "Fri Dec 16 14:23:47 2016 -0800"
      },
      "committer": {
        "name": "Mark Lu",
        "email": "marklu@google.com",
        "time": "Sat Dec 17 07:23:29 2016 +0000"
      },
      "message": "docs: update Paint.setTextSize() to indicate pixel units\n\nbug: 2321154\nChange-Id: Ic71404677a8079c744b99d4848d69c6ff52089ab\n"
    },
    {
      "commit": "2b77de3a445dba1e49ffa5cb7ad3f10c5cf22d6c",
      "tree": "090bcf0d334fbcd5c1169486b0e0b8c60b48af86",
      "parents": [
        "868a859fd7fd774badbd42ba7c4d1a8439e7c1e4",
        "58d24b22ed6677edde11a6852d0b6b4888bc3f70"
      ],
      "author": {
        "name": "Mark Lu",
        "email": "marklu@google.com",
        "time": "Sat Dec 17 02:28:22 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Dec 17 02:28:22 2016 +0000"
      },
      "message": "docs: update description for BitmapFactory.Options#inBitmap am: a8f4286272\nam: 58d24b22ed\n\nChange-Id: I8e3a23304924623e2379155dcc7df1f739a5b7f0\n"
    },
    {
      "commit": "05126d151eb3caa85bd3a039cffb6e37940c3fa4",
      "tree": "2ea836a9fe02157a5ae8811eed358938c8032d9d",
      "parents": [
        "ab99c11c55c82e39a601a0b6f59005011f9fa109"
      ],
      "author": {
        "name": "sergeyv",
        "email": "sergeyv@google.com",
        "time": "Thu Dec 15 19:50:15 2016 -0800"
      },
      "committer": {
        "name": "sergeyv",
        "email": "sergeyv@google.com",
        "time": "Fri Dec 16 17:46:10 2016 -0800"
      },
      "message": "Support Bitmap.copy for hardware bitmaps\n\nTest: android.uirendering.cts.testclasses.HardwareBitmapTests#testBitmapConfig*\nbug:30999911\nChange-Id: I2e80dff914bfa0666290701072ac93d30d218e8d\n"
    },
    {
      "commit": "a8f428627253f1060db1a0c7ff4bd3bb6c687fd2",
      "tree": "0b449e295dbe833445d4a597beaccb5a660dcddf",
      "parents": [
        "8cc9f081aa9c232e939032fc0053579dfcfed14d"
      ],
      "author": {
        "name": "Mark Lu",
        "email": "marklu@google.com",
        "time": "Fri Dec 16 15:43:27 2016 -0800"
      },
      "committer": {
        "name": "Mark Lu",
        "email": "marklu@google.com",
        "time": "Fri Dec 16 15:43:27 2016 -0800"
      },
      "message": "docs: update description for BitmapFactory.Options#inBitmap\n\nbug: 18730109\nChange-Id: Iab062d41af3a32208d3500179d3737278a035188\n"
    },
    {
      "commit": "f7e79d6eb3729b0555d1c88054f80467fc6c5303",
      "tree": "b20b133446d694a28cc23e00fa2a981a21b18eb6",
      "parents": [
        "9505a6552764461c22ce48f1ac13d025d23e1579"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Dec 16 10:23:21 2016 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Dec 16 10:23:21 2016 -0800"
      },
      "message": "Remove RGBX_FP16 format\n\nBug: 32984164\nTest: compile\nChange-Id: I22ffe0991d3c4add68317a0554dcac6a7ac56d12\n"
    },
    {
      "commit": "9505a6552764461c22ce48f1ac13d025d23e1579",
      "tree": "8cd7b889674ada52f773a26fc6c5acaf20cb3649",
      "parents": [
        "de315b99dcaf7202898d6334570753ffee43c1f1"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Dec 14 09:43:50 2016 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Fri Dec 16 09:15:07 2016 -0800"
      },
      "message": "Add new RGBA_F16 bitmap config\n\nThis configuration uses 64 bits per pixel. Heach component is stored as a\nhalf precision float value (16 bits). Half floats can be decoded/encoded\nusing android.util.Half.\n\nRGBA_F16 bitmaps are used to decode wide-gamut images stored in 16 bit\nformats (PNG 16 bit for instance). aapt is currently not aware of PNG\n16 bits so such files must be placed in raw/ resource directories.\n\nThis first pass provides only partial drawing support with hardware\nacceleration. RGBA_F16 bitmaps are stored in linear space and need\nto be encoded to gamma space with the appropriate OETF to be rendered\nproperly on Android\u0027s current surfaces. They are however suitable for\nlinear blending. Full rendering support will be provided in a future\nCL (BitmapShaders might be a bit tricky to handle properly during\nshader generation).\n\nBug: 32984164\nTest: bit CtsGraphicsTestCases:android.graphics.cts.BitmapRGBAF16Test\n\nChange-Id: I328e6b567441a1b9d152a3e7be944a2cf63193bd\n"
    },
    {
      "commit": "15589c36d7ca999b0870aba2ffec11f8651d1ee0",
      "tree": "b1c1d559d97b35661f130a719d5417da7e99729e",
      "parents": [
        "82f8f3e04eca0bd56cfdaae5250ba9576ef199f5",
        "2414e1b051326745e087a88cdfbf1fff8962edd3"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Wed Dec 14 18:03:18 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 14 18:03:22 2016 +0000"
      },
      "message": "Merge \"Outline \u0026 Path perf improvements\""
    },
    {
      "commit": "82f8f3e04eca0bd56cfdaae5250ba9576ef199f5",
      "tree": "df917446a3ab614af85b0b7d6a45887e858791da",
      "parents": [
        "d194a782ba1278d23c663929564c5e3eaea355ac",
        "9fbb0b5ab321d86efbc7fa8774052bfb34de9557"
      ],
      "author": {
        "name": "Sergei Vasilinetc",
        "email": "sergeyv@google.com",
        "time": "Wed Dec 14 17:40:45 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 14 17:40:49 2016 +0000"
      },
      "message": "Merge \"Prohibit Config.HARDWARE in factory methods, that create mutable bitmaps\""
    },
    {
      "commit": "2414e1b051326745e087a88cdfbf1fff8962edd3",
      "tree": "fd3f31e244a0538d354f32777a4ba3afcab053a1",
      "parents": [
        "f5c05332dc0ddfa17828c9a2e7e600d196ea9d99"
      ],
      "author": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Mon Dec 12 13:56:15 2016 -0800"
      },
      "committer": {
        "name": "Chris Craik",
        "email": "ccraik@google.com",
        "time": "Tue Dec 13 16:52:08 2016 -0800"
      },
      "message": "Outline \u0026 Path perf improvements\n\nBug: 33460152\nTest: device boots, ViewShowHidePerfTests#add[Factory:NestedLinearLayoutTree,depth:6] 770us -\u003e 650us (userdebug 960MHz bullhead)\n\nImprove perf for outline \u0026 simple path methods\n\nnative_methodName -\u003e nMethodName in Path.java\n\nChange-Id: Id2374bbaca3256d2e4f19dae9abe67f794a171b3\n"
    },
    {
      "commit": "9fbb0b5ab321d86efbc7fa8774052bfb34de9557",
      "tree": "c94f7f9e654cd9e36edb89918af2844ba3e830b1",
      "parents": [
        "939e6cf6815d5bdf9971fcb22d92f101885285e9"
      ],
      "author": {
        "name": "sergeyv",
        "email": "sergeyv@google.com",
        "time": "Wed Nov 23 10:27:33 2016 -0800"
      },
      "committer": {
        "name": "sergeyv",
        "email": "sergeyv@google.com",
        "time": "Mon Dec 12 17:46:59 2016 -0800"
      },
      "message": "Prohibit Config.HARDWARE in factory methods, that create mutable bitmaps\n\nTest: android.cts.graphics.BitmapTest#testCreateMutableBitmapWithHardwareConfig\nbug:30999911\nChange-Id: I7cd4e2625563b6659613ccd180a57c56dcf7c2b1\n"
    },
    {
      "commit": "dcc3630100b406e4e6cb18f00d39059690153292",
      "tree": "8eb7d4abc10297dfeac7d568a0585d574758b60b",
      "parents": [
        "00f9a1a4735f8ba6b40cee5294a034bd60b28df4"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Fri Dec 09 15:10:39 2016 -0500"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Mon Dec 12 10:53:58 2016 -0500"
      },
      "message": "Remove Rasterizer and its subclasses from the public API.\n\nTest: compile\nBug: 14650725\nChange-Id: I99e1942d4d1b85f4efdcb3faf3fee1aa6c839b7e\n"
    },
    {
      "commit": "0221d16cf4708c4207ae6d56b0a735b02ae68f97",
      "tree": "90614fcc94b53bffa557fc7af28194cd6a9474dc",
      "parents": [
        "55dac08a81bf22d6e0418de574079e29a6d6e0b6",
        "0ec4f416ffbcbfb30fb61fb5bae2fe1c1cde8042"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 02 19:48:55 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 02 19:48:57 2016 +0000"
      },
      "message": "Merge \"Allow only U+0020..U+007E characters for axis tag.\""
    },
    {
      "commit": "0ec4f416ffbcbfb30fb61fb5bae2fe1c1cde8042",
      "tree": "3da8834fdeb784ee5cd86f2d6113751416a2b76e",
      "parents": [
        "cf952e74b0079f3ff0b8cf5351bbf1bebfb06617"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Thu Dec 01 19:29:30 2016 -0800"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Fri Dec 02 18:24:00 2016 +0000"
      },
      "message": "Allow only U+0020..U+007E characters for axis tag.\n\nCSS Font4 only allows U+0020..U+007E characters for tag string.\nReject outside of this range.\n\nBug: 33062398\nTest: am instrument -w -e class android.graphics.VariationParserTest \\\ncom.android.frameworks.graphicstests/android.test.InstrumentationTestRunner\nChange-Id: Ia119151bc67caebfdaacda17aa3ee261a9e5d872\n"
    },
    {
      "commit": "14efe881d43d8916c42ef53940aa6e47c3a94e74",
      "tree": "6955292cd6215c32302c682455b97a2943af2966",
      "parents": [
        "c8d6603644ee6e8bb7388bb585538bc8d7b684ca"
      ],
      "author": {
        "name": "Teng-Hui Zhu",
        "email": "ztenghui@google.com",
        "time": "Mon Nov 14 13:27:38 2016 -0800"
      },
      "committer": {
        "name": "ztenghui",
        "email": "ztenghui@google.com",
        "time": "Thu Dec 01 11:18:51 2016 -0800"
      },
      "message": "Update the documentation related to VD / AVD\n\nfix:32705240\nfix:32683765\nfix:32831830\nfix:32705244\n\nTest: make offline-sdk-docs and view the HTML file.\nMerged-In: I6ae3e5850494f13a241b2e9e4d2c5b95d5199aae\n\nChange-Id: I6ae3e5850494f13a241b2e9e4d2c5b95d5199aae\n"
    },
    {
      "commit": "f81df2d5e52e50fe7197135baf5cabcabdba4628",
      "tree": "5c92ddc07b8650c0febc9a8ff1c255253a533834",
      "parents": [
        "595a29efb207ddd2db05036d7304cb0a730c686e",
        "0d1fd8d09163566d2c7eb72037f63b6404ada642"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Thu Dec 01 17:01:05 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 01 17:01:07 2016 +0000"
      },
      "message": "Merge \"Secure MATCH_UNINSTALLED_PACKAGES across users\""
    },
    {
      "commit": "b059a0826d8769ed5c5fc5e40220289b28d709af",
      "tree": "33d9af46084f395eb448ea8faec646d73e4266c6",
      "parents": [
        "f6e6213b3238bcfa5ed460c0d679cf805d65b07b",
        "15296a2d3478f53402e2d98f49724bb791eb339d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 01 02:23:45 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 01 02:23:47 2016 +0000"
      },
      "message": "Merge \"Add API to visualize/debug/compare color spaces and colors\""
    },
    {
      "commit": "0d1fd8d09163566d2c7eb72037f63b6404ada642",
      "tree": "2ddb1c58add6e3c1cb44ce95541da7c83018eda0",
      "parents": [
        "c1e6a12ab54926a4ef88880766492f18efc86f2c"
      ],
      "author": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Oct 12 14:21:51 2016 -0700"
      },
      "committer": {
        "name": "Amith Yamasani",
        "email": "yamasani@google.com",
        "time": "Wed Nov 30 13:24:53 2016 -0800"
      },
      "message": "Secure MATCH_UNINSTALLED_PACKAGES across users\n\nIntroduce a new internal flag MATCH_ANY_USER for genuine uses\nof searching through all apps on the device.\n\nSome temporary accommodations for Launchers that reach across\nto the work profile until we have a new LauncherApps API to do\nthat officially.\n\nBug: 31000380\nTest: CTS tests added\nChange-Id: I2e43dc49d6c2e11814a8f8d1eb07ef557f31af34\n"
    },
    {
      "commit": "15296a2d3478f53402e2d98f49724bb791eb339d",
      "tree": "4936aaccd74d8a2e67500a71693901fa26093e55",
      "parents": [
        "199e5a98ddc4402ba4b4cdafaa3d8deb58ef3c7d"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Nov 29 16:48:27 2016 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Nov 30 09:33:28 2016 -0800"
      },
      "message": "Add API to visualize/debug/compare color spaces and colors\n\nColorSpace.createRenderer() returns a ColorSpace.Renderer which\ncan be used to visualize multiple color spaces and colors (each\nassociated with a specific color space) in the same CIE 1931 xyY\nchromaticity diagram. This API was used to generate all the\ndiagrams shown in the documentation.\n\nBug: 32984164\nTest: ColorSpaceTest in CTS\nChange-Id: Ic94d939d5cfd563d826701f5e876b67b47ed56ec\n"
    },
    {
      "commit": "e4b016ec41bf5a11abe2adc8c55c82cf22f4da8b",
      "tree": "4e90989c17f303c7436ed1c792a65fd678399329",
      "parents": [
        "5ab97721bca729107c43d4fa766270fb0961f816",
        "3002ab6729237dd608a8640794c52960b3ec54d0"
      ],
      "author": {
        "name": "Yirui Huang",
        "email": "yirui@google.com",
        "time": "Wed Nov 30 01:13:00 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 30 01:13:04 2016 +0000"
      },
      "message": "Merge \"Introduce font variation settings parser\""
    },
    {
      "commit": "df68c9119ca11f25fb839403c41d7d6b2932beeb",
      "tree": "605b706768ea5fe0c09ffe0e6c73eecd002153ae",
      "parents": [
        "6fc01e0483969c29470fc94045302be19a1c3ceb",
        "eb7277590a2c2bdd64534da4c822a69440df32df"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 29 18:05:36 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 29 18:05:39 2016 +0000"
      },
      "message": "Merge \"Make LD stateful / opacity management look more like DC\""
    },
    {
      "commit": "3002ab6729237dd608a8640794c52960b3ec54d0",
      "tree": "f193abc1c1cb8b6d8ff7de8a606b7205f5a9d1be",
      "parents": [
        "2dd5018a0f1f7514c2de4cefbe2fd33dcb2ea506"
      ],
      "author": {
        "name": "yirui",
        "email": "yirui@google.com",
        "time": "Fri Nov 25 12:38:58 2016 +0900"
      },
      "committer": {
        "name": "yirui",
        "email": "yirui@google.com",
        "time": "Tue Nov 29 18:04:03 2016 +0900"
      },
      "message": "Introduce font variation settings parser\n\nFont variation settings enables developer to specify font axes for\nconfiguring glyph looking. This CL parse Font Variation settings to\nmake a array of Axis. More work is needed for using parsed axes.\n\nBug: 33062398\nTest: Done by unittests.\nChange-Id: I529b98b28df1c738237bee0729d9f479bd656dd3\n"
    },
    {
      "commit": "b6504180ec858ab34c8d46f45684d2b2fce692da",
      "tree": "d2caae66421a5fee990d782542435507b0c46e70",
      "parents": [
        "0ec10ac7cf551853272299c6e15bcf37b336e329",
        "199e5a98ddc4402ba4b4cdafaa3d8deb58ef3c7d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 29 03:48:47 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 29 03:48:51 2016 +0000"
      },
      "message": "Merge \"Add images to document built-in color spaces\""
    },
    {
      "commit": "199e5a98ddc4402ba4b4cdafaa3d8deb58ef3c7d",
      "tree": "d0cada5ff68d45f7857cd7fa2658c794cf674e01",
      "parents": [
        "68bd5fdd1ad3cf0b74c225b31adf1f68393bfbb6"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Nov 28 16:42:13 2016 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Nov 28 17:38:27 2016 -0800"
      },
      "message": "Add images to document built-in color spaces\n\nBug: 32984164\nTest: make offline-sdk-referenceonly-docs and manual validation of output\n\nChange-Id: I2f0e00e5a0581517bb7c535e8aee150f87ac7a6e\n"
    },
    {
      "commit": "eb7277590a2c2bdd64534da4c822a69440df32df",
      "tree": "b3b77cdb5ca2c4cdf80f7e9e50d06d8205ad7a70",
      "parents": [
        "cd3672586e1b7233ac4649a4dfa195b24956ccf3"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Mon Nov 28 14:55:18 2016 -0500"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Mon Nov 28 14:55:18 2016 -0500"
      },
      "message": "Make LD stateful / opacity management look more like DC\n\nSome initial cleanup before making changes to either class.\n\nTest: n/a, refactoring only\nBug: 33124798\nChange-Id: Idf0328bcc6de72b694ca7b35122ecad845cf1c4b\n"
    },
    {
      "commit": "ab3225d7425b9dabc8b2508fd7c2cec4f868c793",
      "tree": "6ec226faefa709ad28e9702f4e33c718f038109a",
      "parents": [
        "42e55d81bd031605d8ad93196df832713f3bfa9f",
        "68bd5fdd1ad3cf0b74c225b31adf1f68393bfbb6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 24 04:05:16 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 24 04:05:20 2016 +0000"
      },
      "message": "Merge \"Introduce android.graphics.ColorSpace\""
    },
    {
      "commit": "68bd5fdd1ad3cf0b74c225b31adf1f68393bfbb6",
      "tree": "a487722bb52a1aa223405f010e48e151e96d82c5",
      "parents": [
        "512957482525918d0c79f02ea29af5e15a063268"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Mon Nov 14 18:53:40 2016 -0800"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Nov 23 18:10:04 2016 -0800"
      },
      "message": "Introduce android.graphics.ColorSpace\n\nThis class can be used to define color spaces. A color space has a color model\nand a profile connection space (CIE XYZ D50). This implementation can be used\nto query various properties of RGB color spaces or perform conversions between\nvarious color spaces (RGB, XYZ and Lab).\n\nRefer to the documentation for more details.\n\nTest: cts-tradefed run singleCommand cts-dev --module CtsGraphicsTestCases --test android.graphics.cts.ColorSpaceTest\nBug: 32984164\nChange-Id: Ie2117c1212c1375a7d403d3c1afaf73d7c2e0b47\n"
    },
    {
      "commit": "da6c8ffcc594493c3936f83255efccdbf964cd21",
      "tree": "fee46a0500cc2186422442090954da5adb9bcec7",
      "parents": [
        "6d5723fe4ece48b6476b8c2f2fb345d1baa3b2b1"
      ],
      "author": {
        "name": "sergeyv",
        "email": "sergeyv@google.com",
        "time": "Tue Nov 22 18:28:54 2016 -0800"
      },
      "committer": {
        "name": "sergeyv",
        "email": "sergeyv@google.com",
        "time": "Tue Nov 22 18:28:54 2016 -0800"
      },
      "message": "Introduce Bitmap.Config.Hardware with @hide annotation\n\nTest: HardwareBitmapTests\nbug:30999911\nChange-Id: Iaa0e18842704cb6bcd483c63a095dcb22baaf5e0\n"
    },
    {
      "commit": "583727a3456119b14ce0125b9bab87a035855679",
      "tree": "2a8822956c64c86a9bb33c606f9f92238712a30f",
      "parents": [
        "f3daae9a16925963a6c6a9884bff7be50501c1ae",
        "18ad5f43685489e0086dce74f2bfcca9ba39daa3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Nov 21 05:49:14 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 21 05:49:19 2016 +0000"
      },
      "message": "Merge \"Update the documentation related to VD / AVD\""
    },
    {
      "commit": "1a625911a22a5b4a0e42bb21c2dbf4c8df16e77a",
      "tree": "a9c2795b23cde251cb5a49cbf50ea6a854ff34c2",
      "parents": [
        "af18c40b7058e639ffa4b0492e2c70d1b4b24e37",
        "219e2c79490296b03e58ec36a3a4ff4a2ebf52e3"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Thu Nov 17 07:59:57 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 17 08:00:01 2016 +0000"
      },
      "message": "Merge \"Add wordSpacing parameter to Paint\""
    },
    {
      "commit": "18ad5f43685489e0086dce74f2bfcca9ba39daa3",
      "tree": "6a167e9871c6019de8394ad18ec921a5f93ec000",
      "parents": [
        "817695589c80cfc0913d94e3dd52dac2782e8ed6"
      ],
      "author": {
        "name": "Teng-Hui Zhu",
        "email": "ztenghui@google.com",
        "time": "Mon Nov 14 13:27:38 2016 -0800"
      },
      "committer": {
        "name": "Teng-Hui Zhu",
        "email": "ztenghui@google.com",
        "time": "Wed Nov 16 15:14:10 2016 -0800"
      },
      "message": "Update the documentation related to VD / AVD\n\nfix:32705240\nfix:32683765\nfix:32831830\nfix:32705244\n\nTest: make offline-sdk-docs and view the HTML file.\n\nChange-Id: I6ae3e5850494f13a241b2e9e4d2c5b95d5199aae\n"
    },
    {
      "commit": "219e2c79490296b03e58ec36a3a4ff4a2ebf52e3",
      "tree": "e7f84a0ad8188c7bbe5732ecd1582b12f3af710a",
      "parents": [
        "171cb036a118fc3f8fdda130f7459f83183e7a06"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Tue Nov 15 19:01:45 2016 +0900"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Wed Nov 16 16:24:07 2016 +0900"
      },
      "message": "Add wordSpacing parameter to Paint\n\nAdds the ability to control word spacing from Java, wiring up the\nplumbing to the corresponding change that adds it at the Minikin\nlevel.\n\nBug: 31707212\nTest: ran graphicstests\nChange-Id: I568186aca961d51ee5231cb0331f882b7b005e90\n"
    },
    {
      "commit": "3bdecbf0fd2d4b6137477094e1ea96502c353248",
      "tree": "4998e6c8209aa192edb4f2290c23d0976d97c891",
      "parents": [
        "371315142579ae11625ef975427a7621bfa7b873"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Nov 14 11:28:17 2016 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Nov 14 11:28:17 2016 -0800"
      },
      "message": "return 0 for allocation size if recycled\n\nChange-Id: Ic471701faf026411938ebe87131533a8ef09bbd7\nFixes: 19804653\nTest: none\n"
    },
    {
      "commit": "9192d5e8d78b826a665ce048c007e6eaf0f5b003",
      "tree": "78fb5b29a6221a58028ac4dd108df868030cf92e",
      "parents": [
        "99449eea6cfe174eba269b3cfff06e6533d6314e"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Oct 31 10:32:09 2016 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Oct 31 10:44:12 2016 -0700"
      },
      "message": "Remove unused method\n\nTest: builds\n\nChange-Id: I8ad660f083a57f30db5ed0e2fe777286720033ca\n"
    },
    {
      "commit": "1ece145e018a7e66d3f422e647d3f6cb1887dca5",
      "tree": "571eb55f399517beec2d76643f12d003156c2b80",
      "parents": [
        "c4ee093bf618cc73788ee07df1051054ac10b585"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Oct 20 09:49:46 2016 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Oct 20 17:05:10 2016 +0000"
      },
      "message": "Re-order draw methods to make update-api happy\n\nupdate-api orders methods alhabetically by name, but when\nthere\u0027s multiple methods with the same name it falls back to\nthe ordering within the file.\n\nRe-order the methods in canvas.java to match what\u0027s already in\ncurrent.txt to avoid unnecessary changes.\n\nAlso auto-formatted the draw methods as some were mis-indented.\n\nTest: No behavior change, just method re-ordering\nChange-Id: I2a7d313c8e7a6bd9187c4ed7dbde944b88aa32bb\n"
    },
    {
      "commit": "caa08ff5e9ee004634a95776fc72bb769f1286de",
      "tree": "7a4b671684375eb06524da99bbd4ee52481eeedd",
      "parents": [
        "c93a7ef9cbba1afe1c1c24b500c3ebf67d4ef9b1"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Oct 07 13:21:36 2016 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Oct 17 11:33:28 2016 -0700"
      },
      "message": "The bigger update to Canvas\n\nAll draw* calls in Canvas are regular JNI\nAll draw* calls in DisplayListCanvas are FastNative\nUnifies Canvas JNI on nMethodName naming\n\nCanvasPerf results before:\nINSTRUMENTATION_STATUS: basicViewGroupDraw_min\u003d12492\nINSTRUMENTATION_STATUS: recordSimpleBitmapView_min\u003d13912\n\nand after:\nINSTRUMENTATION_STATUS: basicViewGroupDraw_min\u003d11945\nINSTRUMENTATION_STATUS: recordSimpleBitmapView_min\u003d13318\n\nTest: refactor, makes \u0026 boots\nChange-Id: I06000df1d125e17d60c6498865be7a7638a4a13e\n"
    },
    {
      "commit": "1158b6d4ee34707515d5af59a13e4999ba53563e",
      "tree": "26cd79b99f63fa1fb022ce07354e394934d9dc5b",
      "parents": [
        "21986f2ae73e9ae3395a37dd3976af55e75d4f9d"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Oct 12 10:55:08 2016 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Oct 12 10:55:50 2016 -0700"
      },
      "message": "layoutlib relies on refSkPixelRef(), put it back\n\nTest: Build aosp_arm64-eng successfully\nChange-Id: Ic00cacac9aa1006ec16060a95bd1a22133e9a4bd\n"
    },
    {
      "commit": "253f2c213f6ecda63b6872aee77bd30d5ec07c82",
      "tree": "45fcfd8633a122fc4509e58732743123daf8af79",
      "parents": [
        "9cf75061b143196c97c31726655c7e5c4ada8814"
      ],
      "author": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Wed Sep 28 17:34:42 2016 -0700"
      },
      "committer": {
        "name": "Romain Guy",
        "email": "romainguy@google.com",
        "time": "Tue Oct 11 17:47:58 2016 -0700"
      },
      "message": "Linear blending, step 1\n\nNOTE: Linear blending is currently disabled in this CL as the\n      feature is still a work in progress\n\nAndroid currently performs all blending (any kind of linear math\non colors really) on gamma-encoded colors. Since Android assumes\nthat the default color space is sRGB, all bitmaps and colors\nare encoded with the sRGB Opto-Electronic Conversion Function\n(OECF, which can be approximated with a power function). Since\nthe power curve is not linear, our linear math is incorrect.\nThe result is that we generate colors that tend to be too dark;\nthis affects blending but also anti-aliasing, gradients, blurs,\netc.\n\nThe solution is to convert gamma-encoded colors back to linear\nspace before doing any math on them, using the sRGB Electo-Optical\nConversion Function (EOCF). This is achieved in different\nways in different parts of the pipeline:\n\n- Using hardware conversions when sampling from OpenGL textures\n  or writing into OpenGL frame buffers\n- Using software conversion functions, to translate app-supplied\n  colors to and from sRGB\n- Using Skia\u0027s color spaces\n\nAny type of processing on colors must roughly ollow these steps:\n\n[sRGB input]-\u003eEOCF-\u003e[linear data]-\u003e[processing]-\u003eOECF-\u003e[sRGB output]\n\nFor the sRGB color space, the conversion functions are defined as\nfollows:\n\nOECF(linear) :\u003d\nlinear \u003c\u003d 0.0031308 ? linear * 12.92 : (pow(linear, 1/2.4) * 1.055) - 0.055\n\nEOCF(srgb) :\u003d\nsrgb \u003c\u003d 0.04045 ? srgb / 12.92 : pow((srgb + 0.055) / 1.055, 2.4)\n\nThe EOCF is simply the reciprocal of the OECF.\nWhile it is highly recommended to use the exact sRGB conversion\nfunctions everywhere possible, it is sometimes useful or beneficial\nto rely on approximations:\n\n- pow(x,2.2) and pow(x,1/2.2)\n- x^2 and sqrt(x)\n\nThe latter is particularly useful in fragment shaders (for instance\nto apply dithering in sRGB space), especially if the sqrt() can be\nreplaced with an inversesqrt().\n\nHere is a fairly exhaustive list of modifications implemented\nin this CL:\n\n- Set TARGET_ENABLE_LINEAR_BLENDING :\u003d false in BoardConfig.mk\n  to disable linear blending. This is only for GLES 2.0 GPUs\n  with no hardware sRGB support. This flag is currently assumed\n  to be false (see note above)\n- sRGB writes are disabled when entering a functor (WebView).\n  This will need to be fixed at some point\n- Skia bitmaps are created with the sRGB color space\n- Bitmaps using a 565 config are expanded to 888\n- Linear blending is disabled when entering a functor\n- External textures are not properly sampled (see below)\n- Gradients are interpolated in linear space\n- Texture-based dithering was replaced with analytical dithering\n- Dithering is done in the quantization color space, which is\n  why we must do EOCF(OECF(color)+dither)\n- Text is now gamma corrected differently depending on the luminance\n  of the source pixel. The asumption is that a bright pixel will be\n  blended on a dark background and the other way around. The source\n  alpha is gamma corrected to thicken dark on bright and thin\n  bright on dark to match the intended design of fonts. This also\n  matches the behavior of popular design/drawing applications\n- Removed the asset atlas. It did not contain anything useful and\n  could not be sampled in sRGB without a yet-to-be-defined GL\n  extension\n- The last column of color matrices is converted to linear space\n  because its value are added to linear colors\n\nMissing features:\n- Resource qualifier?\n- Regeneration of goldeng images for automated tests\n- Handle alpha8/grey8 properly\n- Disable sRGB write for layers with external textures\n\nTest: Manual testing while work in progress\nBug: 29940137\n\nChange-Id: I6a07b15ab49b554377cd33a36b6d9971a15e9a0b\n"
    },
    {
      "commit": "5cb74bca88268a8b9025be2cce81e1b4f967d19d",
      "tree": "9c4358bc448660bd5b8a5d446954ed68cf2a3286",
      "parents": [
        "4c7360e51cd01608172eff31d3a84c311af39799"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Oct 07 11:24:44 2016 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Oct 10 08:19:15 2016 -0700"
      },
      "message": "Canvas fastjni -\u003e @FastNative\n\nJust the basic cleanup first, will follow-up with a more\ncomprehensive update later\nTest: builds \u0026 boots, refactor no behavior change\n\nChange-Id: Ie3a7144b5fefdfda085e2ab50da8b0e627a1ecb8\n"
    },
    {
      "commit": "39a561f5bbea2ed8461bc7e2779c087765e48841",
      "tree": "58d7dcca6c2f9cfc4d0880a084856b9b7b813aa4",
      "parents": [
        "1edc4ac74ffae9bda6fdd66413cc2e09f42c0b35",
        "36d83ffc5ba9983d935e7f9396ca594deb2bbd85"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Mon Oct 10 14:30:50 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 10 14:30:50 2016 +0000"
      },
      "message": "Scale bitmap shaders for target density am: 0d2a46b733 am: 444f2043d1\nam: 36d83ffc5b\n\nChange-Id: I97a23b431247f4541f5517787a486aca7d95a618\n"
    },
    {
      "commit": "444f2043d1923a89e41553d6ba860cf275d44006",
      "tree": "1af5da6c2b126f65427725a27f39250a62f8496e",
      "parents": [
        "25cbfe8af8b7ec7abbf0e2b166329c9fcb7fc87e",
        "0d2a46b7336b6d255f202b878003be59ecbae52b"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Fri Oct 07 20:39:48 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Oct 07 20:39:48 2016 +0000"
      },
      "message": "Scale bitmap shaders for target density\nam: 0d2a46b733\n\nChange-Id: I8e3274a9c6047d943336827e7e0c8563e40c2ca5\n"
    }
  ],
  "next": "0f6cec369ff456b203c70f3a56662d2b8fa7aa98"
}
