)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "90fa8ef4c9c16dfd309ebfdd85ee6a2fbf6a1ccd",
      "tree": "deabf0cfe53f0339793696219a9274e318008635",
      "parents": [
        "3f4136c3b76d2ec9cdba9caf132d9ca2958821b7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Feb 08 17:27:15 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Feb 08 21:44:24 2018 +0000"
      },
      "message": "Revert \"Make blacklist the default hidden API list\"\n\nBug: 64382372\n\nThis reverts commit 3f4136c3b76d2ec9cdba9caf132d9ca2958821b7.\n\nReason for revert: Causing too many downstream issues together\n    with I2c1353d31386da447456b17f9643c0470128ee3d. Revert to\n    unblock pi-release and testing.\n\nBug: 73105914\nBug: 73103669\nBug: 73106486\nBug: 64382372\nBug: 73103081\nBug: 73119220\nBug: 73114663\n\nChange-Id: I072dd571f779e2b5e405d21eecce5a60d1b3c7f2\n"
    },
    {
      "commit": "3f4136c3b76d2ec9cdba9caf132d9ca2958821b7",
      "tree": "b92d19d33786a4e154a4ac805a4480dcc8ce97ab",
      "parents": [
        "c99f5a72fd1f9a331936ddc0e0b004e7466d5ed5"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Feb 07 00:39:22 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Feb 08 03:51:55 2018 +0000"
      },
      "message": "Make blacklist the default hidden API list\n\nStarting with DP1 we will move private APIs that have not been\nexplicitly greylisted into the blacklist. Modify Android.mk to\ngenerate the API lists accordingly.\n\nBug: 64382372\nTest: make, inspect out/target/common/obj/PACKAGING/hiddenapi-*\nChange-Id: I1d817ba6b95058ad052a2c7663ef99257bdeffc1\n"
    },
    {
      "commit": "7d69d3a8555478335baee0f3ced70de5f6552698",
      "tree": "a9cf19faa21f0d08e71b443866a9ffc214ed54d3",
      "parents": [
        "3d67f4a03900eb45f1a266c126628733f9df09c9",
        "b43351f84acef363aaccda867ebecd17908e5bbb"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Feb 01 11:07:39 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 01 11:07:39 2018 +0000"
      },
      "message": "Merge \"Droidfood only: Move private APIs to dark greylist by default\""
    },
    {
      "commit": "b43351f84acef363aaccda867ebecd17908e5bbb",
      "tree": "162e57f442cbfddd535f80b7b8b7b763bba388ca",
      "parents": [
        "ce9bcc4977a8f7eca00674dd5292f191e3ca98fa"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jan 31 14:43:36 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Feb 01 09:47:59 2018 +0000"
      },
      "message": "Droidfood only: Move private APIs to dark greylist by default\n\nIn order to tune the API lists, we initialize the light greylist with\nAPIs we know are used by popular apps. All the other private APIs are\nmoved into dark greylist. Light greylist will be set to not warn at\nall, while dark greylist will produce warnings. This will allow us to\ncollect logs and tune the lists without breaking all of our dogfooders.\n\nBug: 64382372\nBug: 72793280\nTest: make\nChange-Id: Ice6c487eeca8900e6a70abe1b87e8c211ef1066e\n"
    },
    {
      "commit": "93b64c9a6290aa0f62f8ed5e7c4b6b8839a77264",
      "tree": "41a869851520074d479a85855451e44d5ea18285",
      "parents": [
        "1b24054fafa5bf5eedbd226710a54e444db97485"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jan 30 18:50:34 2018 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Tue Jan 30 18:50:34 2018 -0800"
      },
      "message": "Frameworks: Disable Errorprone warnings for platformprotoslite\n\nProtos are very noisy with MissingOverride and other warnings.\n\nBug: 72714520\nTest: m javac-check-platformprotoslite RUN_ERROR_PRONE\u003dtrue\nChange-Id: I91cf96df12e82866dde36ab4f58b6ba7be9f2c4e\n"
    },
    {
      "commit": "a85b43b80ba89aa31b2f42c28c49e77dd00d6704",
      "tree": "9a623a183992f0d2ba6329f6ab8e147646af1139",
      "parents": [
        "253abcedd786632917f6452d2e37c403eb048cbd",
        "43f511a92829f8ff756756f51b64af195c026a8c"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Jan 26 19:51:11 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jan 26 19:51:11 2018 +0000"
      },
      "message": "Merge \"Copy hidden API blacklist/dark greylist into build folder\" am: 656096516c am: 47f632d48f\nam: 43f511a928\n\nChange-Id: Ibf3581193d88df1916b1c2d57c94d01095cdac97\n"
    },
    {
      "commit": "f16ac00fe828e092b16d8be66dfadb8dcf7366d6",
      "tree": "7314ca476e35cf5f070e79f80d9d28897ae42f8a",
      "parents": [
        "8e8c9664ae966695f2d6bd431de362ff9bd575ce"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Jan 26 11:13:35 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Fri Jan 26 11:49:54 2018 +0000"
      },
      "message": "Copy hidden API blacklist/dark greylist into build folder\n\nThis change is meant for ART buildbots which build against a pinned\ncommit of the framework and thus do not have the commit which\nintroduced hidden API lists. Normal builds will now copy the blacklist\nand dark greylist into the build folder first, and then generate the\nlight greylist as usual. If a buildbot does not have the framework\nchanges, it can create dummy API lists in the build folder before\nstarting the build and avoid the issue.\n\nTest: make\nBug: 64382372\nChange-Id: Ib6e53a45bcc917abb4ba67fdcbf01d4a19c2d56f\n"
    },
    {
      "commit": "e87f629e8cd1ed7d7e3e73634e6c7ed82491565a",
      "tree": "7cb1abe5e37144e3d76da07b1cd752984b500250",
      "parents": [
        "79f2ea2d7d5353e163c61ec203c77a40f4444a19",
        "a5cc0bb027b6044b2fe5f778995e8a83cd5f9fc7"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Jan 25 15:57:31 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 25 15:57:31 2018 +0000"
      },
      "message": "Merge \"Create hidden API lists\" am: b6a5c92b50 am: 265863f9d9\nam: a5cc0bb027\n\nChange-Id: I6e85de117103f62cea394f7d00478ffba3ea0622\n"
    },
    {
      "commit": "0649c8d5b3d73d8f4f3c5283707518bf60cc86da",
      "tree": "b856c16ef0eb4dba8fdcd14578f6b7b0b6269ed3",
      "parents": [
        "2a8c24be18dfc3d7cb3f405bee898613b23a212e"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Mon Jan 22 22:23:13 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Jan 24 20:48:37 2018 +0000"
      },
      "message": "Create hidden API lists\n\nAndroid is beginning to put restrictions on the usage of private APIs.\nIn order to facilitate a transitionary period, some APIs will remain\naccessible but issue a warning (greylist), other will see restrictions\nright away (blacklist).\n\nThis patch create two new text files which will be used to store manual\nlists of dex signatures of hidden APIs. These are the blacklist and\ndark greylist. They should be mutually exclusive and both be subsets of\nINTERNAL_PLATFORM_PRIVATE_DEX_API_FILE. The last list, light greylist,\nis generated as INTERNAL_PLATFORM_PRIVATE_DEX_API_FILE minus the two\nmanual lists.\n\nBug: 64382372\nTest: m\nChange-Id: Ia694ef79bece819c87db853ccaea5e95f38d3e84\n"
    },
    {
      "commit": "b5253b65a4325501384605aec09a28e40198c844",
      "tree": "edb6df3c69bdd7a8803ee690607026a77f6a9f40",
      "parents": [
        "3c365cb21da4913c1eba00cce3052a04ecbdc014",
        "437aa6e8ad24489fcd8a7ab2c889874cfae12d0b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 22 09:20:52 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 22 09:20:52 2018 +0000"
      },
      "message": "Merge \"Add more information to incident header. Especially add config keys to check if the report is uploadable.\""
    },
    {
      "commit": "437aa6e8ad24489fcd8a7ab2c889874cfae12d0b",
      "tree": "b91f5e9984c6023ccf735b46883023b5cdf43b1a",
      "parents": [
        "d1238e7b506bd691a1e1fe35a3d54209b4bac839"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Wed Jan 10 11:34:26 2018 -0800"
      },
      "committer": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Sun Jan 21 22:36:01 2018 -0800"
      },
      "message": "Add more information to incident header. Especially add config keys\nto check if the report is uploadable.\n\nMove incidentheader.proto to libincident so statds is able to include a lite\nproto class for incident header.\n\nChange IncidentReportArgs to add the proto object instead of serialized\nbytes to prevent caller gives meaningless data.\n\nBug: 70241842\nTest: push config to statsd and verify incidentd generate the report\nwith correct header.\n\nChange-Id: If95b655be71047b019b229e5903a08f3c21a1f29\n"
    },
    {
      "commit": "ae5ba1e5cd4f131a93661ed71ae5b9fc0a67ea85",
      "tree": "2ea0ecbf750ccb7354a5eeadd13eda1bee1f96e2",
      "parents": [
        "ef131becd258fd6e7d39b43815cae2ce9e08069c",
        "ccc31988eece3a828c478a38c3d2da03d0924968"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Sat Jan 20 11:43:40 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jan 20 11:43:40 2018 +0000"
      },
      "message": "Merge \"Generate new API signatures from doclava\" am: fa208b4226 am: 72b7f03179\nam: ccc31988ee\n\nChange-Id: Ibc40df91d9aa4f1258856ddcd85204ce62297bf1\n"
    },
    {
      "commit": "e4d44919aa90f16285a9966dcc632c128b932374",
      "tree": "801a98f6ae28069cc8302f0bb6b17c3004a7ca61",
      "parents": [
        "5e1f854620ecf48febb6ef8ddc3bff856efda7b1"
      ],
      "author": {
        "name": "Primiano Tucci",
        "email": "primiano@google.com",
        "time": "Wed Jan 10 12:14:50 2018 +0000"
      },
      "committer": {
        "name": "Primiano Tucci",
        "email": "primiano@google.com",
        "time": "Fri Jan 19 23:50:07 2018 +0000"
      },
      "message": "Statsd -\u003e Perfetto integration\n\nThis CL invokes the perfetto client utility to start the\ncollection of a trace when an anomaly that subscribed to\nPerfetto is detected. The code simply spawns the\n/system/bin/perfetto client and passes the trace config via\nstdin. The client takes care of the dropbox upload.\nThe CollectPerfettoTraceAndUploadToDropbox() function does\nNOT wait for the full trace collection (in order to avoid\nblocking statsd) and instead returns immediately after having\nspawned perfetto.\n\nChange-Id: I4f02067bad7a46ede7b6e4841cdcf381c1a4e2a7\nBug: 71795552\n"
    },
    {
      "commit": "fb48139a4148571fea02c0fa7bc81b1ef6d5bfcc",
      "tree": "e28b4ed10c6fcbef5e5b15d6cecdd58221f3a7a3",
      "parents": [
        "4b60648be6500b0c550be6816036312e34a53dc9"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Dec 18 12:53:43 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Jan 19 08:16:36 2018 +0000"
      },
      "message": "Remove junit classes from android.jar\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: Ia90b8a81495299165d6f8d373ab8c5937e2a5290\n"
    },
    {
      "commit": "a793f3ff523686410c24cdd06a7390ef80483675",
      "tree": "6a117f3227b0bb09577572abd4f5cbdc9fe06057",
      "parents": [
        "b3c2efc6156cb86ae1f8958ee89a8ac404b190df"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Jan 16 15:03:20 2018 +0000"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Jan 18 10:40:11 2018 +0000"
      },
      "message": "Generate new API signatures from doclava\n\nDoclava now generates API signatures of classes and their members\nwhich are not part of the public SDK. Adjust the arguments passed\nto Doclava to enable that feature.\n\nBug: 64382372\nTest: m\nChange-Id: I47de683dd2b00fce73b82581a13fbe1013ef625f\n"
    },
    {
      "commit": "5736685560ebdacd9c9ab4205014f2298c08b523",
      "tree": "7200f5cd37be89790657a82624323d0aee38744e",
      "parents": [
        "8ec0201e8f03808bee22560343c768d38bd1f50f",
        "beacd5e4facb9ea34cb28e83d6569b7b62ca02a7"
      ],
      "author": {
        "name": "Holly Jiuyu Sun",
        "email": "jiuyu@google.com",
        "time": "Thu Jan 18 04:28:28 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 18 04:28:28 2018 +0000"
      },
      "message": "Merge \"Add APIs to EuiccCardManager.\" am: a5bc474e2c am: f07319a6df\nam: beacd5e4fa\n\nChange-Id: I7aa42d89c69911137a86b86ee59463efe46a81c3\n"
    },
    {
      "commit": "bbc858006f8ee3fbdd48398baa57fb1cd2795016",
      "tree": "f991a9351fad4a07527630028657539140d7e423",
      "parents": [
        "7839672e2297e6287d11c072fb0bc2ceafb975b2"
      ],
      "author": {
        "name": "Holly Jiuyu Sun",
        "email": "jiuyu@google.com",
        "time": "Thu Dec 21 18:44:59 2017 -0800"
      },
      "committer": {
        "name": "Holly Jiuyu Sun",
        "email": "jiuyu@google.com",
        "time": "Wed Jan 17 16:38:42 2018 -0800"
      },
      "message": "Add APIs to EuiccCardManager.\n\nThe CL contains parts of the EuiccCard APIs. getEid() is sync. All the\nother APIs are async.\nMove ResetOptions from EuiccCard to EuiccCardManager.\nThe other APIs will be added in a follow-up CL.\n\nBug: 38206971\nTest: test on phone\nChange-Id: Iba098ee779b8ea4e244e0e4cf7318139666cc94b\n"
    }
  ],
  "next": "21418277009ee848e095b35903d7fde213d3d5fe"
}
