)]}'
{
  "log": [
    {
      "commit": "ec62f08f8c0a5a947cd2042854e2b5055a291fa5",
      "tree": "dfc3576a4c1fab4cde5cdc25eba55e322a7dde57",
      "parents": [
        "08cbafefdc4924e1619da99082e8af3b94cc9ab3",
        "5cd148fc7ae213ceda868c22ee5c573b5b1a47c9"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Dec 04 10:07:59 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 04 10:07:59 2018 +0000"
      },
      "message": "Merge \"hiddenapi: Add constants for \u0027greylist-max-p\u0027\""
    },
    {
      "commit": "aaaf1b7a88894a1b7cddd4b830245b7985ca7ee1",
      "tree": "bff0177ab3ddac93893c93b27c4a396e7594f689",
      "parents": [
        "4627ad60204e9afae1b531007c1a35b7e5577695"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Dec 03 10:56:56 2018 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Mon Dec 03 10:58:42 2018 -0700"
      },
      "message": "People don\u0027t read warnings.\n\nBug: 113136846\nTest: manual\nChange-Id: If7e313b4f0fa90875795b24817553bbd9a8c60ff\n"
    },
    {
      "commit": "5cd148fc7ae213ceda868c22ee5c573b5b1a47c9",
      "tree": "b10725627f827ff755006452fb828ff6b7ff5f52",
      "parents": [
        "89bf0f28bf8dfe728083913f641202f103af9bf6"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Nov 01 09:54:25 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Nov 29 15:43:02 2018 +0000"
      },
      "message": "hiddenapi: Add constants for \u0027greylist-max-p\u0027\n\nNew category of hidden API has been created. Update the script\ngenerate_hiddenapi_lists.py with the new flag name.\n\nTest: m, phone boots\nChange-Id: I79e5478678880939e20e500cb8dad9b2a56fc84f\n"
    },
    {
      "commit": "89bf0f28bf8dfe728083913f641202f103af9bf6",
      "tree": "c90fde6bc79ceb1dd0cce4dbb54c9f49fd524cc2",
      "parents": [
        "74c171b4daa481301152f268e2f7cbdd7960b325"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Oct 30 18:21:24 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Nov 29 15:43:01 2018 +0000"
      },
      "message": "Turn hidden API lists into a single CSV\n\nMaintaining multiple text files has become too cumbersome as adding\neach new category of API requires changes across many projects.\nThis patch changes generate_hiddenapi_lists.py to produce a single\nCSV file in the format:\n\n  \u003capi_signature\u003e,\u003cflag1\u003e,...,\u003cflagN\u003e\n\nIt can accept legacy API list files as input (for existing\nframeworks/base/config/hiddenapi-*.txt files) as well as per-package\nCSVs produced by class2greylist.\n\nTest: m, check lists have not changed\nTest: phone boots\nTest: tools/hiddenapi/generate_hiddenapi_lists_test.py\nChange-Id: Iebcef426ec93ea1d72b662bbff91d4e068fa0a70\n"
    },
    {
      "commit": "00537c15e876d88a967d9f656ea8fadb1a4015ef",
      "tree": "6a3f41d6b9b7b55dfa68029d7c8697a4c8b098c3",
      "parents": [
        "900ab8accef15f3a7622f0edccd53e99c44c03b7"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Nov 28 12:22:14 2018 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Nov 29 09:41:56 2018 +0000"
      },
      "message": "Prevent hiddenapi entries being added for libcore related projects\n\nThe libcore related projects (see below) have been (mostly) switched\nover to use UnsupportedAppUsage annotations, This change will prevent\nentries for those projects being added to a config/hiddenapi-* file.\n\n* libcore\n* external/bouncycastle\n* external/conscrypt\n* external/icu\n* external/okhttp\n* external/libphonenumber - still has a couple of entries in\n      config/hiddenapi-light-greylist.txt due to limitations in\n      UnsupportedAppUsage/class2greylist.\n\nTested by attempting to upload the file with entries for libcore\nprojects and without those entries and checking that the behavior\nis expected.\n\nTest: see above\nBug: 117818301\nChange-Id: I67a30b307e12e842b28cfb2160fab0029868fa06\n"
    },
    {
      "commit": "d100107806bc02f8f9866790e0df8975d4764d4a",
      "tree": "e6ac242f964ae0fc24cd60dee7417e7b7ee22e8a",
      "parents": [
        "7751045a3aede1e938a1ab0a390db25bb3fafa0b"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Nov 14 15:13:39 2018 -0800"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Nov 14 15:54:32 2018 -0800"
      },
      "message": "switch to using android-base/file.h instead of android-base/test_utils.h\n\nTest: compile\nBug: 119313545\nChange-Id: I664fb32522d01909c603d7b903475c4e9aea9223\n"
    },
    {
      "commit": "e8abd0677674aab095aa192f2a85b1632a962791",
      "tree": "a1561a64a462aa2764852ee75be1a06bb45bf754",
      "parents": [
        "fccdf46adf096e9ba200ce79e00f6df379b5c649"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Oct 22 09:56:12 2018 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Oct 22 09:56:12 2018 -0700"
      },
      "message": "Allow implicit-fallthrough warnings locally.\n\nIt will be a global error by default.\n\nTest: make checkbuild\nBug: 112564944\nChange-Id: I26616fd50ccf3639fa7c01d850a14d079273ede7\nExempt-From-Owner-Approval: do not block on new warnings\n"
    },
    {
      "commit": "3ffa1cad1142aa97146e066be1f8de28dc8e6e6e",
      "tree": "4b01ec9dd62be648a1603e1b526eeda18529c597",
      "parents": [
        "f093798a61ed90b68c14b86e7fb8c88d375ce51a",
        "5037a7eb93ec73c152da5f0f19f0ff04e9c3a02c"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Wed Oct 17 10:35:39 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 17 10:35:39 2018 -0700"
      },
      "message": "Merge \"Merge hidden API metadata into a single CSV file.\"\nam: 5037a7eb93\n\nChange-Id: I0efce89576b0ca7ae90d49de3455466a866521de\n"
    },
    {
      "commit": "5037a7eb93ec73c152da5f0f19f0ff04e9c3a02c",
      "tree": "08f784442741cc842cbc70c5e8fb1c79f92a7f65",
      "parents": [
        "23ccecc4ca9f58139baa72bd4783451b780b1eb5",
        "ea14c0c36f2ff5c18c2e62c71f50f01cef47f077"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Wed Oct 17 09:20:04 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 17 09:20:04 2018 +0000"
      },
      "message": "Merge \"Merge hidden API metadata into a single CSV file.\""
    },
    {
      "commit": "9b767e275e252cef0a8df2ecce68ea97cfed322b",
      "tree": "e6627c95883fb6f2df99eaccd46a01cdbb84bae6",
      "parents": [
        "646684732122d9dfe782a38145f7cf4c038247f3",
        "a8f2601d282018ff5e27a4f56f059701bc16afbe"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Oct 16 17:43:35 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 16 17:43:35 2018 -0700"
      },
      "message": "Merge \"Stop using DIST_DIR directly, use dist-for-goals instead\"\nam: a8f2601d28\n\nChange-Id: Iabb2ddb086dda71887c3d50152db50f813c9556a\n"
    },
    {
      "commit": "a8f2601d282018ff5e27a4f56f059701bc16afbe",
      "tree": "3f517886066c3791c3c85b4a9a61866bc051e165",
      "parents": [
        "e5688052098f96e91feb1c6b9242153f15ca586f",
        "5cc170017128c25eb4ee887855444cbfcb930893"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 17 00:18:07 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 17 00:18:07 2018 +0000"
      },
      "message": "Merge \"Stop using DIST_DIR directly, use dist-for-goals instead\""
    },
    {
      "commit": "66e9d98618c96ad2c03168bf76c83b27ab0bc7a0",
      "tree": "b95ad6283679ac12cb12720b2c9fde10039f1413",
      "parents": [
        "d4d3e215d7a63f932f0bab5ed10a93b8359e2c85",
        "f943c5210514af581cdc1e5a28ab8a49af0efef4"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Oct 16 10:10:45 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 16 10:10:45 2018 -0700"
      },
      "message": "Merge \"Fix issue with sort_api.sh\"\nam: f943c52105\n\nChange-Id: I196e57f5d5f96e5f5e1885e893be21ae81b75207\n"
    },
    {
      "commit": "c78bea41c6a6dc6c338ddfc4a4fb9d140ecb40f0",
      "tree": "34e319c65f30afd853599e37d76bc0bafa04eb19",
      "parents": [
        "08667cc9c12664cfcc69faf831e8cab878cc04b6"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Oct 16 14:28:26 2018 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Oct 16 14:30:01 2018 +0100"
      },
      "message": "Fix issue with sort_api.sh\n\nShould use -ne not -neq.\n\nTest: run script manually\nBug: 115609023\nChange-Id: I337ed43be1f9250e6c2b2c88d97c68a5c9e8941c\n"
    },
    {
      "commit": "f0a45a411439d1431a44159efcdade7fc9ba5bff",
      "tree": "c9c8ead0c69046f4c3b7f4f9466bf6ebbc33dbc0",
      "parents": [
        "923aa75d75b488d3e275de4bbafcbe00f33b0cf8",
        "adbc7dfc287299bc709b17e9d6a852aacf44cdc7"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Tue Oct 16 05:38:00 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 16 05:38:00 2018 -0700"
      },
      "message": "Merge \"Add new \"max-sdk-p blacklist\".\"\nam: adbc7dfc28\n\nChange-Id: Ice435ecdef532f3d25b705cc734773deba84322f\n"
    },
    {
      "commit": "ea14c0c36f2ff5c18c2e62c71f50f01cef47f077",
      "tree": "a858e55b9521216d48399152f113273d513836e7",
      "parents": [
        "1ad4aed0b96877092080ea2225cbd70f27ae8eb8"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Fri Oct 05 14:41:03 2018 +0100"
      },
      "committer": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Tue Oct 16 12:12:27 2018 +0100"
      },
      "message": "Merge hidden API metadata into a single CSV file.\n\nAdd a python script to merge the CSV files, dealing with the fact that the\nsource columns may differ due to the annotation properties present in the\nsource.\n\nAdd this new file and the existing greylist.txt files as dependencies of\nthe \u0027dist\u0027 target, so that they appear as artifacts on the build server.\nThis allows them to be processed later by reading them from the build\nserver.\n\nTest: m out/target/common/obj/PACKAGING/hiddenapi-greylist.csv\nBug: 117314178\nChange-Id: Ib9e5da90e4c32333a3f4f02ee7f159f77086ae5e\n"
    },
    {
      "commit": "50dea427292b6e5435c6cd0010e2f3f05b3900e4",
      "tree": "2b3f21e1db09f65f17484f2a17bcc6009cf62541",
      "parents": [
        "1ad4aed0b96877092080ea2225cbd70f27ae8eb8"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Fri Oct 05 15:47:29 2018 +0100"
      },
      "committer": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Mon Oct 15 16:38:12 2018 +0100"
      },
      "message": "Add new \"max-sdk-p blacklist\".\n\nThis will contain greylist entries accessible by apps with a\ntargetSdkVersion of less than Q. Currently empty, will be populated in\nfollow up CLs.\n\nFor now, these APIs are just merged into the light greylist at build time,\npending support in the runtime for implementing the correct runtime\nbehavior.\n\nAlso fix a bug in sort_api.sh so it deals with empty API lists\ncorrectly.\n\nBug: 115609023\nTest: m\nChange-Id: I213874062f393f96d120648a934ae5ad7aba93af\n"
    },
    {
      "commit": "6ffa32f13dc4a05ed9b14a8b3ed4db02c4a3d102",
      "tree": "1b0701a02e7c57814551eed9e515f6098074988e",
      "parents": [
        "840beebdb4b1d3a7348b3ddbe9ac65d00b6eb866",
        "00d5548355ed5a15219ad848ab7a947ea54f82de"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Oct 10 16:06:48 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 10 16:06:48 2018 -0700"
      },
      "message": "AAPT2: Add the rest of supported manifest elements\nam: 00d5548355\n\nChange-Id: I9c8002d2891d762e579d0d987bb52856fb20df17\n"
    },
    {
      "commit": "840beebdb4b1d3a7348b3ddbe9ac65d00b6eb866",
      "tree": "3f3a7f87731b90da0fa07fd2de6028a5e30d22ac",
      "parents": [
        "64106e43992ea08b960888a26de00ec9b2c5e5fe",
        "48d009ad321efff9e3b43e1f5fc7477dc78a3ae4"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Oct 10 16:00:02 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 10 16:00:02 2018 -0700"
      },
      "message": "AAPT2: Add supported manifest elements\nam: 48d009ad32\n\nChange-Id: Ib620e6c3a5ee6b4a33f4d64a9afa44302de67d7a\n"
    },
    {
      "commit": "e75f2f504e4d119dc83d077802e62031efb9d300",
      "tree": "7dc043ba5f0e34433e90d88249c1a4dfa1198b48",
      "parents": [
        "4d9823f3eb12d27610770ea315512e460d8dbab3",
        "f5c86dc1c113dc2a898311ee4d446a9ab3ed8e72"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 10 22:29:57 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 10 22:29:57 2018 +0000"
      },
      "message": "Merge changes from topic \"aapt2-manifest-elements\"\n\n* changes:\n  Remove workarounds for b/79755007\n  AAPT2: Add the rest of supported manifest elements\n  AAPT2: Add supported manifest elements\n"
    },
    {
      "commit": "b7c0800fa0fef9c9ffdc1f0fbb803b9298ab9d74",
      "tree": "9dc5e02017a73eb7b65cbd03c5c39bcecbdfa3f4",
      "parents": [
        "7672daf8e5dee9cc8e6a3874b9f06eed6b4361dd",
        "b14c8879746474fc021a6a1c869e153a4d347d3c"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Tue Oct 09 16:04:34 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 09 16:04:34 2018 -0700"
      },
      "message": "Merge \"libandroidfw: move ConfigDescription from aapt2 to libandroidfw\"\nam: b14c887974\n\nChange-Id: I14be80a2d2c3620919a78da5a42ed56ec1d1737f\n"
    },
    {
      "commit": "7672daf8e5dee9cc8e6a3874b9f06eed6b4361dd",
      "tree": "d2c6cf9f6cbfa464f261728ae2eb817dfd380602",
      "parents": [
        "247f18f47aca15efbb12fa30a9295299606e6402",
        "62a5d4249f531065dc97c2f7e8b9ab349aa1888d"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Tue Oct 09 16:00:31 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 09 16:00:31 2018 -0700"
      },
      "message": "Merge changes from topic \"idmap2-prerequisites\"\nam: 62a5d4249f\n\nChange-Id: I8db3f5ba0de6510c3327273c56e9fcc75c836694\n"
    },
    {
      "commit": "b14c8879746474fc021a6a1c869e153a4d347d3c",
      "tree": "94ce6086c7de4b877cdf17ca15d3f07dac833f33",
      "parents": [
        "62a5d4249f531065dc97c2f7e8b9ab349aa1888d",
        "5c541f6e36c049d2a00628083ca0534bf39db971"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 09 21:43:38 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 09 21:43:38 2018 +0000"
      },
      "message": "Merge \"libandroidfw: move ConfigDescription from aapt2 to libandroidfw\""
    },
    {
      "commit": "62a5d4249f531065dc97c2f7e8b9ab349aa1888d",
      "tree": "d5e172014bc7cc5c2eac8312c27e32bc59d83301",
      "parents": [
        "16fcd3dcff4026fe6239478a5901fa121f2439e7",
        "668ec5bd3bd9d5fe6ebf46985eacd3d8d81af937"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 09 21:43:38 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 09 21:43:38 2018 +0000"
      },
      "message": "Merge changes from topic \"idmap2-prerequisites\"\n\n* changes:\n  AssetManager2: optionally keep non-matching configs\n  AAPT2: optionally keep resources without default value\n  libandroidfw: add resource ID iterator\n"
    },
    {
      "commit": "5cc170017128c25eb4ee887855444cbfcb930893",
      "tree": "bc5d1b7b079082c3a178db9ea210b8a0ab239487",
      "parents": [
        "16fcd3dcff4026fe6239478a5901fa121f2439e7"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Oct 09 13:53:53 2018 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Oct 09 14:28:35 2018 -0700"
      },
      "message": "Stop using DIST_DIR directly, use dist-for-goals instead\n\nAs a preparation in refactoring how we handle dist, I\u0027m making\neverything use dist-for-goals. In this case, instead of fully relying on\na phony rule, write the gtest xml into an intermediate folder, and use\ndist-for-goals to copy that into the dist dir.\n\nBug: 117463001\nTest: DIST_DIR\u003ddist m aapt2_run_host_unit_tests dist\nTest: DIST_DIR\u003ddist m aapt2_run_host_unit_tests dist   (reruns test)\nChange-Id: I166c2b3088703875c6028c3479aec7cf09f3f635\n"
    },
    {
      "commit": "f1aadaf8c5c1216049310f56c9f361ba107475da",
      "tree": "98fedb714fbe74f8f00864de0a02423b5717a22c",
      "parents": [
        "884820a2a8373f96211de4f7c5d148738ea4579e",
        "0d3f4e61c99057c7e40c9159ba08286c34cf797c"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Tue Oct 09 10:31:54 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 09 10:31:54 2018 -0700"
      },
      "message": "Merge \"Add rtmitchell to AAPT2 OWNERS\"\nam: 0d3f4e61c9\n\nChange-Id: I5285ed50123ed2fd219c6b9daa5e460c0cbdaa36\n"
    },
    {
      "commit": "f99eda450f172f13affa1c08ebea9c3be00ac4b6",
      "tree": "5b7872322e5d57fb2aa8b7e66d0a81ecbb4d7e2a",
      "parents": [
        "3f1f4fc11d2e19c4b297a97d21293d05ac3db622"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Mon Jun 11 14:13:37 2018 +0200"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Tue Oct 09 14:02:14 2018 +0000"
      },
      "message": "AAPT2: optionally keep resources without default value\n\nTeach \"aapt2 link\" about a new flag --no-resource-removal. When given,\naapt2 will not filter out resources that lack default values. This is\nuseful mostly when building overlay packages that define resources for\nnon-default configurations, such as only for values-sv.\n\nTest: manual: build package with resource only in values-vs, verify apk with aapt2 dump\nChange-Id: Idc513bcb3f43bbff7f073163562c3dfccdb9bc9b\nMerged-In: Idc513bcb3f43bbff7f073163562c3dfccdb9bc9b\n"
    },
    {
      "commit": "5c541f6e36c049d2a00628083ca0534bf39db971",
      "tree": "b96859ed3ac2264eaae528d3eaf11f7a0901aeb0",
      "parents": [
        "61b9b6c9eb7acb7b5f260f43b04d31d17bb59557"
      ],
      "author": {
        "name": "Mårten Kongstad",
        "email": "marten.kongstad@sony.com",
        "time": "Wed Jun 20 08:46:41 2018 +0200"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Mon Oct 08 09:56:09 2018 -0700"
      },
      "message": "libandroidfw: move ConfigDescription from aapt2 to libandroidfw\n\nThis is to allow idmap2 to access ConfigDescription.\n\nTest: libandroidfw_tests\nTest: aapt2_tests\nChange-Id: I54210bbbd8dad5903cb7100807df977efa394ad5\nMerged-In: I54210bbbd8dad5903cb7100807df977efa394ad5\n"
    },
    {
      "commit": "6d0dbbbab3616f4b61a0e243cd150211406b9b5d",
      "tree": "d58d96e902ce93c95940042b8ce0bd407baa1108",
      "parents": [
        "4ddd969fb9d2dc75088b5acca13c3921a1e94bf6"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu Oct 04 11:54:29 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Thu Oct 04 11:54:29 2018 -0700"
      },
      "message": "Add rtmitchell to AAPT2 OWNERS\n\nPer talks with Svet, it is time I became a co-owner of AAPT2 with\ntoddke. I look forward to continuing to support and improve AAPT2.\n\nChange-Id: I3a0f1c8a708abc41045b95dc958dbeb96a5160ff\n"
    },
    {
      "commit": "15dcc77feeb6c7adbea42b0edc8d1ef12aff0201",
      "tree": "489593294ad28b3bde436c08ca81c44d28ca27df",
      "parents": [
        "dcdd224bc0baf7e9452841c49688bb270de52650",
        "9166e8937443f891cb20d8821d17ce5af33793ea"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Oct 01 18:09:38 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 01 18:09:38 2018 -0700"
      },
      "message": "Merge \"Add noexcept to move constructors and assignment operators.\"\nam: 9166e89374\n\nChange-Id: I079060ef610c2d90c57140f001225c163a3dd21a\n"
    },
    {
      "commit": "9166e8937443f891cb20d8821d17ce5af33793ea",
      "tree": "d6c7492f0f0ac55de5241ab720e276cbd6120187",
      "parents": [
        "956791cee8dd0a7a0ab91f42abfbac404a50ec97",
        "fc81626ba6851f52c72c9858edf3f6818d66cf82"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Oct 02 00:37:46 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 02 00:37:46 2018 +0000"
      },
      "message": "Merge \"Add noexcept to move constructors and assignment operators.\""
    },
    {
      "commit": "206ccf1f61832018db21fe7d46e7f64b673b7367",
      "tree": "aac620802db6be3e41a9dc4381cbaf9bb3c63d7c",
      "parents": [
        "05fb3806f336596066db2d1fa03774f20183f068",
        "20ecc6397b33b39700e2de4dae14be5398bbc007"
      ],
      "author": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Mon Oct 01 17:25:02 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 01 17:25:02 2018 -0700"
      },
      "message": "Merge \"Do not use StringPiece in ExtractJavaIdentifier\"\nam: 20ecc6397b\n\nChange-Id: I3c70a4b9db43d9590f52cdb6972cf9fba3501787\n"
    },
    {
      "commit": "20ecc6397b33b39700e2de4dae14be5398bbc007",
      "tree": "abdd972f8bc78c2378864f6b28b5ece4006685b4",
      "parents": [
        "417b7b14bb0f3f3e5e0ad2e46848230e944a7ae9",
        "9ba5cb4796a66b387af1f9350134f742f490aa7f"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 01 23:37:31 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 01 23:37:31 2018 +0000"
      },
      "message": "Merge \"Do not use StringPiece in ExtractJavaIdentifier\""
    },
    {
      "commit": "fc81626ba6851f52c72c9858edf3f6818d66cf82",
      "tree": "30551addf9eeb23a99149d1ca04c644285dacaea",
      "parents": [
        "6c35ea901c364f14198009b00b9e838842516911"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Sep 25 12:01:21 2018 -0700"
      },
      "committer": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Oct 01 20:23:02 2018 +0000"
      },
      "message": "Add noexcept to move constructors and assignment operators.\n\nBug: 116614593\nTest: build with WITH_TIDY\u003d1\nChange-Id: Ic3993d88eb3066aef402d74c4d543c56a1dfd5c3\n"
    },
    {
      "commit": "47be78e5235e344019f4ef449c051bc08fca5790",
      "tree": "fc098d3ef692f0a02056e627148fd4f08d886ad1",
      "parents": [
        "95981b04889d466c94fdbf28b66f958dd5d86893",
        "b839befd7bd375b39d39723e42d912265031fbdf"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Sep 26 15:14:41 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Sep 26 15:14:41 2018 -0700"
      },
      "message": "Merge \"Change FileStream test buffer from char* void*\"\nam: b839befd7b\n\nChange-Id: Iffc125b995827c455fb4f2c3b2dca15de3321a86\n"
    },
    {
      "commit": "b839befd7bd375b39d39723e42d912265031fbdf",
      "tree": "fc3af5b86e14db8d717ef9b411027a6718e9e737",
      "parents": [
        "c4833e862e333c363d5a87f73141fc3ad06f6236",
        "8f37734cf48c2ff15e8654cfa26fa4baa195d348"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Sep 26 21:58:44 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 26 21:58:44 2018 +0000"
      },
      "message": "Merge \"Change FileStream test buffer from char* void*\""
    },
    {
      "commit": "8f37734cf48c2ff15e8654cfa26fa4baa195d348",
      "tree": "93714e00f737a56b3ff190ed54757e26e828da6b",
      "parents": [
        "31830456cdb94cbe2a50debf5eaee5cd54dd7d3c"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Sep 26 10:26:53 2018 -0700"
      },
      "committer": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Sep 26 14:54:45 2018 -0700"
      },
      "message": "Change FileStream test buffer from char* void*\n\nIt seems like GoogleTest prints string parameters before checking them.\nThis can be a problem in FileStream tests since these buffers are not\nnull terminated.  ASan reports heap-buffer-overflow.\n\nTest: m SANITIZE_HOST\u003daddress\nout/soong/.intermediates/frameworks/base/tools/aapt2/aapt2_tests/linux_glibc_x86_64_asan/aapt2_tests \\\n      LD_LIBRARY_PATH\u003dout/soong/.intermediates/external/libcxx/libc++/linux_glibc_x86_64_shared\nout/soong/.intermediates/frameworks/base/tools/aapt2/aapt2_tests/linux_glibc_x86_64_asan/aapt2_tests\n\nChange-Id: I9a1956d815729de23c7038fb0d498240eb917070\n"
    },
    {
      "commit": "9ba5cb4796a66b387af1f9350134f742f490aa7f",
      "tree": "9526df3430e982770a42719f2dc6cc198353950b",
      "parents": [
        "4a2dd10d834529311bf0daa4d5fa7c81f903bf61"
      ],
      "author": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Mon Sep 24 15:20:15 2018 -0700"
      },
      "committer": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Tue Sep 25 13:21:35 2018 -0700"
      },
      "message": "Do not use StringPiece in ExtractJavaIdentifier\n\nBug: http://b/91353691\n\nAfter assigning the result of TransformToFieldName to \u0027result\u0027, the\nunderlying storage is destroyed after the \u0027if\u0027 statement of the function\ncall.  \u0027result\u0027 ends up with garbage if the identifier has a \u0027-\u0027.\n\nManifestClassGeneratorTest.NormalizePermissionNames is broken for this\nreason in 32-bit Windows when using libc++ and 32-bit Linux.  ASAN also\nreports this failure for both 32-bit and 64-bit linux.\n\nTest: Run test on the cases mentioned above and ensure all of them pass.\nChange-Id: I69163c423c1171b7ac7838f2abe06bdf8058df4c\n"
    },
    {
      "commit": "18242e5c089fbdbe396d902ccac4479fcbbaab83",
      "tree": "ccb7f6fa51f11a3ab3bd6e309c6fd80710b7b430",
      "parents": [
        "b2e9c6652e6236fee3b2b358a846707147ff12c3",
        "4a2dd10d834529311bf0daa4d5fa7c81f903bf61"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Sep 24 11:50:54 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Sep 24 11:50:54 2018 -0700"
      },
      "message": "Merge \"Fix clang-tidy performance warnings in frameworks/base.\"\nam: 4a2dd10d83\n\nChange-Id: Ic7266f1c23ab5218f47bf65bb2bde6f79a07a910\n"
    },
    {
      "commit": "6b3fac2945ffe078a30cbab684d6556ff643a1ab",
      "tree": "91098b40f54ec50139b45257fc5092e12ec697f4",
      "parents": [
        "f7190b65ab20a153191638c8ab2527994a56872a"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Sep 17 15:12:02 2018 -0700"
      },
      "committer": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Sep 24 16:29:26 2018 +0000"
      },
      "message": "Fix clang-tidy performance warnings in frameworks/base.\n\n* Use more efficient overloaded string methods.\n\nBug: 30411878\nTest: build with WITH_TIDY\u003d1\nChange-Id: Ia387e61770e1e7211280ed028ef0eef6e632a1d2\n"
    },
    {
      "commit": "b2e9c6652e6236fee3b2b358a846707147ff12c3",
      "tree": "0d89cc317deb8c51b675e6b47f9089d90ed7980a",
      "parents": [
        "77841856d2cb517f7f4e4320eca369bd1f78f120",
        "f7190b65ab20a153191638c8ab2527994a56872a"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Sep 24 04:23:27 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Sep 24 04:23:27 2018 -0700"
      },
      "message": "Merge \"Add serialization methods to whitelist not light greylist\"\nam: f7190b65ab\n\nChange-Id: Idecb27314ecbdea74354afb4f320eda124bfc72d\n"
    },
    {
      "commit": "e9622a3d3ae3ff6f61aa294aa16a0e232e97f09a",
      "tree": "0f2e960156f7b1b4345ed5044d1b158481e29edc",
      "parents": [
        "194170e7f7493c828235f325140dd860d31d077d"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Sep 20 11:03:40 2018 +0100"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Sep 21 11:05:06 2018 +0100"
      },
      "message": "Add serialization methods to whitelist not light greylist\n\nChecked the contents of the hiddenapi lists before and after the change\nand the methods were definitely moved from light greylist to the\nwhitelist.\n\nFlashed the device and checked the log and did not see anything out of\nthe ordinary.\n\nTest: frameworks/base/tools/hiddenapi/generate_hiddenapi_lists_test.py\nChange-Id: I9b4b2426251e99495f65ae02a3c2c32ce6966625\n"
    },
    {
      "commit": "57a4bae7c3c79449fcb271375c8e3474a329f716",
      "tree": "5b6a7a7ed50df10cf22506add4b954651eb53e89",
      "parents": [
        "65e63ce0de5107ed95060b26e9fb02a5b637249c",
        "daabcae9557b085d7b9d3b1945753718b734f332"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Fri Sep 14 21:55:58 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 14 21:55:58 2018 -0700"
      },
      "message": "Merge \"Don\u0027t fail if there are no comments.\"\nam: daabcae955\n\nChange-Id: I7d8139a98913ae17491f73314bd426287374c270\n"
    },
    {
      "commit": "6be0fdde4adc0c41fb9bc3376e7d1938a5d4de25",
      "tree": "acbc46e75c3bb287df6800b765990c6440f5b769",
      "parents": [
        "53f6d1b060c10121062c4054514c3e3a0c2444bd"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Fri Sep 14 15:19:10 2018 +0100"
      },
      "committer": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Fri Sep 14 15:29:35 2018 +0100"
      },
      "message": "Don\u0027t fail if there are no comments.\n\nGrep exits with non-zero if it find no matches. But it doesn\u0027t matter in\nthis case, so just carry on.\n\nTest: frameworks/base/tools/hiddenapi/sort_api.sh \\\nTest:    frameworks/base/config/hiddenapi-light-greylist.txt\nChange-Id: I7c219ee617f7dfa3cff5232ab979cc4ba38ebbfd\n"
    },
    {
      "commit": "00d5548355ed5a15219ad848ab7a947ea54f82de",
      "tree": "49f1b8b155c999aae5a2263a195efee25377a48f",
      "parents": [
        "48d009ad321efff9e3b43e1f5fc7477dc78a3ae4"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Fri Sep 07 14:33:14 2018 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Sep 13 22:12:37 2018 -0700"
      },
      "message": "AAPT2: Add the rest of supported manifest elements\n\nAdds elemnts that are parsed in PackageParser to the manifest parsing of\nAAPT2.\n\n\u003cpackage\u003e found in \u003cmanifest\u003e\n\u003cpreferred\u003e found in \u003cmanifest\u003e\u003capplication\u003e\u003cactivity\u003e\n\nBug: 79755007\nTest: manual building of broken targets listed in the bug\nChange-Id: Ic7d17e62d04aa46757d2ed7482ec0aff93ce9ee5\nMerged-In: Ic7d17e62d04aa46757d2ed7482ec0aff93ce9ee5\n(cherry picked from commit 28afe682cd84c894c4da880ace41db77268400c4)\n"
    },
    {
      "commit": "48d009ad321efff9e3b43e1f5fc7477dc78a3ae4",
      "tree": "28c4d899141ac3aeb920a03d730184f14024c59b",
      "parents": [
        "741521940a1b0d0b05b20719a38e3970917dd5ef"
      ],
      "author": {
        "name": "Ryan Mitchell",
        "email": "rtmitchell@google.com",
        "time": "Wed Jul 25 16:15:17 2018 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Sep 13 22:11:59 2018 -0700"
      },
      "message": "AAPT2: Add supported manifest elements\n\nAdds some elements present in res/values/attrs_manifest.xml to manifest\nparsing.\n\n\u003cadditional-certificate\u003e in \u003cmanifest\u003e\u003capplication\u003e\u003cuses-static-library\u003e\n\u003cmeta-data\u003e in \u003cmanifest\u003e\u003cpermission\u003e\n\u003cpackage-verifier\u003e in \u003cmanifest\u003e\n\u003crestrict-update\u003e in \u003cmanifest\u003e\n\nBug: 79755007\nTest: manual\nChange-Id: I50520a99ce5ced9908001430b2108d7a5c71f8a7\nMerged-In: I50520a99ce5ced9908001430b2108d7a5c71f8a7\n(cherry picked from commit 66f6cfb8a561a653db084b97adfa8c4d48979000)\n"
    },
    {
      "commit": "ac2b7439d9857807df81642a71981c1f87fbb777",
      "tree": "1fca11de89dac3857f465dae8a2a9a57452c2b9d",
      "parents": [
        "96b6adc014120b704139ae5e3eeec23f3abca3e6",
        "98cd65e17f02c649bef6d7bc34fdbbf47a1cf139"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Sep 11 16:15:49 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Sep 11 16:15:49 2018 -0700"
      },
      "message": "Merge changes from topic \"ownerz\"\nam: 98cd65e17f\n\nChange-Id: I42a137e73ab409a03f26abb0394be229c9d43e12\n"
    },
    {
      "commit": "5b471996ebebce503487ca08c86ee7eb62e6dd3d",
      "tree": "dadd7f10e7220be3bace09dae9d3707bf37dd003",
      "parents": [
        "0a9c731969fe590f82a5a4e34f9f1470d57d20b2"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Sep 11 10:36:57 2018 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Sep 11 12:14:48 2018 -0600"
      },
      "message": "Tweaks to AOSP upload hook logic.\n\nLists all matching files, and slightly more robust path handling.\n\nBug: 113136846\nTest: manual\nChange-Id: Ic1971a3df97b8b137993b5856b47d0d706a996cd\n"
    },
    {
      "commit": "0a9c731969fe590f82a5a4e34f9f1470d57d20b2",
      "tree": "235dfb994eef432c2753e85cfab3558fa2e96268",
      "parents": [
        "98627fa455f34da2791d2d65e30d38e87bee3022"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Aug 23 22:01:53 2018 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Sep 11 11:09:05 2018 -0600"
      },
      "message": "Upload hook that guides people towards AOSP.\n\nThe canonical location of certain parts of the source tree live in\nAOSP, and should not be changed internally to avoid merge conflicts.\n\nThis initially starts with \"OWNERS\" files, but the hook can easily\nbe repeated to match any files based on file path regexes.\n\nBug: 113136846\nTest: manual\nChange-Id: I113e63b6133f20389d84ec0d6d8b81cdbdf35d38\nMerged-In: I113e63b6133f20389d84ec0d6d8b81cdbdf35d38\n"
    },
    {
      "commit": "5c6894a85b254cf8c484173054da7e70bac8a5d8",
      "tree": "3e25e589cf922f40931d8f2ebab7744d41765d78",
      "parents": [
        "14e10c3b10563e68030bba002f5ee948d3b0dc91",
        "e87700fc97e2988cd2ab870f33d362dc93f0d1b3"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Sep 11 09:46:18 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Sep 11 09:46:18 2018 -0700"
      },
      "message": "Merge \"Revert \"Check in P dark greylist, use it for hidden API list generation\"\"\nam: e87700fc97\n\nChange-Id: Ic4c73f2f482ab9260479e44e69a26bb55e510cca\n"
    },
    {
      "commit": "4a55eebf26a5366de302578f76947e7c05305a22",
      "tree": "2f1811bb36030f2252a422b3bca1b3a7f6762f0a",
      "parents": [
        "60ff003a9d988ba7459906b131fa5718b80dc093"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Sep 11 11:09:01 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Sep 11 11:43:07 2018 +0100"
      },
      "message": "Revert \"Check in P dark greylist, use it for hidden API list generation\"\n\nThis reverts commit 3cc74c71ef907a76547424aea6597f7b2907e9fb.\nWe saw app crashes due stricter classification of non-SDK APIs.\n\nBug: 115284625\nBug: 113881436\nTest: phone boots\n\nChange-Id: I689d0fbf66fabeffa5032e13f2f1f314c50b6cc5\n"
    },
    {
      "commit": "5c776dea7ebc68e31b16019093a191ef015ada97",
      "tree": "719c12072da84306cea79ba218862bac2dd6bb15",
      "parents": [
        "eb0b6de5105abac54e2df5c9bbb49bd4bff61609",
        "3d93d8f3238f26c9331c34ea01f2baceecfdb718"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Sep 07 03:00:37 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 07 03:00:37 2018 -0700"
      },
      "message": "Merge changes from topic \"hiddenapi-dark-grey\"\nam: 3d93d8f323\n\nChange-Id: I7ee3cfd512553bcf5ff3297a7df0db6786d3436a\n"
    },
    {
      "commit": "38d2793a7d802388655b6db3ce9c017a446d8b29",
      "tree": "9dca53dbe9d11a6b01430526005eb3416b439c97",
      "parents": [
        "e3621c5e2e22d7eb86efbae60ce2128175c8a58d",
        "3cc74c71ef907a76547424aea6597f7b2907e9fb"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Sep 07 02:48:00 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 07 02:48:00 2018 -0700"
      },
      "message": "Check in P dark greylist, use it for hidden API list generation\nam: 3cc74c71ef\n\nChange-Id: I266a8661800078c7fd3f1717b94c81f3a7e9545a\n"
    },
    {
      "commit": "3d93d8f3238f26c9331c34ea01f2baceecfdb718",
      "tree": "fac5a236e0cd0c376dfc9285417e6bf9d7b53e66",
      "parents": [
        "4be1419838d8e356f28d05c186b4ba4609dea8a3",
        "ae88d4e21e072a5a4a15777ce2575b90a4689333"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Sep 07 09:31:56 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 07 09:31:56 2018 +0000"
      },
      "message": "Merge changes from topic \"hiddenapi-dark-grey\"\n\n* changes:\n  Ignore comment lines in hidden api lists\n  Mark hidden API lists .KATI_RESTAT\n  Check in P dark greylist, use it for hidden API list generation\n"
    },
    {
      "commit": "e03a757d87e951a93fbb4427a7b1f406fdcd991c",
      "tree": "2daefe8e12d4f20824852ab7e965aa295ba800d7",
      "parents": [
        "5225d85626cb00b2deadb52c81db576461bc480c",
        "0d2f465ed798530ac0a4746153f771bee8b10f52"
      ],
      "author": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Thu Sep 06 12:31:56 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Sep 06 12:31:56 2018 -0700"
      },
      "message": "Merge \"Fix compilation when targeting OpenJDK 9.\"\nam: 0d2f465ed7\n\nChange-Id: I066771334a0d7c4d79c4035ccce95c08d7a23892\n"
    },
    {
      "commit": "8fb36157292db01854fbfa40815e0a37db6332e1",
      "tree": "6eb0b744d57417d5d8daeac6115ad7568f809812",
      "parents": [
        "08d7a208e8c8b6e23d7949d5ce9bc06cb5bea538"
      ],
      "author": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Thu Sep 06 17:30:28 2018 +0100"
      },
      "committer": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Thu Sep 06 17:33:57 2018 +0100"
      },
      "message": "Fix compilation when targeting OpenJDK 9.\n\nCL [1] added a new compilation target that uses internal API\nthat is now in the jdk.compiler module and is not exported\n(it is subject to removal without notice in future versions of\nOpenJDK). The fact that these packages are not exported suggests\nthat a replacement API is already available, but I don\u0027t know the\ndetails.\n\nFor now, this CL uses javac command-line flags to export these\npackages, which fixes compilation. Since the commit message from\nCL [1] implies that the entire tool can be removed once bug 77284273\nis fixed, a longer-term solution should not be required.\n\n[1] https://android-review.googlesource.com/c/platform/frameworks/base/+/745655\n    commit bad89e5e5b171a71e42d7c738ec97a39747e4318\n\nTest: The following breaks before but not after this CL:\n  EXPERIMENTAL_USE_OPENJDK9\u003dtrue make unsupportedappusage-annotation-processor\nBug: 113853502\n\nChange-Id: I24b77af9262891428a01e2eccc18fa3a5c3b3bc9\n"
    },
    {
      "commit": "ae88d4e21e072a5a4a15777ce2575b90a4689333",
      "tree": "cf0d7dbec4ac0d9c4e7f3406016e997559a31c66",
      "parents": [
        "081a589ad997e30062bfb9c6cd18f77d9cae0245"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Sep 06 14:46:55 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Sep 06 15:10:28 2018 +0100"
      },
      "message": "Ignore comment lines in hidden api lists\n\nIt is sometimes useful to add comments at the top of a source file. This\npatch changes hidden API list generation to ignore lines beginning with\na hash.\n\nNote that due to the sorting constraints on hidden API lists, comments\ncan be only at the top of the files.\n\nTest: m appcompat\nChange-Id: I1bc6fd44d1b1f10a5adc45093d7f7ed5a0c5a54f\n"
    },
    {
      "commit": "3cc74c71ef907a76547424aea6597f7b2907e9fb",
      "tree": "3b698fdf89b4a5abeed7a2b08aa2f6455fc20bd1",
      "parents": [
        "08d7a208e8c8b6e23d7949d5ce9bc06cb5bea538"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Sep 06 11:02:06 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Sep 06 11:10:51 2018 +0100"
      },
      "message": "Check in P dark greylist, use it for hidden API list generation\n\nWe want to preserve the same semantics as P wrt dark greylist. This will\neventually become the \"blacklist for target SDK \u003e\u003d P\".\n\nBug: 113881436\nTest: phone boots\nChange-Id: I3bb72102e1d054eb0f2cae089ab633a0bc2bb276\n"
    },
    {
      "commit": "22ea0b7a52205c046eb7244d4fca4328f130ac7f",
      "tree": "674240c55b622a1274e63cf3f9698df60dccaa6a",
      "parents": [
        "0d4d187ddc83213f65e2eb00d04f21addc7c84b4",
        "e5440456ca3af4028586db679a89edfc2ae4fd4a"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Wed Sep 05 09:33:33 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Sep 05 09:33:33 2018 -0700"
      },
      "message": "Merge \"Processor for @UnsupportedAppUsage annotations.\"\nam: e5440456ca\n\nChange-Id: I5e4d53b92c20bf3c34248c6cf4798ab4ba34af7c\n"
    },
    {
      "commit": "bad89e5e5b171a71e42d7c738ec97a39747e4318",
      "tree": "713d2fe9e6a0a149ac86044261094a4f9d487992",
      "parents": [
        "8ac363088ce16df9d50953c1aed636616513b7d8"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Thu Jun 28 14:12:10 2018 +0100"
      },
      "committer": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Wed Sep 05 15:01:21 2018 +0100"
      },
      "message": "Processor for @UnsupportedAppUsage annotations.\n\nThe processor outputs unsupportedappusage_index.csv, containing source\nposition info for every@UnsupportedAppUsage annotation processed. It is a\nmapping of dex signature to the source postion of the annotation on that\nsignature. It is used as input for scripts which update the annotations.\n\nWe include a META-INF file which causes the compiler to automatically\npick up the annotation processor. Otherwise we would need to explicitly\nspecify the processor with a -processor flag to javac.\n\nWe create a new build target for just the @UnsupportedAppUsage annotation\nand the @IntDef annotation (which it depends on) so that the processor can\nalso depend on that directly.\n\nThe processor only runs on a new build target framework-annotation-proc\nso that it is not invoked as part of a regular build. This is done so\nthat we don\u0027t slow down peoples builds: Soong does not support annotation\nprocessors when javac sharding is in use. This workaround can be removed\nonce b/77284273 is fixed.\n\nTest: m framework-annotation-proc\nBug: 113853502\n\nChange-Id: Ie9cd5a90ddf7a51f6035e849703fc39ad9127557\n"
    },
    {
      "commit": "8f7b234417706a3329427b739e926ffb001faf22",
      "tree": "9ebcdf8757d9f5a5fd4abd263997ae25a5309d67",
      "parents": [
        "2e5fdd0051f4e0136dada304d51a68d7f029ac43",
        "a264c2c83e5a2adbc66d96aa92c8f015a44614f6"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Aug 30 11:18:29 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Aug 30 11:18:29 2018 -0700"
      },
      "message": "Merge \"Rewrite hidden API list generation in Python\"\nam: a264c2c83e\n\nChange-Id: Ib785891e303ef7c4a78175debae3e92b3a82410f\n"
    },
    {
      "commit": "8503b9045b71cb3d89af5a389257ba8e8a8fa611",
      "tree": "b9ddc88e36247631f22d958ad05b9ae97bc4525c",
      "parents": [
        "6717a6f930cd1fc72ee71de7d01b0077f9e055e2"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Aug 30 13:35:03 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Aug 30 16:19:26 2018 +0100"
      },
      "message": "Rewrite hidden API list generation in Python\n\nGenerating hidden API lists has grown in complexity and the original\nMakefile rule has become a bottleneck for build times. Rewrite the\nlogic in Python.\n\nBug: 113278235\nBug: 73736106\nTest: frameworks/base/tools/hiddenapi/generate_hiddenapi_lists_test.py\nChange-Id: I63f03133d70260d06c55f482b844a4980dc6f734\n"
    },
    {
      "commit": "9f5e3e822c346b5bb31012fa1661ef7f9ffc3665",
      "tree": "5653706a4f37a850d2aabc2afc87f2bc182a069e",
      "parents": [
        "85b40cb793a38951624f2d0ab0f6e7d2fb7845b9",
        "7bd321ca25c768c9135cfa2e13832902ffd03788"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Aug 29 19:32:51 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 29 19:32:51 2018 -0700"
      },
      "message": "Merge \"Convert aapt to Soong\"\nam: 7bd321ca25\n\nChange-Id: Ia55efab04b2117049d34335ff4141f5eeb1ef25a\n"
    },
    {
      "commit": "5d12935f35a04abb39cd02883c8c46d4e0345928",
      "tree": "6963d25051fb87a05d88d30ce0de254da8131ae5",
      "parents": [
        "13d6540956bc0aff2e08b785d90ad3c91d81663d"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Aug 29 17:22:14 2018 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Aug 29 17:24:18 2018 -0700"
      },
      "message": "Convert aapt to Soong\n\nSee build/soong/README.md for more information.\n\nTest: cd frameworks/base/tools/aapt; mma\nTest: aapt version\nChange-Id: Ice97e9b32c53cfed30d68acd5717d8c66712df4c\n"
    },
    {
      "commit": "35c5782bb91f4aa2ad696a36305afcd3d8304a77",
      "tree": "c9c9f77eda23bbe2555d3def52876272af97cce6",
      "parents": [
        "f16ded6120097cc9ad14f4d8d6da211af9b8bcf7",
        "7113ec2cb47a2702ed3e2ec8b05e41d3deeef647"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Fri Aug 24 14:04:13 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 24 14:04:13 2018 -0700"
      },
      "message": "Merge \"dump package name\"\nam: 7113ec2cb4\n\nChange-Id: Ic3713aa75078963ca429ac4666d6e07c863af230\n"
    },
    {
      "commit": "895e19edf04f7a7ad2c2dc08401e1b7cb073bae6",
      "tree": "b0bb9eba663938a34f7fcd4a6d0e68acaeb62e0b",
      "parents": [
        "aea74ff62a37d6f668210d5e530768d52a6602a5"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Fri Aug 24 12:26:06 2018 -0700"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Fri Aug 24 19:29:22 2018 +0000"
      },
      "message": "dump package name\n\nTest: aapt2 dump packagename foo.apk bar.apk\nBug: 113105112\nChange-Id: Ibea429adc3a2a890be10548824583addc59ad42d\nMerged-In: Ibea429adc3a2a890be10548824583addc59ad42d\n"
    },
    {
      "commit": "857718307c940e775c2a8c9a638fac859b74843d",
      "tree": "ef327b8c1979739a7d4c30e7838f3e6347383ee6",
      "parents": [
        "aca9678a86f0aaa5d306e3d4295932f7a9fa418a",
        "c07d4e7118bc96c4c0d83619fb3c65aab2006055"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Tue Aug 21 02:58:25 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 21 02:58:25 2018 -0700"
      },
      "message": "Merge \"Mark symbols as dynamic for shared libraries\"\nam: c07d4e7118\n\nChange-Id: I7aa896f294e6b940b57d29afad05594c6e90fb7d\n"
    },
    {
      "commit": "c07d4e7118bc96c4c0d83619fb3c65aab2006055",
      "tree": "c05376f1b91cb00c72deff1c5a2314ab6d626056",
      "parents": [
        "661facc2f1b94ed682636e5bb4297828b423011a",
        "196dbc379b7cc71f3fcf373c27dcd4b1c9932445"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Aug 20 21:31:28 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 20 21:31:28 2018 +0000"
      },
      "message": "Merge \"Mark symbols as dynamic for shared libraries\""
    },
    {
      "commit": "9cd6280f6baadc0d4fd217c59f7d90f45c50a67c",
      "tree": "3746286ed099febc21994f3bb5dcdc758439b880",
      "parents": [
        "39ddb130ec73991c042520bb7e17ca3fc17d5baa",
        "b2432b2ab3b2294bc6e34d9e0dafbdded0b70f71"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Aug 08 14:57:25 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 08 14:57:25 2018 -0700"
      },
      "message": "Merge \"Work around b/70221552\" am: f06d3a9857\nam: b2432b2ab3\n\nChange-Id: I07faa9adfd5e6589b9989be6056d994c5909408a\n"
    },
    {
      "commit": "159799d7c971777231d17c0aabd60d36044ab331",
      "tree": "4f64733081b777b08a39be947b27589667ac54e8",
      "parents": [
        "9b04b2fd0b41b6bca58eb1d7116c597bb67856bd"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Aug 08 07:05:19 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Aug 08 09:52:51 2018 -0700"
      },
      "message": "Work around b/70221552\n\nIf one sets a sufficiently long OUT_DIR to build into the\n//frameworks/base:framework-javastream-protos generate target will\nfail due to trying to run a too-long command. This works around that\nproblem by making the command being run much smaller.\n\nTest: Build\nBug: 70221552\nChange-Id: I0134ccfc83469826d3ea8679e1c52b9b52c6d2e0\n"
    },
    {
      "commit": "8636f97bf01585e37dddfa55d3f80a30fcba85eb",
      "tree": "9f1442b5b8581f8f3dd96c39ca5d731a635c10f8",
      "parents": [
        "8ffca7e22af54060dc0dd31069880dd8aeda1fc7",
        "1397d297f0329cc6f51aa76f0caac6199fb4848b"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Thu Jul 26 13:11:01 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 26 13:11:01 2018 -0700"
      },
      "message": "Merge \"Remove class2greylist from frameworks/base.\" am: 32979f03fe\nam: 1397d297f0\n\nChange-Id: I50b72dab019a91d6d5a79d2b28079ef9e40b965d\n"
    },
    {
      "commit": "1397d297f0329cc6f51aa76f0caac6199fb4848b",
      "tree": "ff0f55ac948726dad6e820335644251f94e90e58",
      "parents": [
        "d9a8e834dd231333954d857952d918098012c6a0",
        "32979f03fe7afd8b928399399504f0aa523d09ef"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Thu Jul 26 11:55:02 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 26 11:55:02 2018 -0700"
      },
      "message": "Merge \"Remove class2greylist from frameworks/base.\"\nam: 32979f03fe\n\nChange-Id: I72f8797be98fe75806535da7b9f277ae68db8d57\n"
    },
    {
      "commit": "f364aedecb6a182d4673dd61f157459cc4d3c1fa",
      "tree": "3049cf661c9957e1d7b6d01e1850db1b9830fca9",
      "parents": [
        "716c04b29a0bd117aab33d8b81621a3fff0af7a7"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Thu Jul 26 14:57:08 2018 +0100"
      },
      "committer": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Thu Jul 26 15:57:05 2018 +0100"
      },
      "message": "Remove class2greylist from frameworks/base.\n\nIt\u0027s moving to a new home under art/tools, since it is needed by\nbranches which don\u0027t include frameworks/base.\n\nBug: 110868826\nTest: Build master-art branch\nChange-Id: Ice8324db52ae1e7e2ac6734e45874a66de935c9a\n"
    },
    {
      "commit": "d8058375f02f567c7456d6516894797b24752eba",
      "tree": "1ed2793eb52792019022f9ae6d74648cbd48bb64",
      "parents": [
        "d2339214ebe0a735bf9d4582190ed66578965bd2",
        "7393f85a6ef52d0f1bfa62652f499f633800276a"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Wed Jul 25 05:09:10 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jul 25 05:09:10 2018 -0700"
      },
      "message": "Merge \"Update annotation name in class2greylist.\" am: 6c32f5d18e\nam: 7393f85a6e\n\nChange-Id: I0fd8a3ee7d3b1deca76c989328a76c06274b736b\n"
    },
    {
      "commit": "7393f85a6ef52d0f1bfa62652f499f633800276a",
      "tree": "946b589b57e3f6a0893d8000a6661470b017639b",
      "parents": [
        "93c22129e281846672b6d06694cc3ee08c337528",
        "6c32f5d18e1af7d4e2cd231577636d5dd9277719"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Wed Jul 25 04:54:37 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jul 25 04:54:37 2018 -0700"
      },
      "message": "Merge \"Update annotation name in class2greylist.\"\nam: 6c32f5d18e\n\nChange-Id: I1a1f79a7a95814e37d337f1bb6bd10aa545cfaf9\n"
    },
    {
      "commit": "738a23fbebc9a0fbdfcfecfbc2f9ee25ad39e9ca",
      "tree": "ec5244abd94a8e97ba49b3f70424b82071ff8c2b",
      "parents": [
        "9a783699cc0efd4d980ec1e35e7df56448ef32f4"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Wed Jul 25 09:45:04 2018 +0100"
      },
      "committer": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Wed Jul 25 09:45:04 2018 +0100"
      },
      "message": "Update annotation name in class2greylist.\n\nAnnotation was added with name @UnsupportedAppUsage after Android API\ncouncil discussion.\n\nBug: 110868826\nTest: m class2greylist\nChange-Id: I63ad61e97c5e8fdebfcead9e4ee5b060a60f97c7\n"
    },
    {
      "commit": "196dbc379b7cc71f3fcf373c27dcd4b1c9932445",
      "tree": "5fdd9e0f280593f2da5f7ee0a0dc4a3a85e30754",
      "parents": [
        "bba51fede5c1b90a133d086d94e314918274c6ca"
      ],
      "author": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Tue Jul 24 14:37:15 2018 -0700"
      },
      "committer": {
        "name": "Todd Kennedy",
        "email": "toddke@google.com",
        "time": "Tue Jul 24 21:55:12 2018 +0000"
      },
      "message": "Mark symbols as dynamic for shared libraries\n\nBug: 111425000\nChange-Id: Ic1a68ac90d5e0443a536ee9ce75a72bc370cd673\nTest: build, install and run the shared library test application\n"
    },
    {
      "commit": "dc0144d0d74c91039701443e9b78f74d2045dd75",
      "tree": "455782a983fd46db9b6ebc2c987e47bac9fa71a2",
      "parents": [
        "290712717f14a15b55d73d2fabe638228de6784d",
        "abfbf7f841fa96cce9bfc626fc2a3d33f7e12c45"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Mon Jul 23 20:53:48 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 23 20:53:48 2018 +0000"
      },
      "message": "Merge \"Merge pi-dev-plus-aosp-without-vendor into stage-dr1-aosp-master\" into stage-dr1-aosp-master"
    },
    {
      "commit": "812291cc4694ae635bb7ab536e71b4c973166bca",
      "tree": "28bce3febee03ca28620f07ad995fe4d3f987008",
      "parents": [
        "c142f686c5e221f7946062fb2b0cea9360260e4f",
        "7f0aa734a3f4b3d1f7842b8546543668275f8ddb"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Mon Jul 23 10:08:47 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jul 23 10:08:47 2018 -0700"
      },
      "message": "Merge \"Add new \"class2greylist\" tool.\"\nam: 7f0aa734a3\n\nChange-Id: I7d53d60ea3537530a9e21e2de2f53eb764f7d0b5\n"
    },
    {
      "commit": "6395690ec99bd13214c0530cac54d33b1f8e601b",
      "tree": "9bcf78c13963e56233f72e52f20221c9ff59a7ce",
      "parents": [
        "bb352287c9f3631633274d2d70fc54b9b3eee851"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Mon Jul 09 15:07:56 2018 +0100"
      },
      "committer": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Mon Jul 23 14:39:19 2018 +0100"
      },
      "message": "Add new \"class2greylist\" tool.\n\nThis extracts signatures of methods that have the @UsedByApps annotation\nfor generating the greylist. It will be integrated into the build to\nreplace many members on greylist.txt.\n\nTest: $ atest class2greylisttest\nBug: 110868826\nChange-Id: Ifaf5859b60076c051de6be5a912ef70734330ce7\n"
    },
    {
      "commit": "cc8dc1d688f3f9fc3be061e6cffc6f5e9d261faf",
      "tree": "c9653faf346451bd79cc33976ab6e9e5e157c6c3",
      "parents": [
        "b3fb26272cb762755c89d417588e92da51561769",
        "228bf4f32036e7d9af3c80fd4b4c997688fc1e6f"
      ],
      "author": {
        "name": "Siyamed Sinir",
        "email": "siyamed@google.com",
        "time": "Fri Jul 20 17:31:54 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jul 20 17:31:54 2018 -0700"
      },
      "message": "Merge \"Remove requirement for kiss emoji should have gender\" into pi-dev\nam: 228bf4f320\n\nChange-Id: I9168be274a5ced20d8ddbf1ef6475dfec82262ef\n"
    },
    {
      "commit": "0c37f926e6a83d4d24b2a8fe562a858b4c565eac",
      "tree": "fe101ed6427b85fac1c80420ac99e8930fc99d38",
      "parents": [
        "3d3c6531e1933c48daa31bce894aab6cd2aedd31"
      ],
      "author": {
        "name": "Siyamed Sinir",
        "email": "siyamed@google.com",
        "time": "Thu Jul 12 12:02:18 2018 -0700"
      },
      "committer": {
        "name": "Siyamed Sinir",
        "email": "siyamed@google.com",
        "time": "Thu Jul 19 17:12:02 2018 +0000"
      },
      "message": "Remove requirement for kiss emoji should have gender\n\nTest: m fontchain_lint\nTest: m\nTest: Visual test on device after full build \n\nBug: 110037531\nChange-Id: Iac26c7c7c0e1a8a500a93f19d99831113529b201\n(cherry picked from commit 77a1b149109d99ff2c73d1b8ba9a943e6961af48)\n"
    },
    {
      "commit": "ff311dd893f66b873ee00d5ca176ff3ab2e0fa53",
      "tree": "0322cdeb7df37ac1e0c28454bbe7495818840562",
      "parents": [
        "abdaa314f885b5a889e48676b7b2b0460a5332f7"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jun 14 15:23:21 2018 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jun 15 23:03:46 2018 +0000"
      },
      "message": "Fix ManifestMerger issues\n\nSet LOCAL_MIN_SDK_VERSION in aapt2 integration test libraries so that\nthe build system doesn\u0027t raise the minSdkVersion value specified in\nthe manifest, which causes ManifestMerger to error when trying to\nmerge it into a package that specifies a lower minSdkVersion.\n\nBug: 78447299\nTest: m java\nChange-Id: If5d4f97bb2d8a503bd3c20f2ea8aea2519c51e85\n"
    },
    {
      "commit": "39c8fe12e49b4a6033385c54ba1fef862326b79b",
      "tree": "6c0ed38943137f096b61d6f93ca7f95e35fa805c",
      "parents": [
        "8c2440635573940eb6371e18cf4abb69b733f28c",
        "38b92986dfc42fe8a81365e5c51498d2959865f9"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Thu Jun 07 14:53:43 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jun 07 14:53:43 2018 -0700"
      },
      "message": "Merge \"Disable statsd and make StatsLog no-op if ro.statsd.enable\u003dfalse\" into pi-dev\nam: 38b92986df\n\nChange-Id: Ia90bed14900a2c944165aefe00661d3979c08aed\n"
    },
    {
      "commit": "38b92986dfc42fe8a81365e5c51498d2959865f9",
      "tree": "ed061c354d61ae55019c2aad21d17c9d8b8e2da4",
      "parents": [
        "e752b75dadbae20ab28d6e75e342707288e09fd3",
        "cf3829a69685b6e976c0e747467859190342a0eb"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Thu Jun 07 21:10:16 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 07 21:10:16 2018 +0000"
      },
      "message": "Merge \"Disable statsd and make StatsLog no-op if ro.statsd.enable\u003dfalse\" into pi-dev"
    },
    {
      "commit": "cf3829a69685b6e976c0e747467859190342a0eb",
      "tree": "4a2a391e01e03c694caf74b7098f365016d38631",
      "parents": [
        "5a36c134b736cc587fcd05b6d5cf94f3bbb62377"
      ],
      "author": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Tue Jun 05 14:20:35 2018 -0700"
      },
      "committer": {
        "name": "Yao Chen",
        "email": "yaochen@google.com",
        "time": "Wed Jun 06 17:25:08 2018 -0700"
      },
      "message": "Disable statsd and make StatsLog no-op if ro.statsd.enable\u003dfalse\n\nBug: 79324611\nTest: manually tested on marlin_svelte\nChange-Id: Ic7fbf86d7c295cb6b2f20e7f9a957d1ed74c42c0\n"
    },
    {
      "commit": "02bf04ac0126149da105159cfa41aaf2bfc0cf5f",
      "tree": "8018397a38a659cf09a4308cdb0465ef54c7769f",
      "parents": [
        "3b09f97552593ca1f4404164a4c89ff23bede82c",
        "bc49cb846073b0ac87ec423af8bfbb93de52a302"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue Jun 05 19:56:22 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 05 19:56:22 2018 -0700"
      },
      "message": "Merge \"Fix a \u0027memory leak\u0027\" am: 38e7338d92\nam: bc49cb8460\n\nChange-Id: I3ecf0ecdf20bb61bda76fff547f920040ded47d6\n"
    },
    {
      "commit": "38e7338d92f22a02be6e782e1332091c6c02e25a",
      "tree": "7bc7683dbe090f78d0b4676d7c609a8a16ba63a4",
      "parents": [
        "e72aecb6559af378da6fa0c18c60898156aa03bc",
        "9fb8177ca5afef7e6becf897f04a42de8dd7db5b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jun 05 23:29:10 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jun 05 23:29:10 2018 +0000"
      },
      "message": "Merge \"Fix a \u0027memory leak\u0027\""
    },
    {
      "commit": "0bd972083a43365ef753e5e09b9f1e6735864139",
      "tree": "3f04a3881afb4fbd1019db1b509aef9c3c99314d",
      "parents": [
        "e5736b6730b07620e2a503a861b8d72d53a59786"
      ],
      "author": {
        "name": "Bookatz",
        "email": "bookatz@google.com",
        "time": "Tue Jun 05 12:42:37 2018 -0700"
      },
      "committer": {
        "name": "Adam Bookatz",
        "email": "bookatz@google.com",
        "time": "Tue Jun 05 19:46:23 2018 +0000"
      },
      "message": "Wean statsd off batterystats: workchain (cp)\n\nModified cherry pick from master:\n(cherry picked from commit d888df2ba99e117b50a5553e18426ad370294a20)\ncovering ag/4210168 and ag/4230692.\n\nThe tool that generates StatsLogInternal.java now includes the following\ntype of code, to accomodate WorkSources automatically.\n\n    public static void write(int code, WorkSource ws, int arg2) {\n        for (int i \u003d 0; i \u003c ws.size(); ++i) {\n            write_non_chained(code, ws.get(i), ws.getName(i), arg2);\n        }\n        ArrayList\u003cWorkSource.WorkChain\u003e workChains \u003d ws.getWorkChains();\n        if (workChains !\u003d null) {\n            for (WorkSource.WorkChain wc : workChains) {\n                write(code, wc.getUids(), wc.getTags(), arg2);\n            }\n        }\n    }\n\nThis will reduce a lot of code repitition for the StatsLog.write calls\nin BatteryStats. Consequently, doing so will make it easier to remove\nthese StatsLog.write calls out of BatteryStats.\n\nBug: 80308558\nBug: 80314737\nTest: manual verification\nTest: com.android.internal.os.BatteryStatsTests\nChange-Id: Ied537a6195121f16ef49b6bccf58c8c31964909c\nMerged-In: Ibd28297345f4ab926dec01a89de0f1bfff9f8871\n"
    },
    {
      "commit": "da02feaca2db055df1f52493edc9fe3ddf2aa88b",
      "tree": "c026c098de0792f3da4c3d979b11506fd55003b6",
      "parents": [
        "1d09efefebab4915e78dd06ba977c7ded4a46ab7"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri May 25 22:46:35 2018 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed May 30 23:25:21 2018 +0000"
      },
      "message": "Add support for --replace-version to aapt2\n\nImplement --replace-version to match aapt1.\n\nBug: 79755007\nTest: aapt2_tests\nChange-Id: Iee2bd9a3981c7d4681509f18b735c6e9e6c1a336\nMerged-In: Iee2bd9a3981c7d4681509f18b735c6e9e6c1a336\n(cherry picked from commit dcd58c420771af75c625242985bd96ba828aca56)\n"
    },
    {
      "commit": "f7ae76d8451f1f9a4099c5fa5d3197b0f4763c75",
      "tree": "56f44cdb2c6ca7d11402da4d709d7f7560ca81ac",
      "parents": [
        "2f4bf5423d742ca6df4488d9df61f794ea2e82f1"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri May 25 22:46:35 2018 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed May 30 15:40:06 2018 -0700"
      },
      "message": "Add support for --replace-version to aapt2\n\nImplement --replace-version to match aapt1.\n\nBug: 79755007\nTest: aapt2_tests\nChange-Id: Iee2bd9a3981c7d4681509f18b735c6e9e6c1a336\nMerged-In: Iee2bd9a3981c7d4681509f18b735c6e9e6c1a336\n(cherry picked from commit dcd58c420771af75c625242985bd96ba828aca56)\n"
    },
    {
      "commit": "533c09b01b175b8b59e8f83c64a61d98ca808e75",
      "tree": "3d8a57967bed4ea1c6e1002a15716ab9c3d88c0d",
      "parents": [
        "b2b20f26db06c9d9f84b9801f27cb17ab7444e2f"
      ],
      "author": {
        "name": "Izabela Orlowska",
        "email": "imorlowska@google.com",
        "time": "Tue Dec 19 16:22:42 2017 +0000"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon May 21 19:51:50 2018 +0000"
      },
      "message": "AAPT2: treat manifest validation errors as warnings when asked\n\nBug: 65670329\nTest: updated\nChange-Id: Ic554cc20134fce66aa9ddf8d16ddffe0131c50e9\nMerged-In: Ic554cc20134fce66aa9ddf8d16ddffe0131c50e9\n(cherry picked from commit ad9e1324ff2c459d0ee6ee571d4a3e458c02cc81)\n"
    },
    {
      "commit": "b2b20f26db06c9d9f84b9801f27cb17ab7444e2f",
      "tree": "a1d7d93f8d7b598bc606615002e85ed122b11fec",
      "parents": [
        "ef506c73bb841d363060d2f0b52d56f3a28eea0e"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Thu Nov 02 12:07:08 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon May 21 19:51:42 2018 +0000"
      },
      "message": "AAPT2: Better error messages for ManifestFixer\n\nAAPT2 will now print the XML hierarchy where it found an unexpected\nelement.\n\nTest: make aapt2_tests\nChange-Id: Iac7918b2f344fab874f0a3e7aa9c6936ecde8913\nMerged-In: Iac7918b2f344fab874f0a3e7aa9c6936ecde8913\n(cherry picked from commit ed37f4842ad838792b16bf19768ed9b2519b0194)\n"
    },
    {
      "commit": "ef506c73bb841d363060d2f0b52d56f3a28eea0e",
      "tree": "2204f7835543ecc7723a025ffb4ec5434c626a75",
      "parents": [
        "1e0a5d397dfce71c8541fd08d0215263fc9947a3"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Mon Nov 06 10:44:46 2017 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon May 21 19:48:36 2018 +0000"
      },
      "message": "AAPT2: Differentiate between Android and Java package names\n\nAndroid package names are more strict (ASCII only) than Java package names.\nAlso fixed an issue where trailing underscores were disallowed in Android\npackage names.\n\n(cherry picked from commit 96ea08f1e737e0d19e274e9a29f71c387d81b09a)\n\nAlso includes part of I357fb84941bfbb3892a8c46feb47f55b865b6649 to remove\nusage of FindNonAlphaNumericAndNotInSet.\n\nBug: 79481102\nTest: make aapt2_tests\nChange-Id: I1052e9e82b6617db6065ce448d9bf7972bb68d59\nMerged-In: I1052e9e82b6617db6065ce448d9bf7972bb68d59\n"
    },
    {
      "commit": "89794158a1a5bca01abd834387d6e4e95e70f806",
      "tree": "32efdabbbe0eea9c24bb077ada404d98906b0adf",
      "parents": [
        "646dfc77039404a52e51d44df78fc819cfb263dd"
      ],
      "author": {
        "name": "Adam Lesinski",
        "email": "adamlesinski@google.com",
        "time": "Fri Mar 02 12:10:25 2018 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu May 17 22:13:11 2018 -0700"
      },
      "message": "Change ownership of AAPT2 and libandroidfw\n\ntoddke@ is now the new owner of these projects.\n\nExempt-From-Owner-Approval: setting new owners\nTest: none\nChange-Id: Ie92b020e0ba063f48ce8a76ebaef768fe0d554f1\nMerged-In: Ie92b020e0ba063f48ce8a76ebaef768fe0d554f1\n(cherry picked from commit a95e841846c3add37cab0ca228e1e1a4eb0a1455)\n"
    },
    {
      "commit": "df8ed7a44617cefd34f568a10b66280fbddf9f10",
      "tree": "316399ba9ef37189c35fbc2f6a2454ebe1777e7d",
      "parents": [
        "bbc587cf323c927d5dac4c795a15ccb0a812a624",
        "31c4a48267f7e679b84c786df7520ab5e5de33a0"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Wed May 16 15:38:26 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 16 15:38:26 2018 -0700"
      },
      "message": "Merge \"Update font chain linter to match latest font file\" into pi-dev\nam: 31c4a48267\n\nChange-Id: Ia5f7799fcb43b59adfc672a9d7af0f6a8c583f09\n"
    },
    {
      "commit": "31c4a48267f7e679b84c786df7520ab5e5de33a0",
      "tree": "58d373ec91983a23e56b131a5b23811fb87d7b4b",
      "parents": [
        "08900edb09dd48fa7977e273ab895dfcaf8eef45",
        "c18086310b3b36f869455c7a63332b3c1fa728b7"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed May 16 22:11:17 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 16 22:11:17 2018 +0000"
      },
      "message": "Merge \"Update font chain linter to match latest font file\" into pi-dev"
    },
    {
      "commit": "9fb8177ca5afef7e6becf897f04a42de8dd7db5b",
      "tree": "ec9f319545c4f24d39b427e0be00643180cb6631",
      "parents": [
        "b0ae3e5bfc4dce380c5d07f890402fe9f0a122d7"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue May 15 18:03:00 2018 -0700"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue May 15 18:03:00 2018 -0700"
      },
      "message": "Fix a \u0027memory leak\u0027\n\nRealistically, this memory will be reclaimed by the OS when we return\nhere. Regardless, we do a similar cleanup above if an exec() function\nfails, and having the free here makes our tooling slightly happier.\n\nComplained about by the static analyzer\n\nBug: None\nTest: Ran the analyzer. It no longer complains about this leak.\nChange-Id: Ia7107c585cc38fef8bd7c59d85ff896b04e93658\n"
    },
    {
      "commit": "6ef148ce5c6626f5223fef196217d5be9050c712",
      "tree": "3c9f40853aa656209872f7af98f969eb14a669de",
      "parents": [
        "a2232e280348d6e7c0fe9a7a381f593ff5f4a72e",
        "0a3815958a791426f27fd511db790b52073f0d29"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Tue May 15 11:27:13 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 15 11:27:13 2018 -0700"
      },
      "message": "Merge \"The argument type is bool, the current bug passes a \"true\" or \"false\" string.\" into pi-dev\nam: 0a3815958a\n\nChange-Id: Iadf8a52e65ba7930f419eacbaac9816992715506\n"
    },
    {
      "commit": "c18086310b3b36f869455c7a63332b3c1fa728b7",
      "tree": "5b1bece8bafbd26bd475e5d39e64dc64158e0a74",
      "parents": [
        "82db2614e450f92e373d0018a5b23d80c13511c2"
      ],
      "author": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Mon May 14 13:39:40 2018 -0700"
      },
      "committer": {
        "name": "Seigo Nonaka",
        "email": "nona@google.com",
        "time": "Tue May 15 16:09:48 2018 +0000"
      },
      "message": "Update font chain linter to match latest font file\n\n- FAMILY emoji now has own gender neutral emoji\n- Some flags are newly supported\n- Some regions may have the same flags.\n\nBug: 77148691\nTest: m fontchain_lint\nChange-Id: If1a69974230f025d35503eb49bea105923593e87\n"
    },
    {
      "commit": "480a956521e6b9dede8f159014fceb5a5a6e196d",
      "tree": "28122b569c6ea5c81d98e2c56af4a089c5c20796",
      "parents": [
        "ba96b97aab8bb28d6d649733a5b72539e8b37b51"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Mon May 14 18:04:29 2018 -0700"
      },
      "committer": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Mon May 14 18:04:29 2018 -0700"
      },
      "message": "The argument type is bool, the current bug passes a \"true\" or \"false\"\nstring.\n\nBug: 79710844\nTest: atest incidentd_test\nChange-Id: I66fc086e4a194e68638311ccdc305a495ecf8da4\n"
    }
  ],
  "next": "ea5cf9f31c64e93d6589216e10504abd4f7a1c30"
}
