)]}'
{
  "log": [
    {
      "commit": "2e6a904ac6f5e4511a5c9430822919d3b35eab78",
      "tree": "124b2ddde2ed6ca460f3d3356e2b39d784efd6b6",
      "parents": [
        "ba8f3c25cf91a632cbb955b9ddb1bd90c9710ccc"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Wed Oct 11 13:56:42 2023 +0000"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Wed Oct 11 16:17:25 2023 +0000"
      },
      "message": "Cleanup obsolete doc build targets\n\n- the *-check-docs target doesn\u0027t do anything the other targets don\u0027t\n- online-* are, I think, the old d.a.c targets but the ds-* targets are\n  what\u0027s currently used\n- the hidden-* target isn\u0027t meaningfully different from others, either\n\nTest: presubmit\nChange-Id: Icab977d40917aa14c629629965c6126e20f4f3ee\n"
    },
    {
      "commit": "c92e5a22db5ec29781166a821580213f9e328c19",
      "tree": "e4731584c5cf6188f48c0a7437fb8d731b4c233a",
      "parents": [
        "a83857b9e2c89bb4594846facb39888743a78862"
      ],
      "author": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Wed Feb 09 10:07:30 2022 -0800"
      },
      "committer": {
        "name": "Bob Badour",
        "email": "bbadour@google.com",
        "time": "Mon Feb 14 12:42:52 2022 -0800"
      },
      "message": "Declare license metadata for copied files.\n\nBug: 151177513\n\nTest: m all dist reportmissinglicenses\n\nChange-Id: I1ca40c2f26633f23583ac4af10437503f458c4d2\n"
    },
    {
      "commit": "215c5ee28db24b9c4da855810ebfee9c0fa5a6f8",
      "tree": "c55c674fb5058414547f741f1b7d812b4e360ee2",
      "parents": [
        "1371e73894c4bf878a79dc257c723322dc9bbed8"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Wed Jul 15 13:02:35 2020 +0100"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Wed Jul 15 13:02:35 2020 +0100"
      },
      "message": "Remove always-empty variable\n\nThis has been empty since Ibdfe1cbf34d97c43f4857c2c5d7604fa72d5b5a4.\n\nTest: m\nChange-Id: I7ac973f82dc07fb74e0aae80c10a68d3ae6e1d72\n"
    },
    {
      "commit": "e8727501ca24faa99af449915cc101d2dda5dae4",
      "tree": "e45e7b963cbac6a19291fd6439c622eeb7955bd1",
      "parents": [
        "b9c89bb3fa1d184c0a740f7b80ebdf8356fbdf9b"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Apr 28 01:00:44 2020 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Apr 28 01:08:49 2020 -0700"
      },
      "message": "Fix unzip timestamps\n\nninja: Missing `restat`? An output file is older than the most recent input:\n output: out/target/common/obj/PACKAGING/framework-doc-stubs-metadata_intermediates/activity_actions.txt\n  input: out/target/common/obj/PACKAGING/framework-doc-stubs-metadata.zip\nninja: Missing `restat`? An output file is older than the most recent input:\n output: out/target/common/obj/PACKAGING/framework-doc-stubs-metadata_intermediates/broadcast_actions.txt\n  input: out/target/common/obj/PACKAGING/framework-doc-stubs-metadata.zip\nninja: Missing `restat`? An output file is older than the most recent input:\n output: out/target/common/obj/PACKAGING/framework-doc-stubs-metadata_intermediates/categories.txt\n  input: out/target/common/obj/PACKAGING/framework-doc-stubs-metadata.zip\nninja: Missing `restat`? An output file is older than the most recent input:\n output: out/target/common/obj/PACKAGING/framework-doc-stubs-metadata_intermediates/features.txt\n  input: out/target/common/obj/PACKAGING/framework-doc-stubs-metadata.zip\nninja: Missing `restat`? An output file is older than the most recent input:\n output: out/target/common/obj/PACKAGING/framework-doc-stubs-metadata_intermediates/service_actions.txt\n  input: out/target/common/obj/PACKAGING/framework-doc-stubs-metadata.zip\nninja: Missing `restat`? An output file is older than the most recent input:\n output: out/target/common/obj/PACKAGING/framework-doc-stubs-metadata_intermediates/widgets.txt\n  input: out/target/common/obj/PACKAGING/framework-doc-stubs-metadata.zip\n\nWhich was caused by unzip setting the timestamps of the output files to 2008.\n\nTest: m out/target/common/obj/PACKAGING/framework-doc-stubs-metadata_intermediates/activity_actions.txt\nChange-Id: Ie62b0f52eb9aae11db7899c363780daf7d2c0e95\n"
    },
    {
      "commit": "82ab0c4fbe34c1b14fc059082d703d78f47ed003",
      "tree": "72a80882baad6a972513d28fd290dc837d7ba73f",
      "parents": [
        "ba367d3b7d05a4fe397a16b115978c5f53df50b9"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Fri Apr 17 11:40:28 2020 +0100"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Fri Apr 17 11:42:01 2020 +0100"
      },
      "message": "Remove obsolete dist rules\n\nThe API files are disted to the apistubs/ subdir now, and all\nknown users have been updated to use that path.\n\nBug: 152479829\nTest: No\nChange-Id: I224fd5af8ba740c6ad94bbbdb20f5d53509e51f6\n"
    },
    {
      "commit": "ba367d3b7d05a4fe397a16b115978c5f53df50b9",
      "tree": "0f395a9123a7d4a13d2d0c70742a8aefca7435f9",
      "parents": [
        "c0fe0ae29f7de3cfeaad22563cf1e501235b4693"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Mon Mar 23 18:08:55 2020 +0000"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Fri Apr 17 11:38:20 2020 +0100"
      },
      "message": "Convert disting of api txt from mk to bp\n\ndroidstubs dist now dists the api file, so convert these manual\nmk rules into bp dist instead.\n\nBug: 149293194\nTest: m dist sdk \u0026\u0026 find out/dist/apistubs -name /android\\.txt\nChange-Id: I96052b427dc01a6d24b040ad0006129d4d1e48fb\nMerged-In: I96052b427dc01a6d24b040ad0006129d4d1e48fb\n"
    },
    {
      "commit": "9a01e55cb6f084e735bea16a7d791b633522d5f1",
      "tree": "87b376bf9efd76c9b6f5f8f418560983bf255e2a",
      "parents": [
        "bde7d4f2e4c568476d555b8a6a665db221012c9a"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Thu Mar 19 15:09:44 2020 +0000"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Fri Mar 20 15:22:20 2020 +0000"
      },
      "message": "Add module_lib and system-server artifacts to sdk dist\n\nMakes these artifacts available for the update_prebuilts script.\n\nBug: 149293194\nTest: m win_sdk dist \u0026\u0026 find out/dist -type f\nChange-Id: Ia1064e50e987433e5e308527c6770ba2d3e8bde3\nMerged-In: Ia1064e50e987433e5e308527c6770ba2d3e8bde3\n(cherry picked from commit 7b0414beb77aaf67124c3ef7f2a55a898772bd1d)\n"
    },
    {
      "commit": "ec5a86fc08cb556783ff95cc0496db14783bd1c2",
      "tree": "8794c6ae883103ff1a7e11697348c930af60c5f4",
      "parents": [
        "a09e9e4fe112a9db923cfee520ed7acfd708ecdc"
      ],
      "author": {
        "name": "Artur Satayev",
        "email": "satayev@google.com",
        "time": "Mon Feb 24 11:42:56 2020 +0000"
      },
      "committer": {
        "name": "Artur Satayev",
        "email": "satayev@google.com",
        "time": "Tue Feb 25 12:19:26 2020 +0000"
      },
      "message": "Move hiddenapi lists droidcore calls to tools/platform-compat/.\n\nBug: 145132366\nTest: m dist\nChange-Id: I0863d428cdeb56551caa0fd548ab50fdcad96ece\n"
    },
    {
      "commit": "b59a1cd637264a93816a9c5baf66bad9b1c4cbcc",
      "tree": "65999f394bc7ba9dd380f5f6ddbc34c1a186783b",
      "parents": [
        "7d099030de97b3f1e3b6ce1d0ff6123331474af2"
      ],
      "author": {
        "name": "Jerome Gaillard",
        "email": "jgaillard@google.com",
        "time": "Thu Oct 10 19:09:21 2019 +0100"
      },
      "committer": {
        "name": "Jerome Gaillard",
        "email": "jgaillard@google.com",
        "time": "Thu Oct 17 13:33:10 2019 +0100"
      },
      "message": "Use Metalava to get SDK metadata for devtools\n\nMetalava, not Doclava, should be used to extract the metadata used in\ndevtools. The files created then need to be copied into the SDK.\n\nBug: 142480924\nTest: m sdk\nChange-Id: I7eb15341fde9520d51a696a6416a63e6c19c71f9\n"
    },
    {
      "commit": "196fa2947e7182ea2d19675af55920b3170ddf7c",
      "tree": "07e0672877ea5c2565f6c745527e0dbe17568fac",
      "parents": [
        "a1759a9bd89c6371eafab643474a1e50cfec2d3c"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Apr 18 12:09:34 2019 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Apr 18 12:09:34 2019 -0700"
      },
      "message": "Remove framework.aidl rules\n\nThey are now located in build/soong/java/sdk.go.\n\nBug: 130798034\nBug: 122332340\nTest: m checkbuild\nChange-Id: I4e8ee725e660e52aa56c2a10b626dff517669869\n"
    },
    {
      "commit": "22ec2e68ffa2df3f1a74ca367103da90f9b07744",
      "tree": "8d46bd51d85a270179ca93166dbd8d1fe1b84b00",
      "parents": [
        "32bfd77b794d88ce6225189d9a8c48321a21c63f"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Feb 13 17:22:47 2019 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Feb 13 17:22:47 2019 -0800"
      },
      "message": "Don\u0027t run doc-comment-check-docs for update-api\n\nupdate-api would be fast except that it spends ~4 minutes doing\ndoc-comment-check-docs.  doc-comment-check-docs isn\u0027t really\nrelated to update-api, so lets just remove it.\n\nFixes: 124386818\nTest: m update-api\nChange-Id: I0f5311e98063786671c0d8b6a8db52351d9fcfd7\n"
    },
    {
      "commit": "c07f3823d7e4b6828132d59d37bcf7811168d7fa",
      "tree": "2ce7ecbde6f9ad5581d12c3888f98464690d217b",
      "parents": [
        "f199334e3e65cdf6d43fc69ba378ae2dcca2a5af"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Feb 08 11:33:33 2019 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Feb 08 11:36:08 2019 -0800"
      },
      "message": "Unzip offline-sdk-docs for m offline-sdk-docs or m docs\n\noffline-sdk-docs is the most useful target for local developers\nverifying documentation changes.  Unzip offline-sdk-docs.zip\ninto out/target/common/docs/offline-sdk/ whenever the offline-sdk-docs\nor docs targets are built.\n\nFixes: 124115897\nTest: m offline-sdk-docs\nChange-Id: I92ce65742e7475cc64a688f2b1893c96ecfd2a52\n"
    },
    {
      "commit": "98d3da86517afa5d827bf84334c96dc070593047",
      "tree": "7a4727200430bcc8418b3cec87714c7bf26bb19c",
      "parents": [
        "0d162221252b3536ba6077a8b48b5db48b347154"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Feb 05 12:49:54 2019 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Feb 05 12:49:54 2019 -0800"
      },
      "message": "Move hiddenapi rules to Soong\n\nThe hiddenapi rules are now in build/soong/java/hiddenapi_singleton.go.\nThe dist goals are still here for now.\n\nBug: 123645297\nTest: m checkbuild\nChange-Id: Id25b2bf0d6b49be2f908a4613f012773fb1f02c4\n"
    },
    {
      "commit": "f9ec508556377511776450ce616d3019edd7535c",
      "tree": "458cbe7d14b1e31aa5b3295daceb7b1eb67ea609",
      "parents": [
        "a5a7af11d7023fdd19b9dec9b5c42cccda0c3157",
        "421ec93be2cc4339216c44c27788205e86d1303e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 31 19:25:59 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 31 19:25:59 2019 +0000"
      },
      "message": "Merge \"Do not generate greylist if UNSAFE_DISABLE_HIDDENAPI_FLAGS\u003dtrue\""
    },
    {
      "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": "4f895b2b168a42efbd57acc5704d837ebcfa5aac",
      "tree": "47115f3879db504534987c2140ded2006c338fe1",
      "parents": [
        "56401a4c74dc6acd307b4e3432bd86414a57176a"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Jan 18 15:17:43 2019 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Jan 18 16:18:06 2019 +0000"
      },
      "message": "Add SOONG_HIDDENAPI_FLAGS as hiddenapi_flags.csv dependencies\n\nHiddenapi build logic has moved to soong and list of flags.csv files\nis now being passed to make files through SOONG_HIDDENAPI_FLAGS\nvariable. Adjust the build rule for hiddenapi_flags.csv accordingly.\n\nTest: aosp compiles\nChange-Id: I930f918fb36ce3532478035e83c2632559fd07b6\n"
    },
    {
      "commit": "421ec93be2cc4339216c44c27788205e86d1303e",
      "tree": "26b3de8bb8fdaf1497f49d2e39224ef9f331c5d4",
      "parents": [
        "796c9446f77db52baa62e0bfaba2253a7aa46c49"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Tue Jan 15 18:32:02 2019 +0100"
      },
      "committer": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Thu Jan 17 12:20:38 2019 +0000"
      },
      "message": "Do not generate greylist if UNSAFE_DISABLE_HIDDENAPI_FLAGS\u003dtrue\n\nFixes: 122957987\nTest: UNSAFE_DISABLE_HIDDENAPI_FLAGS\u003dtrue make droid\nChange-Id: I0b5a18b9d989667122ad942b185b826b637fad89\n"
    },
    {
      "commit": "cb61d10c905f6ca40ae21fd8f0fb7efb4ae90444",
      "tree": "dce8af7f82cc7fae7c09699f854281115db51824",
      "parents": [
        "36c37f3ceb3a2301a82d84c24254c1b12257195c",
        "96bb1ba1f3c9c25cf3b1fed04f29ec2ca8dc9f5a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 13 19:10:07 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 13 19:10:07 2018 +0000"
      },
      "message": "Merge \"Add back doc-comment-check-docs back to checkbuild.\""
    },
    {
      "commit": "d719f5131ad63f644b98f25e634ac9f282f808ef",
      "tree": "eda792e88a99370745cbe8f2cf450bd9cbd83b42",
      "parents": [
        "d413c3288ccb65675cad3fdcff53a61e96c669db"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Nov 13 16:48:23 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Dec 05 16:29:53 2018 +0000"
      },
      "message": "Rename hiddenapi config files\n\nRename files to reflect new API list naming convention:\n  light-greylist \u003d\u003e greylist\n  max-sdk-p-blacklist \u003d\u003e greylist-max-p\n\nThis also removes unused files (private-dex.txt, public-dex.txt,\nremoved-dex.txt) and merges vendor.txt into greylist.txt.\n\nTest: m appcompat\nTest: frameworks/base/tools/hiddenapi/generate_hiddenapi_lists_test.py\nMerged-In: I4922ecb011a03bef3fa105f8181d1851d2cc496a\nChange-Id: I4922ecb011a03bef3fa105f8181d1851d2cc496a\n"
    },
    {
      "commit": "96bb1ba1f3c9c25cf3b1fed04f29ec2ca8dc9f5a",
      "tree": "e32feb728d58300f9a3222d4f00c5772b7d141d7",
      "parents": [
        "20e6f31923de53a685a44a3857b540fb61ff0e34"
      ],
      "author": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Fri Nov 30 11:43:31 2018 -0800"
      },
      "committer": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Fri Nov 30 19:50:55 2018 +0000"
      },
      "message": "Add back doc-comment-check-docs back to checkbuild.\n\nTest: m -j checkbuild, and build was failed as expected.\nBug: b/118815658 b/120229228\nChange-Id: I3a8e869f22e5040a63208169203feec15b847f2f\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": "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": "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": "61d0ec49ef26fe57ecbda60ee23bb76bf986b94d",
      "tree": "dfade047cdb1a5fe681266bcc69d5c680e3978a4",
      "parents": [
        "b545c70d1d58f48a3e0a4aae7027daa9178b1ad5",
        "81f29f5cd6471407754b61a953661ac3560d0942"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Sep 19 03:02:19 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 19 03:02:19 2018 +0000"
      },
      "message": "Merge \"Enable jdiff for api-stubs-docs\""
    },
    {
      "commit": "324083b2114328769ccc25f492a637c86789e2fb",
      "tree": "2b9939f83b5e156730870ae3cb5b5e18d3e3f8ab",
      "parents": [
        "ada39fe63d552bd82b9b4c4f0e17f022fe2950d6",
        "c21f78e23804b41a952a027896e284ee927d7428"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Sep 18 02:29:44 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 18 02:29:44 2018 +0000"
      },
      "message": "Merge \"Change the dist path of api files\""
    },
    {
      "commit": "81f29f5cd6471407754b61a953661ac3560d0942",
      "tree": "c65549a5ac89185df45e41e1f5d2a148d071f4de",
      "parents": [
        "dbe20066d35c0d9f8db2346da2ef4e0310df6872"
      ],
      "author": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Mon Sep 17 14:33:08 2018 -0700"
      },
      "committer": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Mon Sep 17 15:29:11 2018 -0700"
      },
      "message": "Enable jdiff for api-stubs-docs\n\nAnd also clean legacy MK code in Android.mk\n\nTest: api-stubs-docs-diff\nBug: b/78245848\nChange-Id: I733e0e2c29f8273db3ffb9730c70d5b4e2b1438d\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": "5e37d22671cc6d9962b4a52deb73118064fd187d",
      "tree": "04480d4b90ba36d7fbd60f3b3dd91dcdb216cf26",
      "parents": [
        "fdd378c594c68f2bd2226315dc2838b58ed2131f"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Fri Sep 07 14:30:24 2018 +0100"
      },
      "committer": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Fri Sep 07 16:52:25 2018 +0100"
      },
      "message": "Include dark greylist entries from annotations.\n\n@UnsupportedAppUsage annotations support setting a maxTargetSdk property\non the which results in the member being placed on the dark grey list,\nor in future on a P or Q blacklist.\n\nBug: 114361293\nTest: m\nChange-Id: I33be28f8afb034a030bdf5cf29d43ba72f50bfcd\n"
    },
    {
      "commit": "081a589ad997e30062bfb9c6cd18f77d9cae0245",
      "tree": "89f4fa9763b88726c1255d24157d67b1727e9179",
      "parents": [
        "3cc74c71ef907a76547424aea6597f7b2907e9fb"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Sep 06 12:15:11 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Sep 06 12:15:11 2018 +0100"
      },
      "message": "Mark hidden API lists .KATI_RESTAT\n\nChange hidden API list generation build rule so that it checks if\noutputs have changed and only commit them when changes have been made.\n.KATI_RESTAT instructs ninja to restat the outputs and remove reverse\ndependencies when rebuilding dependencies is not needed.\n\nBug: 113278235\nTest: m appcompat\nChange-Id: Ic3ec82534a6d79b6a85f865a6e9eb5f0b3f12424\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": "c21f78e23804b41a952a027896e284ee927d7428",
      "tree": "0bd3e011f46aa64e99d4c7e526b4576aa0046252",
      "parents": [
        "29664b82061246219623f36e201c0c2612eb8bb4"
      ],
      "author": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Fri Aug 31 18:19:12 2018 +0900"
      },
      "committer": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Mon Sep 03 15:13:31 2018 +0900"
      },
      "message": "Change the dist path of api files\n\nThe dist path of the api files are changed for consistency of dist path.\n\nTest: make -j40 PRODUCT-sdk_phone_armv7-sdk dist sdk_repo\nChange-Id: I8dae352288458f6305ab6a0e5210c042ab372e33\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": "9b1068cc52a8b55d45aae395cd5e309d5bc6fff8",
      "tree": "58d8968167b654f3f210842e73698884507e36c6",
      "parents": [
        "c9b01b87b11d4caa33a29db18287416b25179ef7"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Aug 22 17:43:24 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Aug 23 10:35:05 2018 +0100"
      },
      "message": "Support whitelist entries from class2greylist\n\nWhitelist used to be the same as all entries in API stubs. This is no\nlonger true as libcore will generate hidden bridge methods which are\nsupposed to be whitelisted. CL in build/make calls class2greylist on\neach boot classpath module to dump their list and this patch creates\na build rule for the new whitelist.\n\nBug: 112186571\nTest: m appcompat, diff public-list.txt whitelist.txt\nChange-Id: I7b3957ea9ed8bebb483609d94b1e6f169f4379dd\n"
    },
    {
      "commit": "432141676a8862678ee0e838d586ed6e781a4e3a",
      "tree": "ab8eba47977350e34da2da153007e7aca86a5b0f",
      "parents": [
        "661facc2f1b94ed682636e5bb4297828b423011a"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Aug 20 13:57:24 2018 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Aug 20 13:57:24 2018 -0700"
      },
      "message": "Convert platformprotosnano and platformprotoslite to Android.bp\n\nSee build/soong/README.md for more information.\n\nTest: m checkbuild\nChange-Id: Icfb0001df2e35b5ed799511ff4f2f563d626134b\n"
    },
    {
      "commit": "627a84c26a84493ec675360b0aba56cde61e1482",
      "tree": "9247f37a455622c1bc159d97e1f858d1b5cee3bd",
      "parents": [
        "4a8c67bbe8569bdda41d4aa6143749f650549dc0",
        "606d3975b23ec725085f8ae16ba4074fd05a556a"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Mon Aug 06 12:57:57 2018 +0100"
      },
      "committer": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Mon Aug 06 16:30:26 2018 +0100"
      },
      "message": "resolve merge conflicts of 606d3975b23ec725085f8ae16ba4074fd05a556a to stage-aosp-master\n\nBug: None\nTest: I solemnly swear I tested this conflict resolution.\nMerged-In: Iaed1cd6bc7419597510bfc1ab30a169f75e4ae3f\nMerged-In: I681c1e97d0929cfb1d357b2243ecb210d18f9e87\nChange-Id: I01782459e2b02f065671da640d675b898b4727fe\n"
    },
    {
      "commit": "80e6ac7d2c99814ac9e8ccd2d198af03cc027078",
      "tree": "af83cbebe925e24d03d6dfb4c72806902a1fbc0e",
      "parents": [
        "b40b37910d76a0ce9670c95da75d9a8d9f26db06"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Aug 01 09:27:26 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Aug 03 11:33:07 2018 +0000"
      },
      "message": "Revert^2: Start using new list of non-SDK APIs\n\nThe `hiddenapi` build tool has been extended to provide a full list\nof non-SDK APIs in an effort to remove dependency on Doclava.\nThis patch changes the build rules generating non-SDK API lists to\nstart using hiddenapi\u0027s list instead of Doclava\u0027s.\n\nConsequences:\n(a) some greylist entries change signature (fixing Doclava varargs bug)\n(b) cloned public fields are now whitelisted (b/79432238)\n(c) new APIs need to be greylisted because they are used by apps\n\nBug: 79432238\nBug: 79409988\nBug: 76424618\nTest: phone boots\nMerged-In: I681c1e97d0929cfb1d357b2243ecb210d18f9e87\nChange-Id: I681c1e97d0929cfb1d357b2243ecb210d18f9e87\n(cherry picked from commit b59c36f51c3c4b7595718f325b38c11352237b2b)\n"
    },
    {
      "commit": "0cb078bba2a01f24a8e3e156520dd5263f10a6ef",
      "tree": "2ce2396fe1e1f2fa1ae785be5ea06f7b0a868f9e",
      "parents": [
        "8f4fdd4e78d686c829b25ad20fa8418e3bc0e90e",
        "ea77ee39f5399705743443bcf94e49997e2e6237"
      ],
      "author": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Wed Aug 01 15:55:02 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 01 15:55:02 2018 -0700"
      },
      "message": "Merge \"Change  the \"since\" arguments generation.\"\nam: ea77ee39f5\n\nChange-Id: Ia00ed78e8b22875ad2aba2877f6a6b78f7683e81\n"
    },
    {
      "commit": "ea77ee39f5399705743443bcf94e49997e2e6237",
      "tree": "f139e33a5506100eda9afa2732983de77a6f81d9",
      "parents": [
        "cec3f1fafb012bc26f0cc56b918a977e778d3a0d",
        "4ff08f6b5d0de241da6d6f741d90d9f9becbe9c9"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jul 31 23:47:44 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 31 23:47:44 2018 +0000"
      },
      "message": "Merge \"Change  the \"since\" arguments generation.\""
    },
    {
      "commit": "2a924543f6661a639a2747f6073a9baa2ffc443f",
      "tree": "93f9798a4f83b3ce23004007b272c31d0c1f2223",
      "parents": [
        "6928e50c267e3a3ab6633ad207bb71e57e02efb8",
        "e9a76f731702e62ce451a3589779e76d30add20d"
      ],
      "author": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Tue Jul 31 22:14:41 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 31 22:14:41 2018 +0000"
      },
      "message": "Merge \"Add offline/online-sdk-docs in Soong.\" into stage-aosp-master"
    },
    {
      "commit": "6928e50c267e3a3ab6633ad207bb71e57e02efb8",
      "tree": "491f08acc0c6beb25be48b974c5d5cbdde0cb390",
      "parents": [
        "8b894a7d50b58f3d2eaf41f104ca02d50d27a04c",
        "37b0763a7019304ddb31f4f34a5ff50d13220469"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jul 30 20:30:35 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 30 20:30:35 2018 +0000"
      },
      "message": "Merge \"Frameworks: convert platformprotos to soong\" into stage-aosp-master"
    },
    {
      "commit": "ffc8ebefcadc404a756b7de93fcd4aea3c8a60e9",
      "tree": "eed29455336c1764ea570f7a08bc51e28934b2e2",
      "parents": [
        "6722abdede258f834fa4bb56ff17141fb9ba7a9b",
        "aa863ca68eddbccef374e2ac283981e94d8629aa"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Thu Jul 26 01:43:37 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 26 01:43:37 2018 -0700"
      },
      "message": "Merge \"Merge generated greylists into final greylist.\"\nam: aa863ca68e\n\nChange-Id: Ia2686a52c5f53f7a82d6dfb70c5c9cf9430443dd\n"
    },
    {
      "commit": "e9a76f731702e62ce451a3589779e76d30add20d",
      "tree": "68f483e181a44528926651f44f0cfc0d60ce3a22",
      "parents": [
        "37b0763a7019304ddb31f4f34a5ff50d13220469"
      ],
      "author": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Wed Jul 11 15:19:22 2018 -0700"
      },
      "committer": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Wed Jul 25 17:42:36 2018 -0700"
      },
      "message": "Add offline/online-sdk-docs in Soong.\n\nSince support libraries have been migrated to Soong, these docs modules\ncurrently are ready to be supported in Soong.\n\nBug: b/70351683\nTest: m -j offline-sdk-docs\nChange-Id: I8739d94909c7cc830c30fa3d1047d26761cc5076\nMerged-In: I8739d94909c7cc830c30fa3d1047d26761cc5076\n"
    },
    {
      "commit": "37b0763a7019304ddb31f4f34a5ff50d13220469",
      "tree": "29a78ba4ebdcc50f037231be0779deb129a87fd9",
      "parents": [
        "6722abdede258f834fa4bb56ff17141fb9ba7a9b"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu May 17 10:49:26 2018 -0700"
      },
      "committer": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Wed Jul 25 17:35:35 2018 -0700"
      },
      "message": "Frameworks: convert platformprotos to soong\n\n(cherry picked from commit af27bf6662efb8bb9fb7943b0fdbac530b0cbc99)\n\nBug: 64328974\nTest: m\nMerged-In: I3729a3132c1ef07dded69801373edf51006fa623\nChange-Id: I3729a3132c1ef07dded69801373edf51006fa623\n"
    },
    {
      "commit": "1b04588ea659d02225cb6031babab1b99b1399e1",
      "tree": "1599c96356bd0e2649e3d880d8f182e06e32ed4a",
      "parents": [
        "7f0aa734a3f4b3d1f7842b8546543668275f8ddb"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Wed Jul 11 15:55:32 2018 +0100"
      },
      "committer": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Mon Jul 23 18:06:58 2018 +0100"
      },
      "message": "Merge generated greylists into final greylist.\n\nWith annotations for greylist entries, each java target generates it own\ngreylist.txt file. Merge all of these into the final greylist.txt.\n\nBug: 110868826\nTest: m\nChange-Id: I6a64c65000f1fd9f49e09b5b498bdccc3560d606\n"
    },
    {
      "commit": "c9b5e657473f6643ecc80586f36740cd503e50f3",
      "tree": "bc874507bbc85696a80ea26c24f7c2117382a8e2",
      "parents": [
        "dd540c644fc87123cc66bd98212be203d15b3adb",
        "f37950d8c338968a88c39bb0efab55bc8d487191"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Jul 17 03:43:13 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 17 03:43:13 2018 -0700"
      },
      "message": "Merge changes If285d71a,Iffe5be7c\nam: f37950d8c3\n\nChange-Id: I667c07fa75e0cc5badad3f297fc14316a2acfc42\n"
    },
    {
      "commit": "4ff08f6b5d0de241da6d6f741d90d9f9becbe9c9",
      "tree": "65c4e60f1a41ef64f80139686afc051400d95d62",
      "parents": [
        "3c1604da8b04d9e43554dada977bbca54bbea313"
      ],
      "author": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Mon Jul 16 18:19:31 2018 +0900"
      },
      "committer": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Mon Jul 16 18:41:36 2018 +0900"
      },
      "message": "Change  the \"since\" arguments generation.\n\nIf we add a new sdk library starting with android, there is a build\nerror because of the wrong \"since\" argument. So we have to change to\nandroid.txt and android.xml instead of android.* in since-arg.\n\nBug: 77577799\nTest: Verified variable is the same before \u0026 after.\nChange-Id: I3016181a97e565ebba67c1828d76ddf9a7d6f860\n"
    },
    {
      "commit": "6f6a126b9c64e49abcabcb6ea7b563535d22b04e",
      "tree": "0a66c223a4e2e963ecd6f15e10a234f0648d4ec9",
      "parents": [
        "b62aa315d1d9d27c716964930205ed0681e8997b"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu May 31 13:58:41 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Jun 07 09:45:01 2018 +0000"
      },
      "message": "Build dark greylist from public + light grey API\n\nThe dark greylist is meant to contain non-SDK APIs which are \"related\"\nto APIs accessible to apps without restrictions. The list used to be\nbuilt as all non-SDK APIs in the same package as those on the light\ngreylist. That is not sufficient and should include the public SDK API\npackages too.\n\nThis patch modifies the makefile to generate a list of public API DEX\nsignatures with Doclava and then use that as a basis for the dark\ngreylist generation.\n\nBug: 80461842\nBug: 64382372\nTest: make out/target/common/obj/PACKAGING/hiddenapi-blacklist.txt\nChange-Id: I4b1588013f26661207126b4006cdef0a0fc8ae2c\n"
    },
    {
      "commit": "bad3bf6c22998dd0abfc36827bf3996e064612dd",
      "tree": "50abc1faf2dd0c0ead371700ffec2ba159bd47fe",
      "parents": [
        "0e8fcd37c5d51c643fb928d447290e21a804060f",
        "f36144f575098d2ff1be8343827fb92d10b9db9b"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri May 11 08:24:12 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 11 08:24:12 2018 -0700"
      },
      "message": "Merge \"Include in hidden API dark greylist based on package name\" into pi-dev\nam: f36144f575\n\nChange-Id: I2f1e1ccd9de49b95f1c5439b13134cc166645612\n"
    },
    {
      "commit": "f24f0a9c71c1efcf38cf4efc92e84dc0616a2454",
      "tree": "fc452788e2323a18f8bf4cf928c99645636b93c0",
      "parents": [
        "1c5811d34dc313a87a558e2ee572fa17d21519b9"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu May 10 15:50:02 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri May 11 16:18:32 2018 +0100"
      },
      "message": "Include in hidden API dark greylist based on package name\n\nDark greylist has so far been populated with the remaining class\nmembers of classes listed on the light greylist. This patch changes\nthe rule to include all remaining classes and class members in the\nsame package (sub-packages not included).\n\nBug: 64382372\nTest: make -j64 out/target/common/obj/PACKAGING/hiddenapi-dark-greylist.txt\nChange-Id: Icf3f60f1e776f092103c612fc3995ce0e66617ea\nMerged-In: Icf3f60f1e776f092103c612fc3995ce0e66617ea\n(cherry picked from commit 4c3c03129ba95dccab30ba7579dc91b97843271f)\n"
    },
    {
      "commit": "4c3c03129ba95dccab30ba7579dc91b97843271f",
      "tree": "0259bdca60ad507908f68ddf30f940db4800b5ed",
      "parents": [
        "d6c814404385ffdc2b6586677e52afe92107df11"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu May 10 15:50:02 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri May 11 13:27:26 2018 +0100"
      },
      "message": "Include in hidden API dark greylist based on package name\n\nDark greylist has so far been populated with the remaining class\nmembers of classes listed on the light greylist. This patch changes\nthe rule to include all remaining classes and class members in the\nsame package (sub-packages not included).\n\nBug: 64382372\nTest: make -j64 out/target/common/obj/PACKAGING/hiddenapi-dark-greylist.txt\nChange-Id: Icf3f60f1e776f092103c612fc3995ce0e66617ea\n"
    },
    {
      "commit": "259e1629af9cedeccab4d147b23bc74c50d17b97",
      "tree": "a556a48be9199f3ffceb653990c78c4d2939e853",
      "parents": [
        "6afca53da14b764225b80d250b373e79fa214e68"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue May 08 16:49:02 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed May 09 09:33:42 2018 +0100"
      },
      "message": "Manualy blacklist certain hidden APIs\n\nPrevious CL introduced the concept of populating the dark greylist\nwith remaining members of classes on the light greylist. This breaks\nthe assumption that some methods/fields will always remain blacklisted.\nIntroduce a new file which forces their blacklisting and adjust the\nbuild rules accordingly.\n\nBug: 64382372\nTest: make out/target/common/obj/PACKAGING/hiddenapi-blacklist.txt\nMerged-In: I8b20e03c50f4027a24d2a6081bedb08bc8a34011\nChange-Id: I8b20e03c50f4027a24d2a6081bedb08bc8a34011\n(cherry picked from commit 4b34f79a35a6602962ed1df1accd9d6ea6e41e77)\n"
    },
    {
      "commit": "6afca53da14b764225b80d250b373e79fa214e68",
      "tree": "656932ebc2c4ba877792df16c33eb2ba8a5458a0",
      "parents": [
        "74502c75003ff88c0dfd3d7f5e0b0c4c46058943"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue May 08 15:28:31 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed May 09 09:27:24 2018 +0100"
      },
      "message": "Populate hidden API dark greylist\n\nThis patch will iterate over all classes in the light greylist and\nadd the remaining (currently blacklisted) class members into the\ndark greylist. This is meant to mitigate the impact of the feature\non legacy apps, in case their hidden API uses have not been detected\nby our analyses. The dark greylist entries will be available to apps\ntargeting pre-P SDK versions, but blocked for apps targeting P or later.\n\nBug: 64382372\nTest: make out/target/common/obj/PACKAGING/hiddenapi-dark-greylist.txt\nMerged-In: Id1ef4ab523b3b4d1333b5fbf2b3e6622ef2be607\nChange-Id: Id1ef4ab523b3b4d1333b5fbf2b3e6622ef2be607\n(cherry picked from commit 185f00e6677cea3fb135648f4a19d22dec54bbb5)\n"
    },
    {
      "commit": "74502c75003ff88c0dfd3d7f5e0b0c4c46058943",
      "tree": "3ccd76c7054297fef42234565bdd16cc815b9838",
      "parents": [
        "b54f2acc7275523a120f330f518f5c8b250203c9"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue May 08 15:04:20 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed May 09 09:24:02 2018 +0100"
      },
      "message": "Refactor build rules for hidden API lists\n\nThe build rules were getting messy and too difficult to extend.\nExtract assertions into own functions, create shared variables.\n\nBug: 64382372\nTest: make out/target/common/obj/PACKAGING/hiddenapi-blacklist.txt\nMerged-In: Ie34adb8b5349b30daa2e9e4976d285f6d9711f0e\nChange-Id: Ie34adb8b5349b30daa2e9e4976d285f6d9711f0e\n(cherry picked from commit 721bc8e6a8b1350c62b4a570f523541d1ce1124a)\n"
    },
    {
      "commit": "f96cb681c4f2be559a8fea241ed9b3e5932ad7e2",
      "tree": "e9cbc25feda5027d8a23c9bac76802e1a788e9cb",
      "parents": [
        "8f6ce29b1a196a92ea0641bc4370e9c75bde6717",
        "a08802dac12cf3d5ab8fb00fe0268cddf8eb39e2"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue May 08 11:40:26 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 08 11:40:26 2018 -0700"
      },
      "message": "Merge changes I8b20e03c,Id1ef4ab5,Ie34adb8b into pi-dev\nam: a08802dac1\n\nChange-Id: Icfc9aab47db9568d5c06b11c3713f49924b94438\n"
    },
    {
      "commit": "4b34f79a35a6602962ed1df1accd9d6ea6e41e77",
      "tree": "5f4d8330a2141d2e367ea75ad403465b5553708e",
      "parents": [
        "185f00e6677cea3fb135648f4a19d22dec54bbb5"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue May 08 16:49:02 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue May 08 17:12:38 2018 +0100"
      },
      "message": "Manualy blacklist certain hidden APIs\n\nPrevious CL introduced the concept of populating the dark greylist\nwith remaining members of classes on the light greylist. This breaks\nthe assumption that some methods/fields will always remain blacklisted.\nIntroduce a new file which forces their blacklisting and adjust the\nbuild rules accordingly.\n\nBug: 64382372\nTest: make out/target/common/obj/PACKAGING/hiddenapi-blacklist.txt\nChange-Id: I8b20e03c50f4027a24d2a6081bedb08bc8a34011\n"
    },
    {
      "commit": "185f00e6677cea3fb135648f4a19d22dec54bbb5",
      "tree": "8472192c483e8b8abc0dd6548bc66e038dab65e5",
      "parents": [
        "721bc8e6a8b1350c62b4a570f523541d1ce1124a"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue May 08 15:28:31 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue May 08 17:12:38 2018 +0100"
      },
      "message": "Populate hidden API dark greylist\n\nThis patch will iterate over all classes in the light greylist and\nadd the remaining (currently blacklisted) class members into the\ndark greylist. This is meant to mitigate the impact of the feature\non legacy apps, in case their hidden API uses have not been detected\nby our analyses. The dark greylist entries will be available to apps\ntargeting pre-P SDK versions, but blocked for apps targeting P or later.\n\nBug: 64382372\nTest: make out/target/common/obj/PACKAGING/hiddenapi-dark-greylist.txt\nChange-Id: Id1ef4ab523b3b4d1333b5fbf2b3e6622ef2be607\n"
    },
    {
      "commit": "721bc8e6a8b1350c62b4a570f523541d1ce1124a",
      "tree": "e73b2930b63e0c4951b9e27fea6f1f3195e0d987",
      "parents": [
        "1b5e2d8b3e9694a809433ecc1b40f266eea9349d"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue May 08 15:04:20 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue May 08 17:12:28 2018 +0100"
      },
      "message": "Refactor build rules for hidden API lists\n\nThe build rules were getting messy and too difficult to extend.\nExtract assertions into own functions, create shared variables.\n\nBug: 64382372\nTest: make out/target/common/obj/PACKAGING/hiddenapi-blacklist.txt\nChange-Id: Ie34adb8b5349b30daa2e9e4976d285f6d9711f0e\n"
    },
    {
      "commit": "d39b9be2f7af253bdd0969c3f9614b72ed079d86",
      "tree": "b91928d985af986c119515a1d8d46a06bc2e93ac",
      "parents": [
        "cfeb1c8b88f8370be76410b24cf8ad8c4257fc34"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Sat May 05 11:43:29 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue May 08 12:50:27 2018 +0100"
      },
      "message": "Enable hidden API blacklist in AOSP\n\nThe CL copies the build rule for hidden API lists from the internal\ntree to AOSP. This is not a cherry-pick but it will make the rules\nthe same in all the branches. As a result, the blacklist becomes\nenabled in AOSP.\n\nTest: make\nMerged-In: I8757a66bf625388e6f6419714ef5bba7af5d93ea\nChange-Id: I567c10dc8e833aa0a6775ab91f2ce9553b0dd8df\n"
    },
    {
      "commit": "b545e036836f3a05a47bc0692fba4cedb433ef09",
      "tree": "f595f4ad10a0fbd0ddb141fd4ef7b666da7945f7",
      "parents": [
        "acad03efabc93a23179b2752d5a313411ba3f075"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu May 03 10:57:45 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu May 03 12:14:45 2018 +0100"
      },
      "message": "Remove hiddenapi-blacklist.txt\n\nCreate an empty file in the build rule instead. Do not merged this\nbeyond AOSP. We have an implicitly built blacklist everywhere else.\n\nBug: 64382372\nTest: make\nChange-Id: I4e13e5daf635934a152d389a95bf45c482b5a87f\nMerged-In: Ifa912f8751025b7de24a982a1a227a9c27d18267\n"
    },
    {
      "commit": "cc88bdc14c8e2852438c4c4a77aca5518995e360",
      "tree": "eb762dabcf8b1ef2ce3e7f07d5fa0017307e8f0e",
      "parents": [
        "c859c8097bc37f691938b8993b03e5e7b98a5b92"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed May 02 15:47:32 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu May 03 10:54:26 2018 +0100"
      },
      "message": "Add rule to build hidden API blacklist\n\nAdd a new Makefile rule \u0027hiddenapi-b-blacklist\u0027 which takes the\nmanually published hiddenapi-p-light-greylist.txt and subtracts it\nfrom private-dex.txt built for the current branch. This is meant to\nprovide an approximation of the blacklist in internal branches.\n\nBug: 64382372\nTest: make hiddenapi-aosp-blacklist\nChange-Id: I528a70cc6a71e988b53d94ca7ef81d6c181e5153\n"
    },
    {
      "commit": "e16051a0775b5b090566e8f602346adef7bc50e2",
      "tree": "32c2e6a411978e813a015dda50812d42a2399bfb",
      "parents": [
        "4cfc86c77ddaa789813bd433d64c61e3200de7b4",
        "cfa700dd8543403b8bafd77d38570daf54b2b99b"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Wed May 02 16:25:42 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 02 16:25:42 2018 +0000"
      },
      "message": "Merge \"Update apidiff source files to use new api location.\" into pi-dev-plus-aosp"
    },
    {
      "commit": "51c439d79cafb1dc396c09559262d609e4370fd0",
      "tree": "002462b54901a6356fccb2641f9e91c0be411c71",
      "parents": [
        "c184c0a7c623b185a4529b62cf08fd10b21fee92"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Apr 26 14:05:13 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed May 02 16:20:01 2018 +0100"
      },
      "message": "Build hidden API DEX signatures with Soong\n\nInternal master tree is still invoking Doclava with a Makefile build\nrule for hidden API, while the remaining Doclava rules have been\nmigrated to Soong. Do the same for hidden API.\n\nTest: make out/soong/.intermediates/frameworks/base/hiddenapi-lists/android_common/private-dex.txt\nMerged-In: Ifa912f8751025b7de24a982a1a227a9c27d18267\nChange-Id: Ifa912f8751025b7de24a982a1a227a9c27d18267\n(cherry picked from commit 4f9d4d566c6022f18c245380a2f6cd51957ac12a)\n"
    },
    {
      "commit": "0319384019eb2913cb43e709b90a552b490a957a",
      "tree": "a6de5b67494dcb0df1b0345ad56d1005b3ea9f18",
      "parents": [
        "df5c2acf867078df2af59e098fefb96b8a527dfe",
        "0585533a85c2d366650f7be3fac10f1473806956"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed May 02 07:43:11 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 02 07:43:11 2018 -0700"
      },
      "message": "Merge non-SDK @removed API and light greylist\nam: 0585533a85\n\nChange-Id: I3b052c65e23b813f96df9a8d28fe81961bf42a7f\n"
    },
    {
      "commit": "0585533a85c2d366650f7be3fac10f1473806956",
      "tree": "50cb1862d7f2068e61b63c9b1492d76b038c0be7",
      "parents": [
        "839cec4478c8354eb0cd87bd95547079e5a091a7"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Apr 25 11:15:07 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed May 02 14:29:20 2018 +0000"
      },
      "message": "Merge non-SDK @removed API and light greylist\n\n@removed APIs are not part of the public SDK but we do not want\nto block access to them. Use the recently added removed-dex.txt\nlist of @removed API signatures and merge it into the hidden API\nlight greylist programmatically.\n\nNote that due to Doclava\u0027s rule precedence, @removed APIs which\noverride a public SDK method are considered public and are\nwhitelisted. We have to intersect removed-dex.txt with private-dex.txt\nto satisfy the rule that light greylist is a subset of private-dex.txt.\n\nBug: 78182899\nTest: make out/target/common/obj/PACKAGING/removed-dex.txt\nChange-Id: I44e54c405fc667d54a990b9ded1de8456802545e\n"
    },
    {
      "commit": "0f0abb2593c59d6803dbce4ddcbd5124e9ba1f2f",
      "tree": "81a55fba9928a6c1c557461a4568e8379a913ba5",
      "parents": [
        "32491b6f8e90e5d70db498102c30cd5eaa639abe"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Apr 26 16:10:35 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed May 02 08:54:50 2018 +0000"
      },
      "message": "Build list of @removed API\u0027s dex signatures\n\nCL Iba8869ce6e4f401a8e420ad83ab459d25bbbaae0 added Doclava support\nto generate a list of @removed API. Add a rule which builds that\nlist.\n\nBug: 78182899\nTest: make out/target/common/obj/PACKAGING/removed-dex.txt\nMerged-In: Ifa912f8751025b7de24a982a1a227a9c27d18267\nMerged-In: I80860c2b9f7213db65d0a9ca65bd645187aa0ce0\nChange-Id: I688c14e0d2fbfafe9ac212e6abdc3593cb744ef9\n"
    },
    {
      "commit": "cfa700dd8543403b8bafd77d38570daf54b2b99b",
      "tree": "1bc20d0f769c7914926981c98332470f634e039c",
      "parents": [
        "a9dbb0c7a7a97fa687c09e9b2967b2238fd92994"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Mon Apr 23 17:34:18 2018 +0100"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Mon Apr 23 18:03:15 2018 +0100"
      },
      "message": "Update apidiff source files to use new api location.\n\nAlso remove some duplicated code between public api and\nsystem, by making a new make macro.\n\nPaths before:\n  frameworks/base/../../prebuilts/sdk/api/28\n  frameworks/base/../../prebuilts/sdk/system-api/28\n\nPaths after:\n  prebuilts/sdk/28/public/api/android\n  prebuilts/sdk/28/system/api/android\n\nTest: make offline-sdk-referenceonly-diff\nTest: make offline-system-sdk-referenceonly-diff\nBug: 77525052\nChange-Id: I54989816ea09ad7a1e2f2355926678e6d2edb27c\n"
    },
    {
      "commit": "e5bf20608a456c998ad103020ab97b1cd195ed34",
      "tree": "031ed4e8e7d1bf5bfac3f9fe7233e1fe02d6c283",
      "parents": [
        "05011abf27f1d16ea813952318d56cd2e7cc462e"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Thu Apr 19 16:23:53 2018 +0100"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Mon Apr 23 15:46:19 2018 +0100"
      },
      "message": "Move frameworks/base off the SRC_API_DIR variable.\n\nThis directory is going away. Migrate to the new paths, and replace the\nlong list of \"since\" arguments with a loop in the makefile. Also fix the\nsoong buildfile to use the new path and the 28 prebuilts.\n\nThis removes the need to update it every time an API is finalized (in make,\nI don\u0027t know how to make loops in soong).\n\nBug: 77525052\nTest: Verified variable is the same before \u0026 after, except for path change\nChange-Id: I1d4e87e7840e979b83779a2aefe176e7c1ed1527\nMerged-In: I1d4e87e7840e979b83779a2aefe176e7c1ed1527\n"
    },
    {
      "commit": "6a9e72651b029ec0df6b023fd564fd7a0d19fa06",
      "tree": "8b55120bbb0abf1ed951d9830c3028f94cbd00cc",
      "parents": [
        "6939c142e0464f03686672e66f4e17a2374e7a50"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Thu Apr 19 16:23:53 2018 +0100"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Mon Apr 23 11:44:53 2018 +0100"
      },
      "message": "Move frameworks/base off the SRC_API_DIR variable.\n\nThis directory is going away. Migrate to the new paths, and replace the\nlong list of \"since\" arguments with a loop in the makefile. Also fix the\nsoong buildfile to use the new path and the 28 prebuilts.\n\nThis removes the need to update it every time an API is finalized (in make,\nI don\u0027t know how to make loops in soong).\n\nBug: 77525052\nTest: Verified variable is the same before \u0026 after, except for path change\nChange-Id: I1d4e87e7840e979b83779a2aefe176e7c1ed1527\n"
    },
    {
      "commit": "6939c142e0464f03686672e66f4e17a2374e7a50",
      "tree": "9ff51fbe179d7136e4e33c303f6420e45df37591",
      "parents": [
        "52d32ef5e934585fd78d0bebb2013044cbbd6e78",
        "93f457c5313cbd123c2fd3adeffbe41042cf68b7"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Thu Apr 19 08:42:56 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Apr 19 08:42:56 2018 -0700"
      },
      "message": "Merge \"Update docs \u0027since\u0027 for API 28.\" into pi-dev\nam: 93f457c531\n\nChange-Id: I86d0f88190fa9603ac3eef6468a73d32c1a633e3\n"
    },
    {
      "commit": "092d9b80882056f4f24a27e5174e9a2d0c947292",
      "tree": "518c762434fa15adaa49d34b841258511d6f247f",
      "parents": [
        "e3a34816dc844bb6c5e41fd9ab3cd671f7eb3400"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Thu Apr 19 14:04:32 2018 +0100"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Thu Apr 19 14:21:44 2018 +0100"
      },
      "message": "Update docs \u0027since\u0027 for API 28.\n\nI\u0027m replacing this list with a for-loop in master, so it shouldn\u0027t need\nupdating in future (except for temporary apis).\n\nBug: 77588754\nTest: make docs\nChange-Id: Ib48218e303b53e2b16a13866e4423ee2ad1c2f4a\n"
    },
    {
      "commit": "55d013b0fa476f6e1d51deb8e62f40f6b9e14028",
      "tree": "8a75dcaee16b51afcd39ee1778d49516774d227d",
      "parents": [
        "5351429200b6a7e9f8acf75c7905df44009d33a4",
        "73a66276e339ae03e065231dc598affc3da85130"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Thu Mar 29 15:04:15 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Mar 29 15:04:15 2018 +0000"
      },
      "message": "Merge \"Federate platform docs against AndroidX\" into pi-dev\nam: 73a66276e3\n\nChange-Id: I037ae591cb7fbdf33260ff7494a28a0ae22919c1\n"
    },
    {
      "commit": "67b51d46918e5d42e9784289aefe2f47d10ac544",
      "tree": "f160bdca856dd4cfe37b8dbd200ad1afa2dd10b8",
      "parents": [
        "119d10deb9605502df829becc14d2a0d57a2a50a"
      ],
      "author": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Mar 28 17:10:20 2018 -0400"
      },
      "committer": {
        "name": "Alan Viverette",
        "email": "alanv@google.com",
        "time": "Wed Mar 28 17:13:13 2018 -0400"
      },
      "message": "Federate platform docs against AndroidX\n\nBug: 76692459\nTest: make docs\nChange-Id: If1523ee47bcc58151a641938ac6f4a6e7ae1af0b\n"
    },
    {
      "commit": "9d184a24e8d602a42e242a4c498c1b675267be3c",
      "tree": "2d409f702a45cdc854df8de9dc731166d41c8ceb",
      "parents": [
        "dc55fd8d18018f5b8b8684694c2415729faed9a0",
        "c60a932ae502eb7094c7f04e6280895b79104f19"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Mar 28 15:54:06 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 28 15:54:06 2018 +0000"
      },
      "message": "Merge \"Revert Revert: Enable hidden API blacklist\" into pi-dev\nam: c60a932ae5\n\nChange-Id: I95c824b6107083667be474c4fc1f8d3bbd22648e\n"
    },
    {
      "commit": "36bbf124b89f48ff61804de1094033f79ef1f1e7",
      "tree": "a2422fd8d54216e651101c32d90dd3acffbecc4c",
      "parents": [
        "77e0b7b821a4d334606f07c7626aa59f9bee8446"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Mar 28 11:28:39 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Mar 28 15:05:22 2018 +0000"
      },
      "message": "Revert Revert: Enable hidden API blacklist\n\nAPIs which have not been explicitly greylisted have so far been put\non the dark greylist. This patch changes the default to blacklist and\ntherefore enables strict enforcement.\n\nThis reverts commit f712b23d56226c788f7892a984fb9abe6f5144c2.\n\nBug: 64382372\nTest: make\nChange-Id: I1608b1adbe5dcafd13335691ddeb94abbb2c6e71\n"
    },
    {
      "commit": "3f3487d64e274fdd2730d75d2e0de8fa30c2371e",
      "tree": "63cf821095a02a6d920670203bde23d6e65f8cfb",
      "parents": [
        "5ecbcc6ca9b59ea76bbea703a927e00ca8902f72",
        "02175b78479af9534c89470675c9c36277ee8bdd"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Mar 27 17:23:54 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Mar 27 17:23:54 2018 +0000"
      },
      "message": "Merge \"Add serialization methods to hidden API light greylist\" into pi-dev\nam: 02175b7847\n\nChange-Id: Ie625488ec40b3fd18d11043a1d25f5ccb487c351\n"
    },
    {
      "commit": "357170b1803ddd8ed57c75f46b8c6d226c464309",
      "tree": "46d085e4e1899ed6e803fe255f5fdbd42f03a4f8",
      "parents": [
        "d21b33d8cadeb3d618e31031939f9d26ab1f6c17"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Mar 26 16:02:23 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Mar 27 16:54:53 2018 +0000"
      },
      "message": "Add serialization methods to hidden API light greylist\n\nThis patch adds a build-time rule that adds all members with signatures:\n  readObject(Ljava/io/ObjectInputStream;)V\n  readObjectNoData()V\n  readResolve()Ljava/lang/Object;\n  serialVersionUID:J\n  serialPersistentFields:[Ljava/io/ObjectStreamField\n  writeObject(Ljava/io/ObjectOutputStream;)V\n  writeReplace()Ljava/lang/Object;\nto the hidden API light greylist. This is needed so that apps can retain\nthe ability to write their own serializers.\n\nBug: 64382372\nBug: 73255398\nTest: make\nChange-Id: I0103f47044e957bbff0a39230ff53562f3feddac\n"
    },
    {
      "commit": "eff60b274271b7b5919aa63b378d12bc3d3b52fa",
      "tree": "ade091c7c088a41c7d4d148eef180bd8a0b10884",
      "parents": [
        "825ac25ea54e0aed3fd7e58d60726c5d138b1087",
        "90ad15400ac12a709fcb19a6c6197d3968eb37f6"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Mar 22 20:28:44 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Mar 22 20:28:44 2018 +0000"
      },
      "message": "Merge \"Revert \"Enable hidden API blacklist\"\" into pi-dev\nam: 90ad15400a\n\nChange-Id: I1d2b05e6959538b5b60a63f76fcd10b42b8e83a5\n"
    },
    {
      "commit": "f712b23d56226c788f7892a984fb9abe6f5144c2",
      "tree": "db77b593ca057de4c98fbf3d84e249721ad3ecf5",
      "parents": [
        "16bfa11b73a34be1f1c72d2ffe86702f85378e92"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Mar 22 18:42:41 2018 +0000"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Mar 22 20:10:26 2018 +0000"
      },
      "message": "Revert \"Enable hidden API blacklist\"\n\nThis reverts commit 16bfa11b73a34be1f1c72d2ffe86702f85378e92.\n\nReason for revert: Revert until b/76138670 is fixed\n\nBug: 64382372\nBug: 76138670\nBug: 76157445\nChange-Id: Iaf6c76b773fbea4d4710b38808dee2e7e06f5e78\n"
    },
    {
      "commit": "07e1fb65ba33a5c88a2e6de50614296de82f2961",
      "tree": "44219a96ee3957bbb30e7bb91d0bd1fe61294f2d",
      "parents": [
        "2bf7a09cf826cff0a1666497296c66cc12b6520f",
        "34aae0daade91ccb90a7715bf7d2885223a9f2fc"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 21 11:04:27 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 21 11:04:27 2018 +0000"
      },
      "message": "Merge \"Enable hidden API blacklist\" into pi-dev\nam: 34aae0daad\n\nChange-Id: Ie71f420a40afcd63b0bf758e17fefe4ea59aee1b\n"
    },
    {
      "commit": "7bfac8dce255b193e6eaad6a31f7f9a0336186e7",
      "tree": "42dba0b480c10479416eacbcc31118ee9b23fa67",
      "parents": [
        "d7dcadae8b87c11380579e87d95964f2c97a8b9c"
      ],
      "author": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Tue Mar 13 16:16:34 2018 -0700"
      },
      "committer": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Tue Mar 20 16:22:30 2018 -0700"
      },
      "message": "Remove Make side (system/test-)api-stubs droiddoc targets\n\nRemove old droiddoc targets for api-stubs, system-api-stubs, and test-api-stubs.\n\nAnd also set api_tag_name, api_filename, private_api_filename, and etc.\nproperties in Android.bp for new droiddoc.\nTest: manually compare if dependencies change after Soong based droiddoc runs.\nBug: b/70351683\n\nChange-Id: I8d944c83de120ec8148276adc1c9872113d9d29b\nMerged-In: I8d944c83de120ec8148276adc1c9872113d9d29b\n"
    },
    {
      "commit": "54963cba91eaeea5e918fd0e686ca573f371f14e",
      "tree": "69d6df97dd08243b5517c56800141da532e1cfc7",
      "parents": [
        "fedc8278ead22962de76a08986938bd642e81ab7"
      ],
      "author": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Tue Mar 13 16:16:34 2018 -0700"
      },
      "committer": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Tue Mar 20 11:43:51 2018 -0700"
      },
      "message": "Remove Make side (system/test-)api-stubs droiddoc targets\n\nRemove old droiddoc targets for api-stubs, system-api-stubs, and test-api-stubs.\n\nAnd also set api_tag_name, api_filename, private_api_filename, and etc.\nproperties in Android.bp for new droiddoc.\nTest: manually compare if dependencies change after Soong based droiddoc runs.\nBug: b/70351683\n\nChange-Id: I8d944c83de120ec8148276adc1c9872113d9d29b\nMerged-In: I8d944c83de120ec8148276adc1c9872113d9d29b\n"
    },
    {
      "commit": "16bfa11b73a34be1f1c72d2ffe86702f85378e92",
      "tree": "ccfb77e2a0cef26ca0ca7bcf92fb5212bdde3642",
      "parents": [
        "62794aa449987b1ed796cd1e648cb82fa23c4a2f"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Mar 12 14:17:58 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Mar 20 13:54:55 2018 +0000"
      },
      "message": "Enable hidden API blacklist\n\nAPIs which have not been explicitly greylisted have so far been put\non the dark greylist. This patch changes the default to blacklist and\ntherefore enables strict enforcement.\n\nBug: 64382372\nTest: make\nTest: device boots\nChange-Id: Id38dd14382e9c2f0e853698ad7df7e9602084336\n"
    },
    {
      "commit": "873d1d30d540589b7b50948200c5f6ef2b5a845d",
      "tree": "4ff2ba93b88f21c87abf8dd642001af521b54dd0",
      "parents": [
        "78e4f84f045d2452f59c6ebea81493bd9894aa1b"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Mar 13 09:41:23 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Mar 16 10:23:09 2018 +0000"
      },
      "message": "Add uses of hidden APIs from vendor apps\n\nThese will move into the dark greylist once we remove the UI toast.\nMerge them with light greylist for now.\n\nBug: 64382372\nBug: 74589747\nBug: 74588266\nBug: 74586173\nBug: 74586969\nTest: make\nChange-Id: I8c1d3b67b763e8b14a66874705ba7165cf421e72\nMerged-In: I5d0ec308a0187d67df6d9a4f0778c9285dc1e2af\n"
    },
    {
      "commit": "68e1c1dcf4b4fa751f15b8652eea6ea0f3f79336",
      "tree": "4ba41e4b72962135def81ce7a6c9c9575bdb52b1",
      "parents": [
        "5f0fb0c8fa8b79a1bec22799e4d068627166f1ee"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Mar 08 14:32:27 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Mar 08 14:54:56 2018 +0000"
      },
      "message": "Whitelist all @SystemApi and @TestApi for hidden API\n\nWe used to greylist @SystemApi and @TestApi individually, but we should\nallow all of them to be used. Run Doclava in a separate pass to generate\na list of private APIs, assuming that @SystemApi and @TestApi override\nthe @hide annotation.\n\nBug: 64382372\nBug: 74346885\nTest: check generated files\nChange-Id: Ie3726a294a4fdeb03fc8888878b013c9ad5bd04b\n"
    },
    {
      "commit": "dda16e8e6b2acefe759df1405848bbc8061156f3",
      "tree": "3a1769b7b3990919b55564d5ac5c97b92501c39a",
      "parents": [
        "aa79f03ca6c4c5a3a262aeaf2b608ffd4807ab13"
      ],
      "author": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Mon Mar 05 22:55:32 2018 +0000"
      },
      "committer": {
        "name": "Adam Vartanian",
        "email": "flooey@google.com",
        "time": "Wed Mar 07 13:57:16 2018 +0000"
      },
      "message": "Remove com.android.internal{.util} from generated documentation.\n\ncom.android.internal.* is meant to be hidden from documentation,\nbut most of it is erroneously not hidden via @hide or -hidePackage\ndirectives; why documentation is currently generated for Predicate\nbut not other classes from com.android.internal.util, and why some\nbut not all classes from that package show up in package-level\ndocumentation (package-summary.html), is not currently understood.\n\nThere appears to be a behavior difference between OpenJDK 8 and\nOpenJDK 9\u0027s javadoc that results in additional classes showing up\nin package-summary.html. This CL fixes this by adding -hidePackage\ndirectives for com.android.internal{.util}; other sub-packages of\ncom.android.internal do not currently show up in documentation and\nare not touched by this CL.\n\nTest: Patched this CL into the internal-master branch and ran:\n      USE_R8\u003dtrue EXPERIMENTAL_USE_OPENJDK9\u003dtrue make offline-sdk-docs\n      Checked that this removes all documentation for com.*\n      (com.android.internal.util was the only com.* package for which\n      documentation was previously generated).\n      In other words: Before this CL, [1] existed, but after\n      this CL, the entire directory subtree [2] does not exist.\nTest: Checked that Predicate was already missing from stubs before this\n      CL. In other words, [3] already did not exist before this CL.\n\n[1] out/target/common/docs/offline-sdk/reference/com/android/internal/util/Predicate.html\n[2] out/target/common/docs/offline-sdk/reference/com\n[3] out/target/common/obj/JAVA_LIBRARIES/android_system_stubs_current_intermediates/classes/com\n\nBug: 69736344\nBug: 69736236\n\n(cherry picked from commit 97bb6cf371f51549c708cf58a04584968eaf7d5a)\n\nMerged-In: Ic9757f4966f54092aac0191896581fa4222cc634\nChange-Id: Ic9757f4966f54092aac0191896581fa4222cc634\n"
    },
    {
      "commit": "97bb6cf371f51549c708cf58a04584968eaf7d5a",
      "tree": "efc934788a668556a7c417158f3af62ef800b851",
      "parents": [
        "e8b557bc08facb3d60b605f3e8cb26b31baaa28b"
      ],
      "author": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Mon Mar 05 22:55:32 2018 +0000"
      },
      "committer": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Tue Mar 06 12:05:28 2018 +0000"
      },
      "message": "Remove com.android.internal{.util} from generated documentation.\n\ncom.android.internal.* is meant to be hidden from documentation,\nbut most of it is erroneously not hidden via @hide or -hidePackage\ndirectives; why documentation is currently generated for Predicate\nbut not other classes from com.android.internal.util, and why some\nbut not all classes from that package show up in package-level\ndocumentation (package-summary.html), is not currently understood.\n\nThere appears to be a behavior difference between OpenJDK 8 and\nOpenJDK 9\u0027s javadoc that results in additional classes showing up\nin package-summary.html. This CL fixes this by adding -hidePackage\ndirectives for com.android.internal{.util}; other sub-packages of\ncom.android.internal do not currently show up in documentation and\nare not touched by this CL.\n\nTest: Patched this CL into the internal-master branch and ran:\n      USE_R8\u003dtrue EXPERIMENTAL_USE_OPENJDK9\u003dtrue make offline-sdk-docs\n      Checked that this removes all documentation for com.*\n      (com.android.internal.util was the only com.* package for which\n      documentation was previously generated).\n      In other words: Before this CL, [1] existed, but after\n      this CL, the entire directory subtree [2] does not exist.\nTest: Checked that Predicate was already missing from stubs before this\n      CL. In other words, [3] already did not exist before this CL.\n\n[1] out/target/common/docs/offline-sdk/reference/com/android/internal/util/Predicate.html\n[2] out/target/common/docs/offline-sdk/reference/com\n[3] out/target/common/obj/JAVA_LIBRARIES/android_system_stubs_current_intermediates/classes/com\n\nBug: 69736344\nBug: 69736236\n\nChange-Id: I3243e2820348c338a54e42c72d29bed71389a6c4\n"
    },
    {
      "commit": "b437f30f286131cc3a01bca7b56ca7dcab37cf74",
      "tree": "1ef230ac2a8e75d1214580cd55ad04fba597b266",
      "parents": [
        "6d228a7515ebe7e5c037eeb8d2e1d5fd5665463c",
        "91ca55c1742a199e0170a037e5cdce00b4bdd751"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Thu Mar 01 19:37:38 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Mar 01 19:37:38 2018 +0000"
      },
      "message": "Merge \"Enable new yaml file for reference nav that lists all framework files.\" into oc-mr1-dev am: e3c0216f95\nam: 91ca55c174\n\nChange-Id: I04555e22ddd6a26904e0c83d1113d67ff13e69a2\n"
    },
    {
      "commit": "91ca55c1742a199e0170a037e5cdce00b4bdd751",
      "tree": "738185bf00b8e00d68cdcd43a6bdd51ddf0b8f1c",
      "parents": [
        "54ebb3e0b7cae9a67ee722466b74e8482c443850",
        "e3c0216f952c19baf8aff944af321ce1afdd6dd1"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Thu Mar 01 19:21:50 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Mar 01 19:21:50 2018 +0000"
      },
      "message": "Merge \"Enable new yaml file for reference nav that lists all framework files.\" into oc-mr1-dev\nam: e3c0216f95\n\nChange-Id: I535787ff921cb6e6978e57dd775e7446f67195f8\n"
    },
    {
      "commit": "4f9b48cce49662fffcced00776c97b438826ca57",
      "tree": "beb8bb98959179618ecbeb22d92d02d2494f0153",
      "parents": [
        "92609c7db1c2c78135fc4564d0caa8d57279cdfd"
      ],
      "author": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Tue Dec 19 13:43:45 2017 -0800"
      },
      "committer": {
        "name": "Scott Main",
        "email": "smain@google.com",
        "time": "Thu Mar 01 19:03:25 2018 +0000"
      },
      "message": "Enable new yaml file for reference nav that lists all framework files.\n\nThis depends on DocLava changes in ag/3382461\n\nbug: b/69845924\n\ntest: make ds-docs\n\nChange-Id: I4acd2c2034581b349ab4c00cbfe195ee5eca2354\n"
    },
    {
      "commit": "73cf7bfd90829112ce791937f4ba380d7f7abe13",
      "tree": "8899efc048e30f1adc924a48272350c91d6f3ca4",
      "parents": [
        "63775898f6b6b0ec960c815b92ed74a13f6e61bb",
        "61204ce7fe62db918064fae77e44cb8f5f430369"
      ],
      "author": {
        "name": "Andrew Solovay",
        "email": "asolovay@google.com",
        "time": "Tue Feb 27 19:46:36 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 27 19:46:36 2018 +0000"
      },
      "message": "Merge \"docs: Adding P to the API levels\""
    },
    {
      "commit": "61204ce7fe62db918064fae77e44cb8f5f430369",
      "tree": "a534890d27c55f0da59a75bbda07d5d64c413e35",
      "parents": [
        "0962d1d8cbc480500eec112c6d5b781bebb4d8ce"
      ],
      "author": {
        "name": "Andrew Solovay",
        "email": "asolovay@google.com",
        "time": "Sat Feb 24 16:44:28 2018 -0800"
      },
      "committer": {
        "name": "Andrew Solovay",
        "email": "asolovay@google.com",
        "time": "Mon Feb 26 14:02:22 2018 -0800"
      },
      "message": "docs: Adding P to the API levels\n\nBased this on SMain@ \u0027s changes in ag/1936024 , which added the O\nAPI level for the O preview.\n\nDoc is staged to:\n\ngo/dac-stage/reference/\n\nFor an example of a new API class with the watermark, see:\n\ngo/dac-stage/reference/android/media/MediaPlayer2.html\n\nTest: make ds-docs\nBug: 73009741\nChange-Id: I591419c903222c9ad0c541dcd4bfce6a38ba1f2c\n"
    },
    {
      "commit": "76ac7e631959ac46ad095b232a47d7dbac3e1b75",
      "tree": "62eff4ef00f7c5d0b98980247ae341d2a33a309e",
      "parents": [
        "1c81aa6375acfeec0a996170fae4849eb57121f5"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Feb 26 20:38:26 2018 +0000"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Feb 26 21:22:38 2018 +0000"
      },
      "message": "Remove icu4j dependency.\n\nThis dependency is no longer required: it was added\nfor libcore when libcore was implemented in terms of\ncom.icu classes. libcore has since moved to android.icu\n(in core-libart) and so the droiddoc dependency is no\nlonger required.\n\nTest: make droid docs\nMerged-In: I6e4e79a7df201fdc2cefa60037adf831593eaa0f\nChange-Id: I6e4e79a7df201fdc2cefa60037adf831593eaa0f\n"
    },
    {
      "commit": "34f7230512b6c22aed6b9bc8d2ff29eac5cc0ca6",
      "tree": "a35abb855bea7ff013ca0aa9b7dcc63f7a020cda",
      "parents": [
        "df1272bfd2f4b5fc348ef3cae335f80bc99d418e"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Feb 26 20:38:26 2018 +0000"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Feb 26 21:03:12 2018 +0000"
      },
      "message": "Remove icu4j dependency.\n\nThis dependency is no longer required: it was added\nfor libcore when libcore was implemented in terms of\ncom.icu classes. libcore has since moved to android.icu\n(in core-libart) and so the droiddoc dependency is no\nlonger required.\n\nTest: make droid docs\nChange-Id: I6e4e79a7df201fdc2cefa60037adf831593eaa0f\n"
    },
    {
      "commit": "7b9b5d7544f2a9038b69baefa8da12a33e5e99bf",
      "tree": "5f8252288db2e66bbd387731a6accd44fcc49664",
      "parents": [
        "10034d94cf40ae968381c3535b464cde43cd22b5"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Feb 15 15:12:38 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Feb 16 01:34:21 2018 +0000"
      },
      "message": "Framework: Disable [MissingOverride] for platformprotos\n\nBug: 72714520\nTest: m javac-check-platformprotos RUN_ERROR_PRONE\u003dtrue\nMerged-In: I00f5a588fa74621d4c35dc4e39b54536815ad476\nChange-Id: I00f5a588fa74621d4c35dc4e39b54536815ad476\n"
    },
    {
      "commit": "3e429f33ddd06c9a62731383b4549bf64e4e62e8",
      "tree": "831ec0efb93631e16faa2672281fa10ed9dc9b1c",
      "parents": [
        "4e0f11c65fe79b4de18367f67dc1e8fe8f013656"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Feb 15 15:12:38 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Feb 15 17:13:03 2018 -0800"
      },
      "message": "Framework: Disable [MissingOverride] for platformprotos\n\nBug: 72714520\nTest: m javac-check-platformprotos RUN_ERROR_PRONE\u003dtrue\nChange-Id: I00f5a588fa74621d4c35dc4e39b54536815ad476\n"
    },
    {
      "commit": "05d08d808ddfa4d2489c9b8526a6731da8e9a068",
      "tree": "595c2254044ca427d987394b97b19945cde359f0",
      "parents": [
        "00ba26dd7b04e8897ce3e248bfc8014e2f91a249",
        "f0048397a49e482bfc362f7e42cbacff948b82bd"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 13 23:18:11 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 13 23:18:11 2018 +0000"
      },
      "message": "Merge \"Fix link-type check warnings for platformprotosnano\""
    },
    {
      "commit": "7d07ad1ef2b0edd4c850d366ea77ab0d24cd9db8",
      "tree": "4cbdd3ffcecf79e81ccaaee650c3c4dd94ee8c67",
      "parents": [
        "d120065f3e50101db4721a3b2235f07dc1044145",
        "37ba3de333a0bdc6ef2833afbdfb57260a58a1a4"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Feb 13 08:41:41 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 13 08:41:41 2018 +0000"
      },
      "message": "Merge \"Don\u0027t put android.os.Parcelable in framework.aidl\" am: 0872f6d5e3 am: 6864210fe2\nam: 37ba3de333\n\nChange-Id: Ib8d8277171ede82ea4626b6d2de2fcb9c1a1d307\n"
    },
    {
      "commit": "f0048397a49e482bfc362f7e42cbacff948b82bd",
      "tree": "44c08bffc70923cf7e6770a7224312004c344825",
      "parents": [
        "049ecedd92d91fb692ec424311318cd8b8977b0d"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon Feb 12 21:57:59 2018 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Mon Feb 12 21:57:59 2018 +0900"
      },
      "message": "Fix link-type check warnings for platformprotosnano\n\nplatformprotosnano is used by cts-amwm-util and this is causing\nlink-type check warning because cts-amwm-util is built using SDK but\nplatformprotosnano isn\u0027t.\n\nSince platformprotosnano can actually be built with SDK APIs only,\nsetting LOCAL_SDK_VERSION to \u0027current\u0027 instead of building against\ncore-oj and core-libart which contain private APIs.\n\nLOCAL_SDK_VERSION :\u003d core_current has been tried but it didn\u0027t work\nbecause libprotobuf-java-nano is using Android APIs (thus marked as\njava:sdk). java:core -\u003e java:sdk dependency is not allowed.\n\nBug: 69899800\nTest: m -j platformprotosnano\nChange-Id: I14a9a80bb218dae63e8320b7aab40d7ad48a7a13\n"
    },
    {
      "commit": "fdbe7d1ca90ac40f9b629524d9aea26e59899c50",
      "tree": "136ed4bf0b85a3bf73654be606a1c1385e8072a3",
      "parents": [
        "4c8fa81d177bfd2f144ebe153df74edb8b332f5a"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Feb 09 11:24:14 2018 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Feb 09 11:29:15 2018 -0800"
      },
      "message": "Don\u0027t put android.os.Parcelable in framework.aidl\n\nParcelable shouldn\u0027t be in the list of parcelables in framework.aidl.\nRemove it to fix warning when running aidl:\nframework.aidl:287 attempt to redefine built in class android.os.Parcelable\n\nAlso make the dependency on sdk_parcelables not be order-only so\nframework.aidl gets rebuilt when sdk_parcelables changes.\n\nBug: 73135791\nTest: ParcelableDetectorTest\nTest: out/target/common/obj/framework.aidl does not contain android.os.Parcelable\nChange-Id: If5222879be9ec1e5fa08810adc624ec526ddc0ec\n"
    }
  ],
  "next": "90fa8ef4c9c16dfd309ebfdd85ee6a2fbf6a1ccd"
}
