)]}'
{
  "log": [
    {
      "commit": "68406a2dd561340434903f83d7a3cda309467b18",
      "tree": "40f3d2b13c196a808d2d9ec0313378b701ec61c8",
      "parents": [
        "65cf57bf6c44a3daf05e4a903d2de8dbbc64b7ca",
        "1d857f03f70cf20a523f95fc5085e4e6e0b61492"
      ],
      "author": {
        "name": "Greg Daniel",
        "email": "egdaniel@google.com",
        "time": "Tue Apr 23 16:52:06 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 23 16:52:06 2019 +0000"
      },
      "message": "Merge \"Make sure to sync GPU after deleting memory in trimMemory.\" into qt-dev"
    },
    {
      "commit": "eecc52d796a16cd4b1f7581ba49cd28d4b5def51",
      "tree": "f4680e0126467cb6c052bf284aa533a7ee4904a7",
      "parents": [
        "c79a8e67463668a21cd3d0259423974518afe6fa",
        "cf185f5b0d30516ecb34350a585aed7f7d4e0672"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Apr 22 19:18:53 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 22 19:18:53 2019 +0000"
      },
      "message": "Merge \"Dynamically adjust renderahead\" into qt-dev"
    },
    {
      "commit": "28dd5f84860145c4c0537ae8642d7ea5a43d226c",
      "tree": "be81b2992496fdb96000d7a7d1a536c5544fb00f",
      "parents": [
        "de058b8e1b7c98ff69ca2b239b92f545cbb06e4c",
        "9f433c8509d0fc9563bbad59beaca082d367e6ad"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 22 18:34:39 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 22 18:34:39 2019 +0000"
      },
      "message": "Merge \"Fix a bug in ProtoFileReader.\" into qt-dev"
    },
    {
      "commit": "1d857f03f70cf20a523f95fc5085e4e6e0b61492",
      "tree": "638f6e8c6266be5997acaa7c50c2462fee7b7e72",
      "parents": [
        "fc0f0ea6903ee69c6b077ec3236980b928f9acdb"
      ],
      "author": {
        "name": "Greg Daniel",
        "email": "egdaniel@google.com",
        "time": "Wed Apr 17 12:18:50 2019 -0400"
      },
      "committer": {
        "name": "Greg Daniel",
        "email": "egdaniel@google.com",
        "time": "Mon Apr 22 13:43:06 2019 +0000"
      },
      "message": "Make sure to sync GPU after deleting memory in trimMemory.\n\nOn GL some devices may not delete gpu memory immediately after calling\ndelete and instead will just queue it up. We must call glFinish to\nmake sure the memory is deleted when we want it.\n\nMore importantly Vulkan memory will not be freed until the GPU is done\nwith all the work. Thus we require an additional flush to make sure the\nprevious gpu work we submitted has finished and we can delete the\nmemory.\n\nTest: manual testing on device\nBug: b/130440975\nChange-Id: I2a9202dd7d15d97b365120a8caf9e10b4100efc3\n"
    },
    {
      "commit": "9f433c8509d0fc9563bbad59beaca082d367e6ad",
      "tree": "12a98014294ebfe55836be1ee065e3a040062088",
      "parents": [
        "f9585ca911c64ac4e8f039b37690573b29e53cb5"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Sun Apr 21 20:10:27 2019 -0700"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Sun Apr 21 20:10:27 2019 -0700"
      },
      "message": "Fix a bug in ProtoFileReader.\n\nClassic and consuming\n\nBug: 131037240\nTest: unit test added in incidentd_test\nChange-Id: I9200122ed35e874ef453eb12adc7fbf28c22003e\n"
    },
    {
      "commit": "b9e296e18faa5d72b168aaf110229bd6dc81f203",
      "tree": "0a52195480a458af1099eaae9effca774370c086",
      "parents": [
        "f96a3cbaa3d37c500df061e7b53080eaf001c9ec"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Apr 18 16:21:42 2019 -0400"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Fri Apr 19 15:29:48 2019 -0400"
      },
      "message": "Update the CPU text cache sizes to be the same as their GPU equivalents\n\nBug: 130684261\nTest: uibench jank tests\nChange-Id: Ieb837afd76d1990c796baa9794ba54a83b8cd46f\n"
    },
    {
      "commit": "cf185f5b0d30516ecb34350a585aed7f7d4e0672",
      "tree": "4235b69aa096175a3e01db7ea62e7c1bcab30603",
      "parents": [
        "c4a3f5c3777da82d6f452d26f684a65e97ed963c"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Apr 11 16:11:24 2019 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Apr 18 14:20:56 2019 -0700"
      },
      "message": "Dynamically adjust renderahead\n\nTracks refresh rate changes and adjusts renderahead\nbased off of the active refresh rate.\n\nDefault is 60hz \u003d 0 render ahead \u0026 \u003e 70hz is render ahead 1\n\nBug: 127822449\nTest: systraced stuff\n\nChange-Id: I9849aa065262f21f7602d44cd1761373279dc28d\n"
    },
    {
      "commit": "9c88c1e93e2f87cbeafabb91f753cf16eb1c9c00",
      "tree": "b8a018fd6f73c84cc438e5805ac2ca7ae9e2f1ef",
      "parents": [
        "10a591bc43a2e0209b77cb1adea8d9fdaafd1a7a",
        "939df096be11d242c8f3473954c7c10c371cf142"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 18 01:39:51 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 18 01:39:51 2019 +0000"
      },
      "message": "Merge \"Add odm and oem policies\" into qt-dev"
    },
    {
      "commit": "939df096be11d242c8f3473954c7c10c371cf142",
      "tree": "0b4a8f3e490661546fe8fa728147da88a1b459e5",
      "parents": [
        "488693532998d5e08f68b58b235b7d6dcd3df1fb"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Apr 09 17:13:50 2019 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Apr 17 16:07:57 2019 -0700"
      },
      "message": "Add odm and oem policies\n\nThis change adds parsing, encoding, and validating of odm and oem\noverlayable policies to aapt2, libandroidfw, and idmap2.\n\nBug: 121033532\nTest: aapt2_tests, idmap2_tests\nChange-Id: Ifc0d4b6c9f9c37e06b2988abade69dbb277c50c2\n"
    },
    {
      "commit": "facddb450814629403253b532164af65038ec23d",
      "tree": "49b94911988744e0ff8e8a61c6cf4efb514780d1",
      "parents": [
        "b47bcf0ee50897a554f0c30d2c317737026b1c61",
        "1201ca70548fad85627eb5d303a5f8b3e674b243"
      ],
      "author": {
        "name": "Winson Chiu",
        "email": "chiuwinson@google.com",
        "time": "Tue Apr 16 17:53:54 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 16 17:53:54 2019 +0000"
      },
      "message": "Merge \"Skip idmap1 generation if target defines overlayable\" into qt-dev"
    },
    {
      "commit": "949305fe52816c6a51454cc8aee56fee8486eeac",
      "tree": "7d8917b4823809584d316d9ab115b92e9eb1ce0d",
      "parents": [
        "083190633a61edd861de7255fe43bc1570c84d25",
        "6c5864c098aa72e88cb8512255d3c01a449a372e"
      ],
      "author": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Tue Apr 16 12:15:16 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 16 12:15:16 2019 +0000"
      },
      "message": "Merge \"Do not cache AVDs that are off screen\" into qt-dev"
    },
    {
      "commit": "1201ca70548fad85627eb5d303a5f8b3e674b243",
      "tree": "9e8ed7ca34bb6a09124fdc816e414b8c6e58968c",
      "parents": [
        "5a8b95c3c06b03c7e82e831e2cdcbee1444f1b81"
      ],
      "author": {
        "name": "Winson",
        "email": "chiuwinson@google.com",
        "time": "Fri Apr 12 16:19:26 2019 -0700"
      },
      "committer": {
        "name": "Winson",
        "email": "chiuwinson@google.com",
        "time": "Mon Apr 15 15:31:39 2019 -0700"
      },
      "message": "Skip idmap1 generation if target defines overlayable\n\nSince idmap1 can\u0027t enforce policy restrictions, we can\u0027t allow it\nto generate an idmap that might get used.\n\nMigrating to idmap2 is too difficult for now as it requires a lot\nof PackageManager infrastructure to validate policies, and none of\nthat is available during manifest parsing, which is where idmap1\nis currently used.\n\nBug: b/130260055\n\nTest: manual test BT issue from b/130260055\nTest: manual test app with test overlay toggling Activity enabled\n\nChange-Id: I5e7e321d27aab9be360a5e8be77d804ad3f66336\n"
    },
    {
      "commit": "8d8d704cf7a2c0f94352057ebe45e4343fd8eba4",
      "tree": "355f02e8ab1035d81b90e51810282047ce171c2e",
      "parents": [
        "ab662fe8a5dcc20541e8a20194f8e63127a5c7e8",
        "321d8e538dab448a61c6b510fe080e4b62c5644e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 15 21:00:08 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 15 21:00:08 2019 +0000"
      },
      "message": "Merge \"Fix set_buffers_damage in VulkanSurface\" into qt-dev"
    },
    {
      "commit": "08ca2a256059de4258a2c557ec20f4ab9f5e3517",
      "tree": "e9f155f3f1e847a188ef885e4069b523f7d39c06",
      "parents": [
        "64b51f91ff5a7d2cb11b91f541edba6307176784",
        "0fa0cbcade324654e4235d0c91f602ffd9dfcafa"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Apr 15 18:20:28 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 15 18:20:28 2019 +0000"
      },
      "message": "Merge \"Support render-ahead in vulkan\" into qt-dev"
    },
    {
      "commit": "0fa0cbcade324654e4235d0c91f602ffd9dfcafa",
      "tree": "441627788e14da1b5359f1f899d8df10e44fb99d",
      "parents": [
        "a39c85fc2b563e628a4fd197b4a8b0d0ba86ec43"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Apr 05 16:57:46 2019 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Apr 12 13:33:25 2019 -0700"
      },
      "message": "Support render-ahead in vulkan\n\nBug: 127822449\nTest: verified render_ahead working with skiavk\nChange-Id: Iae1b227a763f6def035057f38cca4b0ab65c7e82\n"
    },
    {
      "commit": "321d8e538dab448a61c6b510fe080e4b62c5644e",
      "tree": "75858b03794b48b85c4b34f74dcd3b18f51a4c50",
      "parents": [
        "a39c85fc2b563e628a4fd197b4a8b0d0ba86ec43"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Apr 12 13:06:11 2019 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Apr 12 13:06:11 2019 -0700"
      },
      "message": "Fix set_buffers_damage in VulkanSurface\n\nFixes: 130363483\nTest: `setprop debug.hwui.renderer skiavk` and ensure\n      surface damage in dumpsys surfaceflinger is expected\n      in portrait \u0026 landscape orientations.\n\nChange-Id: I973c47038e534c86f38112de7b863477d982d150\n"
    },
    {
      "commit": "6c5864c098aa72e88cb8512255d3c01a449a372e",
      "tree": "29fdb763afb20e85256dba1a382e38080901956f",
      "parents": [
        "f0af267513bd005dccc54ddcda3b10352fab0509"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Wed Apr 03 15:09:25 2019 -0400"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Fri Apr 12 14:31:31 2019 -0400"
      },
      "message": "Do not cache AVDs that are off screen\n\nBug: 128805564\nTest: Manual + systrace; hwui_unit_tests; CtsUiRenderingTestCases\n\nOnly update a VectorDrawable\u0027s cache if it is onscreen. This fixes a\nTwitter use case where the app has a ProgressBar that is exactly one\npixel offscreen. Prior to this CL, we repeatedly drew the ProgressBar\u0027s\nAVD to a GPU surface, even though we clip it out later and never draw\nthat GPU surface. Now, we recognize that the AVD is outside of the\nbounds of the screen, so we never draw to the GPU surface.\n\nTreeInfo:\n- store the size of the screen, retrieved from\n  CanvasContext::getNextFrameSize.\nSkiaDisplayList:\n- Store the matrix at the time of recording a VectorDrawable. Concat\n  that with the current matrix to determine whether the VD is on screen,\n  based on the TreeInfo. If it is offscreen, do not add it to the list\n  of AVDs that need to be updated ahead of rendering.\n- In addition, if it is offscreen (or not dirty), do not call\n  setPropertyChangeWillBeConsumed(true). This prevents triggering\n  dispatchFrameCallbacks to update on the RenderThread when there is no\n  need to. This also mimics what would happen if the View/RenderNode had\n  been completely offscreen.\n- Add a method to append an AVD to mVectorDrawables. Now that the vector\n  is of Pairs, this simplifies the call sites. Add a second helper to\n  just add an AVD without a matrix, for use in tests.\nSkiaRecordingCanvas:\n- get the current matrix and store it in the display list along with the\n  AVD.\nCanvasContext:\n- add getNextFrameSize, for reporting the size of the next frame without\n  dequeuing it\nVectorDrawable.cpp:\n- call quickReject to potentially short circuit drawing. This is for a\n  hypothetical use case (verified in a test app) where the containing\n  RenderNode is partially onscreen, but the AVD itself is not. Even\n  without the change to VectorDrawable.cpp, we skip uploading to the GPU\n  cache, the SkiaDisplayList still attempts to draw it. This change\n  keeps us from drawing it at all.\nSkiaDisplayListTests.cpp:\n- Now that I\u0027ve hidden mVectorDrawables, call the new public APIs.\n- prepareListAndChildren test\n  - for the clean VD, assert that getPropertyChangeWillBeConsumed\n    returns FALSE. This is due to the behavior change that we do not\n    set it unless the VD is dirty.\n  - set the bounds, so our onscreen check works.\n- Add another test for prepareListAndChildren, which puts VDs offscreen.\n\nChange-Id: Iae0a07adcf58e7884e0854720de644e7b2faf2bf\n"
    },
    {
      "commit": "8bffd47f7a425fde11d140d18426988935d4ba8d",
      "tree": "49769184a84bcf8c918e337ef81f297c3542e719",
      "parents": [
        "10673d513f35cf24a92a960fad1b4f1657a1d684",
        "cfd929dffd2f9f0bdc6997f06309992000fbc289"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 10 17:42:09 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 10 17:42:09 2019 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Fix lifecycle issue in CommonPool\"\"\" into qt-dev"
    },
    {
      "commit": "87e99a29aa98c9d3c178e6baaf4646e889811997",
      "tree": "9b1db22c90768e496eda7e380648ad8af07034d8",
      "parents": [
        "db54f27d0aa12cca34a5feadee83fd335138d48e"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Tue Apr 09 08:55:28 2019 -0400"
      },
      "committer": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Wed Apr 10 12:10:52 2019 +0000"
      },
      "message": "Ensure that hardware Bitmap has a ColorSpace\n\nBug: 129355537\nTest: I9e004fbb7c966bb58ae374087fecd66a1bb72346\n\nandroid_view_ThreadedRenderer_createHardwareBitmapFromRenderNode in\nSkiaGL could create an android::Bitmap without an SkColorSpace. Treat\nHAL_DATASPACE_UNKNOWN as sRGB, as this is how we treat it internally.\n\nChange-Id: Iad7f7d7cafce0a8759a84a4296ae5c3ce86dff4c\n(cherry picked from commit 7fb4c9e4bb10e17d28a09bd84d364171359a1941)\nMerged-In: Iad7f7d7cafce0a8759a84a4296ae5c3ce86dff4c\n"
    },
    {
      "commit": "cfd929dffd2f9f0bdc6997f06309992000fbc289",
      "tree": "a948b796f349c581b3d5d3c41c496396d2ca48a2",
      "parents": [
        "a39c85fc2b563e628a4fd197b4a8b0d0ba86ec43"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Apr 08 11:28:15 2019 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Apr 08 16:30:22 2019 -0700"
      },
      "message": "Revert \"Revert \"Fix lifecycle issue in CommonPool\"\"\n\nThis reverts commit 162305aaceca5f6cbaa03db1aa124f67e313612e.\n\nAdjusted tests to ensure they pass on cf_x86\n\nBug: 129250875\nTest: this on cf_x86 \u0026 blueline\n\nChange-Id: Ic3245ec8db784ae356b7fa66dda9a2fc91c622ea\n"
    },
    {
      "commit": "4670126b86a666d05d4bd25d0fb0f1a0359849e9",
      "tree": "d55226d20b9d73a294370f82f6816f7758039223",
      "parents": [
        "353c5cc16a6e0ccc51fdf1c5f1f8f1987b291e96"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Mon Apr 08 15:45:20 2019 -0400"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Mon Apr 08 20:31:16 2019 +0000"
      },
      "message": "Respect the hardware buffer usage flags set by the consumer.\n\nTest: CtsUiRenderingTestCases\nBug: 130121294\nChange-Id: Ie77dee104fa8935978dfd6c0c506d2995f20cd79\n"
    },
    {
      "commit": "da4d6e86a3e92475600530f01daf67686155bd19",
      "tree": "b1e4ba27a0a25edcd151873fdc63f3f70a115ae6",
      "parents": [
        "986f1f4e5f80a6c9139bc6be87c73807bf85b0b8",
        "162305aaceca5f6cbaa03db1aa124f67e313612e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sun Apr 07 22:23:51 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Apr 07 22:23:51 2019 +0000"
      },
      "message": "Merge \"Revert \"Fix lifecycle issue in CommonPool\"\" into qt-dev"
    },
    {
      "commit": "162305aaceca5f6cbaa03db1aa124f67e313612e",
      "tree": "5a3490b906bf2ab6bf2fb8b0eb7f8c505b178d5d",
      "parents": [
        "5ff61f32a78dca0c722c8ac2685874a26190ceed"
      ],
      "author": {
        "name": "David James",
        "email": "davidjames@google.com",
        "time": "Sun Apr 07 04:27:56 2019 +0000"
      },
      "committer": {
        "name": "David James",
        "email": "davidjames@google.com",
        "time": "Sun Apr 07 04:28:50 2019 +0000"
      },
      "message": "Revert \"Fix lifecycle issue in CommonPool\"\n\nThis reverts commit 5ff61f32a78dca0c722c8ac2685874a26190ceed.\n\nReason for revert: causes global presubmit to be very flaky, see b/130081457\nFixes: b/130081457\n\nChange-Id: I93aa5d6686cd6b5bf831766c9e47c291749526a9\n"
    },
    {
      "commit": "4108c7fca4b23b1f0b496c45d93643690544b5ec",
      "tree": "0d55e5cd05fd755f64f299acea42f2365fe55a5b",
      "parents": [
        "1be371ddbd49524ec4127a6c01784981a467d45b",
        "93bca97e7ce1f3a7938d6ce5af5f6f325ab66f89"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 05 22:00:44 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 05 22:00:44 2019 +0000"
      },
      "message": "Merge \"Allow non-references to be copied between AssetManagers\" into qt-dev"
    },
    {
      "commit": "1be371ddbd49524ec4127a6c01784981a467d45b",
      "tree": "187eb0b2681df76de9b8a4bcd6bf6029a15ec92a",
      "parents": [
        "cf457b24595f0433cf3e815380568e47e0e5b392",
        "9bd5db7a68b7e91d97d3b7b0dfc70a1dd45f9abb"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Fri Apr 05 21:29:24 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 05 21:29:24 2019 +0000"
      },
      "message": "Merge changes I9706478e,I3fe2dea3,Ic65566c0 into qt-dev\n\n* changes:\n  Make libplatformprotos-static, which is safe to use when you don\u0027t have shared libraries.\n  Add additional system properties that can disable the face debugging codepath\n  Fix mMaxOffset not initialized.\n"
    },
    {
      "commit": "93bca97e7ce1f3a7938d6ce5af5f6f325ab66f89",
      "tree": "1348e5279b48745a2d057c213c21b9655b6fb987",
      "parents": [
        "dd07ae579c291a2b6ffe09bd576fd908eb9e5ddd"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Mar 08 17:26:28 2019 -0800"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Apr 05 12:44:51 2019 -0700"
      },
      "message": "Allow non-references to be copied between AssetManagers\n\nHard-coded values in styles can be copied between AssetManagers even if\nthe source package is not present in the destination AssetManager. Only\nreferences and strings should be prevented from being copied over\nbecause they would be invalid in the destination AssetManager.\n\nBug:126400561\nTest: manual\nChange-Id: I970a3e961763b2c003c15b950d864a9a0b615022\n"
    },
    {
      "commit": "562888399c0ec17b08e6883c4dd3f43245f5aab6",
      "tree": "c89440fdaffb757286e1ca8bacf76d6b066dcb1c",
      "parents": [
        "ce3cd94e449a85b2547a823642cb692e74bc48dd",
        "5ff61f32a78dca0c722c8ac2685874a26190ceed"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Apr 05 17:59:10 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 05 17:59:10 2019 +0000"
      },
      "message": "Merge \"Fix lifecycle issue in CommonPool\" into qt-dev"
    },
    {
      "commit": "4796ae6f6a65af130cdb6e0cf5e0845ce8ebedeb",
      "tree": "a1cbf2a44fdfc44984b85906076617fcacdb7f37",
      "parents": [
        "f8b98bb10dbdd5c4d7e7ae7592a1753e8b5489df"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Apr 03 16:17:16 2019 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Thu Apr 04 21:43:53 2019 -0700"
      },
      "message": "Fix mMaxOffset not initialized.\n\nTest: bit GtsIncidentManagerTestCases:*\nBug: 129884655\nChange-Id: Ic65566c02a255d1f52ce6876152383126afbfaef\n"
    },
    {
      "commit": "5ff61f32a78dca0c722c8ac2685874a26190ceed",
      "tree": "f795a2a4c2d8c4386a0be6840e0f0f96ad020c25",
      "parents": [
        "dd07ae579c291a2b6ffe09bd576fd908eb9e5ddd"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Apr 04 15:49:40 2019 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Apr 04 16:05:10 2019 -0700"
      },
      "message": "Fix lifecycle issue in CommonPool\n\nDestroy things more faster\n\nFixes: 129250875\nTest: hwui_unit_tests\nChange-Id: I7e060fcb61f5321dd9e68a3ee4a01868033b3fc3\n"
    },
    {
      "commit": "4d527226fd2dbca30798b25e6c5cf50288ffd322",
      "tree": "565315067642d9b739fafb0a83457c0566447681",
      "parents": [
        "dd07ae579c291a2b6ffe09bd576fd908eb9e5ddd"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Mar 13 16:25:20 2019 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Apr 04 18:03:35 2019 +0000"
      },
      "message": "Add back render-ahead support\n\nCurrently only supported in the EGL path.\nVulkan support Coming Soon\n\nBug: 127822449\nTest: trace of hwuimacro\nChange-Id: Iac2b039e11d964aab5b8ca1bdf2a5430b187e2ea\n"
    },
    {
      "commit": "ca3088a9aaaa204ee15735c79ee30e3490773802",
      "tree": "9a05f65b966d5f7f613c2d52127022268dc80f32",
      "parents": [
        "53f81a6800b14cfc0515734efea29d0a59a05933",
        "878cbf8269a379f58072727f63e67ee96f6c1b5f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 03 23:05:48 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 03 23:05:48 2019 +0000"
      },
      "message": "Merge \"Add per-file owner for CursorWindow.cpp\""
    },
    {
      "commit": "7988315b01b45e4e9535e5448b00baec23d3f93d",
      "tree": "628f72f0714038cccae2e737032223df0f7f15bb",
      "parents": [
        "1baecb466f2de5a3973a5ebdb8cc348dc0576c79",
        "48c24cf1490be40c8b8ef44cfb6479a4895cdfe1"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 03 21:56:39 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 03 21:56:39 2019 +0000"
      },
      "message": "Merge \"Add support for /odm/overlay\""
    },
    {
      "commit": "878cbf8269a379f58072727f63e67ee96f6c1b5f",
      "tree": "b6d7e5981254b15840158b4a848244c00c59b7c0",
      "parents": [
        "8502e24cd30e08267c0e529cb655195fbc619fbe"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Wed Apr 03 14:32:35 2019 -0700"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Wed Apr 03 14:32:35 2019 -0700"
      },
      "message": "Add per-file owner for CursorWindow.cpp\n\n(Need to merge it first to avoid merge conflict)\n\nTest: N/A\nChange-Id: I075ac3ec47743f5d9cd2acbd0cc01ce55cd1a8e3\n"
    },
    {
      "commit": "2276ceacb37d87f12f6f6cc56987673343b49c8f",
      "tree": "0cbd5970b3f80883d5441bff31a95b72e86a8d3d",
      "parents": [
        "1c721134511549853e0f407c02fb136b5db41132"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Tue Apr 02 14:05:05 2019 -0700"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Wed Apr 03 16:01:33 2019 +0000"
      },
      "message": "Improve CursorWindow failure message\n\nBug: 129139241\nBug: 129721058\nTest: atest CursorWindowTest\nChange-Id: Iac1c5ec6f999dadd638fc5ab47c69d13f60ea467\n"
    },
    {
      "commit": "48c24cf1490be40c8b8ef44cfb6479a4895cdfe1",
      "tree": "1cd09591f47e0ffead548f8c8f846a059ca239fb",
      "parents": [
        "d5c80f29cd382f5c2b9332162e4a8f22e75260e1"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Mon Feb 25 10:54:09 2019 +0100"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Tue Apr 02 11:07:10 2019 -0700"
      },
      "message": "Add support for /odm/overlay\n\nAdd support for runtime resource overlay (RRO) APKs in /odm/overlay.\n\nBug: 121033532\nTest: manual (adb push apk to /odm/overlay, reboot, cmd overlay list)\nChange-Id: I0918d276dfa6a43054068d3f84ecd0d1639f1d0b\n"
    },
    {
      "commit": "0c682d04bdeb249508822671c0b1609942dcb6fe",
      "tree": "0c02444d86fa1a8e0186b0747bad80591c82e62e",
      "parents": [
        "ab922b13cdf676dd444279ad095b297f5667bbb6",
        "2173f1890c1503229154da06cdfb5049aa719a06"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 02 13:37:05 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 02 13:37:05 2019 +0000"
      },
      "message": "Merge \"Add workaround for qualcomm vulkan AHDARDWAREBUFFER_USAGE_VENDER_0\""
    },
    {
      "commit": "2173f1890c1503229154da06cdfb5049aa719a06",
      "tree": "84150ea376cf03e9cd23b2c5069f093ff79a9e79",
      "parents": [
        "b51fda1bc3d6b832021c169abf21b2659e8a34ed"
      ],
      "author": {
        "name": "Greg Daniel",
        "email": "egdaniel@google.com",
        "time": "Mon Apr 01 09:29:44 2019 -0400"
      },
      "committer": {
        "name": "Greg Daniel",
        "email": "egdaniel@google.com",
        "time": "Tue Apr 02 13:21:28 2019 +0000"
      },
      "message": "Add workaround for qualcomm vulkan AHDARDWAREBUFFER_USAGE_VENDER_0\n\nTest: manual building and testing on device. Bugs related to lack of\nflag go away.\nBug: 128923272\nChange-Id: I2457988c097d73020162947c346a8716d373185e\n"
    },
    {
      "commit": "d91a716cf30f327a8b85a5b3e0311379927f332b",
      "tree": "ea3fa2004a5ca5cdd3872c5b5a5e5ff05ceef408",
      "parents": [
        "e0d9a16d9ff816287f603844f5c0b557dee0a947",
        "30b9096352de3c0c5aabbb47f5e6ccfff941ad2d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 01 17:32:35 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 01 17:32:35 2019 +0000"
      },
      "message": "Merge \"Don\u0027t load EGL driver always\""
    },
    {
      "commit": "b51fda1bc3d6b832021c169abf21b2659e8a34ed",
      "tree": "3ec41b85d4c3d048de672cf7046ac7ed354fe8c5",
      "parents": [
        "a8a14d4bdbfa09f25cf96f941cbeff8d26c28123",
        "bf99c4450b55a0bee268c382cba8c60796cd068b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 01 16:49:26 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 01 16:49:26 2019 +0000"
      },
      "message": "Merge \"Invalidate Skia shader cache if Vulkan driver has changed\""
    },
    {
      "commit": "30b9096352de3c0c5aabbb47f5e6ccfff941ad2d",
      "tree": "4a40d8474ee1c70127e286741ef51ea5633669aa",
      "parents": [
        "dece92b28744012f6db87f5100b511cd459218a1"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Fri Mar 29 14:25:09 2019 -0400"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Mon Apr 01 15:20:06 2019 +0000"
      },
      "message": "Don\u0027t load EGL driver always\n\nEGL driver is preloaded only if HWUI renders with GL.\n\nTest: Ran several apps, passed CtsGraphics and CtsUiRendering\nChange-Id: Ib38d6f51a19a2ee3631c7d9c99283286c389e476\n"
    },
    {
      "commit": "4cb02be4c84823e16e5105f08ac49df7281d5d4a",
      "tree": "67d236cd3a446ba152e6e5c73cdbf7728adc6d1b",
      "parents": [
        "440d168834f8e8a2295f7302b7cd0e67a14b845f",
        "ac513c2fde2bd385f26f63848ff72ad85d2a4144"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Mar 30 00:31:22 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 30 00:31:22 2019 +0000"
      },
      "message": "Merge \"Fix NATIVE_WINDOW_MIN_UNDEQUEUED_BUFFERS handling\""
    },
    {
      "commit": "fbe87233d546f90f819080c614e8cb6659a6894b",
      "tree": "62b7078a6a545e17416a5d8b1f08d008128ff189",
      "parents": [
        "de11a5ae75f5dc8866ac8377cd964443126e9acb",
        "710e3ecbe0e58934d200a807fe9a6fa1a44b6449"
      ],
      "author": {
        "name": "Winson Chiu",
        "email": "chiuwinson@google.com",
        "time": "Fri Mar 29 23:50:02 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 29 23:50:02 2019 +0000"
      },
      "message": "Merge changes from topic \"code-paths-and-resources-caching-fix\"\n\n* changes:\n  Revert ContextImpl LoadedApk packageInfo caching workaround\n  Fix AssetManager2 isUpToDate check\n  Diff resource dirs when checking LoadedApk packageInfo cache in ActivityThread\n  Diff overlays between PackageManagerService and OverlayManagerService\n  Propagate base code path and split dir changes to Resources objects\n"
    },
    {
      "commit": "b0085ce5b63bc5d2d86eaf84ed20d8a4a7b532a7",
      "tree": "f1bbbf4d117e587e821c0ee665b0882ac35fc333",
      "parents": [
        "83708c825868b4c26c6c599b5614205ea5118d3c"
      ],
      "author": {
        "name": "Winson",
        "email": "chiuwinson@google.com",
        "time": "Tue Feb 19 12:48:22 2019 -0800"
      },
      "committer": {
        "name": "Winson",
        "email": "chiuwinson@google.com",
        "time": "Fri Mar 29 12:18:18 2019 -0700"
      },
      "message": "Fix AssetManager2 isUpToDate check\n\nThis logic was lost in the AssetManager1 -\u003e 2 migration.\n\nThe old AM1 checked the last modification time of the file\nand compared it to a previously stored value. This re-adds the\nlogic to ApkAssets and fixes the checks in the JNI/Java layer.\n\nUnfortunately I couldn\u0027t find a failing/practical case where\nthis check mattered. It only came up when diagnosing an issue\nwhich ended up being unrelated.\n\nTest: manually ran with other overlay changes\n\nChange-Id: I758e4af1d32a9c03b2204a8a3a26e82b7e83feda\n"
    },
    {
      "commit": "fbeac3c39c40b616b229b5ad4277e657aac813ce",
      "tree": "8f16c151fc5176634c123eb58d075b12d40d8957",
      "parents": [
        "11ed72c5467597e480840f32bb044738461389a7"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Mar 29 11:24:56 2019 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Mar 29 11:24:56 2019 -0700"
      },
      "message": "Add missing trace points\n\nTest: traced opening recents\nChange-Id: I51675f1c49f27f1bfa5b18e3d3dd7162e58b1cb8\n"
    },
    {
      "commit": "bf99c4450b55a0bee268c382cba8c60796cd068b",
      "tree": "fc97273f387afc707c649bb9b60c46afb6c794d3",
      "parents": [
        "dece92b28744012f6db87f5100b511cd459218a1"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Fri Mar 29 11:09:11 2019 -0400"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Fri Mar 29 11:18:21 2019 -0400"
      },
      "message": "Invalidate Skia shader cache if Vulkan driver has changed\n\nTest: Ran apps several time and observed shader cache validation\nChange-Id: I7c2620b9a0eefcb7acedc86647ecf44805518b2f\n"
    },
    {
      "commit": "27b119ba5c1d94d6e3bc8ce8ee5da1a34efe196f",
      "tree": "3d2c22950052a7576e486b9f3365e61e6c80abb5",
      "parents": [
        "60852eab5cc5c505b1142f8c36b14fb97ec1cadb"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Fri Mar 22 14:42:36 2019 -0400"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Fri Mar 29 13:49:20 2019 +0000"
      },
      "message": "Fix crash in Vulkan WebView drawable when parent View has alpha\n\nHWUI uses SkPaintFilterCanvas to apply View alpha in nested draw\ncalls. This conflicts with new SkDrawable::snapGpuDrawHandler\nAPI used by Vulkan WebView. The new API works only with GPU\ndevice (see SkGpuDevice::drawDrawable), which SkPaintFilterCanvas\ndoes not have (it uses SkNoPixelsDevice instead).\nThis CL uses new Skia API to find wrapped GPU canvas and\ndraw SkDrawable on it.\nImprove SKP capture for Vulkan WebView to match GL.\n\nTest: Ran Fandango app with Vulkan. Captured a SKP.\nBug: 128792554\nChange-Id: I27040347dc25c799b4e75f50526f426e9e33b663\n"
    },
    {
      "commit": "ac513c2fde2bd385f26f63848ff72ad85d2a4144",
      "tree": "c61c8ada51631072c9151190d17570a9d8549bae",
      "parents": [
        "cd62e4421040bdbf363372e78c288f41077b79ed"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Mar 28 16:57:38 2019 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Mar 28 16:57:38 2019 -0700"
      },
      "message": "Fix NATIVE_WINDOW_MIN_UNDEQUEUED_BUFFERS handling\n\nFixes: 123541940\nTest: CTS HardwareRendererTests#testLotsOfBuffers\nChange-Id: I5d96e615f552c4faa0e6dcaaaa828c871eaf6c8e\n"
    },
    {
      "commit": "9d4dfc2ba0e5b780c71bef9b197153d63e6ef94d",
      "tree": "55f85d0decb28ea386a0d1c1d1e92fce26a4edd5",
      "parents": [
        "6186aa949f658017a3a282d7c63201dc02c917ca",
        "78b7ddc12e512771177eeca43dc0b0e247f7abbc"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 27 22:10:19 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 27 22:10:19 2019 +0000"
      },
      "message": "Merge \"Couple fixes to HardwareBitmapUploader.\""
    },
    {
      "commit": "78b7ddc12e512771177eeca43dc0b0e247f7abbc",
      "tree": "2c25e0653be5cb92098dcaeeb372f0989b294c0d",
      "parents": [
        "4d7990f458625eeac4147e382dadb515ae97e7a4"
      ],
      "author": {
        "name": "Greg Daniel",
        "email": "egdaniel@google.com",
        "time": "Wed Mar 27 12:52:43 2019 -0400"
      },
      "committer": {
        "name": "Greg Daniel",
        "email": "egdaniel@google.com",
        "time": "Wed Mar 27 12:52:43 2019 -0400"
      },
      "message": "Couple fixes to HardwareBitmapUploader.\n\nWhen we had to make a copy SkBitmap for an unsupported format, we\nwere dropping the color space information.\n\nAdded a null check in terminate.\n\nTest: manual build and running on blueline\nChange-Id: I3cf386231e76b7505a691d006585918d343f6c96\n"
    },
    {
      "commit": "ceece4851870405fb75dc915f2293a985bd3a294",
      "tree": "c277cbe1b3fe7cca0ca6c9c43f1a482da1f0ff92",
      "parents": [
        "ad8e2b77bde4b57bc0f431f8f92a284c6dd17d02"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Mar 27 00:20:25 2019 -0700"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Mar 27 00:23:20 2019 -0700"
      },
      "message": "Fix the build\n\nChange-Id: I770ed6fd8de0479655f587db68a09882eb6cceb5\n"
    },
    {
      "commit": "1c33a647055210e250606c145b2fe97d5bd4cdba",
      "tree": "4b751d5ddd9a45bc11d4a3d1739f5bb7b27deee2",
      "parents": [
        "7f7639a942cb54c900b45e31df31bf948db0a5e2",
        "99598ee6ee52a6b2f1bc101187df17a46fe81ad2"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Mar 27 04:06:06 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 27 04:06:06 2019 +0000"
      },
      "message": "Merge \"incidentd can now handle multiple callers asking it for incident reports\""
    },
    {
      "commit": "9db54bc0b35f7e06c884ac0061dac4eebd8d0465",
      "tree": "8f4a3d468732625efdc7c064e5aaed895aa3b6d9",
      "parents": [
        "89a5f8c819833ee4b15dcfc099b2da9f67299b62",
        "bc5f06bdaa95da7e2a94d8827fffbadad7bc813d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 27 01:02:57 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 27 01:02:57 2019 +0000"
      },
      "message": "Merge \"Fix crash after dequeueNativeBuffer fails\""
    },
    {
      "commit": "bc5f06bdaa95da7e2a94d8827fffbadad7bc813d",
      "tree": "f1504301fc81b3680363f719e8d3903b27740181",
      "parents": [
        "dece92b28744012f6db87f5100b511cd459218a1"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Tue Mar 26 15:14:34 2019 -0400"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Tue Mar 26 15:14:34 2019 -0400"
      },
      "message": "Fix crash after dequeueNativeBuffer fails\n\nAnytime dequeueNativeBuffer fails, it sets mDequeuedIndex to -1.\nThis is causing a crash latter, when getCurrentSkSurface tries\nto index mNativeBuffers[mDequeuedIndex].\nThis CL removes mDequeuedIndex and improves Vulkan swapchain\nerror handling.\n\nTest: Ran Camera app\nBug: 129024275\nChange-Id: Ieeb685c3a1b33f23ce2334d286199a44ace53165\n"
    },
    {
      "commit": "99598ee6ee52a6b2f1bc101187df17a46fe81ad2",
      "tree": "75e9eb540ee305b1c54aec3b175f704667b2624e",
      "parents": [
        "21638cb830c218d6e1c723cb14b39b6705d58d2c"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Mon Feb 11 15:55:13 2019 +0000"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Tue Mar 26 11:20:48 2019 -0700"
      },
      "message": "incidentd can now handle multiple callers asking it for incident reports\n\nTest: bit incident_test:* GtsIncidentManagerTestCases:*\nBug: 123543706\nChange-Id: I9f671dd5d8b2ad139f952a23e575c2be16120459\n"
    },
    {
      "commit": "d336f5d95fb4a0edead0476e5623377e4c1ec4a6",
      "tree": "68f502f314f6f7492412e68a54f849e35225a028",
      "parents": [
        "4b58630ef2d5fd776bb393b07fcd61e51063774d"
      ],
      "author": {
        "name": "Bo Liu",
        "email": "boliu@google.com",
        "time": "Sun Mar 24 08:26:11 2019 -0400"
      },
      "committer": {
        "name": "Bo Liu",
        "email": "boliu@google.com",
        "time": "Mon Mar 25 09:34:27 2019 -0400"
      },
      "message": "Deprecate is_layer for vulkan functor\n\nWebview no longer needs this.\n\nBug: 124123583\nTest: comppiles and vulkan webview in layer keeps working\nChange-Id: Ib54e33649eb027a03184c5d7588cfd9568c90a6c\n"
    },
    {
      "commit": "8f8deb20b33725742a38e3bab5234b00d7ca34f7",
      "tree": "36d9994761e8534cc65d027fe236fa2f7e7736de",
      "parents": [
        "1e480e30b3dda03a25fa855e81951b4b42e4b56c",
        "31c1b82ad7c04370d7b80dbdaefcfe028d794abd"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 22 04:19:44 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 22 04:19:44 2019 +0000"
      },
      "message": "Merge \"Use VkAndroidHardwareBufferUsageANDROID to compute HWUI usage flags\""
    },
    {
      "commit": "31c1b82ad7c04370d7b80dbdaefcfe028d794abd",
      "tree": "b39afaa080ecc4b8dcd7b248873927703a43c202",
      "parents": [
        "76bd81a49a8751a8afeb9347919ff9b232d6623f"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Tue Mar 19 13:55:10 2019 -0400"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Mar 21 13:24:26 2019 -0400"
      },
      "message": "Use VkAndroidHardwareBufferUsageANDROID to compute HWUI usage flags\n\nBug: 128923272\nTest: atest CtsUiRenderingTestCases\nChange-Id: I27db1a35b77fb654ab738520bee6734f6a62cc4f\n"
    },
    {
      "commit": "197843d031fc1480dbebb2ee1403742834d59fd2",
      "tree": "d703048299713b8f0cac932e07a9864e61a37216",
      "parents": [
        "3e99fa7a272efe3a1c70fd96cb6444f75790811e"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Thu Mar 21 11:34:15 2019 -0400"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Thu Mar 21 12:25:08 2019 -0400"
      },
      "message": "Block GPU on dequeue fence only if it has not signalled already\n\nWhen Vulkan pipeline dequeues next frame at the beginning of\nDrawFrame, the dequeue fence has been signalled in most cases.\nThis CL avoids additional work and saves about 0.3ms per frame.\nThere is no need to create VkSemaphore and commit an empty command\nbuffer to the queue if the fence has already signalled.\n\nBug: 128998567\nTest: Ran systrace on SelfieCity and observed better performance\nChange-Id: I3532b785fae90308d922a29f1698f5dbcbd79079\n"
    },
    {
      "commit": "3e99fa7a272efe3a1c70fd96cb6444f75790811e",
      "tree": "f19315be0f95c0018c8a0f2fb77b09ee1c46198e",
      "parents": [
        "3be2db9bbf33f56efb92c97c0a91ad8ab670f0e0"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Thu Mar 21 11:20:29 2019 -0400"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Thu Mar 21 12:21:08 2019 -0400"
      },
      "message": "Block GPU on release fence from dequeueBuffer earlier\n\nIf dequeueBuffer fence has not fired yet, then submit to the queue\nand block GPU on VkSemaphore immediatelly.\nIt is not clear why this CL makes a difference, because semaphore\nwas already waited on.\n\nFixes: 128805387\nFixes: 128806388\nFixes: 128807485\nFixes: 128879779\nFixes: 128417453\nBug: 128998567\nTest: Ran SelfieCity, Camera360, Settings app\nChange-Id: I880ba6fa65509ba4c6faca0dc933551efcee423b\n"
    },
    {
      "commit": "a2a52be5ebdc110bfecd94e43784715b35d9e0bc",
      "tree": "85010a1586b5616ccf3a4aa1abaf1a7075893cbe",
      "parents": [
        "cc17afcec79fc5313e6603a6a8e55500b722e6c8",
        "dbf343becb8c80ca70fab681aed8a71789b94a91"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 20 16:49:11 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 20 16:49:11 2019 +0000"
      },
      "message": "Merge \"RRO: remove ability to overlay assets\""
    },
    {
      "commit": "ee3754ab24a551f846e524e08a3bab425a70ab40",
      "tree": "13577d3917821d7dff69fc92dab2e47d72d53477",
      "parents": [
        "d4b81682e120bd5d45d086916b7e4e94ff335a03"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Fri Mar 15 12:07:35 2019 -0400"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Wed Mar 20 03:23:22 2019 +0000"
      },
      "message": "Fix TextureView glitch and memory leak\n\nKeep EglImage/VkImage alive until the last SkImage object using\nit is destroyed.\nFix memory leak with GL pipeline only, caused by destroying\nEGLImage on the wrong thread.\nMake sure cached SkImage dtor is invoked on RenderThread.\n\nBug: 128523183\nBug: 128688107\nTest: Ran settings app, systrace and CTS\nChange-Id: I32c14c7174a2a97e54fbfaa49dffb4e9a160f90d\n"
    },
    {
      "commit": "dbf343becb8c80ca70fab681aed8a71789b94a91",
      "tree": "39a5f7d08fd7f45215bccb032c0122eb98a5d010",
      "parents": [
        "01f07e5fb78c6c0654ae0c280bdd006ce9114757"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Thu Feb 21 07:54:18 2019 +0100"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Tue Mar 19 15:40:55 2019 -0700"
      },
      "message": "RRO: remove ability to overlay assets\n\nTarget packages use \u003coverlayable\u003e to opt-in to RRO. While this works for\nresources, it does not support assets. For security reasons, remove the\nability to overlay assets via RRO for now: a future change may extend\n\u003coverlayable\u003e to include assets.\n\nTest: atest OverlayDeviceTests\nBug: 120867881\nChange-Id: Ie0b6897f0586ea8b9d75f357e216904e25d4dc7b\n"
    },
    {
      "commit": "c073252f764529ac7859746d81d9a4a6818037d3",
      "tree": "f85e787754e251ab58b88aab129853aaabc4c27b",
      "parents": [
        "f38041dd569374724f260b2b1a396d6d0cb09591"
      ],
      "author": {
        "name": "Greg Daniel",
        "email": "egdaniel@google.com",
        "time": "Wed Feb 20 08:31:03 2019 -0500"
      },
      "committer": {
        "name": "Greg Daniel",
        "email": "egdaniel@google.com",
        "time": "Tue Mar 19 10:09:53 2019 -0400"
      },
      "message": "Add support for uploading to AHBs using Vulkan.\n\nTest: manual build and testing on blueline.\n\nChange-Id: I240a5f1e3ba34677b03131eba36ffd8783d99041\n"
    },
    {
      "commit": "9eb60fac83a02b8dd09c443ca6e42246eb89659d",
      "tree": "ad8af3f1997b7ea4952f1c60f0cd17a487eeb41c",
      "parents": [
        "19b7f244d499bd2fcb047c2d860e344011923284",
        "40e0d2a92b90fe638eb35f47c02c692ff8082a80"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 19 03:54:49 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 19 03:54:49 2019 +0000"
      },
      "message": "Merge \"Delete pAsset* when failing to open chunk from FileAsset\""
    },
    {
      "commit": "40e0d2a92b90fe638eb35f47c02c692ff8082a80",
      "tree": "f208138af217d43143ccbc74bfe00fe4bae2fdad",
      "parents": [
        "a232a7abe60261bcbbfa2bc998bae0a1fde13fb7"
      ],
      "author": {
        "name": "Winson",
        "email": "chiuwinson@google.com",
        "time": "Mon Mar 18 13:46:54 2019 -0700"
      },
      "committer": {
        "name": "Winson",
        "email": "chiuwinson@google.com",
        "time": "Mon Mar 18 13:52:48 2019 -0700"
      },
      "message": "Delete pAsset* when failing to open chunk from FileAsset\n\nRealistically this doesn\u0027t matter because FileAsset always returns\nNO_ERROR. But it\u0027s worth being correct, in case that ever changes.\n\nBug: 112146313\n\nTest: none necessary\n\nChange-Id: Iaeddc77c78c93394f96b77533cf8ce30cd1dc370\n"
    },
    {
      "commit": "09e2fbe60543183b1146adcbfee97b1cd69ffbf4",
      "tree": "02b0ca63e8f7868b001eeeea2d3dc6bb86726b1f",
      "parents": [
        "b426499958ba75130151d8c54981d338b97a533b",
        "322b8ab77462993fb2d84ed08bd93ba238b6b152"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Mar 18 20:31:22 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 18 20:31:22 2019 +0000"
      },
      "message": "Merge \"Remove old TaskManager system\""
    },
    {
      "commit": "322b8ab77462993fb2d84ed08bd93ba238b6b152",
      "tree": "1af6a0d66d6c77c8e93990a3ce7faa7377f6c2fe",
      "parents": [
        "59a599c1d34e0d70171672b6fa6bc52b81be3508"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Mar 14 13:15:28 2019 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Mar 18 09:34:11 2019 -0700"
      },
      "message": "Remove old TaskManager system\n\nReplace it with a newer, fancier, WorkQueue-inspired\none that\u0027s just a global common thread pool.\n\nTest: hwuiunit passes\nChange-Id: Ib5d03104a08bbac9a4ec67a1bfc0db2b35d6700f\n"
    },
    {
      "commit": "51d6f3d498e6e4b74f7098b8248e0a7d45e1bc10",
      "tree": "ac3361b028e791436ed70c9db5123e2f74737350",
      "parents": [
        "4b8b202c8eb99d06dbb8c5c56e7e50349a99aaa5",
        "3c0f563786e23ea97f46e5f6d74023d27d3f764b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Mar 16 03:05:47 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 16 03:05:47 2019 +0000"
      },
      "message": "Merge \"Fix profile gpu bars to use display fps\""
    },
    {
      "commit": "3c0f563786e23ea97f46e5f6d74023d27d3f764b",
      "tree": "b668fab7f2ba5a12b27e465de1e6aaef377e70f5",
      "parents": [
        "59a599c1d34e0d70171672b6fa6bc52b81be3508"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Mar 15 16:36:01 2019 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Mar 15 16:49:25 2019 -0700"
      },
      "message": "Fix profile gpu bars to use display fps\n\nAlso adds a \u0027good\u0027 bar at 80% threshold\nand a \u0027bad\u0027 bar at 150% threshold (where triple\nbuffering would start to get iffy)\n\nFixes: 127371028\nTest: eyeball\u0027d it\n\nChange-Id: I109cd293f87f8cb9c8f1e66d49fb8fb2188b0bec\n"
    },
    {
      "commit": "7e7a8efd5f32f315d8e331ab59904dd36c03268c",
      "tree": "462522db8584ea282193cdedeed55f6aa6fc0e48",
      "parents": [
        "b20c56a1b4455876c1f7ffdebfbf14f62b2c4952",
        "bbdb7312750007a612d4412740cbafd0ce0c02ef"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 14 17:03:30 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 14 17:03:30 2019 +0000"
      },
      "message": "Merge \"Stop double-counting native memory in graphics classes\""
    },
    {
      "commit": "bbdb7312750007a612d4412740cbafd0ce0c02ef",
      "tree": "7a8b58301ebbb3115c1e2152bde16a34a66201df",
      "parents": [
        "309eb41ae181c19150a40cd695132189f7928fbb"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu Jan 31 14:35:54 2019 -0500"
      },
      "committer": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Thu Mar 14 14:50:46 2019 +0000"
      },
      "message": "Stop double-counting native memory in graphics classes\n\nBug: 121304803\nTest: Infeasible\n\nPreviously, the NativeAllocationRegistry needed to report how much\nnative memory was being held onto by the Java class in order to get a\nmore accurate count of how much memory was in use. But recent changes\nallow the system to have an even more accurate view of the native memory\nwith mallinfo(). Further, the AOSP change\nIdccb8b50d26c8c3e93cc34040d784f74dfcdbf51 introduces new APIs that allow\ndistinguishing between large native malloc allocations, which should\ncause more frequent mallinfo() checks, and whose sizes need be available\nto ahat etc, and smaller native malloc allocations.\n\nBitmap and AnimatedImageDrawable use the version for large native malloc\nallocations. The rest pass an implied size of 0. Note that many of the\nold Registries used somewhat arbitrary sizes, reinforcing the fact that\nthe new way of keeping track of this is better.\n\nAdd Bitmap::pixelStorageType to differentiate between types of memory\nthat should be accounted for by the Registry.\n\nUpdate Bitmap::getAllocationByteCount to report the actual size of\nashmem allocation.\n\nFix a typo in LineBreaker.java, discovered while looking to find\nexisting callers of Bitmap\u0027s constructor.\n\nChange-Id: I57c407258450aeaf08b47df32432466639d9faed\n"
    },
    {
      "commit": "e4e16ab3dd0faaaa56342f2972545c57e572b057",
      "tree": "4c219a5d63a62478f9b9a9686a5ab635f024aa07",
      "parents": [
        "09c7180d99d3ba6b987f9e4c62e8fe6352ed84fe",
        "896804e394de0d54928925bf1c49e0222907d852"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Mar 13 19:18:44 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 13 19:18:44 2019 +0000"
      },
      "message": "Merge \"Add a copy of lockClocks.sh from androidx\""
    },
    {
      "commit": "896804e394de0d54928925bf1c49e0222907d852",
      "tree": "53f047697973c24922a9b54e072f2ab10587fa56",
      "parents": [
        "59a599c1d34e0d70171672b6fa6bc52b81be3508"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Mar 13 10:32:52 2019 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Wed Mar 13 10:34:02 2019 -0700"
      },
      "message": "Add a copy of lockClocks.sh from androidx\n\nTest: none\nChange-Id: I405b041a2a054a3bb7bb3ed9f449b368330b8d3b\n"
    },
    {
      "commit": "75f61c59199af41d2dcba145a6e4e6e41625cdfd",
      "tree": "1d9979717ec4028f0f3fcee860c88a101d214255",
      "parents": [
        "410d1c2c04fb6221b425e7e23538a1f939c6376b",
        "fb1b47931407723a83045f649235d53982116f98"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 12 17:59:44 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 12 17:59:44 2019 +0000"
      },
      "message": "Merge \"Hide packing structure from public API\""
    },
    {
      "commit": "902ce2a7fe9b892d3f98a7cd0cbf74c6c4a6c400",
      "tree": "617e336d876735a7d069fdcc6af2d1f09f9658db",
      "parents": [
        "8bf530ae17f48dc3590acaeaa36cfdfdf3020ef6"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Thu Mar 07 18:13:55 2019 -0500"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Tue Mar 12 13:23:24 2019 +0000"
      },
      "message": "Cache EGLImage and VkImage used by SurfaceTexture\n\nReuse EGLImage or VkImage for GraphicBuffer created by\nSurfaceTexture. Destroy EGLImage/VkImage, when there is a new\nGraphicBuffer or GrContext is about to be destroyed.\n\nTest: Ran Camera lens and other TextureView apps with GL and Vk\nTest: Passed TextureView CTS tests\nBug: 123953909\nChange-Id: I6ad4aa889060bbb64380d7dbac13676a7339b2f8\n"
    },
    {
      "commit": "f296a878bf57fc483cf660be01488d53ff21b6ea",
      "tree": "a80e59ee1f727dee3fb749b1f5baa4c2add7b644",
      "parents": [
        "54626bf41f24e7543cf57165eb93b7be3cd9a774",
        "74ace839e01801ee01cf841bf27762947a70d8b1"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 12 03:58:01 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 12 03:58:01 2019 +0000"
      },
      "message": "Merge \"Copy extension names to an owning container to prevent use-after-free\""
    },
    {
      "commit": "fb1b47931407723a83045f649235d53982116f98",
      "tree": "38e91f9f95e0979a2156520b1170b11194343b20",
      "parents": [
        "36ad7638dc4066ec8d563ff9c7fd94fa8291a931"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Fri Mar 08 14:05:08 2019 -0800"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Mon Mar 11 16:51:47 2019 -0700"
      },
      "message": "Hide packing structure from public API\n\nThe hyphen edit is packed into 8bit integer in native library, but this\nshould not be exposed to public API as API council suggested.\n\nThis CL includes:\n- Removing packing structure from HyphenEdit and move constants from\n  Hyphenator to Paint.\n- Replace LineBreaker\u0027s getLineHyphenEdit with two separate start/end\n  function.\n- Replace Paint\u0027s getHyphenEdit with two separate start/end function.\n- StaticLayout still relies on this packing mechanism but no longer need\n  to be the same packing structure as in Minikin.\n\nBug: 124794844\nTest: atest CtsGraphicsTestCases\nTest: atest CtsTextTestCases\nChange-Id: I8206061f554cf6e119b2b565162f54317eac630a\n"
    },
    {
      "commit": "74ace839e01801ee01cf841bf27762947a70d8b1",
      "tree": "bafd99335b7196f9892b2c4b1f368f56d94e2065",
      "parents": [
        "6c1d1c32e3aefc0414eda1fdf1af7edf9ef6100a"
      ],
      "author": {
        "name": "Roman Kiryanov",
        "email": "rkir@google.com",
        "time": "Thu Mar 07 18:22:19 2019 -0800"
      },
      "committer": {
        "name": "Roman Kiryanov",
        "email": "rkir@google.com",
        "time": "Mon Mar 11 16:07:20 2019 -0700"
      },
      "message": "Copy extension names to an owning container to prevent use-after-free\n\nBug: 127660235\nTest: make -j\nChange-Id: I3748b7b4b51f99acf59748675223cef02c22bee2\nSigned-off-by: Roman Kiryanov \u003crkir@google.com\u003e\n"
    },
    {
      "commit": "545f0906e472cc3af2e756c06f457dde54a202b6",
      "tree": "4f82f20265d812567bc8771c56c2a14d5ce6ebe6",
      "parents": [
        "54a6bf018978ad3f792666ac0e462dee6c28baa9"
      ],
      "author": {
        "name": "Brian Osman",
        "email": "brianosman@google.com",
        "time": "Mon Mar 11 12:33:31 2019 -0400"
      },
      "committer": {
        "name": "Brian Osman",
        "email": "brianosman@google.com",
        "time": "Mon Mar 11 12:34:02 2019 -0400"
      },
      "message": "Remove unused include of SkToSRGBColorFilter.h\n\nChange-Id: Ib4be68d9ab491fbb4eefc6103096823f9f72a7aa\nTest: Just deleting unused include. Code still builds.\n"
    },
    {
      "commit": "3b049dec9fab05afcfe126cc538a0d44b714b5b0",
      "tree": "6284600a8363188996aa63225afa14114f7d5e1c",
      "parents": [
        "a2514b5f62b2f069f3048a9c57766dd4dfbb6fca",
        "a19b71a54a0c089a8edb5f2a45dfedb331ce369f"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Mon Mar 11 12:50:13 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 11 12:50:13 2019 +0000"
      },
      "message": "Merge \"Directly manage buffer presentation in Vulkan using AHardwareBuffers.\""
    },
    {
      "commit": "908309feb5f789a45d0e959776b72a4b2fac2271",
      "tree": "28d2e097ae58ef3cd2e852eeed5662520b64251f",
      "parents": [
        "65f7350b337a1bb6ab6030a18c26fac8b53174d7",
        "f9dbd5fed6168daed8d8b132fd8b9d8db32bb4cb"
      ],
      "author": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Fri Mar 08 22:02:17 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 08 22:02:17 2019 +0000"
      },
      "message": "Merge \"Clean up attribute apis based on api council feedback.\""
    },
    {
      "commit": "5b7a3053a257ba8caa0d77c518b3ba9d27ee1fc1",
      "tree": "3c9ea25be52de5860ff4c72e58e098bed6cc7514",
      "parents": [
        "49c1069c63141992c5979fc772a8bab9ae860195",
        "f1aa7909e6496da4a1ae9ccfcbab5db843d329c3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 08 16:45:45 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 08 16:45:45 2019 +0000"
      },
      "message": "Merge \"Fix damage tracking for RenderNode drawn twice\""
    },
    {
      "commit": "a19b71a54a0c089a8edb5f2a45dfedb331ce369f",
      "tree": "873387c04f768d828600e111fafb7ea6dcea741c",
      "parents": [
        "fe9b21d6adc638bd3bfca9b22642253d54f1087e"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Fri Feb 15 16:36:30 2019 -0500"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Fri Mar 08 09:25:35 2019 -0500"
      },
      "message": "Directly manage buffer presentation in Vulkan using AHardwareBuffers.\n\nInstead of relying on Vulkan swapchains this CL enables HWUI to directly\nmanage the native window.  This allows us to preallocate buffers using\nour own strategy as well as having no longer having to jump through an\nunecessary translation layer that resulted in code that was hard to\nreason about and also introduced inefficiencies.\n\nBug: 123541940\nBug: 119687951\nTest: CtsUiRenderingTestCases and CtsGraphicsTestCases\nChange-Id: I7e5930748795e7ca4a998ab2c608c3c9b6363037\n"
    },
    {
      "commit": "0b19a7370a1121219cef2d34b69676e1dee4c547",
      "tree": "4fe7f256822f7a91dfa8efff935cb51267ccfd32",
      "parents": [
        "4348a4d7078dd4a2d786464db170f817ee19f6b1"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Mar 07 17:18:25 2019 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Mar 07 17:18:25 2019 -0800"
      },
      "message": "Re-enable empty damage drop optimization\n\nFixes: 113796161\nTest: device seemed to behave correctly?\nChange-Id: Id43e1eaad29d07c06c1003c0653e5d1ee7084cfe\n"
    },
    {
      "commit": "f1aa7909e6496da4a1ae9ccfcbab5db843d329c3",
      "tree": "95a611c7a0055078596c206835d426db22a4f5ee",
      "parents": [
        "4348a4d7078dd4a2d786464db170f817ee19f6b1"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Mar 07 17:01:08 2019 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Thu Mar 07 17:03:48 2019 -0800"
      },
      "message": "Fix damage tracking for RenderNode drawn twice\n\nBug: 127866048\nTest: CustomRenderer demo\nChange-Id: I431a7284b1d0a026e06500a78f41830a268235a5\n"
    },
    {
      "commit": "f9dbd5fed6168daed8d8b132fd8b9d8db32bb4cb",
      "tree": "3745cccda09beea106d85f6f2325bbae6e7fbc29",
      "parents": [
        "436a76d1fa3b5dccdd708f5a3938c35251551940"
      ],
      "author": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Thu Mar 07 11:21:51 2019 -0800"
      },
      "committer": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Thu Mar 07 14:23:59 2019 -0800"
      },
      "message": "Clean up attribute apis based on api council feedback.\n\nBug: 127714248\nTest: None\nChange-Id: I40596a88e7e446c6a25f2b9074bb88a0a417ed63\n"
    },
    {
      "commit": "55805af7195bd2c433a1dccb1a9cd300167423a1",
      "tree": "ee6a4c605b9fcc5cbe225a46edf1f4ff0ab730c4",
      "parents": [
        "1cfb214c967be0b726a81901cc7edda5a893f88e",
        "a8e78b9b88cd5c36313fe0439ffca41bcf93bc9d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 05 09:15:31 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 05 09:15:31 2019 +0000"
      },
      "message": "Merge \"Add receiver info to IncidentdDetails in statsd_config\""
    },
    {
      "commit": "a8e78b9b88cd5c36313fe0439ffca41bcf93bc9d",
      "tree": "27d6308ff21be154ee81aea618499a3a9b0000e8",
      "parents": [
        "65c6cd861860a719f1225730d0e3d57a531e6f1c"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Mon Mar 04 17:23:38 2019 -0800"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Mon Mar 04 23:47:27 2019 -0800"
      },
      "message": "Add receiver info to IncidentdDetails in statsd_config\n\nThis can be used for sending a broadcast to an app which incidentd\nwould share the incident report with.\n\nTest: added unit test in statsd_test\n\nChange-Id: Ieaf5b3b4d67168e2a99ff54e6392c77d8372ed4e\n"
    },
    {
      "commit": "f57f492b2c6fb278def849cddb5d3a4e9a8b2c08",
      "tree": "6a7055a965f38c57562459dc19fda12e69867b4b",
      "parents": [
        "f5fa919ac68e1dbe6bda9f7e9f6636ce16080abc",
        "70ddefc673ad776fb2a83cf7d6a5ee6affd93977"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 05 02:04:37 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 05 02:04:37 2019 +0000"
      },
      "message": "Merge \"Add some test mappings\""
    },
    {
      "commit": "70ddefc673ad776fb2a83cf7d6a5ee6affd93977",
      "tree": "1f9863d5fc130f21eb4dd9a0b581c60dfa752974",
      "parents": [
        "2a980300bc8612d3f688cbb53d98284673b6e665"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Mar 04 15:55:22 2019 -0800"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Mon Mar 04 15:55:22 2019 -0800"
      },
      "message": "Add some test mappings\n\nTest: none\nChange-Id: If8b5b51f28669416bcd15ee9df851a263f838802\n"
    },
    {
      "commit": "5a95250b5b59dbefe931c4a4f19a8252b67cc3b0",
      "tree": "46e02e2435133050a9fddc30039c96f6d1ecd2d9",
      "parents": [
        "a59197e3aac3dce5002e29d2559e56bdabad7994",
        "2c4d874d72588cefe36acf19eded4b09c24cad2d"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Mar 04 22:21:16 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 04 22:21:16 2019 +0000"
      },
      "message": "Merge \"Invalidate style stack resids\""
    },
    {
      "commit": "2c4d874d72588cefe36acf19eded4b09c24cad2d",
      "tree": "9a2d0bbc2322d44ef505d8291647ec376c50c747",
      "parents": [
        "3db90878236c3f01f4717c5187ef202c90f04942"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Mar 04 09:41:00 2019 -0800"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Mon Mar 04 17:50:11 2019 +0000"
      },
      "message": "Invalidate style stack resids\n\nStyle resid stacks should also be invalidated when invalidating\nAssetManager caches.\n\nBug:117176857\nTest: manual\nChange-Id: I28224597adf4b0af8326bd788eab289e4ba60418\n"
    },
    {
      "commit": "2e1966e946af60beeb85cc806a9afcb682d770ec",
      "tree": "846b2fe585d340b379cf64ea49791943cc98210d",
      "parents": [
        "f2b2f3fc9d67a2fda4b818c2c872cda8deb92a28",
        "7e733366fcb93b0ac242f43fc2e06d862b51e7bb"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 28 20:53:04 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 28 20:53:04 2019 +0000"
      },
      "message": "Merge \"Add ability to change context priority of RT Vulkan queues\""
    },
    {
      "commit": "7e733366fcb93b0ac242f43fc2e06d862b51e7bb",
      "tree": "2740fec2537b20af0dbe30aa0ac9a14b0cd4e9dc",
      "parents": [
        "8e95f0bfb9294da0bdbe57f12c616e593aafa5c3"
      ],
      "author": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Thu Feb 28 13:16:36 2019 -0500"
      },
      "committer": {
        "name": "Stan Iliev",
        "email": "stani@google.com",
        "time": "Thu Feb 28 13:16:36 2019 -0500"
      },
      "message": "Add ability to change context priority of RT Vulkan queues\n\nTest: Pixel 3 does not support VK_EXT_GLOBAL_PRIORITY_EXTENSION_NAME\nBug: 126595186\nChange-Id: I4b2e9c6d5f92665fd2274d0aabf4b012a7a29f46\n"
    },
    {
      "commit": "82fd15cbaae90b1779f79ac4ff4b6d300a73e421",
      "tree": "e6097ede7b46158142b7e2989348bdfd7909f020",
      "parents": [
        "cf60b4c4f49381dd669e76fc6be223f7a3ebddbc",
        "2fe2347e1e422748a188285f3ccc50e7894a0896"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 28 10:13:36 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 28 10:13:36 2019 +0000"
      },
      "message": "Merge \"Add ANDROID_LOG to supress android specific logs\""
    },
    {
      "commit": "2fe2347e1e422748a188285f3ccc50e7894a0896",
      "tree": "95f9b28a75a18fab1e3dfe5472fc18beee1851b5",
      "parents": [
        "5d38dc3f6cc25eef90052440dce05ab10cad17de"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Feb 27 09:43:01 2019 -0800"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Feb 27 15:08:53 2019 -0800"
      },
      "message": "Add ANDROID_LOG to supress android specific logs\n\nAAPT2 uses AssetManager2 as the implmentation of its symbol table.\nWhen generating the the R.java, AAPT2 adds information about styleables\nin the comments. If the first symbol table checked by the delegate is an\nAssetManager2 symbol table and it does not contain the styleable\nattribute being searched for, a bogus error is printed and the resource\nis found in a later symbol table.\n\nBug: 126596328\nTest: m -j Settings \u0026\u0026 diffed generated java files\nChange-Id: If86a9d62fd72317525dffa862be1267621f93afd\n"
    },
    {
      "commit": "e2791fc1b1b0a1366175f4f9a2e34ce2311c1f8a",
      "tree": "ef356a55d1273ee74ca86941c291cac71c733afe",
      "parents": [
        "5f9cad60c8f3c16b5e2e402b06a7d4971f4d53c7",
        "3fcb697963db35952211bc3bcb907948aa6bab31"
      ],
      "author": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Wed Feb 27 20:38:45 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 27 20:38:45 2019 +0000"
      },
      "message": "Merge \"Revert \"Enable CCPR in Ganesh\"\""
    },
    {
      "commit": "803db6cf277c65400820e12b6e1dc491c1633ee2",
      "tree": "ac75acb8151e98e5c86e679da8b0b02ce46b88ec",
      "parents": [
        "14b09a377ac90e438275db3584e7575018060223",
        "350896b59614e9c3d488c37a50ddc51ed9f62f25"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 27 07:45:17 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 27 07:45:17 2019 +0000"
      },
      "message": "Merge \"Fix mouse pointer not getting enlarged\""
    },
    {
      "commit": "1f24ccf2f602b7aacd4d8731f8f2a94d24442472",
      "tree": "f58477ffdbcd97d34f4c682f28f8b8b0b649cd4a",
      "parents": [
        "54beaa6c2ac2f9681e851df19d82b3a95014c13f",
        "a5a21f70e125d58184f5446863fc4e3ac022e149"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 27 00:01:45 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 27 00:01:45 2019 +0000"
      },
      "message": "Merge changes from topic \"display_policy\"\n\n* changes:\n  DisplayEventDispatcher: add DISPLAY_EVENT_CONFIG_CHANGED\n  SurfaceControl: add setAllowedDisplayConfigs\n"
    },
    {
      "commit": "4fecb6af1a432d1c17cc18751d9d67221f3db965",
      "tree": "1fe2b06f8f065acbeb590c553939c9a7119772ad",
      "parents": [
        "682d888813f8c87d2bf206a3d51d0338d4c3f115",
        "8b7cc51c3a22f1dd719e27e26d51e0d32d3e3137"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 26 15:17:36 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 26 15:17:36 2019 +0000"
      },
      "message": "Merge \"Allow outline for projected backward nodes to be a path\""
    }
  ],
  "next": "350896b59614e9c3d488c37a50ddc51ed9f62f25"
}
