)]}'
{
  "log": [
    {
      "commit": "402fff12596fdf6cc270f5ce74029563a863127d",
      "tree": "148af9f68abcd2202092a72d483d2e5424a7f46a",
      "parents": [
        "5fb899d15b8ef9ea89bd92cd9934c240724985cc"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Thu Oct 25 16:28:27 2018 -0400"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Thu Oct 25 16:28:27 2018 -0400"
      },
      "message": "Use bilerp sampling when drawing TextureView with non-translate matrix\n\nDraw TextureView with bilerp sampling, when the matrix is not\ninteger translate or identity. For example scaling matrix or\ntranslation on X by 0.4f will draw with GL_LINEAR on OpenGL pipeline.\nTranslation on X by 3.0f will draw TextureView with GL_NEAREST.\n\nBug: 117890671\nTest: Passed CtsViewTestCases and CtsUiRenderingTestCases\nChange-Id: I72033410c8b0ab637c2e6b816ac9b04434286fbb\nMerged-In: I3acd710ff2cb4ee7b14dd4b7d9227842187130c9\n"
    },
    {
      "commit": "535fae32e597445a480896ea8e01662ada444c0c",
      "tree": "3d60213ac8686e19488cd2d081d5725a745debf5",
      "parents": [
        "2b2011a80529e72334a8fead2d2706e47cfa64b9"
      ],
      "author": {
        "name": "Tim Murray",
        "email": "timmurray@google.com",
        "time": "Mon Oct 15 16:29:15 2018 -0700"
      },
      "committer": {
        "name": "Tim Murray",
        "email": "timmurray@google.com",
        "time": "Thu Oct 18 23:26:10 2018 +0000"
      },
      "message": "hwui: purge malloc pages on bitmap destruction\n\nImmediately purge malloc pages on bitmap destruction. Bitmaps are often\nbig and can cause memory to stay high for much longer than it should.\n\nTest: boots and works\nbug 117795621\n\nMerged-in: If2e8c5f1fc07039cf3dc3edcd3dc06861dbce1a1\nChange-Id: If2e8c5f1fc07039cf3dc3edcd3dc06861dbce1a1\n"
    },
    {
      "commit": "93ac4012f2453e9a68a554ebba266f3ddd03d9f0",
      "tree": "9440b3d5f7164b6f4473f71502d38d94b051ffb3",
      "parents": [
        "9b5c03973eaf01fde6ebc9d266aaa4fc0a3fc63d"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Mon Sep 10 14:48:38 2018 -0400"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Tue Sep 11 20:45:23 2018 +0000"
      },
      "message": "DO NOT MERGE: Use GL_LINEAR filter when drawing scaled TextureView\n\nUse GL_LINEAR instead of GL_NEAREST sampling, when drawing\na TextureView, which has a buffer size that does not match\nlayer size.\nScale SkImage to layer size with a matrix, instead of\npassing wrong size to MakeFromTexture.\nThis CL must not be merged in master, becase this issue has\nbeen fixed already by ag/4936023.\n\nBug: 114324288\nTest: Passed CtsViewTestCases and CtsUiRenderingTestCases\nTest: Ran apps using scaled TextureView including Instagram\nChange-Id: I9ee659d08998c932d8b708a64f3c879ab696fd9e\n"
    },
    {
      "commit": "f5d4ea6132065a99927a47faaab4dd2fcedea6dd",
      "tree": "fb535897f216e96a7cba354003c621c5b0217734",
      "parents": [
        "2f8a3a4bb8ba700321af9e050a95640f6ac60ce3",
        "ff129aefe2b68c5dc6fe51a9b1d34f98750d4973"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 18 23:39:26 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 18 23:39:26 2018 +0000"
      },
      "message": "Merge \"Fix TextureView.getBitmap with scale layer transform\" into pi-dev"
    },
    {
      "commit": "2f8a3a4bb8ba700321af9e050a95640f6ac60ce3",
      "tree": "4f05bd30a825d4efa9fe0fd77e6ed4b401fc9679",
      "parents": [
        "ca53cf7f9a0b234cc0a562e69f7d95f4e1c11c31",
        "7823ee73ee504fcb5b0448b0b8f1b4804309df45"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Wed Jul 18 21:47:59 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 18 21:47:59 2018 +0000"
      },
      "message": "Merge \"Move allocateBuffers to RT\" into pi-dev"
    },
    {
      "commit": "7823ee73ee504fcb5b0448b0b8f1b4804309df45",
      "tree": "f8da6181ceba92bf79e44981bf8305bcb1cd862b",
      "parents": [
        "0c84996a12ace0a81ecfeb5f3a79e55127a06af0"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Jul 17 15:24:16 2018 +0200"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Tue Jul 17 17:34:49 2018 +0200"
      },
      "message": "Move allocateBuffers to RT\n\nSuch that it gets executed after setSurface, in order that\nmReqUsage has the correct flags set.\n\nTest: Take trace, ensure that allocateBuffers actually allocates\nin the right format/usage by ensuring that dequeueBuffer doesn\u0027t\ntrash them immediately again.\nBug: 111517695\nChange-Id: I94b402d7b29d565155a77a2d09106246261712d2\n"
    },
    {
      "commit": "ff129aefe2b68c5dc6fe51a9b1d34f98750d4973",
      "tree": "a162b93d1e3eaf5987a96ba69834fdefd686eb71",
      "parents": [
        "cf0b12711057a2a23dc08f1ac6acfe67892b945d"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Thu Jul 12 16:53:59 2018 -0400"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Mon Jul 16 21:03:39 2018 +0000"
      },
      "message": "Fix TextureView.getBitmap with scale layer transform\n\nFix TextureView.getBitmap to capture content only from the layer.\n\nBug: 111401911\nTest: A new test TextureViewTest.testTransformScale is passing\nChange-Id: I2b9cee17fc48de7b12ed03d5b4f173ce5445dbfe\n"
    },
    {
      "commit": "28e663cbed28fb6c8c8dec0849e0277daf67651b",
      "tree": "7d0ddd6373a15fbbf69f878c61eafc571c2eccea",
      "parents": [
        "4ab42d5b8aa2cb2e36f46b34962dd23832f45280"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Thu Jul 12 13:15:54 2018 -0700"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Mon Jul 16 20:52:55 2018 +0000"
      },
      "message": "Loosen resource file verification\n\nBug: 77808145\nTest: Tried to install corrupt APK prior to the change, install failed\nTest: Tried to install corrupt APK after the change, install succeeded\nTest: atest CtsAppSecurityHostTestCases:CorruptApkTests\nChange-Id: I19a69e52a17c1080beaf2cc575c32f564b1033a3\n"
    },
    {
      "commit": "d50edd004b60bec3f1d36066725129276b4a53ec",
      "tree": "10249fcbe71fb2c742c449acd5e24f627feb2de6",
      "parents": [
        "bcae0ff7a2843ce86ba01d31cdfafe1d7cb90bd4"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Fri Jun 22 17:33:43 2018 -0400"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Fri Jun 22 17:33:43 2018 -0400"
      },
      "message": "Don\u0027t apply filter in readback, when there is no scaling\n\nFix check for scaling in SkiaOpenGLReadback: old code was not\ntaking into account that matrix rotation swaps width/height.\n\nTest: Passed PixelCopyTest#testWindowProducerCopyToRGBA16F\nBug: 110097060\nChange-Id: I0d26416fa72a026bc376417773d5a73548b1f1a5\n"
    },
    {
      "commit": "5ae85666ac3272ea34e943ec8e2a8e9e2a86306a",
      "tree": "bed7f75a26c8032961f75c516db5c98764d62eb4",
      "parents": [
        "c69da1474aef2ef9fd78b3908eca99b4c89427ed",
        "2b6805fedc69735ee79dcec7ac5d4a5963f202d2"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Jun 06 15:50:57 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 06 15:50:57 2018 -0700"
      },
      "message": "Merge \"Fix DynamicRefTable::load security bug\" into oc-mr1-dev\nam: 2b6805fedc\n\nChange-Id: I5ef0a789b16dc8aa0936d8fcca3917ce2f884d74\n"
    },
    {
      "commit": "18a6ada4aa136da4f50f03fff91d61d448ced195",
      "tree": "6e92164af48a4e38ea2a8fbb6fee1a3ebb7f914d",
      "parents": [
        "2d6209f71de8f88526f97526d40304eef626219a"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed May 30 12:17:01 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Jun 05 22:05:11 2018 +0000"
      },
      "message": "Fix DynamicRefTable::load security bug\n\nDynamicRefTables parsed from apks are missing bounds checks that prevent\nbuffer overflows. This changes verifies the bounds of the header before\nattempting to preform operations on the chunk.\n\nBug: 79488511\nTest: run cts -m CtsAppSecurityHostTestCases \\\n        -t android.appsecurity.cts.CorruptApkTests\n\nChange-Id: I02c8ad957da244fce777ac68a482e4e8fa70f846\nMerged-In: I02c8ad957da244fce777ac68a482e4e8fa70f846\n"
    },
    {
      "commit": "b559512508a44b49adee1066939244ee9f076587",
      "tree": "1ddf92674f0f2ffbbd688cb9a6e148ff12752943",
      "parents": [
        "6a1df0d54191208f5e6a33bba154fb6d4e5a7562",
        "5b02c629bd8da951331e5e464fe78e03b3393a72"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Jun 01 03:05:51 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 01 03:05:51 2018 +0000"
      },
      "message": "Merge \"Attempting to fix the black flicker\" into pi-dev"
    },
    {
      "commit": "0fba15b2ba81c8bcf316063304f0f334bc4fb852",
      "tree": "d775f0ff3dbfef4259e009c40293a55abb016241",
      "parents": [
        "8997b7e4c9eef423f73b7c61e926a66648473c24"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Wed May 30 18:08:57 2018 -0400"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Fri Jun 01 01:08:15 2018 +0000"
      },
      "message": "Bind correct FBO when drawing a WebView into a layer.\n\nThe WebView was unable to draw into either a standard clipped\nlayer or the \"fading edges\" unclipped layer. This CL and its\ncompanion test cases ensure that both work with simple and\ncomplex clips.\n\nBug: 79619253\nBug: 80443556\nBug: 80477645\nTest: atest CtsUiRenderingTestCases:.LayerTests\nMerged-In: I0e16b724f74415a61cc2a841ccf4a491f293ac94\nChange-Id: I4900222975fc841b11828916878fb0ea6d87dcda\n"
    },
    {
      "commit": "5b02c629bd8da951331e5e464fe78e03b3393a72",
      "tree": "5b39981a81b63b59c179402635ace31fa4d0c88c",
      "parents": [
        "1031bf5f761304987e6a2c5bbb5743a65c3253bf"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu May 17 10:44:00 2018 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu May 31 12:56:28 2018 -0700"
      },
      "message": "Attempting to fix the black flicker\n\nBug: 79231206\nTest: Repro steps from bug\n\nMerged-In: I4c2810c42a7a4358f64584da3ab0cdf1499e71b6\nChange-Id: I4c2810c42a7a4358f64584da3ab0cdf1499e71b6\n"
    },
    {
      "commit": "a2cc38e7fb6350ee772f36891f910b085a9ccd3e",
      "tree": "e3a6ab4cd306fd5d96475eb4345f9df9c87914b8",
      "parents": [
        "261a101ac2d923edf246f50a9837e43a18449cbb",
        "357c63d1e9906492ac2cf5341a77d3550d0dd474"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed May 23 22:14:21 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 23 22:14:21 2018 +0000"
      },
      "message": "Merge \"Make sure frame buffer 0 is bound before calling GL functor\" into pi-dev"
    },
    {
      "commit": "357c63d1e9906492ac2cf5341a77d3550d0dd474",
      "tree": "0dbaa936c83e50e72dc005fd70999335898d330d",
      "parents": [
        "6555a9fa16d4eb53872b8d1f5876166c81641203"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Wed May 23 15:29:09 2018 -0400"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Wed May 23 15:29:09 2018 -0400"
      },
      "message": "Make sure frame buffer 0 is bound before calling GL functor\n\nMake sure view port and frame buffer are set to the correct values\nbefore calling GL functor (WebView) draw.\nImprove correctness for stencil clip by doing a second flush that\nguarantees the stencil clear will be executed after draw commands.\n\nBug: 79619253\nTest: XFINITY Connect app draws correctly\nChange-Id: Ieb3d0d70caf0469b6393e6287f8529cd86519301\n"
    },
    {
      "commit": "f05f47b2c1838529e682ad8f931d3da72244b1a1",
      "tree": "9f3feff045c55d3ddc20fee09f8ebe0abf750c4c",
      "parents": [
        "76cb7fe2f6eec83f8cc1f7f19ed23ae76254bdb7"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon May 21 13:59:23 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon May 21 13:59:23 2018 -0700"
      },
      "message": "ResStringPool: Prevenet boot loop from se fix\n\nChanges the logs adding in a previous security fix to warnings so\ndevices with malformed APKs currently on them will not undergo DOS when\nthey are upgraded to P.\n\nBug: 79724567\nTest: run cts -m CtsAppSecurityHostTestCases \\\n          -t android.appsecurity.cts.CorruptApkTests\n\nChange-Id: Ied54e4bb14abdaf79da562022c7ea6075187c1f8\n"
    },
    {
      "commit": "fd37ec90b888b6b83792dca18c5c831aabf63de1",
      "tree": "08d3e405211849cd408505448b40e119c4483c38",
      "parents": [
        "35426e5e690cc8466d5e9d1d038efa490f451e62",
        "a41e66af586a2fe60d450f4a9f4b8e8f06c5f6c4"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon May 21 17:59:35 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 21 17:59:35 2018 +0000"
      },
      "message": "Merge \"ResXMLTree: Clone DynamicRefTable on creation\" into pi-dev"
    },
    {
      "commit": "e4a8d4c7e94ac72cf7978306160994015b99227c",
      "tree": "64afdef7fa5c27081c06672deaff15958f233183",
      "parents": [
        "2b3c858296d34741e32c03b144b14f9532b19bb2",
        "2d39fb90d0bf08f7e13f38db287934ac3b86ea52"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Fri May 18 11:49:56 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 18 11:49:56 2018 +0000"
      },
      "message": "Merge changes I608d4b61,Ia7900e75 into pi-dev\n\n* changes:\n  Follow up to Ia7900e753b29187a7a7b81f393666687e8b8e04b\n  Apply surface parameters in sync with RenderThread\n"
    },
    {
      "commit": "a2113aa4ad5fc241819c672ed5317aa7017331f7",
      "tree": "6fa34672d440fbe9954a5b089023440e319ff42a",
      "parents": [
        "44aeaafc34523ae7d60a8abe017276de6842d80a",
        "4afdd1caa4ff5f0890c3f4d73c6d475f9e06cefd"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 17 19:54:50 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 17 19:54:50 2018 +0000"
      },
      "message": "Merge \"AnimatedImageDrawable: Eliminate unnecessary calls to redraw\" into pi-dev"
    },
    {
      "commit": "64be98d5d27a2a2b786e28ae7afbff5ac987f163",
      "tree": "c19cbfcb4c583b3a327148e88258c2af430a7095",
      "parents": [
        "1b43af094e5de196566762ca07e6f4207dc1c289"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Thu Apr 26 23:23:29 2018 +0200"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Thu May 17 01:57:31 2018 +0000"
      },
      "message": "Apply surface parameters in sync with RenderThread\n\nOtherwise it could lead to parameters applied in the wrong frame,\nleading to jank.\n\nTest: Open notification\nBug: 78611607\nChange-Id: Ia7900e753b29187a7a7b81f393666687e8b8e04b\nMerged-In: Ia7900e753b29187a7a7b81f393666687e8b8e04b\n"
    },
    {
      "commit": "4afdd1caa4ff5f0890c3f4d73c6d475f9e06cefd",
      "tree": "5273aecef15d3644e794416ababff8cbaacddd94",
      "parents": [
        "1936031cbe804fc53eb7529b3fd60f3457cb1780"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Mon May 14 14:59:30 2018 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Wed May 16 18:51:07 2018 -0400"
      },
      "message": "AnimatedImageDrawable: Eliminate unnecessary calls to redraw\n\nBug: 78866720\nTest: Manual + systrace; existing CTS\n\nPreviously, we set hasAnimations to true when the AnimatedImageDrawable,\nso that we would get a call to redraw. But if the image does not need to\nshow its next frame yet, the redraw was unnecessary.\n\nInstead, add a new field to TreeInfo::Out, representing the delay time\nuntil the image will need to be redrawn - i.e. when the duration of the\ncurrent frame has passed. Each call to prepareTree will post at most one\nmessage to redraw, in time for the earliest animated image to be\nredrawn. Post the message for one rendered frame ahead of time, so that\nwhen it is time to show the next frame, the image has already gotten the\nmessage to update.\n\nOn a screen with a single animated image, this drops the number of calls\nto dispatchFrameCallbacks to as infrequent as possible. It is called\nonly when we need to draw a new frame of the image. On a screen with\nmultiple animated images, the calls may be redundant, but they will not\nbe more frequent than they would be without this change.\n\nSwitch to nsecs_t and systemTime internally, matching the rest of HWUI.\n\nRemove mDidDraw and related. Its purpose was to prevent advancing the\nanimation while the image is not being drawn. But it isn\u0027t really\nnecessary. If it\u0027s not drawn, onDraw is not called, which is where we\ntrigger decoding. And onDraw already has a defense against getting too\nfar ahead - if its timer indicates that it should skip a frame or show\nit very briefly, it will back up its timer. More importantly, mDidDraw\ncaused a bug, when combined with less frequent redraws. If the display\nlist containing the drawable doesn\u0027t need to be redrawn for other\nreasons, the drawable\u0027s timer never advanced, so its animation stopped.\n\nFix software drawing. Compute the milliseconds in the future to draw the\nnext frame, and add that to SystemClock.uptimeMillis() to compute the\ntime to pass to scheduleSelf.\n\nChange-Id: I13aab49922fa300f73b327be25561d7120c09ec4\n"
    },
    {
      "commit": "a41e66af586a2fe60d450f4a9f4b8e8f06c5f6c4",
      "tree": "bc195700aa127b9c461d516d71e4db49c8c64d93",
      "parents": [
        "7692904a7b20e489b4de1511b7bc64357eb21282"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue May 15 15:08:58 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue May 15 15:08:58 2018 -0700"
      },
      "message": "ResXMLTree: Clone DynamicRefTable on creation\n\nXmlBlocks are cached in ResourcesImpl::loadXmlResourceParser(...) and\nwhen asset manager invalidates itself, the references to the dynamic\nreference tables point to garbage. Now, the reference table is cloned\nwhen the XmlBlock is created so invalidation will not affect the\nXmlTree.\n\nBug: 74240254\nTest: Tested GoogleMaps on 9.75.7 and saw crashes stop\nChange-Id: I932db7a85fddc640c4d6ec327f534b5a1ad6d0b1\n"
    },
    {
      "commit": "b638985cc1399504216101afcd4d52d8b4def48b",
      "tree": "7a257247bbe529ce75ecd6b100faa27d205d4295",
      "parents": [
        "b5eca33bca14d2675e0cf6857caaa1e7925f3b6a",
        "5a663768c463d70fa8ff0bc3080e178c16241a07"
      ],
      "author": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Wed May 09 16:38:41 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 09 16:38:41 2018 +0000"
      },
      "message": "Merge \"Use filtering when drawing nine-patches\" into pi-dev"
    },
    {
      "commit": "5a663768c463d70fa8ff0bc3080e178c16241a07",
      "tree": "26ea7516fdc5f19b355b08cbff5be794dc73a291",
      "parents": [
        "4a7913c268c3d65c060f7f8f8df5c2ff0218245e"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Mon Apr 23 11:15:00 2018 -0400"
      },
      "committer": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Tue May 08 17:23:11 2018 +0000"
      },
      "message": "Use filtering when drawing nine-patches\n\nBug: 77917978\nTest: Look at toggles; CtsUiRenderingTestCases\n\nPrior to this change, the toggles look pixelated due to using a\n\"nearest\" filter instead of a \"bilerp\".\n\nThis matches the behavior of the hwui renderer.\n\nDepends on changes in Skia (Ib7d0abdd51981bddf36ec5c3fd84bb651f405f0f)\nto respect the filter quality when drawing to a GPU canvas and to\nremove the resulting \"bleeding\" effect from drawImageLattice.\n\nChange-Id: I59d81a17f351e18574539479a38a580a02e1619b\n"
    },
    {
      "commit": "fb07d82086e7b4375467f492ba1a5f49dc68da8b",
      "tree": "b99e732b35fc697135c430c68e098063a20ce3d3",
      "parents": [
        "8ea760c8158b27129a9838338d209d8841be0cc0",
        "30487e0a7913aa6856d803a73811809d1a2edfdf"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue May 08 17:17:17 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 08 17:17:17 2018 +0000"
      },
      "message": "Merge \"AAPT: Fixed split resource dumping\" into pi-dev"
    },
    {
      "commit": "291b944d89e15ee6236e0f2dcc97126bbfeb639c",
      "tree": "5a5133cb45c49266f6d58f24dc9ba4e32a1c9bd5",
      "parents": [
        "ae4a20c75b84debb4f29cd9099a11a822d2e72ee",
        "71a9531806d9d37f5482c4d242f95416c04715bf"
      ],
      "author": {
        "name": "android-build-team Robot",
        "email": "android-build-team-robot@google.com",
        "time": "Tue May 08 14:58:09 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 08 14:58:09 2018 +0000"
      },
      "message": "Merge \"Adding batterystats history to proto dump.\" into pi-dev"
    },
    {
      "commit": "71a9531806d9d37f5482c4d242f95416c04715bf",
      "tree": "8eff29e64b4d22ac886f1a48d8645f3bd8820dcd",
      "parents": [
        "564942d0655e841fcb7c7dd7032f04b8fb45a111"
      ],
      "author": {
        "name": "Kweku Adams",
        "email": "kwekua@google.com",
        "time": "Mon Apr 16 16:54:24 2018 -0700"
      },
      "committer": {
        "name": "Kweku Adams",
        "email": "kwekua@google.com",
        "time": "Mon May 07 17:53:57 2018 -0700"
      },
      "message": "Adding batterystats history to proto dump.\n\nIt will only print out a dump for userdebug or eng builds.\n\nBug: 77727638\nTest: flash device and check output of incident proto and\n\u0027dumpsys batterystats -c --history\u0027\n\nMerged-In: Ib74d4c664f23a61e6fc33f700ba6a3c6fad32c74\nChange-Id: Ia0c993d1281cc350d93f9c13f5540b349a4bfb84\n"
    },
    {
      "commit": "30487e0a7913aa6856d803a73811809d1a2edfdf",
      "tree": "33e7fd422381db028ad8da0b202754d33aa464cd",
      "parents": [
        "e4cf84138c465a6767286ae711d255819ae575d6"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri May 04 14:16:20 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon May 07 15:36:44 2018 -0700"
      },
      "message": "AAPT: Fixed split resource dumping\n\nAAPT would not print resource values for splits passed in with the -I\nflag. This fix prints out each split separately with the correct type\nspecs and values.\n\nBug: 79195967\nTest: aapt dump --values -I base-hdpi.apk resources base-master.apk\nChange-Id: I223186136e98180fec4a3d96f92f53407db59e2d\n"
    },
    {
      "commit": "bf39913bbcfeb1fb4fd9c889a243137563bc38cf",
      "tree": "06fe9fce934f4a32aada9f109f3b6e93fac19d0e",
      "parents": [
        "4e9bdcdcac7c3e3d621d7a8be189eeae5e0e804c",
        "b29c772429ce78d826c501b27c097a301ecd1112"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon May 07 20:26:02 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 07 20:26:02 2018 +0000"
      },
      "message": "Merge \"Ensure GL \u0026 Gralloc both support FP16 before using it\" into pi-dev"
    },
    {
      "commit": "b29c772429ce78d826c501b27c097a301ecd1112",
      "tree": "b861b7402357a216519158da3364faf8214d82ee",
      "parents": [
        "eb43503f1925d36caf346ca9d76eb7a8dfa7725a"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri May 04 15:55:33 2018 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon May 07 16:49:45 2018 +0000"
      },
      "message": "Ensure GL \u0026 Gralloc both support FP16 before using it\n\nChange-Id: I3bda750b6011d9a69969fc938a230c2445ee8dae\nMerged-In: Id8a53885178d698c7b2fd6fc5ea8d4e36ce2ef15\nFixes: 77973662\nTest: builds \u0026 CTS passes\n"
    },
    {
      "commit": "2324991a77bfe35705c6105f87dcc4fad5f4626c",
      "tree": "fe739ff34f446e74e55cbc9eb3cef683fe030529",
      "parents": [
        "1ed9f4294c408dade7575cae9a7814f79b965be6"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu May 03 16:12:18 2018 -0400"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Fri May 04 18:46:52 2018 +0000"
      },
      "message": "Support readback of TextureView into 565 and extended sRGB.\n\nBug: 78906699\nTest: CtsViewTestCases\nChange-Id: I89e8544a883dcb3eb222c164ab57d20e55a073c3\n"
    },
    {
      "commit": "e09cde0cd986223fd152e7629411254015de016f",
      "tree": "c9eeb0d387ce27b883307cfec296b592bfa561f7",
      "parents": [
        "85c7a9a11382994a1d48995b04104139b74f8d4d",
        "7fe3dee3ae1cc47b50c4001cbac56c4fefbcc57b"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Wed May 02 21:36:23 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 02 21:36:23 2018 +0000"
      },
      "message": "Merge \"Add a section flag to bypass failure if a specific path can\u0027t be found.\" into pi-dev"
    },
    {
      "commit": "f28901f6c58138ad264d01f9aa63375124fb0f5d",
      "tree": "069e6417fbacf76683fff0e083e92ea0895217c1",
      "parents": [
        "057698e511ec530d56de153467a1ebe2bccefd81",
        "4f901c8cec76780264021167210f90dcbe6f0d03"
      ],
      "author": {
        "name": "android-build-team Robot",
        "email": "android-build-team-robot@google.com",
        "time": "Wed May 02 19:38:43 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 02 19:38:43 2018 +0000"
      },
      "message": "Merge \"Invoke create_recording_canvas correctly in macro bench tests\" into pi-dev"
    },
    {
      "commit": "7fe3dee3ae1cc47b50c4001cbac56c4fefbcc57b",
      "tree": "c8cfc01b6b323699295c269ea40e597f1dc15a59",
      "parents": [
        "82c0b73e98a81e4b2d2f50da44112381bcef6755"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Mon Apr 16 16:13:04 2018 -0700"
      },
      "committer": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Wed May 02 01:31:08 2018 +0000"
      },
      "message": "Add a section flag to bypass failure if a specific path can\u0027t be found.\n\nThis is a temporary solution to bypass failure of reading cpu info or \nbattery type in P if the path doesn\u0027t exist on some devices. See bug for\ndetails. However in Q, incidentd should implement reading from the\ncommon Linux kernel interfaces.\n\nBug: 78028767\nBug: 78239764\nTest: atest incidentd_test\nChange-Id: I08ffcb21709efe5478d2ac46121deb5795af1024\nMerged-In: I08ffcb21709efe5478d2ac46121deb5795af1024\n"
    },
    {
      "commit": "9298ad1b78180f3a81ca2bf0bda72557bd71b6b6",
      "tree": "3ee893a4b5d471dd84530c5c127f098e22a81601",
      "parents": [
        "eac8a05d19d0c29f8e4310db62d5ed41bc4773b9",
        "551d08e2d50c7f73c5eb65fd366b92efba4f0ed5"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Tue May 01 16:57:28 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 01 16:57:28 2018 +0000"
      },
      "message": "Merge \"Respect a Layer\u0027s (e.g. SurfaceTexture) colorSpace when compositing\" into pi-dev"
    },
    {
      "commit": "551d08e2d50c7f73c5eb65fd366b92efba4f0ed5",
      "tree": "9ac55bbd3f8a5886fb611d35c79627fc3c2031db",
      "parents": [
        "9ea13ca0b67e77c5efda1c94c141dc49987c0745"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Fri Apr 20 16:13:31 2018 -0400"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Tue May 01 02:45:43 2018 +0000"
      },
      "message": "Respect a Layer\u0027s (e.g. SurfaceTexture) colorSpace when compositing\n\nThis CL extracts the android_dataspace from the GLConsumer and converts\nit to a SkColorSpace.  HWUI always expects to composite into an sRGB\ndestination so when we draw the layer we run the draw through a\ncolorFilter that converts the input colorSpace into that of the\ndestination.\n\nTest: CtsViewTestCases\nBug: 78016220\nMerged-In: Ic0446a0d861e86a5a9d0382346b57fcc45c8a61b\nChange-Id: Ic0446a0d861e86a5a9d0382346b57fcc45c8a61b\n"
    },
    {
      "commit": "4f901c8cec76780264021167210f90dcbe6f0d03",
      "tree": "a8ccd832f3b40de7d826379e039a5d505a695c59",
      "parents": [
        "331a22e39a95e335da6f401aa4caee8efb3781de"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Fri Apr 13 10:21:26 2018 -0400"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Mon Apr 30 20:22:19 2018 +0000"
      },
      "message": "Invoke create_recording_canvas correctly in macro bench tests\n\ncreate_recording_canvas expects as a last parameter a render node,\nwhich is used to reuse deallocated display lists. Passing the\nrender node improved performance in several tests and it is\nmatching how HWUI is using that API too.\n\nbug: 69131471\nTest: tvappGlTex DrawFrame is 1ms faster\nChange-Id: I93d8da694c178d3fb8d1aa52afa76dd8271e93cb\n"
    },
    {
      "commit": "13588dc9e4e21c0802202db9c1617cb75a88c9cf",
      "tree": "841217f4bcbc2e8839cca9382d239bcd5cf018d1",
      "parents": [
        "8049afc395e19fee9fb28c23a44fee8b5b230831",
        "325129964e5b0a9794cf5bb63a2d2d8774ea6a1b"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Thu Apr 26 21:29:17 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 26 21:29:17 2018 +0000"
      },
      "message": "Merge \"Allow using reserved package IDs\" into pi-dev"
    },
    {
      "commit": "325129964e5b0a9794cf5bb63a2d2d8774ea6a1b",
      "tree": "6916dd14dd937ad9650558c8afca42929acd26f2",
      "parents": [
        "a93ab56ed802f320cbf1ac9452cae75acbef47c3"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Wed Apr 25 16:45:59 2018 -0700"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Thu Apr 26 10:27:30 2018 -0700"
      },
      "message": "Allow using reserved package IDs\n\nPre-O, the platform treats negative resource IDs [those with\na package ID of 0x80 or higher] as invalid.  In order to work\naround this limitation, we allow the use of traditionally\nreserved resource IDs [those between 0x02 and 0x7E].\n\nBug: 78041707\nTest: ./out/host/linux-x86/nativetest64/aapt2_tests/aapt2_tests\nTest: ./out/host/linux-x86/nativetest/libandroidfw_tests/libandroidfw_tests\nTest: Manual. Create a feature split with a package ID of 0x7E and see it runs and can reference base resources.\n\nChange-Id: I3d9782cc05d3a55e1a2467bf39566788847e1160\n"
    },
    {
      "commit": "5bb709c31ec4e77838bf426192b957c7be7c70e2",
      "tree": "e57682c4870a4d543e059f1a835513892ecf5ca0",
      "parents": [
        "eabeec49c4de290071d27c272071b3151ff6e502",
        "3eadfde67f32bebf109634110a0e189263fa7e11"
      ],
      "author": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Tue Apr 24 20:01:22 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 24 20:01:22 2018 +0000"
      },
      "message": "Merge \"Attach color space after performing a readback\" into pi-dev"
    },
    {
      "commit": "3eadfde67f32bebf109634110a0e189263fa7e11",
      "tree": "2e3df4e5259e3b6bf67f4a1abfd0e95bbb5f543b",
      "parents": [
        "e5d97dd6f9e10c21568ae96a000e58834015bee9"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Mon Apr 23 15:52:22 2018 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Mon Apr 23 16:09:14 2018 -0400"
      },
      "message": "Attach color space after performing a readback\n\nBug: 78463311\nTest: I28713c3e5ce38dea15c75542801f9aef0e5b5b0a\n\nBitmap::getSkBitmap() is used by Bitmap#compress before encoding. If the\nBitmap has Config HARDWARE, we have to do a readback first. We cannot\nnecessarily do the readback using the SkColorSpace of the Bitmap, since\nthat requires creating an SkSurface, which does not support all\nSkColorSpaces. Instead, continue using nullptr for the readback, and\nthen change the info and reattach the SkPixelRef.\n\nThis fixes a bug where encoding a non-SRGB HARDWARE Bitmap and then\ndecoding it results in a Bitmap with the wrong ColorSpace.\n\nChange-Id: If55b2dbfeb17d81ceaf9594b32ed69b6a9058f06\n"
    },
    {
      "commit": "49954cd681fc4c1013c39cd502408af770286730",
      "tree": "cdae24322c35e99ecfe506c999caf63dc61b2463",
      "parents": [
        "f7bc6ab7fa21f849250d0f5ee2849f9e49a8d436"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Wed Apr 18 13:48:02 2018 -0700"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Fri Apr 20 17:41:25 2018 -0700"
      },
      "message": "Add socket listener to statsd. And remove Davey atom.\n\n+ The socket listener is behind a flag. It\u0027s disabled until we get sepolicy changes in.\n+ Data parsing code is from logd, because we use the same format.\n\n+ Removed Davey from JankTracker because it violates our new sepolicy\n\nTest: manually\nBug: 78239479\n\nChange-Id: Ib17729fbc362cdb13385f780e2d636a95adf9bc3\n"
    },
    {
      "commit": "9efbbef2e060cd5e05f5b652ba5c7aaf687f64d6",
      "tree": "a906595eedebc28b14a4e86e135b225eb1d5d79b",
      "parents": [
        "34a0b18a5c730e4fa16e27c63ed0cd79a6df188e"
      ],
      "author": {
        "name": "y",
        "email": "rtmitchell@google.com",
        "time": "Wed Apr 18 11:29:09 2018 -0700"
      },
      "committer": {
        "name": "y",
        "email": "rtmitchell@google.com",
        "time": "Wed Apr 18 11:46:53 2018 -0700"
      },
      "message": "AAPT2: Support id reference chaining from AAPT\n\nAAPT would allow for ids to be declared in the form:\n\n\u003citem name\u003d\"name\" type\u003d\"id\u003e@id/other\u003c/item\u003e\n\n@id/name should hold a reference to @id/other. When\ngetResources().getValue() is called on R.id.name with resolveRefs\nenabled, the resuling reference should be R.id.other.\n\nBug: 69445910\nTest: Created tests for correct parsing of id references and correct\nresolving of deep references\n\nChange-Id: Id1feb37b2565c213dc6a19b4c401906260d7fc14\n"
    },
    {
      "commit": "1c70ecb455069b2497ab2f95ce29c9686afc9c21",
      "tree": "63a838b2467135272ec24e3345f430535c87c496",
      "parents": [
        "d467da730923cad31a9c10f154a023a9ee620fc7",
        "92a9eb9713f7bde9897de648604c74e0df25cd6e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 16 17:05:45 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 16 17:05:45 2018 +0000"
      },
      "message": "Merge \"Unpin bitmaps but don\u0027t purge all scratch resources.\" into pi-dev"
    },
    {
      "commit": "560468076675ae66512a6b661a33705ea53ee7ef",
      "tree": "92dd22baa673e332f2448faf429fedb85bc084fc",
      "parents": [
        "a06c7b7a5c3c5b05b45662b5a31251eda71e742f",
        "4f5e234020a70bd5fb210ee984efbc1d823b1fd8"
      ],
      "author": {
        "name": "y",
        "email": "rtmitchell@google.com",
        "time": "Fri Apr 13 14:08:07 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Apr 13 14:08:07 2018 -0700"
      },
      "message": "[automerger] ResStringPool: Fix security vulnerability am: 7e54c3f261 am: 98e2d2ec50 am: 24a89da344 am: d85632ae40 am: 927b3357fa am: 79d0fb2530 am: a509e771ba am: 80e36faa72 am: 76d71fa910 am: 86cfcaa610\nam: 4f5e234020\n\nChange-Id: Iedf59329ed35149cec2143e8f179c7912534a41d\n"
    },
    {
      "commit": "4f5e234020a70bd5fb210ee984efbc1d823b1fd8",
      "tree": "df08c0a551e588ea9fffac98c3a52f162be6389f",
      "parents": [
        "531975da75192f0c2a1e1452999ecd5475888b3c",
        "86cfcaa610e2d3d199ddb16d5e9e98e5734dc9b0"
      ],
      "author": {
        "name": "y",
        "email": "rtmitchell@google.com",
        "time": "Fri Apr 13 13:57:36 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Apr 13 13:57:36 2018 -0700"
      },
      "message": "[automerger] ResStringPool: Fix security vulnerability am: 7e54c3f261 am: 98e2d2ec50 am: 24a89da344 am: d85632ae40 am: 927b3357fa am: 79d0fb2530 am: a509e771ba am: 80e36faa72 am: 76d71fa910\nam: 86cfcaa610\n\nChange-Id: I6d37d24fd14271d24595c380ea553cb37948fa9e\n"
    },
    {
      "commit": "86cfcaa610e2d3d199ddb16d5e9e98e5734dc9b0",
      "tree": "cb1ba6d56f58e8ea1e0929781ed44eead9f605dc",
      "parents": [
        "e5776af814d73825cb7b93eb8a5a32f825ef5ff3",
        "76d71fa9102ab58e80559d2f4bed47e72c8d81e8"
      ],
      "author": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Fri Apr 13 20:35:02 2018 +0000"
      },
      "committer": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Fri Apr 13 20:35:02 2018 +0000"
      },
      "message": "[automerger] ResStringPool: Fix security vulnerability am: 7e54c3f261 am: 98e2d2ec50 am: 24a89da344 am: d85632ae40 am: 927b3357fa am: 79d0fb2530 am: a509e771ba am: 80e36faa72 am: 76d71fa910\n\nChange-Id: I971b589190cae708a08dd568290807dff0f75349\n"
    },
    {
      "commit": "76d71fa9102ab58e80559d2f4bed47e72c8d81e8",
      "tree": "c23ce35bbcf78525ce1c577a6c6ed6d917d7c68e",
      "parents": [
        "bae1ea6478c3560d2f4cbc55234c103325c3f87f",
        "80e36faa72653ebd41b7963809f69c9a5f62d1f6"
      ],
      "author": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Fri Apr 13 20:34:58 2018 +0000"
      },
      "committer": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Fri Apr 13 20:34:58 2018 +0000"
      },
      "message": "[automerger] ResStringPool: Fix security vulnerability am: 7e54c3f261 am: 98e2d2ec50 am: 24a89da344 am: d85632ae40 am: 927b3357fa am: 79d0fb2530 am: a509e771ba am: 80e36faa72\n\nChange-Id: Ibeb5d99f477048e8715a0d4b093052f3d88445e2\n"
    },
    {
      "commit": "80e36faa72653ebd41b7963809f69c9a5f62d1f6",
      "tree": "9ac72b213fed8f758cfb1f70d8bfdc450ef38306",
      "parents": [
        "1890afd456cd6fa182aeeb5efacf159c1115d5ef",
        "a509e771ba2480da5c79e12db1e86b6f2fb1d221"
      ],
      "author": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Fri Apr 13 20:34:53 2018 +0000"
      },
      "committer": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Fri Apr 13 20:34:53 2018 +0000"
      },
      "message": "[automerger] ResStringPool: Fix security vulnerability am: 7e54c3f261 am: 98e2d2ec50 am: 24a89da344 am: d85632ae40 am: 927b3357fa am: 79d0fb2530 am: a509e771ba\n\nChange-Id: I48bf9619571a30e6f5ea5bad503a3805e0821a75\n"
    },
    {
      "commit": "a509e771ba2480da5c79e12db1e86b6f2fb1d221",
      "tree": "b67d34b7ada809d92d8eebee18931d0e762b1b6e",
      "parents": [
        "5ddeef71166872ac55b32ed11bc6ed8e4222fbdc",
        "79d0fb25305134566b2561ef638ed550db9e0dfd"
      ],
      "author": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Fri Apr 13 20:34:49 2018 +0000"
      },
      "committer": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Fri Apr 13 20:34:49 2018 +0000"
      },
      "message": "[automerger] ResStringPool: Fix security vulnerability am: 7e54c3f261 am: 98e2d2ec50 am: 24a89da344 am: d85632ae40 am: 927b3357fa am: 79d0fb2530\n\nChange-Id: I068f51adbb0248db232c50bd89fb25ef0d7273a9\n"
    },
    {
      "commit": "79d0fb25305134566b2561ef638ed550db9e0dfd",
      "tree": "1b6836777be976a3b72d0bac35db2f306cce673d",
      "parents": [
        "93d9547b61f2fa4fbf9974fab0912684fef69efe",
        "927b3357fab789f98c2227a63f28275d652ff980"
      ],
      "author": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Fri Apr 13 20:34:44 2018 +0000"
      },
      "committer": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Fri Apr 13 20:34:44 2018 +0000"
      },
      "message": "[automerger] ResStringPool: Fix security vulnerability am: 7e54c3f261 am: 98e2d2ec50 am: 24a89da344 am: d85632ae40 am: 927b3357fa\n\nChange-Id: I61c158947f3508aab9ef65988267562663c97a21\n"
    },
    {
      "commit": "927b3357fab789f98c2227a63f28275d652ff980",
      "tree": "b9737a07314df923c22d970313174106adcf04d6",
      "parents": [
        "33c37cb37c885a18f073a3fb68eba1c3498e812d",
        "d85632ae4040086c2df5eb7423ec3e42224c40b0"
      ],
      "author": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Fri Apr 13 20:34:34 2018 +0000"
      },
      "committer": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Fri Apr 13 20:34:34 2018 +0000"
      },
      "message": "[automerger] ResStringPool: Fix security vulnerability am: 7e54c3f261 am: 98e2d2ec50 am: 24a89da344 am: d85632ae40\n\nChange-Id: I24a1df41eb29a6ac7e6c67368f07c6702dacf071\n"
    },
    {
      "commit": "24a89da344223c9a36bda00300a1fe13ebdda456",
      "tree": "7f33b4fcb1bd0e33c31819d09d1f28c05f08b360",
      "parents": [
        "86f54885218d508049ce084710cd9cc35c90758a",
        "98e2d2ec500caf061330904cf08a9ba990bd659b"
      ],
      "author": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Fri Apr 13 20:34:24 2018 +0000"
      },
      "committer": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Fri Apr 13 20:34:24 2018 +0000"
      },
      "message": "[automerger] ResStringPool: Fix security vulnerability am: 7e54c3f261 am: 98e2d2ec50\n\nChange-Id: I0a5c57b7a50d9221b3be4d193388ac610ba92f73\n"
    },
    {
      "commit": "98e2d2ec500caf061330904cf08a9ba990bd659b",
      "tree": "ada5947005b0f76055b149f5cbac00b6a17bfa99",
      "parents": [
        "d672eef559b04712ed38bf9a3e3bb74f35bbdd4c",
        "7e54c3f261d81316b75cb734075319108d8bc1d1"
      ],
      "author": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Fri Apr 13 20:34:20 2018 +0000"
      },
      "committer": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Fri Apr 13 20:34:20 2018 +0000"
      },
      "message": "[automerger] ResStringPool: Fix security vulnerability am: 7e54c3f261\n\nChange-Id: I57e2ea2122d22341c43b9b445291cc4b02ec2b11\n"
    },
    {
      "commit": "7e54c3f261d81316b75cb734075319108d8bc1d1",
      "tree": "4c46c9bc01516759509d853c0c2eb9efb76b373e",
      "parents": [
        "de71ee469a06fac76710874a69c97f76f4f22af7"
      ],
      "author": {
        "name": "y",
        "email": "rtmitchell@google.com",
        "time": "Thu Apr 05 17:57:27 2018 -0700"
      },
      "committer": {
        "name": "Atanas Kirilov",
        "email": "akirilov@google.com",
        "time": "Fri Apr 13 20:34:18 2018 +0000"
      },
      "message": "ResStringPool: Fix security vulnerability\n\nAdds detection of attacker-modified size and data fields passed to\nResStringPool::setTo(). These attacks are modified apks that AAPT would\nnot normally generate. In the rare case this occurs, the installation\ncannot be allowed to continue.\n\nBug: 71361168\nBug: 71360999\nTest: run cts -m CtsAppSecurityHostTestCases \\\n          -t android.appsecurity.cts.CorruptApkTests\n\nChange-Id: If7eb93a9e723b16c8a0556fc4e20006aa0391d57\nMerged-In: If7eb93a9e723b16c8a0556fc4e20006aa0391d57\n"
    },
    {
      "commit": "3ddd801449e3cc6646e1c3758018b0ea8b780bff",
      "tree": "507e5c9f32429ddd950dfd8531acd1901f617421",
      "parents": [
        "7e41f31bc233cc439e78cf81bc5612d4f0ee7150",
        "57cd195c4303ff248c6e016d51e3b7632cf69bae"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Apr 13 17:44:11 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 13 17:44:11 2018 +0000"
      },
      "message": "Merge \"AAPT2: GetBag infinite recursion fix\" into pi-dev"
    },
    {
      "commit": "57cd195c4303ff248c6e016d51e3b7632cf69bae",
      "tree": "301a7bf02888ac353e661792bfde9a4dd04273d6",
      "parents": [
        "65317bac02e993d1313a1958a8497ff5f2a2ecd5"
      ],
      "author": {
        "name": "y",
        "email": "rtmitchell@google.com",
        "time": "Thu Apr 12 14:26:23 2018 -0700"
      },
      "committer": {
        "name": "y",
        "email": "rtmitchell@google.com",
        "time": "Fri Apr 13 08:50:09 2018 -0700"
      },
      "message": "AAPT2: GetBag infinite recursion fix\n\nStyle resources with circular parental dependencies caused infinite\nrecursion when calling AssetManager2::GetBag. This fix allows recursion\nto cease when a circular dependency is found.\n\nBug: 77928512\nChange-Id: Ib900c36ab1aef5da5b03234a9484c4dad3b63c02\nTest: Manual test of b/77928512 and duplicates of 74493983\n"
    },
    {
      "commit": "d0fdef92293343eeaff14152a04f882ccfc3b9c8",
      "tree": "de3065a2e832138c728f86b6b6b2aa22aa7b714c",
      "parents": [
        "8e97f6f86f12b231895fca9a92ca9496260f6d32",
        "8546c30fbfa7fc3e84d18d13a16cbfdd743d18e3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 12 23:23:00 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 12 23:23:00 2018 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Update material_deep_teal_500 to #008577.\"\"\" into pi-dev"
    },
    {
      "commit": "1856a4cfcca8c18365e8fd855905b57679d3a280",
      "tree": "73f6f2214eef55092ff49d6af51a92f576fe4626",
      "parents": [
        "a87e56c97ad578e2014c81a02d7d744b5850686f"
      ],
      "author": {
        "name": "Kweku Adams",
        "email": "kwekua@google.com",
        "time": "Tue Apr 03 16:31:10 2018 -0700"
      },
      "committer": {
        "name": "Kweku Adams",
        "email": "kwekua@google.com",
        "time": "Thu Apr 12 14:23:15 2018 -0700"
      },
      "message": "Adding privacy tags to graphicsstats proto.\n\nCreating a copy of the graphicsstats proto so that one can be tagged\nwith privacy annotations and the other can be used internally while\nstill using the protobuf-cpp-lite library.\n\nBug: 72570104\nTest: flash device and check incident output\nMerged-In: I2d72e7bd17689c1401a16d5a13956e6528ddb525\nChange-Id: I0a46ee6cc463b133925be1cf8dee8cf3d107930c\n"
    },
    {
      "commit": "92a9eb9713f7bde9897de648604c74e0df25cd6e",
      "tree": "1d1e7f2fa75102b273333386c29d648ed80cfad6",
      "parents": [
        "52ae06af4d170b5ccd1453f7584d00b1cf288689"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Apr 12 13:42:19 2018 -0400"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Apr 12 13:42:19 2018 -0400"
      },
      "message": "Unpin bitmaps but don\u0027t purge all scratch resources.\n\nThis is a partial revert of b1f27aae89a9da9fbf3cb15a47f1a401db5a7974.\n\nTest: hwui_unit_tests\nBug: 77654081\nChange-Id: I5a58c156a280edfe3e9973ac3a8a30c97a2cff8b\n"
    },
    {
      "commit": "8546c30fbfa7fc3e84d18d13a16cbfdd743d18e3",
      "tree": "103bf319082f4d799675a3b5874a4ae2b33f1394",
      "parents": [
        "55399733a51f729606ff3062be36ef9211051393"
      ],
      "author": {
        "name": "Andrew Sapperstein",
        "email": "asapperstein@google.com",
        "time": "Thu Mar 22 19:46:27 2018 +0000"
      },
      "committer": {
        "name": "Andrew Sapperstein",
        "email": "asapperstein@google.com",
        "time": "Wed Apr 11 20:48:11 2018 +0000"
      },
      "message": "Revert \"Revert \"Update material_deep_teal_500 to #008577.\"\"\n\nThis reverts commit 431d9d63e993c6056e95811e9a84869aa324e7a0.\n\nReason for revert: Rolling forward with a fix.\n\nChange-Id: I5804e240535b84e0f4b2d306649b1981a9871632\nMerged-In: I5804e240535b84e0f4b2d306649b1981a9871632\nBug: 74118164\nTest: atest cts/hostsidetests/theme\n"
    },
    {
      "commit": "052dd1e7121e7e0b48060f33c7dc9f140e700795",
      "tree": "5634b570596471a8676e06e7b74ad16c5ff29260",
      "parents": [
        "65317bac02e993d1313a1958a8497ff5f2a2ecd5",
        "fc968058bfcf9c6fb20cd0682de1f4dd93d588ee"
      ],
      "author": {
        "name": "Krzysztof Kosiński",
        "email": "krzysio@google.com",
        "time": "Tue Apr 10 22:23:09 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 10 22:23:09 2018 +0000"
      },
      "message": "Merge \"hwui/debug: Remove glMultiDrawElementsBaseVertexOES stubs.\" into pi-dev"
    },
    {
      "commit": "135d82ac4526e2d5fa56484e80bce86dd10431ea",
      "tree": "8ab323b63dace8bc4b751d248e8930c690570359",
      "parents": [
        "a57290a49d76d156e7234049702acdfa7dce3cc0",
        "e46df9d47e5b3a90f0a010026881ec22462fe502"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Apr 09 23:38:37 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 09 23:38:37 2018 +0000"
      },
      "message": "Merge \"ResStringPool: Fix security vulnerability\" into pi-dev"
    },
    {
      "commit": "2b28f0699ad7f3c458aa8f619ad3019946bf04f2",
      "tree": "12ad2efe135df0346bd0ed833cb2f7c62b759587",
      "parents": [
        "915b6c8846919a30699f5c7ba5714ff10c17eb48",
        "a90b243e46da21a64872626e1e9bcaa18d51e437"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 06 20:57:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 06 20:57:25 2018 +0000"
      },
      "message": "Merge \"Improving jank tests diagnostics\" into pi-dev"
    },
    {
      "commit": "a90b243e46da21a64872626e1e9bcaa18d51e437",
      "tree": "41f889c8c0a00b11e8aaba64b30a5076d2264516",
      "parents": [
        "271ba383b6bfa07a97e4f5dd65a89679e0270bd7"
      ],
      "author": {
        "name": "Vadim Tryshev",
        "email": "vadimt@google.com",
        "time": "Thu Apr 05 13:50:38 2018 -0700"
      },
      "committer": {
        "name": "Vadim Tryshev",
        "email": "vadimt@google.com",
        "time": "Fri Apr 06 12:25:40 2018 -0700"
      },
      "message": "Improving jank tests diagnostics\n\nWhen there were 0 total frames, ProfileData generates something like:\nJanky frames: 0 (nan%)\n\nThen the test fails to parse it, and ends up with a mysterious\n\"Failed to parse NUM_JANKY\" diag (see the bug).\n\nMaking the case 0/0 a 0%.\n\nBug: 77528721\nTest: atest google/perf/jank/SystemUI/UbSystemUIJankTests:android.platform.systemui.tests.jank.LauncherJankTests#testOpenAllAppsContainer\nChange-Id: Ib65b80dc689f7b6ee06b108114ffd7de9d739721\n"
    },
    {
      "commit": "e46df9d47e5b3a90f0a010026881ec22462fe502",
      "tree": "1b4176aa65927b56193c7570d0da9b534d3a7ba5",
      "parents": [
        "28faced9734d509f8829ea710fe93bf33a4be324"
      ],
      "author": {
        "name": "y",
        "email": "rtmitchell@google.com",
        "time": "Thu Apr 05 17:57:27 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Apr 06 18:12:42 2018 +0000"
      },
      "message": "ResStringPool: Fix security vulnerability\n\nAdds detection of attacker-modified size and data fields passed to\nResStringPool::setTo(). These attacks are modified apks that AAPT would\nnot normally generate. In the rare case this occurs, the installation\ncannot be allowed to continue.\n\nBug: 71361168\nBug: 71360999\nTest: run cts -m CtsAppSecurityHostTestCases \\\n          -t android.appsecurity.cts.CorruptApkTests\nChange-Id: If7eb93a9e723b16c8a0556fc4e20006aa0391d57\n"
    },
    {
      "commit": "767e25ed613201d93d293a4c8ead5a21c0fb2b22",
      "tree": "f1285c54d4e411f0a9eaa55096a4025f7b9353c3",
      "parents": [
        "ddeaefb546c15f26bf7d4372a0d3e000463c7a5e"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Wed Apr 04 23:07:35 2018 +0200"
      },
      "committer": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Fri Apr 06 12:12:07 2018 +0000"
      },
      "message": "Add ability to change context priority of RT GL context\n\nTest: Use method, observe GPU preemption behavior\nBug: 75985430\nChange-Id: Idc08d37f8c95f52c5aab7edf09c0cbff72b8482d\n"
    },
    {
      "commit": "72a39eb3be99d372af29cb51c94ea8db6912bcb9",
      "tree": "183d6df7fd9eecaaf31f1c99277218554d0d0a12",
      "parents": [
        "335b0d36dadc2f69046dda5c79323f3d92db7e20",
        "ad3e6e5d5a9746bfe9d4600172798c9d6309b149"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 05 18:48:59 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 05 18:48:59 2018 +0000"
      },
      "message": "Merge \"This cl tries to fix cts tests IncidentdTest\" into pi-dev"
    },
    {
      "commit": "ad3e6e5d5a9746bfe9d4600172798c9d6309b149",
      "tree": "44c6eb169ebdb86f7bc9e73d8b9f3d97d96f2d4e",
      "parents": [
        "3275d9a004a45f4a2a9e30bbe7c662955ebdb9ff"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Tue Apr 03 15:10:34 2018 -0700"
      },
      "committer": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Wed Apr 04 16:29:55 2018 -0700"
      },
      "message": "This cl tries to fix cts tests IncidentdTest\n\n1. Disable BatteryType section which is device-specific\n2. Make timeout longer since meminfo section timedout in test\n3. make some negative values sint\n4. varint can be 64 bits, there is a bug implicitly convert it to 32\nwhich loses values.\n5. Found another bug which failed to read 64 bits varint, create a\nnative test to make sure it works.\n\nBug: 77291057\nTest: atest CtsIncidentHostTestCases:com.android.server.cts.IncidentdTest\nChange-Id: I04cc730741f7901f37ac57a11af7777d57118a23\n"
    },
    {
      "commit": "49668cd130b57e3ba2f98c7613b215773b4246fa",
      "tree": "b306fa0b58d45ee63bd86dbd707f4179e32f67b5",
      "parents": [
        "1f76cbd73845ee2104ef0cc750f0d7c34f5b384c",
        "2ad530d76c55c86d28c893b904b4f12aca65443f"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Apr 04 21:21:10 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 04 21:21:10 2018 +0000"
      },
      "message": "Merge \"Added decoding of truncated AAPT string lengths.\" into pi-dev"
    },
    {
      "commit": "2ad530d76c55c86d28c893b904b4f12aca65443f",
      "tree": "be58c23ee4854242aba55090d4cce6c07f75b8dc",
      "parents": [
        "a926126a8bc89c1a6bd7fa8a76332476eba0d954"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu Mar 29 15:49:10 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Apr 04 15:56:11 2018 +0000"
      },
      "message": "Added decoding of truncated AAPT string lengths.\n\nAAPT incorrectly writes a truncated string length when the string size\nexceeded the maximum possible encode length value (0x7FFF). To decode a\ntruncated length, this change iterates through length values that end\nin the encode length bits. Strings that exceed the maximum encode length\nare not placed into StringPools in AAPT2.\n\nTest: Successfully ran broken apps from the duplicates of the bugs\nprovided and created tests\nBug: 69320870\n\nChange-Id: I99dd9b63e91ac250f81d5dfc26b7c0e6276ae162\n(cherry picked from commit ea9e8b447a5d24d1b199507dac203c69d81736e2)\n"
    },
    {
      "commit": "6759955c95442571a0eb0cf88872b5010c60aad4",
      "tree": "c09b03c140c18c59e1b3a673994d8a7a75c55408",
      "parents": [
        "a926126a8bc89c1a6bd7fa8a76332476eba0d954"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Mar 30 16:13:53 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Apr 04 15:55:34 2018 +0000"
      },
      "message": "Fixed resource bag retrieval infinite recursion.\n\nAn app was crashing because in an attempt to retrieve layout\nattribute/style data, the app infinitely recursed because its parent was\nset to itself. This change checks if the resource bag parent and child\nhave the same ids, and if so, attempts to find the resource in this bag\nalone rather than attempting to also look in parent bags.\n\nBug: 74493983\nTest: Manual testing of Fitbit app\nChange-Id: Iea37533a0676bd51b72c9bb235adec9bd04f2ccc\n(cherry picked from commit ac04095ba91f262c9167985a8024607763d8cacc)\n"
    },
    {
      "commit": "b1f27aae89a9da9fbf3cb15a47f1a401db5a7974",
      "tree": "b0699bbb1fad7dc0649bfd03b1956b52834949ef",
      "parents": [
        "600fe676f7a164107a7501451483f5ffc2bbdd12"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Mon Apr 02 13:36:45 2018 -0400"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Tue Apr 03 11:53:43 2018 -0400"
      },
      "message": "Free up all scratch resources when the app\u0027s UI is hidden\n\nBug: 73808481\nTest: hwui_unit_tests\nChange-Id: I9f191c776a936c1be40702ff0924c7ad054526d5\n"
    },
    {
      "commit": "0057db22febd44f16e83fdc521782952055d09ad",
      "tree": "756c2be99954507d76b6da3a2ba7f116bf4edce0",
      "parents": [
        "3f6b7714a7afd826c2e66d1baf747469145f8d77"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Mar 29 14:18:44 2018 -0400"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Mon Apr 02 15:37:06 2018 -0400"
      },
      "message": "Print detailed memory usage of Skia for dumpsys gfxinfo\n\nBug: 74435803\nTest: adb shell dumpsys gfxinfo [package_name]\nChange-Id: I1f2bcab500fb47c5e0b50c7459d4a876b063916b\n"
    },
    {
      "commit": "56051569abf447f1e0682072df58f4db046c6520",
      "tree": "406b9f87002d9c58f0a458230f83c9e96cdfd3f9",
      "parents": [
        "38af02e75b6fa3925cf33186212ae867efe8a58b",
        "6cacbcbf436be744a34f7ea0d4f838ff97757446"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 02 18:01:15 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 02 18:01:15 2018 +0000"
      },
      "message": "Merge \"Use modern c++ code style for incidentd.\" into pi-dev"
    },
    {
      "commit": "fc968058bfcf9c6fb20cd0682de1f4dd93d588ee",
      "tree": "20573a49a2652a77f615d6a86f1ca15a5fdcffff",
      "parents": [
        "6f5a8db2e93bc358b211f576aa91cf9fdc7a88de"
      ],
      "author": {
        "name": "Krzysztof Kosiński",
        "email": "krzysio@google.com",
        "time": "Sun Apr 01 21:56:02 2018 -0700"
      },
      "committer": {
        "name": "Krzysztof Kosiński",
        "email": "krzysio@google.com",
        "time": "Mon Apr 02 09:44:22 2018 -0700"
      },
      "message": "hwui/debug: Remove glMultiDrawElementsBaseVertexOES stubs.\n\nThis function was included by mistake in Khronos OpenGL headers.\nSee this link for further information:\nhttps://github.com/KhronosGroup/OpenGL-Registry/issues/81\n\nBug: 32147090\nBug: 66900669\nBug: 72959780\nTest: Built and flashed the build onto Pixel XL, ran some CTS tests.\nChange-Id: If8f9837466b7d3eb0685624a70b5d5b6fbd86e2e\n"
    },
    {
      "commit": "6cacbcbf436be744a34f7ea0d4f838ff97757446",
      "tree": "776d8808c385eff13b39097a1b64585df88959e3",
      "parents": [
        "6a8ea4fe24dc0116de74a19b3d2a5fe89d0d1736"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Fri Mar 30 14:04:52 2018 -0700"
      },
      "committer": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Fri Mar 30 17:36:49 2018 -0700"
      },
      "message": "Use modern c++ code style for incidentd.\n\nThis cl does not contain code logic changes.\n\nBug: 77333635\nTest: manual and incidentd_test\nChange-Id: Iea0a402b1051defd45159ca267e6dd705f9ffa49\n"
    },
    {
      "commit": "00a754499e125c56ed6fae7b9d4eedb6ac7922a8",
      "tree": "28edcd66e4de8861efbe323ff329cd958d7ca0ea",
      "parents": [
        "6a8ea4fe24dc0116de74a19b3d2a5fe89d0d1736"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Fri Mar 30 11:01:58 2018 -0700"
      },
      "committer": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Fri Mar 30 17:06:46 2018 -0700"
      },
      "message": "Correctly use int types and fix uint64_t print.\n\nBug: 74118023\nTest: atest incidentd_test and atest incident_helper\nChange-Id: I951021c12e3d0dc5c83a1bbb03fa0d64d99c0920\n"
    },
    {
      "commit": "003a9f673883a5427e91536e47f08646664e5179",
      "tree": "8580494db1c62fd4cfe7e1b4373f71f8a61daa65",
      "parents": [
        "69196f6fadf2445c2b9c06c17162d0cd3dfaeb5a"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Thu Mar 29 13:33:53 2018 -0400"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Fri Mar 30 14:19:39 2018 +0000"
      },
      "message": "Fix memory leak in ShaderCache\n\nFix memory leak in a limited memory situation within\nShaderCache::load().\n\nBug: 76213660\nTest: Passed ShaderCacheTest unit test, ran a build on device.\nChange-Id: Ibb6ea8fe167eb22bcbbaffc4cfffac12eda98c42\n"
    },
    {
      "commit": "5d27097739612844a609b63664382e42c7bd189f",
      "tree": "cfad16866f98fab1b15ea6f6b04b3e45c09e0971",
      "parents": [
        "0246723afe9893e4ba5592aeb3900dca461c1a3f",
        "1a12ab26d419bad8e5c3c121d98114199e05f47c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 30 00:48:29 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 30 00:48:29 2018 +0000"
      },
      "message": "Merge \"Fix Skia\u0027s impl for TextureView.getBitmap\" into pi-dev"
    },
    {
      "commit": "15caf835ec5761e35db698f1f270c25b3a9e639d",
      "tree": "073742289fff878d4dbbb8a6368a75a5ab7eff10",
      "parents": [
        "e9b491bd374e8211310435a66952a890f38c1a5d"
      ],
      "author": {
        "name": "Kweku Adams",
        "email": "kwekua@google.com",
        "time": "Thu Mar 29 14:26:23 2018 -0700"
      },
      "committer": {
        "name": "Kweku Adams",
        "email": "kwekua@google.com",
        "time": "Thu Mar 29 14:28:57 2018 -0700"
      },
      "message": "Creating java package for Privacy proto.\n\nAlso setting fields in the GlobalSettingsProto.Private message to LOCAL.\n\nBug: 72814439\nBug: 74975371\nTest: flash device and check incident.proto output\nChange-Id: Ia580144b8b0d0cb9bd9a3297a37213ed5f60a514\n"
    },
    {
      "commit": "1a12ab26d419bad8e5c3c121d98114199e05f47c",
      "tree": "44ae7781ac684a360d9e85d482b336036e89ec3e",
      "parents": [
        "407932ebc0fab40dccd7298f179639b8b9f93460"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Mon Mar 26 15:00:49 2018 -0400"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Thu Mar 29 19:30:28 2018 +0000"
      },
      "message": "Fix Skia\u0027s impl for TextureView.getBitmap\n\nBug: 73392905\nTest: New test added with I2d4ef440f943a50b9367976ba1444f4350071bfd\n\nWhen providing a width and height, getBitmap should scale to the\ndestination. Add a parameter to LayerDrawable::DrawLayer for a\ndestination rectangle to scale to. Pass the size of the bitmap in\nSkiaOpenGLPipeline::copyLayerInto down to DrawLayer. The only other\ncaller of DrawLayer is unaffected.\n\nChange-Id: I7aa192181c2d15bc8fd4de2fb15c4d276b05d2ac\n"
    },
    {
      "commit": "67a58660b9c09d6d2d80eb08fb64cc040a4a2510",
      "tree": "be59e15344ce6591f1b6fc083acede63c479988e",
      "parents": [
        "d1c5b6695f1f9a3e1ddefbbb5118809b1f76a9bb",
        "216b1572b46ecb1225c8b1a904d7f98e2e6c4b01"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 28 20:28:59 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 28 20:28:59 2018 +0000"
      },
      "message": "Merge \"Better error reporting for createOrUpdateLayer\" into pi-dev"
    },
    {
      "commit": "216b1572b46ecb1225c8b1a904d7f98e2e6c4b01",
      "tree": "3009b84e23a643564b0e20caa54555eadaf51dd2",
      "parents": [
        "294ad785342f0eaaf41c59d819edd559450a4a2a"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Mon Mar 26 14:29:50 2018 -0400"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Wed Mar 28 13:49:21 2018 -0400"
      },
      "message": "Better error reporting for createOrUpdateLayer\n\nPass error handler down to the pipeline object, which allows\nskia pipelines to print cache memory usage.\nIn case of an error, print arguments that were used to invoke\nSkSurface::MakeRenderTarget.\n\nTest: Ran android build on a device\nBug: 76115654\nChange-Id: I5baddfa66debd505eddc3117cf94aa6ae69bedaa\n"
    },
    {
      "commit": "4ad0e1425b562e336d798a7b28ef2d3bb815a699",
      "tree": "d88bccf9ad90a54e39ee424971d1f0e7ac45c2b8",
      "parents": [
        "294ad785342f0eaaf41c59d819edd559450a4a2a"
      ],
      "author": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Fri Mar 23 18:33:45 2018 -0700"
      },
      "committer": {
        "name": "Doris Liu",
        "email": "tianliu@google.com",
        "time": "Mon Mar 26 18:12:31 2018 +0000"
      },
      "message": "More path validation for better error message\n\nBUG: 73759524\nTest: Unit test updated\nChange-Id: I2774450174ad6490a1d5e6c81766a2982c2aa6f1\n"
    },
    {
      "commit": "6045d66aa242ca665354e9558d61fdcc9b5bd03d",
      "tree": "a485abd693548f091413192b55c9c4ec8daa8d7d",
      "parents": [
        "5bdf06353798f13ceb40c21b023e3fcfb17ad0ad",
        "8686e1f157f9d1e21cb39762d1ec495cc74afdb1"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Mar 23 19:26:50 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 23 19:26:50 2018 +0000"
      },
      "message": "Merge \"Add isPivotSet/resetPivot\" into pi-dev"
    },
    {
      "commit": "909402935c82027d313a58a73b3faa3da6bc618b",
      "tree": "0faa32ca778492c9e051c3f9a4226edffbc0de5a",
      "parents": [
        "4341a66b03aa8ba03de09db4bd446312c47176be",
        "3f085422081db5d7da5dfc394a0b9c2696c2e9be"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 23 17:51:24 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 23 17:51:24 2018 +0000"
      },
      "message": "Merge \"Fix resource by name lookup\" into pi-dev"
    },
    {
      "commit": "13269764e5282987d87b831f7b0d54744821dbae",
      "tree": "67c7d365931099533e682f4d2c77ddf0f9effb77",
      "parents": [
        "d9e1a8fd6807b6369dfd99db5005604fae9133d5",
        "aadc0320454d9094899c0e9cfdf33a14938707b8"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 23 17:14:01 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 23 17:14:01 2018 +0000"
      },
      "message": "Merge \"Clear the frame buffer for F16 pixel format\" into pi-dev"
    },
    {
      "commit": "aadc0320454d9094899c0e9cfdf33a14938707b8",
      "tree": "d6fa3dce406f9bc12871e01e28524adb2b35e62a",
      "parents": [
        "bd65574db64c1b78c84d95449a1309173169cffb"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Fri Mar 23 10:50:11 2018 -0400"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Fri Mar 23 10:50:11 2018 -0400"
      },
      "message": "Clear the frame buffer for F16 pixel format\n\nThis is a workaround for Qualcomm bug and should be reverted\nafter a proper fixed is found.\n\nBug: 74976293\nTest: Ran Photo app\nChange-Id: I9e0a4634f02c3553635f058eb588b510a63273ba\n"
    },
    {
      "commit": "dfdc3791441ff6ede4b4ae36ecdc627561471a8e",
      "tree": "4cf002f60babda0c1990e8f7a6d161b65dacd965",
      "parents": [
        "0ed26bc8b1bf04e79a5abceb6f13cf509b9d105a",
        "322bc57a338ec650347084ef379860c19b29d1b4"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 23 11:25:19 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 23 11:25:19 2018 +0000"
      },
      "message": "Merge \"detect api version, and start respecting offsets\" into pi-dev"
    },
    {
      "commit": "3f085422081db5d7da5dfc394a0b9c2696c2e9be",
      "tree": "31dd6bda2321ea5299f187abd36619eca19bf9f2",
      "parents": [
        "c7f6eadffc0a243618ce09ee8d6bb8235738135d"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Mar 22 20:58:52 2018 -0700"
      },
      "committer": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Mar 22 20:59:05 2018 -0700"
      },
      "message": "Fix resource by name lookup\n\nTest: added: \u0027@\u0027 cases to ResourceUtilsTest\n      pass: ./out/host/darwin-x86/nativetest/libandroidfw_tests/libandroidfw_tests\n      pass: ./out/host/darwin-x86/nativetest/aapt2_tests/aapt2_tests\n      pass: cts-tradefed run cts-dev -m CtsAppSecurityHostTestCases\n                -t android.appsecurity.cts.PermissionsHostTest\n\nBug: 74612500\n\nChange-Id: I144e4ca1b63b9cce71052fc02089bb6092739889\n"
    },
    {
      "commit": "a43de8b61a73b8a5e47703e4b3b052d7b2b521e7",
      "tree": "e34d6205c6fc1d7e0773496dbca5896a14a521d2",
      "parents": [
        "f4f7859149164bcd44fe4fedc0ce608e58ad2e05",
        "6f75da0474c112e7ae31b082123a0b47bdc50e10"
      ],
      "author": {
        "name": "Jorim Jaggi",
        "email": "jjaggi@google.com",
        "time": "Thu Mar 22 21:18:49 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 22 21:18:49 2018 +0000"
      },
      "message": "Merge \"Remove old workaround for display issues\" into pi-dev"
    },
    {
      "commit": "eae9144add4297d9cc2863263f4107fd2a49c106",
      "tree": "b732613568424e1237385eb4a9563748903532ae",
      "parents": [
        "33ed612ccaab47b238f460aaf91515b2c2b5b7b4",
        "431d9d63e993c6056e95811e9a84869aa324e7a0"
      ],
      "author": {
        "name": "Andrew Sapperstein",
        "email": "asapperstein@google.com",
        "time": "Thu Mar 22 19:31:23 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 22 19:31:23 2018 +0000"
      },
      "message": "Merge \"Revert \"Update material_deep_teal_500 to #008577.\"\" into pi-dev"
    },
    {
      "commit": "431d9d63e993c6056e95811e9a84869aa324e7a0",
      "tree": "5406d419aa8437e612b77cff0230b024e413c81a",
      "parents": [
        "5c228d5eb975de5e15970ae11ebddf95010875fe"
      ],
      "author": {
        "name": "Andrew Sapperstein",
        "email": "asapperstein@google.com",
        "time": "Thu Mar 22 15:54:23 2018 +0000"
      },
      "committer": {
        "name": "Andrew Sapperstein",
        "email": "asapperstein@google.com",
        "time": "Thu Mar 22 15:56:27 2018 +0000"
      },
      "message": "Revert \"Update material_deep_teal_500 to #008577.\"\n\nThis reverts commit 5c228d5eb975de5e15970ae11ebddf95010875fe.\n\nReason for revert: Breaks presubmit. b/76126268\n\nChange-Id: Iffd8bbb62d05cae1c2a5dabfab2824899c5ff3cf\nBug: 74118164\nBug: 76126268\nTest: presubmit\n"
    },
    {
      "commit": "8686e1f157f9d1e21cb39762d1ec495cc74afdb1",
      "tree": "6422fc51e3feec48a1a53d0c143aecf48f0281bd",
      "parents": [
        "17d3b47e2036f589f29b7436bcbcd27eb0ad1a3e"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Mar 21 16:31:21 2018 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Mar 21 16:42:59 2018 -0700"
      },
      "message": "Add isPivotSet/resetPivot\n\nBug: 74825533\nTest: CTS view tests in topic\nChange-Id: Ib918bc5830d53ee0a83b13ab53ac6e8dd86c869f\n"
    },
    {
      "commit": "6f75da0474c112e7ae31b082123a0b47bdc50e10",
      "tree": "2a19fef4eb252daa00c4db7dd5212ae669b49e46",
      "parents": [
        "17d3b47e2036f589f29b7436bcbcd27eb0ad1a3e"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Mar 21 14:43:40 2018 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Mar 21 14:43:40 2018 -0700"
      },
      "message": "Remove old workaround for display issues\n\nBug: 76086140\nTest: A bunch of systraces, things looked OK\nChange-Id: I447e976a937160c0bb3b52afd57661e7ffa0c9ec\n"
    },
    {
      "commit": "74d9b14f21c6663ac7aa30d397fb7dc8c3a4ee77",
      "tree": "a53d78fd870771761a098962d1950e721d6f809a",
      "parents": [
        "b24d84b2226537214966ad834824fe8152a7ad94",
        "5c228d5eb975de5e15970ae11ebddf95010875fe"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 21 17:45:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 21 17:45:25 2018 +0000"
      },
      "message": "Merge \"Update material_deep_teal_500 to #008577.\" into pi-dev"
    },
    {
      "commit": "322bc57a338ec650347084ef379860c19b29d1b4",
      "tree": "7486cc80128fd9cc0450abe0ae2bb1e8d04c46b2",
      "parents": [
        "90df705a0ba361bfcb0d2ea86f24b6691f824509"
      ],
      "author": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Tue Mar 20 13:37:04 2018 -0400"
      },
      "committer": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Wed Mar 21 17:39:01 2018 +0000"
      },
      "message": "detect api version, and start respecting offsets\n\nTest: make\n\nBug: 36471624\nChange-Id: Ica10c557bf35e8d707fabbafab49d22109916fd3\n"
    },
    {
      "commit": "d848f75f9955c80209e2cd163993cfbe76f76f51",
      "tree": "314751544037937d9f04974e425081d7c23b9008",
      "parents": [
        "f344b3ead51d3ac96c60223cbc9a4a0bc7c61576",
        "eb3b38e22cb29c6a7fccb7031263f50663cc76d0"
      ],
      "author": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Wed Mar 21 16:48:19 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 21 16:48:19 2018 +0000"
      },
      "message": "Merge \"Report native allocation size of AnimatedImageDrawable\" into pi-dev"
    }
  ],
  "next": "eb3b38e22cb29c6a7fccb7031263f50663cc76d0"
}
