)]}'
{
  "log": [
    {
      "commit": "8bbcd3477cf24fa354ac831ccd61950a83d8fbc8",
      "tree": "b382afff831bc429c726b83e12707a21939b2310",
      "parents": [
        "aefa03dd9e8c3e99a2546be5e580fb205a22bdf7"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Wed Jan 09 09:32:20 2019 -0500"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Tue Jan 15 15:37:36 2019 -0500"
      },
      "message": "Add Paint#setShadowLayer(..., @ColorLong)\n\nBug: 120904891\nTest: I38537394bf314668cc38349c34b9492164cb0c92\n\nChange-Id: Id1c294a2a79087cfaaf4a25fa4888f706fdb8124\n"
    },
    {
      "commit": "aefa03dd9e8c3e99a2546be5e580fb205a22bdf7",
      "tree": "8a9b4c1d75ffd5cf18e208d3efe35cf64a7f2e49",
      "parents": [
        "cad512fc1b257533c9fb92dbcc76f2135fd2a350"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Tue Jan 08 11:28:59 2019 -0500"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Tue Jan 15 15:37:36 2019 -0500"
      },
      "message": "Add Paint#setColor(@ColorLong)\n\nBug: 120904891\nTest: Iba796744a9cc3652a6bc1881a9b229403ffaed31\nChange-Id: Ib03212b27bc330e61b876a4be3d45c34ed551540\n"
    },
    {
      "commit": "edb5e1a1b8e6791f85040a6b602d5c7929260be7",
      "tree": "cb2b9b80da428a5584daa99233bbfcd4b56ed4f8",
      "parents": [
        "a32c79d362e851816b3e4b892f65fa9a274c0c68",
        "8b72c5b1d32d7541fd651e2942fba665a360d599"
      ],
      "author": {
        "name": "Daniel Solomon",
        "email": "solomondaniel@google.com",
        "time": "Tue Jan 15 19:29:16 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 15 19:29:16 2019 +0000"
      },
      "message": "Merge \"Add Display Auto White Balance to ColorDisplayService\""
    },
    {
      "commit": "77571c7f31839037c8d8eda4fa7903d143103001",
      "tree": "84c8a0f6613ec2d9aa27a70ba925078ec24825fe",
      "parents": [
        "8eb6be8133fd23ef16f6237bd57000bc4c966b97",
        "4c4259b33972300f98d77a19d80d9971b521c1b9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 15 18:50:21 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 15 18:50:21 2019 +0000"
      },
      "message": "Merge \"Add Bitmap#eraseColor(@ColorLong) + helpers\""
    },
    {
      "commit": "4c4259b33972300f98d77a19d80d9971b521c1b9",
      "tree": "03bd2d2b4cc346777a042b50299f55824fff249d",
      "parents": [
        "5ca575ae71493aedfbd93da032692ad5a1d50f27"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Mon Dec 17 10:40:07 2018 -0500"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Tue Jan 15 12:16:19 2019 -0500"
      },
      "message": "Add Bitmap#eraseColor(@ColorLong) + helpers\n\nBug: 120904891\nTest: I162451ebf807f3a8a44679e5c10406468c922500\n\n- Add Bitmap#eraseColor(@ColorLong). This allows erasing in ColorSpaces\n  besides SRGB. New API is hidden pending API-council approval. It is\n  @TestApi so it can be used by the new tests.\n- Rewrite Bitmap#erase(@ColorInt)\u0027s internals. The ColorInt should be\n  treated as an SRGB color. The old code (deep in SkPixmap::erase)\n  treated the color as being in the SkColorSpace of the SkBitmap.\n- Update getNativeColorSpace to return immediately when it throws.\n  Existing callers should never throw anyway, since they do their own\n  checks (and throws) in Java before reaching this method. But relying\n  on this method to properly return simplifies the new callers.\n\nChange-Id: I1b736934ce1b8294c827bb61c2a363207569da4f\n"
    },
    {
      "commit": "74cababfd50fdcdffc219a7d442a917963adad1e",
      "tree": "84ae9f7d42e392f2c5687d0a6b1c4cc64e578ee9",
      "parents": [
        "ba058349314a2aa035dfd9799301fa082358da08",
        "18c9aa3e66666b5a8e055fcb7d9d564e2f0e788f"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Tue Jan 15 08:55:13 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 15 08:55:13 2019 +0000"
      },
      "message": "Merge \"Add Canvas.drawTextRun(MeasuredText)\""
    },
    {
      "commit": "8b72c5b1d32d7541fd651e2942fba665a360d599",
      "tree": "c0b59a4385880ba684188c5cf7424839b38322d8",
      "parents": [
        "955f3424a2c327b17b89c7a17406f968447ae31d"
      ],
      "author": {
        "name": "Daniel Solomon",
        "email": "solomondaniel@google.com",
        "time": "Sun Nov 25 11:07:13 2018 -0800"
      },
      "committer": {
        "name": "Daniel Solomon",
        "email": "solomondaniel@google.com",
        "time": "Mon Jan 14 17:37:15 2019 -0800"
      },
      "message": "Add Display Auto White Balance to ColorDisplayService\n\nThis change adds Display Auto White Balance to ColorDisplayService.\nGiven panel chromaticity data, a nominal white point, and a desired\ncorrelated color temperature (CCT), this logic generates and applies a\nmatrix transform to shift the nominal white point to match the desired\nCCT.\n\nBug 116516917\n\nChange-Id: I07e341881a020a130944217fff372003edac0a8c\n"
    },
    {
      "commit": "151b6729ab45fa313f0126fa6de0bc8c86d5db4d",
      "tree": "35be32d3501462b95c4509a6a3cb1c6421be9b50",
      "parents": [
        "d50bda40d3566fdfb4e57472fdaee30345ddc5ca",
        "203034fe2cb099f97d5ff3ea433ca657e231daef"
      ],
      "author": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Mon Jan 14 17:23:36 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 14 17:23:36 2019 +0000"
      },
      "message": "Merge \"Make ColorSpace#isSrgb more restrictive\""
    },
    {
      "commit": "203034fe2cb099f97d5ff3ea433ca657e231daef",
      "tree": "55e090010105b288c7b30a76b24f135a577c1e93",
      "parents": [
        "a068624dce06a9948bcef377ac417394def31a4d"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Wed Jan 09 15:00:30 2019 -0500"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Fri Jan 11 14:31:52 2019 -0500"
      },
      "message": "Make ColorSpace#isSrgb more restrictive\n\nTest: Ide74c2e98d4aadba8bb0a24d132f161dbe64f4db\n\nPreviously, BT709 was believed to be SRGB, resulting in errors when we\ntried to convert between them. Make isSrgb test several values passed to\nOETF and EOTF to verify that it is very close to SRGB. This results in\nBT709 no longer being considered SRGB, fixing the conversion.\n\nUpdate the documentation to reflect the new behavior.\n\nNow that isSrgb is more restrictive, a gamma of 2.2 is no longer\nconsidered to be SRGB, which requires a change to a CTS test.\n\nChange-Id: I7bf8d5e3af2f91e38ca0b0d5d906713a125dd484\n"
    },
    {
      "commit": "3fea923b47732b45a2c8ef5a8caa4a39e33666cb",
      "tree": "6a30147c07b79a1af0b402bfe5b9ab4f2dd7967e",
      "parents": [
        "5af6efd9de10b168e76087a157481fa870075e5d"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Thu Jan 10 13:24:22 2019 -0800"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Thu Jan 10 13:24:22 2019 -0800"
      },
      "message": "Ignore missing target font family during alias registration\n\nBug: 122665938\nTest: TreeHugger\nChange-Id: Ic9f72bf5e6891f4d30d54b3f1a3b6a6fc8424788\n"
    },
    {
      "commit": "13f86506cc22b2038591acd51df6c72588636041",
      "tree": "57e8ccf0f91a7bf1e2b47acd7abdf3b30a139e65",
      "parents": [
        "ccee30ed1be39f056a7368392cfe59dae3cbe757",
        "5ff66466e534e94eba366e04fd3137316f39333b"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Wed Jan 09 11:55:01 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 09 11:55:01 2019 -0800"
      },
      "message": "Merge \"Fix spelling of \"HARDWARE\"\" am: 9fbe481727 am: 281664abf5\nam: 5ff66466e5\n\nChange-Id: I54f91677a909281b402f2be8658813d3a91e3ae0\n"
    },
    {
      "commit": "d3a110b811bdd72c0f0eabcf42b63a5228c203b8",
      "tree": "34764e49f0e515ea0f2c4b99edd83129abc95394",
      "parents": [
        "424fc04c862abd6299c71719006aba9bd5a09913",
        "f50e8d4bc0556d450699390c78962c2cc6604288"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 08 20:38:47 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 08 20:38:47 2019 +0000"
      },
      "message": "Merge \"Fix a typo in ColorSpace.get\""
    },
    {
      "commit": "f50e8d4bc0556d450699390c78962c2cc6604288",
      "tree": "94d34ebd6eda74f3f44cf1f5543d6f9ec38217ed",
      "parents": [
        "a068624dce06a9948bcef377ac417394def31a4d"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Tue Jan 08 09:06:54 2019 -0500"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Tue Jan 08 09:20:07 2019 -0500"
      },
      "message": "Fix a typo in ColorSpace.get\n\nTest: I1759437bf620868706be0aadce2250ac9194ca7d\n\nThe intent is that an index that does not match a Named ColorSpace will\nthrow an IllegalArgumentException, so make that true for\nNamed.values().length, which does not correspond to one.\n\nAlso, update the Exception message to make it clear that the last index\nis exclusive.\n\nChange-Id: I015b7ee6274873cc329653473ead04b08f1cd55f\n"
    },
    {
      "commit": "e5b337dd88f057af441b2d8ce7b62ffc8be45369",
      "tree": "79576918003f8a7cd3ab27daefa48e070bf8f711",
      "parents": [
        "68325959113f0bb4001c2304a3de86c865693d4d"
      ],
      "author": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Mon Jan 07 17:42:05 2019 -0800"
      },
      "committer": {
        "name": "Hans Boehm",
        "email": "hboehm@google.com",
        "time": "Mon Jan 07 17:42:05 2019 -0800"
      },
      "message": "Fix spelling of \"HARDWARE\"\n\nHappened to notice this while reading the code for other purposes.\n\nTest: Treehugger\nChange-Id: I2d1b1e239bfd8d2506a62173fe854f608a45f5b0\n"
    },
    {
      "commit": "55418eada51d4f5e6532ae9517af66c50ea495c4",
      "tree": "b93b0483b4ba377e1b4b79d344932fdf78d17de5",
      "parents": [
        "cfc6518c48d1648bb33a0f6633132a726a9bc7f9"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Thu Dec 20 15:30:45 2018 +0000"
      },
      "committer": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Fri Dec 28 14:26:35 2018 +0000"
      },
      "message": "Limit access to suspected false positives.\n\nMembers modified herein are suspected to be false positives: i.e. things\nthat were added to the greylist in P, but subsequent data analysis\nsuggests that they are not, in fact, used after all.\n\nAdd a maxTargetSdk\u003dP to these APIs. This is lower-risk that simply\nremoving these things from the greylist, as none of out data sources are\nperfect nor complete.\n\nFor APIs that are not supported yet by annotations, move them to\nhiddenapi-greylist-max-p.txt instead which has the same effect.\n\nExempted-From-Owner-Approval: Automatic changes to the codebase\naffecting only @UnsupportedAppUsage annotations, themselves added\nwithout requiring owners approval earlier.\n\nBug: 115609023\nTest: m\nChange-Id: Ia937d8c41512e7f1b6e7f67b9104c1878b5cc3a0\nMerged-In: I020a9c09672ebcae64c5357abc4993e07e744687\n"
    },
    {
      "commit": "31755f94e11225df5d59b8f7e535106200fdf32d",
      "tree": "99d4fd992001fff7b5fd15487c227c88d63936ae",
      "parents": [
        "2f16d51c993c5957bcecf63b72ae28488355a8be"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Thu Dec 20 13:53:36 2018 +0000"
      },
      "committer": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Fri Dec 28 11:50:04 2018 +0000"
      },
      "message": "Limit access to suspected false positives.\n\nMembers modified herein are suspected to be false positives: i.e. things\nthat were added to the greylist in P, but subsequent data analysis\nsuggests that they are not, in fact, used after all.\n\nAdd a maxTargetSdk\u003dP to these APIs. This is lower-risk that simply\nremoving these things from the greylist, as none of out data sources are\nperfect nor complete.\n\nFor APIs that are not supported yet by annotations, move them to\nhiddenapi-greylist-max-p.txt instead which has the same effect.\n\nExempted-From-Owner-Approval: Automatic changes to the codebase\naffecting only @UnsupportedAppUsage annotations, themselves added\nwithout requiring owners approval earlier.\n\nBug: 115609023\nTest: m\nChange-Id: I020a9c09672ebcae64c5357abc4993e07e744687\n"
    },
    {
      "commit": "99dc47483ceaad1eccb77f9fb37b435d77e04f6f",
      "tree": "848d537173b8b079ea6f0f26d9ffce4f17e9edd5",
      "parents": [
        "7f1c1398e1658ec4fd137696d4985bf3a75f748b",
        "5bb571dc403b4384111ae987ed7b44aaef76ace0"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Fri Dec 21 14:00:45 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 21 14:00:45 2018 +0000"
      },
      "message": "Merge \"A brave new world for window insets (5/n)\""
    },
    {
      "commit": "5bb571dc403b4384111ae987ed7b44aaef76ace0",
      "tree": "9f475f0f373a0b499760fe86e96b1d95f63362f1",
      "parents": [
        "7fa78c545b5bd3845f3cda4bad0bd3b37b327732"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Nov 06 14:42:04 2018 +0100"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Fri Dec 21 13:05:30 2018 +0100"
      },
      "message": "A brave new world for window insets (5/n)\n\nImplement controlWindowInsetsAnimation\n\nBased on the leashes we have on the client, and the insets the\nclient has requested, we are able to move the surfaces around\nsuch that the resulting insets will match what the client\nrequested.\n\nBug: 118118435\nChange-Id: I0616e53455a6544aaf374c1b0eb10e258aced21d\n"
    },
    {
      "commit": "24fc901e5f54ee00f6df323178a05787ab705814",
      "tree": "73085619ebaac2d7632dca84cfbfac40222e4bed",
      "parents": [
        "e8a25e3dbc1f6b1409ea511e2b5faa31cff3faea"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Fri Dec 07 14:12:12 2018 -0500"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Dec 20 10:04:46 2018 -0500"
      },
      "message": "Improve performance of unclipped save layers.\n\nInstead of allocating a separate renderTarget and switching\nbetween them on each draw the new implementation follows the same\npattern that the old HWUI renderer used. The area of the layer is\nnow copied to a buffer on the GPU, the area is then cleared, rendered\nas normal, and finally the texture is redrawn using dst_over blending.\n\nThis results in no render target switches and is considerably faster\non some hardware.\n\nTest: CtsGraphicsTestCases, CtsUiRenderingTestCases\nBug: 119222339\nChange-Id: I716aac1fc31e4c7a171373d37dee82034c01cf18\n"
    },
    {
      "commit": "c0cd1d7f334b0e7f18b812fbe7b6fae6d599f9ee",
      "tree": "e15732b07ae18215d0cfd2902ed359a159200aab",
      "parents": [
        "4895d8f0fc69e9c6ca912b1a1eac6efcb08d04db",
        "283bb46846ad161045efc4650d3cbc40abf5f24b"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Dec 18 17:50:37 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 18 17:50:37 2018 +0000"
      },
      "message": "Merge \"New WebViewFunctor API\""
    },
    {
      "commit": "3a0041cf1d2f4ea121109f0459a8a24bb6c0c130",
      "tree": "6ebb10fca03dbba91c5964b351d0f61d6a0a61cf",
      "parents": [
        "97a58b4f8cf51dcb6543c117510400caa7de05db",
        "470a91913580f4d59d240ade0d3b14238d07220b"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Dec 17 23:52:21 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 17 23:52:21 2018 +0000"
      },
      "message": "Merge \"Add missing getter \u0026 improve docs\""
    },
    {
      "commit": "470a91913580f4d59d240ade0d3b14238d07220b",
      "tree": "7f52743a2e37bf82d44cd3ea4fad4d9f7f462ce3",
      "parents": [
        "832c17330e2d0ce52f1471404ef539a63f120ca2"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Dec 17 10:55:54 2018 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Dec 17 11:25:34 2018 -0800"
      },
      "message": "Add missing getter \u0026 improve docs\n\nAlso fix SkiaDisplayList::getUsedSize()\n\nBug: 120865963\nTest: atest android.uirendering.cts.testclasses.RenderNodeTests\nChange-Id: I3cdbd8d330da9a00367199087c9ae1e0a2cacf46\n"
    },
    {
      "commit": "283bb46846ad161045efc4650d3cbc40abf5f24b",
      "tree": "732e431c7f704282c3ae5a669f22999520f2507e",
      "parents": [
        "832c17330e2d0ce52f1471404ef539a63f120ca2"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Dec 13 16:40:14 2018 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Dec 14 14:07:18 2018 -0800"
      },
      "message": "New WebViewFunctor API\n\nShould function alongside existing functor API.\n\nBug: 120997728\nTest: hwuiunit passes\nChange-Id: I8f6143d0be1111431b55016f34de319f6b8c8910\n"
    },
    {
      "commit": "8168f6fa286408b6f35ce1a17686fa98bea5fe4a",
      "tree": "0922a9c3c87f98bb5a791cdb850728c1645cc5f0",
      "parents": [
        "2f4644d5dd189a2efd42c76489431c823839d955",
        "55e49d8816d7a6fad20df604839a4d2bfe6b9957"
      ],
      "author": {
        "name": "Nader Jawad",
        "email": "njawad@google.com",
        "time": "Thu Dec 13 21:02:37 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 13 21:02:37 2018 +0000"
      },
      "message": "Merge \"Added support for additional Blend Modes\""
    },
    {
      "commit": "863c52e80afb5e8e1347b82c2cfd49e75e9d6528",
      "tree": "c04211d395552727ef5f47075f161e810809e088",
      "parents": [
        "e77ff79fdb4ff3293b0d6da13d8160f54e0ece80",
        "de9f10d9d97073a2ec47f7a7e80ce31edb83bb76"
      ],
      "author": {
        "name": "Fabian Kozynski",
        "email": "kozynski@google.com",
        "time": "Wed Dec 12 13:58:48 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 12 13:58:48 2018 +0000"
      },
      "message": "Merge \"Sets Drawable in DrawableWrapper properly\""
    },
    {
      "commit": "de9f10d9d97073a2ec47f7a7e80ce31edb83bb76",
      "tree": "f27ae7944dbc1e488e7addb6b79892997f1e4263",
      "parents": [
        "a6d828755ee306c0e01a078530c22bd83d56f55f"
      ],
      "author": {
        "name": "Fabian Kozynski",
        "email": "kozynski@google.com",
        "time": "Mon Dec 10 16:33:06 2018 -0500"
      },
      "committer": {
        "name": "Fabian Kozynski",
        "email": "kozynski@google.com",
        "time": "Tue Dec 11 22:15:12 2018 +0000"
      },
      "message": "Sets Drawable in DrawableWrapper properly\n\nBefore this change, creating a DrawableWrapper (through a custom class\nthat extends it) using the public constructor will not set the drawable\ncallback properly and DrawableWrapper will not update when the\nunderlying Drawable is invalidated.\n\nTest: CTS test added\nBug: 120835632\nChange-Id: I3545db76e032c0bd074846e0fa64c5cf01e2941c\n"
    },
    {
      "commit": "15b123ef458ed927782b080921e987c995fc56dd",
      "tree": "008426beb4c3b8d4ecb62112efa17be09fe6d427",
      "parents": [
        "58ee538e62b15dd07274beecf5f925543c5332b1",
        "7409b8620ff39ff0788ef1543297f0cb1d49a0e0"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Tue Dec 11 14:13:44 2018 -0800"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Tue Dec 11 14:13:44 2018 -0800"
      },
      "message": "DO NOT MERGE - Merge pie-platform-release (PPRL.181205.001) into master\n\nBug: 120502534\nChange-Id: Idc8bfb6d97a869b76cfb87ca1a494201baf9e8bd\n"
    },
    {
      "commit": "291ef0536d2ed154f5c559dbcdbfc92b10a21e66",
      "tree": "0ea279c1774d2f8e0e22f18319da9f36064714a8",
      "parents": [
        "c70a74e1a740a67ad98702b08e06dba572ca7289"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Fri Nov 16 10:41:32 2018 -0800"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Mon Dec 10 16:18:02 2018 -0800"
      },
      "message": "Recompute PcT with existing PcT for different direction\n\nThe text direction can not be fully determined in detached state.\nTo improve even in that case, compute PrecomputedText from existing\nPrecomputedText with new direction.\n\nHere is the performance difference. According to the perf test result,\nup to 80% of computation can be recycled from existing PrecomputedText.\n\nandroid.text.StaticLayoutPerfTest (u sec):\n    PrecomputedText Greedy NoHyphenation             :    371 -\u003e    371: (   +0,  +0.0%)\n    PrecomputedText Greedy NoHyphenation DirDifferent:  6,923 -\u003e  1,437: (-5486, -79.2%)\n    RandomText Greedy NoHyphenation                  :  6,633 -\u003e  6,627: (   -6,  -0.1%)\n\nOn the other hand, this CL increase the memory usage of the\nPrecomputedText up to 10%. Here is an reference memory usage.\n\nandroid.text.PrecomputedTextMemoryUsageTest (bytes):\n  MemoryUsage\n    Arabic Hyphenation                               : 17,135 -\u003e 18,116: ( +981, +5.7%)\n    Arabic NoHyphenation                             : 17,135 -\u003e 18,116: ( +981, +5.7%)\n    CJK Hyphenation                                  : 29,000 -\u003e 31,584: (+2584, +8.9%)\n    CJK NoHyphenation                                : 29,000 -\u003e 31,584: (+2584, +8.9%)\n    Latin Hyphenation                                : 16,526 -\u003e 17,185: ( +659, +4.0%)\n    Latin NoHyphenation                              : 14,200 -\u003e 14,784: ( +584, +4.1%)\n\nBug: 119312268\nTest: atest CtsWidgetTestCases\nTest: atest CtsTextTestCases\nTest: atest CtsGraphicsTestCases\nTest: minikin_tests\n\nChange-Id: Ia02c201afac5d7d1c086a45f15696f39a6b2a76c\n"
    },
    {
      "commit": "55e49d8816d7a6fad20df604839a4d2bfe6b9957",
      "tree": "702af16273fc7f932524de5b1a3d1bea676d1b13",
      "parents": [
        "f66699ae165ce30f1cda1cfd704027a75bf457d2"
      ],
      "author": {
        "name": "Nader Jawad",
        "email": "njawad@google.com",
        "time": "Fri Nov 16 11:22:32 2018 -0800"
      },
      "committer": {
        "name": "Nader Jawad",
        "email": "njawad@google.com",
        "time": "Mon Dec 10 15:38:59 2018 -0800"
      },
      "message": "Added support for additional Blend Modes\n\nCreated new BlendMode enum that maps to XferModes with additional\nsupported native values that map to SkBlendMode constants\nCreated new BlendModeColorFilter\nDeprecated PorterDuffColorMode and PorterDuffColorFilter in\nfavor of BlendMode and BlendModeColorFilter.\nUpdated Paint API to use setBlendMode and deprecated setXfermode\n\nBug: 119671925\nBug: 112166079\nBug: 73224934\nTest: Added CTS tests for BlendMode and BlendModeColorFilter\nChange-Id: Idd50e2f0b81975c5ecf6f1c0edd4eb68198d9131\n"
    },
    {
      "commit": "9fed6daf9c263c435a0529b672dda99efd4cc00d",
      "tree": "72acc01d760c042802abfc699aa5bcd97127905c",
      "parents": [
        "9246fc76169d167df0a208476ac18d84503f2a1c",
        "a6ceda2e9bacb5315612745c21f7fd134ddeb8d9"
      ],
      "author": {
        "name": "Hyunyoung Song",
        "email": "hyunyoungs@google.com",
        "time": "Wed Dec 05 06:02:31 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 05 06:02:31 2018 +0000"
      },
      "message": "Merge \"Make AdaptiveIconDrawable to read in config_icon_mask at non boot time\""
    },
    {
      "commit": "a6ceda2e9bacb5315612745c21f7fd134ddeb8d9",
      "tree": "46296e9ba081e5311db9025ce2ac3447dadaf9eb",
      "parents": [
        "e1b9672d80117119abbcf43e2b8ef180d0190c07"
      ],
      "author": {
        "name": "Hyunyoung Song",
        "email": "hyunyoungs@google.com",
        "time": "Fri Nov 30 13:52:33 2018 -0800"
      },
      "committer": {
        "name": "Hyunyoung Song",
        "email": "hyunyoungs@google.com",
        "time": "Tue Dec 04 16:11:52 2018 -0800"
      },
      "message": "Make AdaptiveIconDrawable to read in config_icon_mask at non boot time\n\nBug: 120286620\nBug: 120286623\n\nTest: adb shell cmd overlay enable --user 0 com.android.theme.icon.square\n\nChange-Id: Ifcb8f39308ba3b1702df983c87be3872abdbf68d\n"
    },
    {
      "commit": "37fc6eaaf44b416b142e6b45c62203cc7b8c40ea",
      "tree": "045f6ed05b15f3f2e181751456ca4bb85e9229bb",
      "parents": [
        "1e1d576b5cda35145eea87b35e989cd2a693b255",
        "1ca52e44ccf2566cd7c33062352a9305d36091e2"
      ],
      "author": {
        "name": "Daniel Solomon",
        "email": "solomondaniel@google.com",
        "time": "Tue Dec 04 20:12:46 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 04 20:12:46 2018 +0000"
      },
      "message": "Merge \"Add API to ColorSpace to compute chromaticity coordinates from CCT\""
    },
    {
      "commit": "d380bd78bb68785eeef1cbbf9fd1230310c5687b",
      "tree": "ffae1af4a94b0c82dea04ab2a1c965b245c0e5e1",
      "parents": [
        "c999d5ee849e23bfc49d5e56235702852c966b07",
        "68d1d5ae7e228ceb19f70366567d85c1efa7b6b5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 04 10:10:11 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 04 10:10:11 2018 +0000"
      },
      "message": "Merge \"Select closest font\u0027s style for backward compatibility\""
    },
    {
      "commit": "68d1d5ae7e228ceb19f70366567d85c1efa7b6b5",
      "tree": "8362702fb6f5727b52ce5be7e0e2e4976c2f2483",
      "parents": [
        "122c0879cdf41aacb3df461c475e4aaf1b90f49f"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Mon Dec 03 19:48:49 2018 -0800"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Mon Dec 03 20:16:26 2018 -0800"
      },
      "message": "Select closest font\u0027s style for backward compatibility\n\nBug: 119425212\nTest: atest CtsGraphicsTestCases\nTest: atest CtsContentTestCases:android.content.res.cts.ResourcesTest\nChange-Id: I796baf342f752366040b657954b0f82d358a7790\n"
    },
    {
      "commit": "b0160bb54101f3b101190707a43ba5294a4fdbe7",
      "tree": "96d018e9c1cfc2d2d992eda0caba1ddd5a908022",
      "parents": [
        "390de008b00e5a51b9cf225b0d477c1fd7db6003",
        "65add4028167cbe4e469dd6dc9031db3b5a4fad9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Dec 03 22:32:37 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 03 22:32:37 2018 +0000"
      },
      "message": "Merge \"Fix issue with xml GradientDrawables consuming both resources and parameters provided by the Theme leading to array size mismatch exceptions being thrown.\""
    },
    {
      "commit": "1ca52e44ccf2566cd7c33062352a9305d36091e2",
      "tree": "1bac09289affe64b050317cd39ac0d73dea5f24d",
      "parents": [
        "122c0879cdf41aacb3df461c475e4aaf1b90f49f"
      ],
      "author": {
        "name": "Daniel Solomon",
        "email": "solomondaniel@google.com",
        "time": "Thu Nov 29 12:47:46 2018 -0800"
      },
      "committer": {
        "name": "Daniel Solomon",
        "email": "solomondaniel@google.com",
        "time": "Sun Dec 02 12:01:11 2018 -0800"
      },
      "message": "Add API to ColorSpace to compute chromaticity coordinates from CCT\n\nAdd a ColorSpace API that computes the chromaticity coordinates of a CIE\nseries D illuminant from the specified correlated color temperature.\n\nTest: cts-tradefed run singleCommand cts-dev --module CtsGraphicsTestCases --test android.graphics.cts.ColorSpaceTest\nBug 116516917\n\nChange-Id: I6c9f2a23ed548556d5fbdcc22ed5a094a76bb8e4\n"
    },
    {
      "commit": "7b705a37cc12463f3a028448530dcef2e70df66e",
      "tree": "1a3b508e5c2b2b686afd24c5a272b51809282f8e",
      "parents": [
        "b9df101c9eac5ce534f274c04913e54ea2c3de1d",
        "9d04f3ee11e863e215c47d569f519e4d4aff5e9f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Dec 01 00:04:51 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Dec 01 00:04:51 2018 +0000"
      },
      "message": "Merge \"Remove mFamilies from Typeface\""
    },
    {
      "commit": "65add4028167cbe4e469dd6dc9031db3b5a4fad9",
      "tree": "35405f1a0bfa5ef92da526d7c169ff7744c65176",
      "parents": [
        "f66699ae165ce30f1cda1cfd704027a75bf457d2"
      ],
      "author": {
        "name": "Nader Jawad",
        "email": "njawad@google.com",
        "time": "Fri Nov 30 13:13:26 2018 -0800"
      },
      "committer": {
        "name": "Nader Jawad",
        "email": "njawad@google.com",
        "time": "Fri Nov 30 13:13:26 2018 -0800"
      },
      "message": "Fix issue with xml GradientDrawables consuming both resources\nand parameters provided by the Theme leading to array size\nmismatch exceptions being thrown.\n\nGradientDrawable#updateGradientDrawableGradient is invoked multiple\ntimes during xml inflation, once with the attributes provided in the xml\nand another with attributes provided in the Theme. However, if\nparameters come from both the xml resources and the theme, when\ntheme attributes are applied it can partially squash previously applied\nvalues.\n\nIn the case of gradients this can lead to a previously initialized\npositions array with floating point offsets for color positions\nbeing applied but not overriden with theme attributes that only include\na portion of the attribute values leading to exceptions being thrown\nas the colors and positions arrays are not of the same size\n\nBug: 112122447\nTest: Created test of xml inflation of GradientDrawables both with and\nwithout theme attributes\n\nChange-Id: Ie4183e2304677d30b6faef1cdc5c1be27ef9edd4\n"
    },
    {
      "commit": "94da729e426ec8f806411cf63b3e783d0b1c5838",
      "tree": "02aa3e82ec3963a1918c2b0d55c7f6bc635e73d2",
      "parents": [
        "3beb2e460a4856f08fdd85fb86a6cb13ec2f2763",
        "6310160c4ee85f1d1b7935c82b29e9589247981d"
      ],
      "author": {
        "name": "Daniel Solomon",
        "email": "solomondaniel@google.com",
        "time": "Fri Nov 30 18:38:15 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 30 18:38:15 2018 +0000"
      },
      "message": "Merge \"Add a public chromatic adaptation API to ColorSpace\""
    },
    {
      "commit": "6b160006e97d0e9b27e3b4831471ea2a94c6b297",
      "tree": "309fe7972b3ac7694dec20a57aaf199c55e92ce1",
      "parents": [
        "09c07c3533b11028b4e7da615156026fa8599b85"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Wed Nov 28 00:39:28 2018 -0800"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Thu Nov 29 21:52:00 2018 -0800"
      },
      "message": "Enforce at least 64 fallback capacity for custom font fallback.\n\nBug: 119620208\nTest: atest TypefaceCustomFallbackBuilderTest\nChange-Id: Ibf1eaac97a4f940f00ef117f7fb386f72b67b6c5\n"
    },
    {
      "commit": "cce6c22e767ec5ddef78f5c4edda40a73b058798",
      "tree": "5c41520de0ef1987210fc49a7e47597d40dd41f2",
      "parents": [
        "284f8e2531698b3627e08fb594bda874a68e890a",
        "29cad18bd36e35e509ff25daf8b3ccd4eed1685a"
      ],
      "author": {
        "name": "Nader Jawad",
        "email": "njawad@google.com",
        "time": "Thu Nov 29 21:25:40 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 29 21:25:40 2018 +0000"
      },
      "message": "Merge \"Hidden API usage Landroid/graphics/Canvas;-\u003emBitmap:Landroid/graphics/Bitmap;\""
    },
    {
      "commit": "fd45bee1765c7d438119c6eaf0dc3d84f3936ea5",
      "tree": "cd37f0d6cfb3b94e349fa8317558371cfaea085d",
      "parents": [
        "362a3caaf187784b21a4956218799c36b96548fb",
        "f96b284dec00580c6a586cf6787b98eeb2cd73f5"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Nov 29 20:39:08 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 29 20:39:08 2018 +0000"
      },
      "message": "Merge \"Add a unique ID to rendernode\""
    },
    {
      "commit": "362a3caaf187784b21a4956218799c36b96548fb",
      "tree": "e65f0de8a130896dc7555a4d1b89ef0eb2a072bc",
      "parents": [
        "1a4c431e264b78e56793ccd10b75f41356b81804",
        "3af32bd94ff3071a5b21b56908dd65f0dda4613f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 29 20:21:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 29 20:21:27 2018 +0000"
      },
      "message": "Merge \"Make Drawable#isProjected public\""
    },
    {
      "commit": "f96b284dec00580c6a586cf6787b98eeb2cd73f5",
      "tree": "60718dd4bbb9d2529af4db23be5dbac415b67a8b",
      "parents": [
        "9a72ec33d78a43c8771bfa03061c0fc9d6e4225d"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Nov 29 09:44:10 2018 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Nov 29 10:34:32 2018 -0800"
      },
      "message": "Add a unique ID to rendernode\n\nBug: 120089776\nTest: dump\u0027d skp, verified ID present\nChange-Id: I97a03804ebc53925e1b79db3dd616a728eff0bfa\n"
    },
    {
      "commit": "f96c90ac6c4e12113b5d0187bf3be9b39e7027f4",
      "tree": "fc94913301fe50110c27d0d9a339bf7780df6b81",
      "parents": [
        "e30fc89f6ef268e45c3879a03c4d294ca4f1ba1c"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Wed Sep 26 16:55:15 2018 +0200"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Thu Nov 29 13:37:43 2018 +0100"
      },
      "message": "A brave new world for window insets (1/n)\n\nThis CL starts a journey to discover a brave new inset world. The\npath to get us there may be rocky, but it\u0027s going to be rocky.\n\nOne of the main pledges of the new API is that an app can retrieve\nwhat is causing a certain inset easily. For that, we need to\ndispatch metadata who is causing what inset, such that we can query\nit from the client side.\n\nFurthermore, the client will be able to manipulate insets directly,\nbut also listen to animation changes. We don\u0027t want to go through\nwindow manager for that, thus, there needs to be a local codepath\nfrom (global window state -\u003e WindowInsets).\n\nBecause we have these two requirements, we dispatch the relevant\nglobal window state for insets, represented by InsetsState, and\ndispatch it to the client. On the client side we take the frame\nand the InsetsState and generate WindowInsets out of it.\n\nBug: 118118435\nTest: InsetsSourceTest, InsetsStateTest, InsetsSourceProviderTest,\nInsetsStateControllerTest\nChange-Id: I2bfe9dda376512916261823fc2ee35cbedeb6731\n"
    },
    {
      "commit": "9d04f3ee11e863e215c47d569f519e4d4aff5e9f",
      "tree": "0a8bde7b6e0099ecc491acad6de0934f6ff3b435",
      "parents": [
        "ce871128cd381df762c0d183b9dcd50a748c962a"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Wed Nov 28 22:50:09 2018 -0800"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Wed Nov 28 22:50:09 2018 -0800"
      },
      "message": "Remove mFamilies from Typeface\n\nmFamilies was added for itemize API but it won\u0027t happen in this\nrelease, so removing unused member from Typeface.\n\nBug: 120177351\nTest: TreeHugger\nChange-Id: Iee0e381b28aa42daba1621084ce5a9d1a8753cd5\n"
    },
    {
      "commit": "18c9aa3e66666b5a8e055fcb7d9d564e2f0e788f",
      "tree": "ed5d1f2229c5bfc4a7447732c748573b91e54c34",
      "parents": [
        "ce871128cd381df762c0d183b9dcd50a748c962a"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Wed Nov 28 00:00:31 2018 -0800"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Wed Nov 28 17:17:31 2018 -0800"
      },
      "message": "Add Canvas.drawTextRun(MeasuredText)\n\nThis API is needed to port PrecomputedText in support library.\n\nBug: 112327179\nTest: atest CtsWidgetTestCases\nTest: atest CtsGraphicsTestCases\nTest: atest CtsTextTestCases\nChange-Id: Ib3aa4cc9e486bdcf6e4cbbfa75c0d2cf6960e982\n"
    },
    {
      "commit": "29cad18bd36e35e509ff25daf8b3ccd4eed1685a",
      "tree": "57a0e632b773028848695543ab952eac07f7b222",
      "parents": [
        "f66699ae165ce30f1cda1cfd704027a75bf457d2"
      ],
      "author": {
        "name": "Nader Jawad",
        "email": "njawad@google.com",
        "time": "Wed Nov 28 16:48:07 2018 -0800"
      },
      "committer": {
        "name": "Nader Jawad",
        "email": "njawad@google.com",
        "time": "Wed Nov 28 17:10:08 2018 -0800"
      },
      "message": "Hidden API usage Landroid/graphics/Canvas;-\u003emBitmap:Landroid/graphics/Bitmap;\n\nAdded maxTargetSdk version for Android P for access of mBitmap field\nthrough reflection. The bitmap field is configured by application usages\nonly already so there is no need for apps to query the Bitmap from the\nCanvas and should do so directly. Getters on Canvas is generally seen\nas an anti-pattern.\n\nBug: 117521088\nTest: none\nChange-Id: Ie2318248f7682fd4e0a46121bc6e9f5c1546dcfb\n"
    },
    {
      "commit": "3af32bd94ff3071a5b21b56908dd65f0dda4613f",
      "tree": "fd27e855cba92672c54ed3e74f93b4d628c419ee",
      "parents": [
        "f66699ae165ce30f1cda1cfd704027a75bf457d2"
      ],
      "author": {
        "name": "Nader Jawad",
        "email": "njawad@google.com",
        "time": "Wed Nov 28 15:54:09 2018 -0800"
      },
      "committer": {
        "name": "Nader Jawad",
        "email": "njawad@google.com",
        "time": "Wed Nov 28 16:08:10 2018 -0800"
      },
      "message": "Make Drawable#isProjected public\n\nModify Drawable public API to no longer mark isProjected\nas hidden. This makes the Drawable API consistent with the public\nRenderNode API and enables androidx to move away from accessing\nthis method through reflection\n\nBug: 120159096 117521142\nTest: none\nChange-Id: Icdd778bf3d8842eb2d69e5872f704c7e96f915fa\n"
    },
    {
      "commit": "6310160c4ee85f1d1b7935c82b29e9589247981d",
      "tree": "fcc760e645db796f17e1d9ee02aebed79c41ea15",
      "parents": [
        "9ebc59e956dae017cb519c61277c56ecc2875b57"
      ],
      "author": {
        "name": "Daniel Solomon",
        "email": "solomondaniel@google.com",
        "time": "Tue Nov 27 13:15:10 2018 -0800"
      },
      "committer": {
        "name": "Daniel Solomon",
        "email": "solomondaniel@google.com",
        "time": "Wed Nov 28 03:34:20 2018 +0000"
      },
      "message": "Add a public chromatic adaptation API to ColorSpace\n\nThis change adds a public version of ColorSpace.chromaticAdaptation(),\nso that chromatic adaptation can be done on independent CIE xyY or XYZ\ncoordinates without the involvement of ColorSpace.Rgb.\n\nTest: cts-tradefed run singleCommand cts-dev --module CtsGraphicsTestCases --test android.graphics.cts.ColorSpaceTest\nBug 116516917\n\nChange-Id: I73c33750c343301bed4bb018c351d87c5043b59b\n"
    },
    {
      "commit": "39ba1b71fb24481159563cf38c57ca614c12fa7d",
      "tree": "ade47e19ef28cfc687910bf20667dcb6cc371320",
      "parents": [
        "b19111e8aa972da03e20e4b5fa5d64d08619ad0b",
        "e5f73f1c18460681319471cb083ad5908eba896a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 28 03:11:29 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 28 03:11:29 2018 +0000"
      },
      "message": "Merge \"Add new API for returning max custom fallback families\""
    },
    {
      "commit": "23b82af43f9d0b5543a2ca6b3eb2bab823c7262c",
      "tree": "de1bdbf3279a354668569b6ecefea9392b2719a0",
      "parents": [
        "1ca78d6198c21899a245a634e1059138c03b5230",
        "c0a315a1a8d66b16294bae18d44d80eff3bfc04a"
      ],
      "author": {
        "name": "Nader Jawad",
        "email": "njawad@google.com",
        "time": "Tue Nov 27 01:04:45 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 27 01:04:45 2018 +0000"
      },
      "message": "Merge \"Fix AdaptiveIconDrawable#getAlpha\""
    },
    {
      "commit": "93a1b159bc7cdc0491f8a5c2c30155fb30adff0f",
      "tree": "fc59d98a7c4584d194b8cf7c9c25a8676bd05cdb",
      "parents": [
        "0430c3ceef11063982e8f1e04106f0f72e041849",
        "911851b91fce61836eb1f384391e8a7f48c201cd"
      ],
      "author": {
        "name": "Hyunyoung Song",
        "email": "hyunyoungs@google.com",
        "time": "Mon Nov 26 17:12:33 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 26 17:12:33 2018 +0000"
      },
      "message": "Merge \"Fix isProjected and setAlpha method inside AdaptiveIconDrawable\""
    },
    {
      "commit": "911851b91fce61836eb1f384391e8a7f48c201cd",
      "tree": "63e43c7c8895b027717a46e658c7d84f708a568b",
      "parents": [
        "3389e5b577110e8b1a9b9dbfb63f828f671c8051"
      ],
      "author": {
        "name": "Hyunyoung Song",
        "email": "hyunyoungs@google.com",
        "time": "Tue Nov 20 11:12:54 2018 -0800"
      },
      "committer": {
        "name": "Hyunyoung Song",
        "email": "hyunyoungs@google.com",
        "time": "Wed Nov 21 16:06:22 2018 -0800"
      },
      "message": "Fix isProjected and setAlpha method inside AdaptiveIconDrawable\n\nTest: atest AdaptiveIconDrawableTest (in coretests and cts)\nBug: 119755247\nBug: 118503770\n\nSome contexts regarding why setAlpha was misbehaving before and after\nsetBounds: mPaint object which is used to setAlpha was shared between\nmLayerBitmpa and mMaskBitmap. When bounds changed, mMaskBitmap alpha was\nnever properly refreshed. To fix this issue AND to optimize memory\nfootprint, the drawable no longer make use of the mMaskBitmap object.\n\nCtsGraphicsTestCases (21 Tests)\n------------------------------\n[1/21] android.graphics.drawable.cts.AdaptiveIconDrawableTest#testInflateNull: PASSED (1ms)\n[2/21] android.graphics.drawable.cts.AdaptiveIconDrawableTest#testSetVisible: PASSED (1ms)\n[3/21] android.graphics.drawable.cts.AdaptiveIconDrawableTest#testDraw: PASSED (1ms)\n[4/21] android.graphics.drawable.cts.AdaptiveIconDrawableTest#testGetOpacity: PASSED (0ms)\n[5/21] android.graphics.drawable.cts.AdaptiveIconDrawableTest#testGetForegroundBackground: PASSED (25ms)\n[6/21] android.graphics.drawable.cts.AdaptiveIconDrawableTest#testGetConstantState: PASSED (0ms)\n[7/21] android.graphics.drawable.cts.AdaptiveIconDrawableTest#testIsStateful: PASSED (0ms)\n[8/21] android.graphics.drawable.cts.AdaptiveIconDrawableTest#testDrawNull: PASSED (1ms)\n[9/21] android.graphics.drawable.cts.AdaptiveIconDrawableTest#testDrawWithoutSetBounds: PASSED (0ms)\n[10/21] android.graphics.drawable.cts.AdaptiveIconDrawableTest#testGetIntrinsicHeight: PASSED (25ms)\n[11/21] android.graphics.drawable.cts.AdaptiveIconDrawableTest#testScheduleDrawable: PASSED (1ms)\n[12/21] android.graphics.drawable.cts.AdaptiveIconDrawableTest#testGetIntrinsicWidth: PASSED (1ms)\n[13/21] android.graphics.drawable.cts.AdaptiveIconDrawableTest#testSetColorFilter: PASSED (1ms)\n[14/21] android.graphics.drawable.cts.AdaptiveIconDrawableTest#testInflate: PASSED (1ms)\n[15/21] android.graphics.drawable.cts.AdaptiveIconDrawableTest#testMutate: PASSED (1ms)\n[16/21] android.graphics.drawable.cts.AdaptiveIconDrawableTest#testGetChangingConfigurations: PASSED (1ms)\n[17/21] android.graphics.drawable.cts.AdaptiveIconDrawableTest#testInvalidateDrawable: PASSED (0ms)\n[18/21] android.graphics.drawable.cts.AdaptiveIconDrawableTest#testUnscheduleDrawable: PASSED (25ms)\n[19/21] android.graphics.drawable.cts.AdaptiveIconDrawableTest#testConstructor: PASSED (0ms)\n[20/21] android.graphics.drawable.cts.AdaptiveIconDrawableTest#testSetAlpha: PASSED (0ms)\n[21/21] android.graphics.drawable.cts.AdaptiveIconDrawableTest#testDrawSetBounds: PASSED (478ms)\n\nSummary\n-------\nCtsGraphicsTestCases: Passed: 21, Failed: 0\n\nFrameworksCoreTests (6 Tests)\n----------------------------\n[1/6] android.graphics.drawable.AdaptiveIconDrawableTest#testDraw_withBounds: PASSED (454ms)\n[2/6] android.graphics.drawable.AdaptiveIconDrawableTest#testDraw_withoutBounds: PASSED (0ms)\n[3/6] android.graphics.drawable.AdaptiveIconDrawableTest#testGetIconMaskAfterSetBounds: PASSED (1ms)\n[4/6] android.graphics.drawable.AdaptiveIconDrawableTest#testGetIconMask_withoutBounds: PASSED (1ms)\n[5/6] android.graphics.drawable.AdaptiveIconDrawableTest#testGetOutline_withBounds: PASSED (0ms)\n[6/6] android.graphics.drawable.AdaptiveIconDrawableTest#testSetAlpha: PASSED (0ms)\n\nSummary\n-------\nFrameworksCoreTests: Passed: 6, Failed: 0\n\nChange-Id: Ie52019f14159e06b957760cb33118cb74f58415e\n"
    },
    {
      "commit": "c0a315a1a8d66b16294bae18d44d80eff3bfc04a",
      "tree": "f3bd573d871fe1d81a04649727021f0c24b72a56",
      "parents": [
        "f66699ae165ce30f1cda1cfd704027a75bf457d2"
      ],
      "author": {
        "name": "Nader Jawad",
        "email": "njawad@google.com",
        "time": "Mon Nov 19 21:28:24 2018 -0800"
      },
      "committer": {
        "name": "Nader Jawad",
        "email": "njawad@google.com",
        "time": "Wed Nov 21 13:19:26 2018 -0800"
      },
      "message": "Fix AdaptiveIconDrawable#getAlpha\n\nReverted getAlpha implementation to return the\nalpha value of the first non-null child drawable\n\nBug: 119668265\nTest: Added test to AdaptiveIconDrawableTest\nChange-Id: Ia3384755e8f9a83b88d586881eae80e4c201097f\n"
    },
    {
      "commit": "a358d7611ccf1a2a55da137ef3f8067ebac154e2",
      "tree": "bd19e000196f0407251b6f6d050c539debd50f30",
      "parents": [
        "24efb38c077b921726b99320b822655ab1909b70"
      ],
      "author": {
        "name": "Louis Chang",
        "email": "louischang@google.com",
        "time": "Mon Nov 19 18:25:34 2018 +0800"
      },
      "committer": {
        "name": "Louis Chang",
        "email": "louischang@google.com",
        "time": "Tue Nov 20 22:38:08 2018 +0800"
      },
      "message": "Set minimum scaled width/height to 1\n\nApplications could be launched on a secondary display that\nhas lower density than default display. While some applications\nmay use 1x1 image resource as activity background, the scaled\nwidth/height would be 0 if down scaling the 1x1 image with\nscale ratio that is less than 1/2.\n\nMaking sure the scaled width/height won’t less than 1 to\nprevent application crashed.\n\nBug: 117749148\nTest: Launch app on secondary display\n\nChange-Id: I73567dd237736466d0bc423485359d50073d86c1\n"
    },
    {
      "commit": "e5f73f1c18460681319471cb083ad5908eba896a",
      "tree": "c76d5b7377d63d0de14bb9f69e2356aefa365e36",
      "parents": [
        "4445345f201844299ed82e23e6a0402c07ba5119"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Mon Nov 19 09:37:59 2018 -0800"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Mon Nov 19 10:11:02 2018 -0800"
      },
      "message": "Add new API for returning max custom fallback families\n\nBug: 119620208\nTest: TypefaceCustomFallbackBuilderTest\nChange-Id: I7ef69bdebdce7d5dc4cbea2d30965c93197e965f\n"
    },
    {
      "commit": "5c6397e9bbc017a12a748fe818917adc470319b6",
      "tree": "f39863879dd5c2b1e406ee1881ef9b1a18ab2428",
      "parents": [
        "24f78ddda76d870373a1fbe875fc46b4054af84d"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Nov 14 15:14:44 2018 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Nov 14 15:25:10 2018 -0800"
      },
      "message": "Add compat workaround\n\nBug: 119066174\nTest: repro from bug\nChange-Id: Ifc50fc64422d571ee94ce8510825aed7f915adfd\n"
    },
    {
      "commit": "958176c775c1c1cb5ff87ecf5407c396b9dc2286",
      "tree": "fac2c5a9bdb5372a975c4feec9bd245dd9533f63",
      "parents": [
        "929cd0837af0fc558d367dd336034f7e107d4b08",
        "06dfab013635777790f4098a6f5f37507e89a1c6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Nov 10 23:34:30 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Nov 10 23:34:30 2018 +0000"
      },
      "message": "Merge \"Update API doc of Typeaface.setSystemFallback\""
    },
    {
      "commit": "a87656a7b5ebae5a2639fa4ca276c245d02733b9",
      "tree": "464c37b3dd75463dee85aaad10516f9e44e43599",
      "parents": [
        "5a19fd430e919c17e243e1bc355aeeae1711f6f1",
        "e5bc78ff9d668d2c85f0bb3df6a85c4f0d079b23"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Nov 10 06:31:40 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Nov 10 06:31:40 2018 +0000"
      },
      "message": "Merge \"Tweak RenderNode final/constructor API\""
    },
    {
      "commit": "06dfab013635777790f4098a6f5f37507e89a1c6",
      "tree": "63f87a8a331d053e83118c303ff634502aa786f6",
      "parents": [
        "25eb63ac4aeb767eaab3d7462264e959b78d8736"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Thu Nov 08 20:50:25 2018 -0800"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Fri Nov 09 17:02:36 2018 -0800"
      },
      "message": "Update API doc of Typeaface.setSystemFallback\n\nBug: 116116764\nTest: N/A\nChange-Id: I97ebdcfd8d4b4efb0a1d9e3729f74fe7fba96b12\n"
    },
    {
      "commit": "e5bc78ff9d668d2c85f0bb3df6a85c4f0d079b23",
      "tree": "2e286baa7e375d43950907553823ea3ee338cb4d",
      "parents": [
        "22b63148b14a0aac39323c1590c1cae3dc101979"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Nov 09 15:18:43 2018 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Nov 09 15:18:43 2018 -0800"
      },
      "message": "Tweak RenderNode final/constructor API\n\nBug: 112709971\nTest: builds\nChange-Id: Idc558645015078b923bd94abc320b2a65d8d2c6b\n"
    },
    {
      "commit": "6ae76d0d8a355cc34b6207cfb8e47384b0fdabdf",
      "tree": "7632503d68d606eff7d867c5147cc2e789fbf09f",
      "parents": [
        "72e8228fb8f903972e0903e0469619037006aa98",
        "8785ceb3b94b78312cd24e22f05610d9b654221e"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Nov 09 19:16:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 09 19:16:27 2018 +0000"
      },
      "message": "Merge \"Refactors and a potential public API for rendering\""
    },
    {
      "commit": "c578d38eb752c9ab3edaada6c4bd53900425f184",
      "tree": "8f0886277e615693c7c6784ce2592b3d9f4c3053",
      "parents": [
        "311f0ff0b371e326930b7456daaefb29b2caf5d0",
        "3d5c03df790c809c576256210fbd4c39a240ec53"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 09 03:55:04 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 09 03:55:04 2018 +0000"
      },
      "message": "Merge \"Deprecate Drawable#getOpacity\""
    },
    {
      "commit": "34f042d29057424db5348b43fff9419591584dff",
      "tree": "568599294270ca3df7cfe9448cf145fd55ac7808",
      "parents": [
        "7d60ed910f714cb8e4db652ba2dd1876e562ba50",
        "fc063e9c227e4fe460b32d6bdffab65e8031e34a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 09 01:46:33 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 09 01:46:33 2018 +0000"
      },
      "message": "Merge \"Updated ColorDrawable setAlpha/getAlpha documentation\""
    },
    {
      "commit": "fc063e9c227e4fe460b32d6bdffab65e8031e34a",
      "tree": "3e8955811c569b9bcf72613676de759e76a7f441",
      "parents": [
        "8ad9ef4aa9ac29823b17c67b343da4e96efcbb1a"
      ],
      "author": {
        "name": "Nader Jawad",
        "email": "njawad@google.com",
        "time": "Thu Nov 08 15:53:47 2018 -0800"
      },
      "committer": {
        "name": "Nader Jawad",
        "email": "njawad@google.com",
        "time": "Thu Nov 08 15:53:47 2018 -0800"
      },
      "message": "Updated ColorDrawable setAlpha/getAlpha documentation\n\nUpdated documentation on ColorDrawable to clarify that the alpha\nvalue provided is combined with the color\u0027s already existing alpha\nvalue instead of overwriting it.\n\nBug: 119004459\nTest: Build and boots\nChange-Id: Id62462c4ac7d2f46cdc3236876f7e0711fbc4c16\n"
    },
    {
      "commit": "3d5c03df790c809c576256210fbd4c39a240ec53",
      "tree": "170bb8735ee3f39c037bbc6d08578a509e44be24",
      "parents": [
        "8ad9ef4aa9ac29823b17c67b343da4e96efcbb1a"
      ],
      "author": {
        "name": "Nader Jawad",
        "email": "njawad@google.com",
        "time": "Thu Nov 08 15:30:49 2018 -0800"
      },
      "committer": {
        "name": "Nader Jawad",
        "email": "njawad@google.com",
        "time": "Thu Nov 08 15:33:31 2018 -0800"
      },
      "message": "Deprecate Drawable#getOpacity\n\nDeprecated getOpacity method on Drawable as the graphics optimization\nis no longer utilized in the framework\n\nBug: 118841703\nTest: Build and boots\nChange-Id: Ie21c9379a5e9737ed68c09c2e518732c1578b3cb\n"
    },
    {
      "commit": "8785ceb3b94b78312cd24e22f05610d9b654221e",
      "tree": "b5d3016cfa322fb354bf41b09ca86abc8e10365a",
      "parents": [
        "22b63148b14a0aac39323c1590c1cae3dc101979"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Oct 29 16:45:58 2018 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Nov 08 15:32:35 2018 -0800"
      },
      "message": "Refactors and a potential public API for rendering\n\nSplit out the View/ViewRootImpl bits from the\nhardware rendering bits.\n\nCreate a potential public API surface for\nhardware rendering\n\nBug: 112709971\nTest: builds \u0026 boots\n\nChange-Id: I9e6f44b07a170574a905f42338282c4bb7e95f56\n"
    },
    {
      "commit": "e6bded0d4a0760747d13a362dcc2d684d133db67",
      "tree": "fe694d228c8c518a62e888179927d5d613692820",
      "parents": [
        "fbf34f6d244cb0f02fffbe2f0dfd0a4507a3407b",
        "f69e7037bad4c8108ef2ce2805fb874e03b6dec9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 07 09:01:42 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 07 09:01:42 2018 +0000"
      },
      "message": "Merge \"Pass custom fallback info to minikin\""
    },
    {
      "commit": "68e8199c643062b82d46044d8c275974b6b7b51c",
      "tree": "53db66fd7635976fcab27c83b6e4c685e3d8e4f0",
      "parents": [
        "d40152e10b2c0c6aac0ba2df0c4ba24db1e8c1a5",
        "ec5e8d25f0f3526ebe0f8e51a4fe3dfb57b2acba"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Wed Nov 07 05:54:39 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 07 05:54:39 2018 +0000"
      },
      "message": "Merge \"Camera: Unhide and update Y8 format spec\""
    },
    {
      "commit": "f69e7037bad4c8108ef2ce2805fb874e03b6dec9",
      "tree": "d8e9a67e7cb4f7d6c533be7b7e6d3eeb2f434fde",
      "parents": [
        "11d5f416182f3ae20d352f17e31933a5f8d0aea6"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Thu Nov 01 14:30:18 2018 -0700"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Wed Nov 07 03:52:35 2018 +0000"
      },
      "message": "Pass custom fallback info to minikin\n\nThe custom fallback info is used for determine the priority between\ncustom fallback and locale fallback. The custom fallback should be\ngiven priority over locale fallback.\n\nBug: 116512426\nTest: minikin_tests\nTest: atest TypefaceCustomFallbackBuilderTest\nChange-Id: I79cc82fa990d7705ea5c40e9b0be40d062c218dc\n"
    },
    {
      "commit": "c1b6ab69c688ac263e4de80320b7b241fb11031d",
      "tree": "35f4f6d48b44d02f66b3b21ff68a7e40d7c505fa",
      "parents": [
        "de037ad4ff572a821e786ddbae20fb8bce57c7f6"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Tue Oct 30 16:43:08 2018 -0700"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Tue Nov 06 10:56:30 2018 -0800"
      },
      "message": "Introduce new API for specifying user font fallback\n\nBug: 111133573\nTest: atest TypefaceCustomFallbackBuilderTest\nChange-Id: I0345824ecd475e43dbb5e5451f647020c4b53a83\n"
    },
    {
      "commit": "0a2786cc5d16f330142c235f1a8b7cb05c3262fb",
      "tree": "024cca2e3a3261f9bcba8b536af137d4ec67a13f",
      "parents": [
        "f2c351abb478c958a0e11aa6748e6099e4ec20b2",
        "ee4b6d85dcc11bba2aaeea4811ba490c4c7e7028"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Mon Nov 05 21:09:23 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 05 21:09:23 2018 +0000"
      },
      "message": "Merge \"Refactor Typeface construction logic\""
    },
    {
      "commit": "ddeaa487dac907f2f5064671e21426e429f8fe5d",
      "tree": "79042392455bd7b7369cbfa9a3349afaf346f537",
      "parents": [
        "d6942d539ba6f2fd969c754673c7bd0ac21aac0f"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Oct 30 10:47:43 2018 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Nov 02 14:24:32 2018 -0700"
      },
      "message": "Make RenderNode public API\n\nBug: 112709971\nTest: CtsUiRenderingTestCases:.testclasses.RenderNodeTests\nChange-Id: I57d64165b842d03565eda5f4d37343c4f9c45d42\n"
    },
    {
      "commit": "3bef4908b2d9392d8bae6900bd236c4be77f0323",
      "tree": "8be4e2352450dc1e28ac0d00d352830251946324",
      "parents": [
        "367d14a1b5172efb2e60e20fc8daf708603aaeda"
      ],
      "author": {
        "name": "Siyamed Sinir",
        "email": "siyamed@google.com",
        "time": "Tue Oct 30 14:53:18 2018 -0700"
      },
      "committer": {
        "name": "Siyamed Sinir",
        "email": "siyamed@google.com",
        "time": "Tue Oct 30 16:53:59 2018 -0700"
      },
      "message": "Move MeasuredText.sRegistry to Builder\n\nTest: atest android.graphics.text.cts.MeasuredTextTest\nTest: atest android.graphics.text.cts.LineBreakerTest\nTest: atest android.text.cts.StaticLayoutTest\n\nBug: 117888473\nBug: 112327179\nChange-Id: I0c1b86928429dce02867ac0cba674e0f69fc5fdf\n"
    },
    {
      "commit": "ee4b6d85dcc11bba2aaeea4811ba490c4c7e7028",
      "tree": "4cc12da12db1ae5de367a7b012919b3b786088f8",
      "parents": [
        "6b82d83d6ba1753eb38b5f885379a6893e49734d"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Thu Oct 25 13:12:03 2018 -0700"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Tue Oct 30 12:18:12 2018 -0700"
      },
      "message": "Refactor Typeface construction logic\n\nAPI refactoring:\n- Replace Font.getWeight()/getSlant() with Font.getStyle().\n- Change Typeface.CustomFallbackBuilder.setItalic() to setSlant()\n\nImplementation refactoring:\n- Add hidden builder API for asset manager with cookie. The cookie is\ninternal, so hide the API as well.\n- Replace createFromResources with Typeface.Builder\n- Reimplement Typeface.Builder with Typeface.CustomFallbackBuilder\n\nGround work for b/114479228\n- Keep list of FontFamily in the Typeface.\n\nBug: 114479228\nTest: atest CtsTestCases\nTest: atest CtsGraphicsTestCases\nTest: atest CtsWidgetTestCases\nChange-Id: Ifaaa58ddea147644a93158aa075394c2f645617c\n"
    },
    {
      "commit": "a5ce2c7c7cef1930fd98c37a42a85e879d91824d",
      "tree": "f5be4f6373c40e8e67bdaa254949c9d48358acb4",
      "parents": [
        "84f970c840bb168b5199963fe5522875c41381ff",
        "d06aa0ab1fc66b370e85b97a590c48c810ae81c5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 29 20:06:34 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 29 20:06:34 2018 +0000"
      },
      "message": "Merge \"Register generic font families in Zygote\""
    },
    {
      "commit": "ec5e8d25f0f3526ebe0f8e51a4fe3dfb57b2acba",
      "tree": "81012b3e5c497b509703ef6c3690c79fc103debe",
      "parents": [
        "68585439aaa41be3275a35de29e84e8ccb2fc062"
      ],
      "author": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Fri Sep 28 09:28:48 2018 -0700"
      },
      "committer": {
        "name": "Shuzhen Wang",
        "email": "shuzhenwang@google.com",
        "time": "Mon Oct 29 07:44:13 2018 -0700"
      },
      "message": "Camera: Unhide and update Y8 format spec\n\n- Unhide Y8 format as part of MONOCHROME camera support.\n- Specify required stream combination for Y8 format.\n\nTest: Camera CTS test\nBug: 70216652\nChange-Id: Iab28b7ee3f2d5ec534a517079f14e0ed648ae556\n"
    },
    {
      "commit": "815aa66d3cb21d4bcb84688a2b180a22e5efe4c1",
      "tree": "118752a3b74a45b1cd93c2ec3d92d8cda990df43",
      "parents": [
        "abc7c746667601500b9b65d1e59f39859da393c5",
        "c7ddcf390ffdc71e48ba402a7cc451f4a2a0f62e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Oct 27 00:24:59 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Oct 27 00:24:59 2018 +0000"
      },
      "message": "Merge \"Update some docs \u0026 tweak some method names\""
    },
    {
      "commit": "d06aa0ab1fc66b370e85b97a590c48c810ae81c5",
      "tree": "1848f926880d3b32dc1efc89724a5d033fa25667",
      "parents": [
        "ffe3226069984e6c8e3f7bf08941d74c2afd3fdc"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Fri Oct 26 16:26:05 2018 -0700"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Fri Oct 26 17:17:48 2018 -0700"
      },
      "message": "Register generic font families in Zygote\n\nBug: 114479228\nTest: TreeHugger and verified this is booted manually\nChange-Id: I5e2c25ad01d5686e6116f343c7345d43f8160c62\n"
    },
    {
      "commit": "c7ddcf390ffdc71e48ba402a7cc451f4a2a0f62e",
      "tree": "34eef9e215c1b4edace2bcb59665d6eea7160378",
      "parents": [
        "bef47d02d5ccf0238173027e6830b3f1bf05f0df"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Oct 25 13:56:17 2018 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Oct 26 13:57:12 2018 -0700"
      },
      "message": "Update some docs \u0026 tweak some method names\n\nTest: builds\nChange-Id: Id0e5cf6fdb3a391136a1d314498f75e0b954ceeb\n"
    },
    {
      "commit": "3fb3ac1ab2ad9a178264b7845a7853b636b47e43",
      "tree": "0ba27988b1a16aae60efd6940ea0689b20289b0f",
      "parents": [
        "4b81463736bc544f1362ca4272b7435285a43ac1",
        "54c6a2722bf82f3c7c39eee9c2556f1bf41c8a9c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Oct 26 04:12:51 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 26 04:12:51 2018 +0000"
      },
      "message": "Merge \"Keep file path used to create SkTypeface in MinikinFontSkia\""
    },
    {
      "commit": "c59e7dd6ad18787eb84e55c10dfdfd7d2b88d049",
      "tree": "d01cb182e5e71bb4b55dbffaa165afd539732b31",
      "parents": [
        "be452b24b54d75707839a161878814051a1668b5",
        "c2eaf48e4203dac1050a53f08b9475be74fff8da"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Oct 25 18:17:28 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 25 18:17:28 2018 -0700"
      },
      "message": "Merge \"Clarify createScaledBitmap\u0027s \u0027filter\u0027 docs\" am: e0f6d84ba1 am: 324cb8c075\nam: c2eaf48e42\n\nChange-Id: Id0a228f273f83b238ba1df92a78b7a0da66c4209\n"
    },
    {
      "commit": "54c6a2722bf82f3c7c39eee9c2556f1bf41c8a9c",
      "tree": "742fd411c546acbc869e1ad0bb1fd75ff06287c1",
      "parents": [
        "f5231c8c02f3d5ca3d9a208cf5ee091cdc786482"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Thu Oct 25 15:44:32 2018 -0700"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Thu Oct 25 22:49:04 2018 +0000"
      },
      "message": "Keep file path used to create SkTypeface in MinikinFontSkia\n\nThis is a ground work for the itemize API. The file path will be the\noutput of the itemize API.\n\nBug: 114479228\nTest: minikin_tests\nTest: hwui_unit_tests (only tested on 32bit. couldn\u0027t test 64bit)\nChange-Id: I70252594889175bf5fa0013bbaa95c6c87ca5680\n"
    },
    {
      "commit": "c2eaf48e4203dac1050a53f08b9475be74fff8da",
      "tree": "5b0748558f028ca27347358ebbc38c5f00b0caa7",
      "parents": [
        "4c8a976a0e9857a3a6bd3359b81754bc02248928",
        "324cb8c07579d9a830626884c5c4586e882acf13"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Oct 24 15:37:38 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 24 15:37:38 2018 -0700"
      },
      "message": "Merge \"Clarify createScaledBitmap\u0027s \u0027filter\u0027 docs\" am: e0f6d84ba1\nam: 324cb8c075\n\nChange-Id: I29ff879ded8e40f73c5326bf1f929b117ede96d6\n"
    },
    {
      "commit": "a2d20b447a003251f42195dfb7fa41671f89b673",
      "tree": "90f54c103809deb19c6af93727a2d6c43d139d5d",
      "parents": [
        "c63d1cc434ea7422d6f9ef2bd396e1b0b0ec7cac"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Oct 01 12:21:55 2018 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Oct 24 10:17:20 2018 -0700"
      },
      "message": "Add theme \u0026 View API to control force-dark\n\nBug: 102591313\nTest: CTS android.uirendering.cts.testclasses.ForceDarkTests\n\nChange-Id: I6ba129681aed8e2f3f1b1ac60d458bb5f5393e9b\n"
    },
    {
      "commit": "f5cf9f24ed7d86ab406a5d220d87e8951f13541b",
      "tree": "7a91c46d35dca277737ad2a03641e0dd45f22712",
      "parents": [
        "a94a71af13a830bf338ebd19aac61dccab8aed95",
        "45d2c252b19c08bbd20acaaa2f52ae8518150169"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Tue Oct 23 21:53:51 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 23 21:53:51 2018 +0000"
      },
      "message": "Merge \"Move some members to the \"Q blacklist\".\""
    },
    {
      "commit": "8884cfc13ef7a8848a41094e4452c7a72a62c908",
      "tree": "a97e06d08e4f27852457a5ba7c046fc2dcb1f207",
      "parents": [
        "51d48e09a5140c697d2af072c18f6e3cd89be54a",
        "32f140aa6764ebc71b549e57479a42fc3daefc8a"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Tue Oct 23 20:02:00 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 23 20:02:00 2018 +0000"
      },
      "message": "Merge \"Rename \u0026 package shuffle\""
    },
    {
      "commit": "45d2c252b19c08bbd20acaaa2f52ae8518150169",
      "tree": "d5c04325ae04d4a4d3ce46ac58a062f0eb536ad5",
      "parents": [
        "7fff7e5eff2640fac3729ff4f955f8e37cebf75f"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Fri Sep 14 12:35:36 2018 +0100"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Mon Oct 22 17:28:24 2018 -0700"
      },
      "message": "Move some members to the \"Q blacklist\".\n\nBased on some analysis, these fields/methods are likely false positives.\nSet maxTargetSdk\u003dP so that any apps using them are required to migrate off\nthem in future. See the bug for more details.\n\nExempted-From-Owner-Approval: Automatic changes to the codebase\naffecting only @UnsupportedAppUsage annotations, themselves added\nwithout requiring owners approval earlier.\n\nBug: 115609023\nTest: m\nMerged-In: I719b5c94e5b1f4fa562dd5d655953422958ad37e\nChange-Id: I719b5c94e5b1f4fa562dd5d655953422958ad37e\n(cherry picked from commit 8c854f86a477fbbee38092f449333e1425e5cd7e)\n"
    },
    {
      "commit": "7ba6f430f635ea09d506b4de1774b703c69bf552",
      "tree": "1a0396e8c914e6492acab22a1307272687e14f22",
      "parents": [
        "cbcaabedfd54ae034635bbe2ec220f8f2b540fa6"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Oct 22 13:23:12 2018 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Oct 22 13:24:48 2018 -0700"
      },
      "message": "Clarify createScaledBitmap\u0027s \u0027filter\u0027 docs\n\nReddit complained the docs were bad, so make the docs less bad.\n\nTest: none\nChange-Id: I61928ea859af4ce0a63a9b545ea1b6dd965cc3df\n"
    },
    {
      "commit": "9958c4ab21b9df323a29915181ab1f278f06ab11",
      "tree": "b1c8da6dff5f127b1cc71094609d7179a5c3ac7a",
      "parents": [
        "d8c16347a9915993d8126a68159e408a7a659202"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Wed Oct 17 16:41:35 2018 -0700"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Fri Oct 19 14:51:59 2018 -0700"
      },
      "message": "Introduce FontStyle for future extensibility\n\nThis is a ground work for b/114479228\nFontStyle is an argument of the font itemization. Currently Android\nsystem uses weight and italic info for itemizing but maybe we will\nuse width and oblique style in future.\nTo be extensible in future, introduce FontStyle.\n\nThis CL includes:\n- new class FontStyle which holds width and italic at this moment. In\n  future, we may add width and oblique. (or grdual italic slant)\n- Font class still returns weight/slant since they need to be immutable.\n- Moved font weight constants from Font to FontStyle\n\nBug: 114479228\nTest: atest CtsGraphicsTestCases\nChange-Id: I0ba717fbf9f90ee6f760c1a0f6eda17b4bef6f43\n"
    },
    {
      "commit": "047edaeaa3e4aea389f3cbc1be9c9763e6ae2832",
      "tree": "4e61fdadd9fed78659b443dc36de0fe5ad2a1b79",
      "parents": [
        "e428c326530a83c1e00fe2da7bb8cf3d051adbe1",
        "5282796ac3c3021336cd0e0ad323e98a90917f7b"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Fri Oct 19 15:21:54 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 19 15:21:54 2018 +0000"
      },
      "message": "Merge changes I86f597f1,I5c9c09dd\n\n* changes:\n  MediaStore deprecations for Q.\n  Convenience method for obtaining thumbnails.\n"
    },
    {
      "commit": "7b86fe573c7d30dbe14e067fdac0ef424751cc86",
      "tree": "d57a5316bbefd7f61540b5652b6b0d6d7df20f3e",
      "parents": [
        "916bdd7d4d17257d7c3df0debf80274819503d66"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Tue Oct 16 18:02:32 2018 -0700"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Thu Oct 18 14:58:18 2018 -0700"
      },
      "message": "Change add{StyleRun, ReplacementRun} to append{StyleRun, ReplacementRun}\n\nGiving any range to the Builder is too much freedum and hard to tell\nerrors. Changes to accept length instead of ranges. By this change, we\ncan prevent and tell errors about\n- The gap in the text that no Paint is assigned.\n- The given range is overlapped.\n- The given range exceeds the text length.\n\nBug: 112327179\nTest: TreeHugger\n\nChange-Id: Iefc078b1f7be2d006a65b46e0b4ea1018ecb29e7\n"
    },
    {
      "commit": "4e5efa31864121326a1c6796c2b8e54492aad179",
      "tree": "a380dbd18cf02c63d3f77720f2ea74aa3944dd0b",
      "parents": [
        "47bf6668dc22ee79db15bd9fb1676f81a0251472"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Oct 04 19:21:53 2018 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Oct 18 14:32:51 2018 -0600"
      },
      "message": "Convenience method for obtaining thumbnails.\n\nObtaining a thumbnail for a Uri requires opening it with the slightly\nobscure openTypedAssetFileDescriptor(), passing in \"image/*\" with the\nright Bundle of EXTRA_SIZE to hint the target area on screen, and\ndefensively scaling any returned results.\n\nThis is pretty tedious to get right, so offer a convenience method\nthat does all this for the developer.  Internally uses ImageDecoder\nto follow best-practices, and replaces older getDocumentThumbnail()\nimplementation by delegating to this one.\n\nA future CL will teach ImageDecoder about how to read any embedded\nEXIF thumbnails, including any required rotation.\n\nBug: 111268862\nTest: atest FrameworksCoreTests:android.content.ContentResolverTest\nChange-Id: I5c9c09ddf9b480f3b5c6ade0a078cccb68de2f2b\n"
    },
    {
      "commit": "4a772fc4d2d8578489cdd305f03832f8ca04981f",
      "tree": "e0506d3f4616b755db8c196df4613b07b136b3b5",
      "parents": [
        "dfa4c24aafd18b07077427b36d302414bceff5c1",
        "9fe7cdf3a5d9507fae8e837c4b337a95ef0cf3f5"
      ],
      "author": {
        "name": "Fan Zhang",
        "email": "zhfan@google.com",
        "time": "Tue Oct 16 22:04:51 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 16 22:04:51 2018 +0000"
      },
      "message": "Merge \"Refactor the nativePtr validation code to a method.\""
    },
    {
      "commit": "9fe7cdf3a5d9507fae8e837c4b337a95ef0cf3f5",
      "tree": "3ee2c3d3f56c8b3eec38efcf71a1b32db012957d",
      "parents": [
        "d80c72ab88aa4548a9af58d4a78e54fef18b3706"
      ],
      "author": {
        "name": "Fan Zhang",
        "email": "zhfan@google.com",
        "time": "Tue Oct 16 10:21:09 2018 -0700"
      },
      "committer": {
        "name": "Fan Zhang",
        "email": "zhfan@google.com",
        "time": "Tue Oct 16 13:30:03 2018 -0700"
      },
      "message": "Refactor the nativePtr validation code to a method.\n\nThis will make testing much easier.\n\nBug: 117828816\nTest: robotests\nChange-Id: I1ca81e2005e559c0ec1e5f468cdd4bc0c21edbea\n"
    },
    {
      "commit": "93cd653b226da03658d550c4cb691ea43ce8440c",
      "tree": "002aaee38bf459f263c0f0cd8a40d9dee63d2e97",
      "parents": [
        "f70e1edd6fb97f18e6e503393984021528435ba9",
        "bc56d73af292a737bb7e244fc9d37f9793bf8cd2"
      ],
      "author": {
        "name": "Peiyong Lin",
        "email": "lpy@google.com",
        "time": "Tue Oct 16 11:26:55 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 16 11:26:55 2018 -0700"
      },
      "message": "Merge \"[Graphics] Align Display P3 transfer function coefficients.\" am: fde18facba\nam: bc56d73af2\n\nChange-Id: Ib72ca917df3a778c4ad59dc46f672b482e8b62bf\n"
    },
    {
      "commit": "bc56d73af292a737bb7e244fc9d37f9793bf8cd2",
      "tree": "fa2e941d87d4a3278d05998fe856342e3cec6378",
      "parents": [
        "1e69440dff609998cc6057cae195799ad90587e5",
        "fde18facbadb7bd61e75c02469d5ee6ae68b1ce7"
      ],
      "author": {
        "name": "Peiyong Lin",
        "email": "lpy@google.com",
        "time": "Tue Oct 16 11:03:47 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 16 11:03:47 2018 -0700"
      },
      "message": "Merge \"[Graphics] Align Display P3 transfer function coefficients.\"\nam: fde18facba\n\nChange-Id: I242a8f1ccf0d2b662d745a0a956da7e7c8e3d790\n"
    },
    {
      "commit": "7a45d2c310e0596506a80ad1c09fb60822c8a4fa",
      "tree": "800b5af6390edb11e2fdaafea81daa727c37aaaf",
      "parents": [
        "a3608c91163829d8ee150c5d0c0e7c6b259fbceb"
      ],
      "author": {
        "name": "Peiyong Lin",
        "email": "lpy@google.com",
        "time": "Mon Oct 15 15:56:05 2018 -0700"
      },
      "committer": {
        "name": "Peiyong Lin",
        "email": "lpy@google.com",
        "time": "Tue Oct 16 16:50:25 2018 +0000"
      },
      "message": "[Graphics] Align Display P3 transfer function coefficients.\n\nThe transfer function of Display P3 should be sRGB transfer function,\npreviously we defined f as 0.039, however, the sRGB transfer function defines f\nas 0.04045. This patch fixes it.\n\nBUG: 116726537\nTest: Build, flash and boot\n\nChange-Id: I247092d8ce939aa743f23a1f8688cbaf0874fb99\nMerged-In: I247092d8ce939aa743f23a1f8688cbaf0874fb99\n"
    },
    {
      "commit": "dbd6e3fd88330206abb9431efa784b90ef7a1858",
      "tree": "9a5478d6a5efc7b4ebccd1b5772483993dc63201",
      "parents": [
        "bbfdce2c342c367124f48f529759ee48944883c7",
        "f198118ba106cc88dbd25e048bc301f18d1e9e33"
      ],
      "author": {
        "name": "Peiyong Lin",
        "email": "lpy@google.com",
        "time": "Tue Oct 16 16:48:46 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 16 16:48:46 2018 +0000"
      },
      "message": "Merge \"[Graphics] Align Display P3 transfer function coefficients.\""
    }
  ],
  "next": "f198118ba106cc88dbd25e048bc301f18d1e9e33"
}
