)]}'
{
  "log": [
    {
      "commit": "439d3496ed38cea04824f7ad48e277297ab1f243",
      "tree": "0de7538e6832966d630f246b1493bfdd16ff8ffb",
      "parents": [
        "17d16e84da23464dc7a621eaa87a79c6cc1170ce"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Dec 07 11:49:55 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Sat Jan 19 15:57:36 2019 +0000"
      },
      "message": "hiddenapi: Support \u0027core-platform-api\u0027 flag\n\nLibcore class members annotated with @CorePlatformApi now generate\na new hiddenapi flag. This is the first of \"domain API\" flags which\ncan be used in conjunction with API list flags. Therefore modify\nthe \u0027generate_hiddenapi_lists.py\u0027 logic to treat them differently.\nSpecifically, the script marks otherwise unassigned class members\nblacklisted. A class member with \u0027core-platform-api\u0027 may still not\nbe assigned an API list and should be blacklisted.\n\nBug: 119068555\nTest: m appcompat\nChange-Id: I2b67e7a619677e853c87bc2da934410458ce4d14\n"
    },
    {
      "commit": "17d16e84da23464dc7a621eaa87a79c6cc1170ce",
      "tree": "3322550f528428f4eb4d7f2b88e71429a6faea54",
      "parents": [
        "bc6e433ae488b4ad807c1503a53155a3259fd0b8"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Dec 13 17:00:09 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Sat Jan 19 15:57:36 2019 +0000"
      },
      "message": "hiddenapi: Expect public/private API as CSV\n\nRefactor of `hiddenapi` changed the output format of public/private API\nlists to a single CSV file. Change API list generation accordingly.\n\nIn order to avoid special-casing this CSV file, it is treated the same\nas the CSV files produced by `class2greylist`. The merging rules are\nrelaxed so that signatures in CSV files are not checked against\na pre-initialized set of all signatures (previously generated from the\npublic/private API files). This should not lead to build errors as the\nCSV files are always auto-generated, and a missing/extra signature will\nbe caught by `hiddenapi`.\n\nAPI lists in frameworks/base/config are processed later and checked\nthat they are a subset of the signatures in CSV.\n\nBug: 119068555\nTest: compiles, hiddenapi-flags.csv unchanged\nChange-Id: I33f2cbaa15f2d423a75e6ca64abe1c5b0c40c86f\n"
    },
    {
      "commit": "352956b07e1cd5d7bdc3f3e747679fa49859f8ee",
      "tree": "7416429ef98a3da5a289606d6b10395a87818654",
      "parents": [
        "17f9b9bfb66be366e874ed98d52a622e0b97df2a"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Dec 07 11:52:19 2018 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Dec 10 16:05:54 2018 +0000"
      },
      "message": "Switch last c.a.i18n.phonenumbers hiddenapi entries to annotations\n\nPrevious changes could not remove these entries as they are implicit\nmethods, i.e. are not present in the source, and so could not be\nannotated. That is no longer true and so these entries can now be\nremoved.\n\nThis was tested by making and then manually checking that the generated\nout/target/common/obj/PACKAGING/hiddenapi-light-greylist.txt was the\nsame (after sorting) before and after this change.\n\nBug: 117818301\nBug: 119861512\nTest: as above\nChange-Id: Ic33c693f50cac011332c5ba5a5c0e2b6562e6ef8\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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "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": "2200a1b83bf94456711b61b518b0daa38b0e18ae",
      "tree": "9552a7789218e724afa7d6867a025d31cc11657c",
      "parents": [
        "40f67c52bb0553e81a1537369abe2878641a6aaa"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Sat May 05 12:07:38 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue May 08 10:29:50 2018 +0100"
      },
      "message": "Add presubmit hook for hidden API lists.\n\nCheck that they\u0027re sorted as expected and contain no duplicates.\nThe sort order now uses:\n$ LC_COLLATE\u003dC sort -f\n\nSo that non-alphanumeric characters are not ignored, giving a more\nintuitive sort order. the \u0027-f\u0027 means ignore case.\n\nAlso sort the existing lists accordingly.\n\nTest: repo upload\nBug: 64382372\nMerged-In: I52b884da33a9a46455df6747a215683d9d3c3218\nChange-Id: Icc124fd8ceb3f001a9c11bbf40e0a111910c6b39\n(cherry picked from commit e5dc64d4281dd9f38c2b585202e26ae4278fcfc5)\n"
    }
  ]
}
