)]}'
{
  "log": [
    {
      "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": "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": "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": "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": "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": "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": "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"
    },
    {
      "commit": "21418277009ee848e095b35903d7fde213d3d5fe",
      "tree": "d9ec3bcd5ffcaa23e26fd177669e249d837999d1",
      "parents": [
        "f0561142f3b7ddd85947d7ee268d5b98a39489b9"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Nov 16 15:47:05 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Jan 12 15:52:39 2018 +0000"
      },
      "message": "Move legacy-test to test-base\n\nMake it consistent with the test-mock and test-runner directories.\nAlso renames the files in api/ subdirectory.\n\n(cherry picked from commit f779efd62cd579f67bd3b387d59fda11ee0cbe90)\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: Ied3621e6201d8717223fe1ccd4ea77d458126b25\nMerged-In: If4f99a65fcca416ede5b3e63481398f0b451bcb7\n"
    },
    {
      "commit": "8e62041b8437d46429794caa7455cda085cc738c",
      "tree": "7da82a3bb7951f38f4e4cebec99aac46850b869b",
      "parents": [
        "285b393cefe27af65007e446fc14d076950cecc6",
        "e3d4b7d3d2eb4af3e7a21fd37a4c2ef48843fee9"
      ],
      "author": {
        "name": "yuemingw",
        "email": "yuemingw@google.com",
        "time": "Thu Jan 11 05:21:32 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 11 05:21:32 2018 +0000"
      },
      "message": "Merge \"Add public ApnSetting in android.telephony.\" am: f9063b378b am: f68992a6a7\nam: e3d4b7d3d2\n\nChange-Id: Ia4100787507887692c6aa5df4e331fba59993255\n"
    },
    {
      "commit": "9361a1394cc6efe74c004dab9f0c16e0df7827f8",
      "tree": "890be8d2008f0d65b819017e4826031f890197b0",
      "parents": [
        "e1bdd513d0014ae969188c20a8fd1c2e3acb74a7"
      ],
      "author": {
        "name": "yuemingw",
        "email": "yuemingw@google.com",
        "time": "Fri Nov 24 18:20:11 2017 +0000"
      },
      "committer": {
        "name": "Yueming Wang",
        "email": "yuemingw@google.com",
        "time": "Wed Jan 10 03:17:05 2018 +0000"
      },
      "message": "Add public ApnSetting in android.telephony.\n\nBug: 68208293\nTest: manual\n\nAdd public ApnSetting class in android.telephony. Move APN TYPE constants out from\nPhoneConstants into public ApnTypeConstants.\n\nDesign doc: https://docs.google.com/document/d/1UEYjhRGSEwwccPLs_FzFD-IeOsVq63gxmAHNtDfnzAY/edit?pli\u003d1#\n\nChange-Id: I74d23644a872df0abc19730285ae196b6e3e39dd\n"
    },
    {
      "commit": "c9f25c4ee52e3e3e734f39cee9f6f10f19153e43",
      "tree": "9f57b4cf19dd361cdc3cb5963f2eea686c2063cd",
      "parents": [
        "ae81e15c9cbfdc815a9b4e05d035cedabb6131a2"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jan 04 14:59:10 2018 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jan 05 17:40:27 2018 -0800"
      },
      "message": "Remove obsolete aidl list\n\nRemove the obsolete aidl list, framework.aidl is now generated\nfrom the stubs jars.\n\nBug: 70046217\nTest: m checkbuild\nChange-Id: I2417f0a8f193bd4db4058f6f0bb05c147e18de25\nMerged-In: I2417f0a8f193bd4db4058f6f0bb05c147e18de25\n(cherry picked from commit fac48f998e763060dfdfb6e76927ec85aa63e1eb)\n"
    },
    {
      "commit": "fac48f998e763060dfdfb6e76927ec85aa63e1eb",
      "tree": "d1114d531e9706c60bb0caa3d39da068e572a8ec",
      "parents": [
        "01b2f0e1c856832ad2ba61a686df28ae31d38562"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jan 04 14:59:10 2018 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jan 04 14:59:10 2018 -0800"
      },
      "message": "Remove obsolete aidl list\n\nRemove the obsolete aidl list, framework.aidl is now generated\nfrom the stubs jars.\n\nBug: 70046217\nTest: m checkbuild\nChange-Id: I2417f0a8f193bd4db4058f6f0bb05c147e18de25\n"
    },
    {
      "commit": "e9727164cbfb0d5d36cecb00841f04728cfc18da",
      "tree": "8a96cd7dabd361e87d1330833020a5c7e579f733",
      "parents": [
        "478b6caa48ee001aa9273e36efe1b754dca87d7e",
        "52d401119589b7fd43b5d417329e8bd48d2802db"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jan 04 01:17:42 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 04 01:17:42 2018 +0000"
      },
      "message": "Merge changes I9de0ffe9,Idc804896 am: 153fb1c6e0 am: 99161bc1c7\nam: 52d4011195\n\nChange-Id: Ia3b7f49d4dbd38660570c7c84991a69f86bf24e4\n"
    },
    {
      "commit": "153fb1c6e0e3aa9694da90860e5f962d0107f43b",
      "tree": "557a87c578481ca20dd582de356b6185d8ca15a6",
      "parents": [
        "f2ebbd135625b5c67c69fe9b4c3fd232bb397616",
        "77ebd08d17f75912de984eae88fadba357d41f7f"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Jan 04 00:48:50 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 04 00:48:50 2018 +0000"
      },
      "message": "Merge changes I9de0ffe9,Idc804896\n\n* changes:\n  Use sdkparcelables to generate framework.aidl\n  Initial sdkparcelables\n"
    },
    {
      "commit": "23192ff57f740fbafe76aac05d6af2c0785343d1",
      "tree": "778f950796b2bad76f66eeea43de04198d99a3b6",
      "parents": [
        "0d75603ea7da774d19bf5b015de42f374dad82ed"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Wed Dec 27 16:19:20 2017 -0800"
      },
      "committer": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Wed Dec 27 23:29:49 2017 -0800"
      },
      "message": "Added AIDL for cell identity\n\nAdded AIDL for CellIdentityCdma, CellIdentityGsm, CellIdentityLte\nand CellIdentityWcdma. This is the preliminary change for IWLAN\nrefactoring as network registration state will be moving into\nsystem API.\n\nTest: Build\nbug: 64132030\nMerged-In: I6763d4b6e51cf354b01ee5bfb5d37114394f3063\nChange-Id: I6763d4b6e51cf354b01ee5bfb5d37114394f3063\n(cherry picked from commit 31db18a4c078b77f011170a27eb95c94398efde6)\n"
    },
    {
      "commit": "31db18a4c078b77f011170a27eb95c94398efde6",
      "tree": "c0b8149159579a1c989bef76b9416183d6acd339",
      "parents": [
        "bed44e64e835fad34ccb71da47de5dc44be6153f"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Wed Dec 27 16:19:20 2017 -0800"
      },
      "committer": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Wed Dec 27 16:19:20 2017 -0800"
      },
      "message": "Added AIDL for cell identity\n\nAdded AIDL for CellIdentityCdma, CellIdentityGsm, CellIdentityLte\nand CellIdentityWcdma. This is the preliminary change for IWLAN\nrefactoring as network registration state will be moving into\nsystem API.\n\nTest: Build\nbug: 64132030\nChange-Id: I6763d4b6e51cf354b01ee5bfb5d37114394f3063\n"
    },
    {
      "commit": "9f6282d0abf6023cd9629d491a32a70e8ef0326b",
      "tree": "fa8847cda899ab52507d3e175ae6bcb93c35a45b",
      "parents": [
        "24721ea0f744e0271f005d057e7972a965544485"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Dec 15 15:49:08 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Dec 21 10:58:35 2017 +0000"
      },
      "message": "Remove android.test.mock classes from android.jar\n\nThis removes all android.test.mock from the main android.jar.\n\nThis change is being done now rather than wait until they can all be\nremoved together because the code base is a moving target. Doing this\nchange minimizes the window during which other developers could either\nrevert the previous changes that make this possible or add new code that\nrelies on the android.test.mock classes being in android.jar and so\nwould require yet more changes.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: I3d31e4528c99e2e297aaec9c4b657bdd305bd464\n"
    },
    {
      "commit": "107f7cc4c4adfc01402dc5a52dc39976b75abbe2",
      "tree": "39c1ac19cceba81e9f7ac0424c10a1e0196dd183",
      "parents": [
        "e2527f82c8efa592fc5cda62ca00fb6b83aabc7a",
        "f68e747e05628c0d2544080aa7c8cc8e68eeae29"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 19 19:07:53 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 19 19:07:53 2017 +0000"
      },
      "message": "Merge \"Remove stream.proto and cpp-streaming-proto generates field name to id mapping by default\""
    },
    {
      "commit": "187a48de623f6a8b1df88672ebf939df19e23950",
      "tree": "bb812a98ec36688d892b04e570314427e67e734b",
      "parents": [
        "8ca1e41a0f113f0a2bf8aef0102be9cbb0e3df30"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Dec 13 14:34:31 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Dec 19 10:42:28 2017 +0000"
      },
      "message": "Remove non-junit android.test.base classes from android.jar\n\nThis removes those android.test.** classes which are part of the\nandroid.test.base stubs jar from the main android.jar.\n\nThe junit classes will be removed at a later date. It cannot be done at\nthe moment because it requires a lot of changes to the build files.\n\nThis change is being done now rather than wait until they can all be\nremoved together because the code base is a moving target. Doing this\nchange minimizes the window during which other developers could either\nrevert the previous changes that make this possible or add new code that\nrelies on the android.test.base classes being in android.jar and so\nwould require yet more changes.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: I9a4df968835166cc3d30c076ef3036711dfe5b7f\n"
    },
    {
      "commit": "f68e747e05628c0d2544080aa7c8cc8e68eeae29",
      "tree": "10917fec1af65c090458259ca6bc93ffb40b5542",
      "parents": [
        "39b4499d943d2a078b7c7ca2936908d7aac719d1"
      ],
      "author": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Mon Dec 18 15:55:19 2017 -0800"
      },
      "committer": {
        "name": "Yi Jin",
        "email": "jinyithu@google.com",
        "time": "Mon Dec 18 17:37:50 2017 -0800"
      },
      "message": "Remove stream.proto and cpp-streaming-proto generates field name to id\nmapping by default\n\nTest: atest incident_helper_test\nChange-Id: Iab04973ea78b942e44503fcd6ae60808caf3b9e0\n"
    },
    {
      "commit": "77ebd08d17f75912de984eae88fadba357d41f7f",
      "tree": "8d49f03ca2ed21bba57d628f68b3cddf14952a70",
      "parents": [
        "149008d892ce76e83f6d95db09cdbb787293337b"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Dec 15 17:30:33 2017 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sat Dec 16 20:43:50 2017 -0800"
      },
      "message": "Use sdkparcelables to generate framework.aidl\n\nUse sdkparcelables to extract public parcelables from the\npublic, test, and system stubs jars, and combine them into\nframework.aidl.\n\nBug: 70046217\nTest: m checkbuild\nChange-Id: I9de0ffe9dffbd80c8cb785b0624959c52c3200a1\n"
    },
    {
      "commit": "1895f2e5bb3c07b2dc85ed6267848e820d6c39b0",
      "tree": "eea04a8b4104e381ceb98ae57e27ed578a1d1629",
      "parents": [
        "85ca6f75c6b5925da5485621632ade81e76b6328"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Dec 12 16:16:26 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Fri Dec 15 07:34:47 2017 +0000"
      },
      "message": "Remove non-junit android.test.runner classes from android.jar\n\nThis removes those android.test.** classes which are part of the\nandroid.test.runner stubs jar from the main android.jar.\n\nThe junit classes will be removed at a later date. It cannot be done at\nthe moment because it requires a lot of changes to the build files.\n\nThis change is being done now rather than wait until they can all be\nremoved together because the code base is a moving target. Doing this\nchange minimizes the window during which other developers could either\nrevert the previous changes that make this possible or add new code that\nrelies on the android.test.runner classes being in android.jar and so\nwould require yet more changes.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: I4e3c3bfea77ce15ca7a9ba7d36aee5396f67affb\n"
    },
    {
      "commit": "c9f1a9e3dd214b167a49ac4560382e2e98084ff6",
      "tree": "9414ba21245f5e8aba454e7dbc142761fb0ec708",
      "parents": [
        "d46ac28a6f893d11375318df774bf94a97ed11fd",
        "62c220b20b3fc431c27feac29a71d040fc8e2626"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Thu Dec 14 05:33:33 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 14 05:33:33 2017 +0000"
      },
      "message": "Merge \"Fix how we build the statsd protos.\""
    },
    {
      "commit": "4b1557d3a0f4ffebcb6710a4431fe72c40f5886e",
      "tree": "3521bba0494a9a073b1bdcd166d785dd1f541f48",
      "parents": [
        "8abaeb9ef7f442e44a0cdfc07130c98457320020",
        "74f5e36f49b32baef90bf31bbbaf487c18002944"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 14 04:09:55 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 14 04:09:55 2017 +0000"
      },
      "message": "Merge \"Give SliceManagerService a concept of pinned slices.\""
    },
    {
      "commit": "62c220b20b3fc431c27feac29a71d040fc8e2626",
      "tree": "4915764f6640ca69fcd2ecbc1dde9f1d40768dc0",
      "parents": [
        "37e9278c7799719180549384d7390079a10e46ea"
      ],
      "author": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Sat Nov 18 20:32:56 2017 -0800"
      },
      "committer": {
        "name": "Joe Onorato",
        "email": "joeo@google.com",
        "time": "Wed Dec 13 18:26:45 2017 -0800"
      },
      "message": "Fix how we build the statsd protos.\n\nThis lets us include frameworks protos, and use the constants\nand messages from them.\n\nChange-Id: I609d6e524f780e6a5beea543a68561bede47813e\nTest: make\n"
    },
    {
      "commit": "74f5e36f49b32baef90bf31bbbaf487c18002944",
      "tree": "f50aa5c641cd263744636eb6100ac734b335477a",
      "parents": [
        "4ae4005bde84dc2217f9e792c87ec0065f5a50e1"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Wed Dec 06 08:56:33 2017 -0500"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Wed Dec 13 14:28:09 2017 -0500"
      },
      "message": "Give SliceManagerService a concept of pinned slices.\n\nAllow launcher/assistant to pin slices. Also allow other apps\nwith access to a slice to pin it dynamically by adding a listener\nto it. Dynamic pinnings can expire when the host app dies because\nthe binder will no longer be alive.\n\nPublic docs and unhiding will come in a later CL with CTS tests.\n\nBug: 68378571\nTest: runtest --path frameworks/base/services/tests/uiservicestests\nChange-Id: I1dd9a839f547fc949922b766ba4b54e6d50f3125\n"
    },
    {
      "commit": "e25cedd64d0b3b14ce851d2f5963228fcd3d3bc3",
      "tree": "865f6b2eaa28721f16801827e645ae5da767d152",
      "parents": [
        "d25de15983cb50d07d3a50aafb8e714af369b8bd"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Dec 12 16:13:28 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Dec 13 07:37:49 2017 +0000"
      },
      "message": "Remove unnecessary filtering of android.test.mock files\n\nPreviously the android.test.mock files were in the test-runner/src\ndirectory so had to be filtered out of the android.test.runner source\nfiles but the android.test.mock files are now in their own test-mock/src\ndirectory so the filtering is no longer required.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: I1f28fc0735e16fa166663e5797af641b08a4926c\n"
    },
    {
      "commit": "d330eeeedafc842ff0f5807cb42c8e5d9a2ca00b",
      "tree": "b67e68dc84c3f459d3c7bc5b401a7dbe3bb2468a",
      "parents": [
        "5319777274a206c917ae13708c14daf3f942d853",
        "69516f4df7129b39dfa05654b9e5163442438c72"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Dec 12 23:25:48 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 12 23:25:48 2017 +0000"
      },
      "message": "Merge \"Separate android.test.mock from test-runner source\""
    },
    {
      "commit": "69516f4df7129b39dfa05654b9e5163442438c72",
      "tree": "3e21c3ef15385e32487c3750cdc43af95c2b21f6",
      "parents": [
        "eb652a47a180092b397ec40c718dfc13935f7fb6"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Nov 15 11:39:14 2017 +0000"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Dec 12 23:23:31 2017 +0000"
      },
      "message": "Separate android.test.mock from test-runner source\n\nExtracts the source for the android.test.mock library from the\nframeworks/base/test-runner directory into its own\nframeworks/base/test-mock directory. They are already treated separately\nat runtime and compile time so this just makes the separation complete.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: I20e5b06ba79677e76117c82e9f9e2ecd15e5fed6\nMerged-In: I20e5b06ba79677e76117c82e9f9e2ecd15e5fed6\n(cherry picked from commit e254526f0fe5d22681555bd4a00b7ee96fee1dc1)\n"
    },
    {
      "commit": "193ee545ed4c806d2bd538b6a10b6ca907d95fe2",
      "tree": "696d9077760387662fe8b404d0e0df921ae52882",
      "parents": [
        "b5079d1f476f210bacc2d87383f0bb9de021daee"
      ],
      "author": {
        "name": "Yigit Boyar",
        "email": "yboyar@google.com",
        "time": "Mon Dec 11 12:48:41 2017 -0800"
      },
      "committer": {
        "name": "Yigit Boyar",
        "email": "yboyar@google.com",
        "time": "Mon Dec 11 13:01:31 2017 -0800"
      },
      "message": "Remove data binding from platform docs\n\nThey are build in gradle now w/ tools.\n\nBug: 69160652\nTest: n/a\nChange-Id: I550f73f64238d6c46c8285a1d0c5523d42c6513e\n"
    },
    {
      "commit": "c8dc254b941e422294d3a08dcc5441cf84f12f1c",
      "tree": "96d57fca162e93370b758c84debafa5b347651cc",
      "parents": [
        "e33a972e3f03ab726f46b558f736d57a90f9144c"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Dec 08 14:52:37 2017 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Dec 08 14:52:40 2017 -0700"
      },
      "message": "Another attempt at diffs in offline SDK docs.\n\nWe already generate offline SDK docs as part of \"docs\" build, and\nthis change simply adds the \"-diff\" targets so they\u0027re also included.\n\nTest: make -j48 docs dist\nBug: 69115817\nChange-Id: Iecd3f070280b078fbdca91fdc1a6b8d65b8df863\n"
    },
    {
      "commit": "b592e29f28d2afe8c4a2bfcc93654e76c11c8e5b",
      "tree": "8b636ae2d264f7b4055cfb31af521f2aec14e0b0",
      "parents": [
        "e7120f505651500098eae89b5816b724106c248d"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Thu Nov 30 14:03:58 2017 -0800"
      },
      "committer": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Fri Dec 08 13:28:07 2017 -0800"
      },
      "message": "Moved data connection response into system api.\n\nThis is a preliminary step for IWLAN refactoring, where data response\nwill be one of the parameter in data service callback.\n\nTest: Telephony sanity tests\nbug: 64132030\nMerged-In: I7eb5318cd75ca3b7a29d5bf0da18d6b29a228ee1\nChange-Id: I7eb5318cd75ca3b7a29d5bf0da18d6b29a228ee1\n(cherry picked from commit e44609b15866d080e0f8813b99d04b51a6f32929)\n"
    },
    {
      "commit": "e33a972e3f03ab726f46b558f736d57a90f9144c",
      "tree": "a1f44fa16a9e70e820fcd62c76099fbf4b6f2c8a",
      "parents": [
        "6e15c2a89ae9733d2552d9d0a20504a4bdf69c29"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Dec 07 15:26:24 2017 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Dec 07 16:29:27 2017 -0700"
      },
      "message": "Emit diffs into offline SDK docs.\n\nWe already generate offline SDK docs as part of \"docs\" build, and\nthis change simply adds the \"-diff\" targets so they\u0027re also included.\n\nTest: make -j48 docs dist\nBug: 69115817\nChange-Id: Ic8b29b32c46feabf1951125edebe60ab8069e844\n"
    },
    {
      "commit": "c7efe16191836ebd376306d1aa093cfd29ebb3fd",
      "tree": "782a9ded1bb93846e82377900ef3ac536e7d4111",
      "parents": [
        "a232b53975cce6ed3f74864070076dc389967577",
        "e44609b15866d080e0f8813b99d04b51a6f32929"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Thu Dec 07 19:01:29 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 07 19:01:29 2017 +0000"
      },
      "message": "Merge \"Moved data connection response into system api.\""
    },
    {
      "commit": "e44609b15866d080e0f8813b99d04b51a6f32929",
      "tree": "0f3dbc4c20f1ef7401c1cd376e375abcd92a0b3e",
      "parents": [
        "57bd0a9186dcd99c8b6d335c7cbc37568d19cbd0"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Thu Nov 30 14:03:58 2017 -0800"
      },
      "committer": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Thu Dec 07 00:27:17 2017 -0800"
      },
      "message": "Moved data connection response into system api.\n\nThis is a preliminary step for IWLAN refactoring, where data response\nwill be one of the parameter in data service callback.\n\nTest: Telephony sanity tests\nbug: 64132030\nChange-Id: I7eb5318cd75ca3b7a29d5bf0da18d6b29a228ee1\n"
    },
    {
      "commit": "2337aec921d051da0d6b506e5fbb564ea2e49911",
      "tree": "45312f63da4f26b64dc1e432fa31d74f6745c93e",
      "parents": [
        "bc4f48b21d4f78a81a78a120a59e523369e41e7b"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Dec 06 21:12:23 2017 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Thu Dec 07 00:22:25 2017 -0700"
      },
      "message": "Deeper sanity checking of emitted types.\n\nWhen emitting a method or field, verify that we\u0027re able to reference\nall mentioned types.  This ensures that we don\u0027t accidentally\nreference undefined classes/interfaces.\n\nTest: manual inspection of API files\nBug: 69791141\nChange-Id: I84e0c87fe83daa118661f61dbdf17b58ea5282d4\nMerged-In: I84e0c87fe83daa118661f61dbdf17b58ea5282d4\n"
    },
    {
      "commit": "bc4f48b21d4f78a81a78a120a59e523369e41e7b",
      "tree": "2a4d62b613e1c08543eb31aa422c5871045da2f5",
      "parents": [
        "983df8cc6cd450c6e30881aa6a1b429ebe09d383"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Dec 06 21:02:11 2017 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Dec 06 21:56:12 2017 -0700"
      },
      "message": "Emit all APIs using Predicates.\n\nGenerate APIs using updated doclava.\n\nTest: manual inspection of API text files\nBug: 69505783\nChange-Id: I2efd22998a64ebb57588b073c4a591242f4aef91\nMerged-In: I2efd22998a64ebb57588b073c4a591242f4aef91\n"
    },
    {
      "commit": "8f5f7ff5faa46d4daca3d99f591567a21c591079",
      "tree": "761989a44ffdbcdc783cbe86a13fa7b401ba1387",
      "parents": [
        "d52efa56adaca0bc70fb72082c7c663adcb669cc"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Tue Oct 17 14:12:42 2017 -0400"
      },
      "committer": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Tue Dec 05 13:37:37 2017 -0500"
      },
      "message": "Add system service for slices\n\nWill be used to manage permissions and possibly pinned state for slices.\n\nTest: manual\nChange-Id: Ie53f4988f817ac5b920087567dbac751e2857dbf\n"
    },
    {
      "commit": "b42cfb691d1bb94902a7279e101f574986b275a0",
      "tree": "41ca9e389382fd2838f0cb799c68fb264971115c",
      "parents": [
        "bafba08c6b88ee03eebc1d2f7606cadb936d1dba",
        "85f095e24666f87d7270e0b4a5ce31c7bf29a67f"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Dec 05 01:29:12 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Dec 05 01:29:12 2017 +0000"
      },
      "message": "Merge \"Fix droiddoc when OUT_DIR is an absolute path\"\nam: 85f095e246\n\nChange-Id: I5a91ba906958777944fc25fb5de281e4c8beebe7\n"
    },
    {
      "commit": "0c7609553df2b324c4557fc5687e7700e773d193",
      "tree": "ea03b101d105a494f81d1086d3833ac1a2366130",
      "parents": [
        "3d16ff7a4ae01773a9a54023b72e825f1cef886e"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Dec 04 13:45:19 2017 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Dec 05 01:07:53 2017 +0000"
      },
      "message": "Fix droiddoc when OUT_DIR is an absolute path\n\nThe droiddoc rules were passing the sources in through\nLOCAL_SRC_FILES, which gets prefixed with $(LOCAL_PATH).  They\nwere prefixing ../.. to try to counter frameworks/base in\n$(LOCAL_PATH), but that doesn\u0027t work for absolute paths to\ngenerated files in an absolute $(OUT_DIR).\n\nUse $(LOCAL_GENERATED_SOURCES) for anything that is in $(OUT_DIR)\ninstead, which takes paths that are relative to the top of the tree\nor absolute.\n\nBug: 70166718\nTest: m OUT_DIR\u003d/tmp/out docs\nChange-Id: I93b743607c2b8ce05512ecd4bbe860747cb48428\nMerged-In: I93b743607c2b8ce05512ecd4bbe860747cb48428\n(cherry-picked from commit bd200ce7d4ebe31ad4327683e59af269420b0ef5)\n"
    },
    {
      "commit": "bd200ce7d4ebe31ad4327683e59af269420b0ef5",
      "tree": "f09bddbb759b65156cfa54a801fdcec982d492fc",
      "parents": [
        "eb63393fdfc47ac9707ee6c46c627eebd616cc11"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Dec 04 13:45:19 2017 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Dec 04 14:29:20 2017 -0800"
      },
      "message": "Fix droiddoc when OUT_DIR is an absolute path\n\nThe droiddoc rules were passing the sources in through\nLOCAL_SRC_FILES, which gets prefixed with $(LOCAL_PATH).  They\nwere prefixing ../.. to try to counter frameworks/base in\n$(LOCAL_PATH), but that doesn\u0027t work for absolute paths to\ngenerated files in an absolute $(OUT_DIR).\n\nUse $(LOCAL_GENERATED_SOURCES) for anything that is in $(OUT_DIR)\ninstead, which takes paths that are relative to the top of the tree\nor absolute.\n\nBug: 70166718\nTest: m OUT_DIR\u003d/tmp/out docs\nChange-Id: I93b743607c2b8ce05512ecd4bbe860747cb48428\n"
    },
    {
      "commit": "943e2aa7ef03caa234da36d37072a5d6f1b3e88c",
      "tree": "a336cad286de69a0a7fb889b63507fe29863f31d",
      "parents": [
        "74445ed3111486737520a1768db20ba36f5af1fd"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Nov 16 00:15:28 2017 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sun Dec 03 20:23:43 2017 -0800"
      },
      "message": "Convert framework.jar to Android.bp\n\nUse Soong to build framework-res.apk and framework.jar.\nSee build/soong/README.md for more information.\n\nBug: 69917341\nTest: m checkbuild tests docs\nTest: manually compare framework.jar and framework-res.apk\nTest: manually compare out/target/common/docs\nChange-Id: Ibdfe1cbf34d97c43f4857c2c5d7604fa72d5b5a4\nMerged-In: Ibdfe1cbf34d97c43f4857c2c5d7604fa72d5b5a4\n(cherry picked from commit cf3a0b5355c6138538f9f3d4b369a875814bc01c)\n"
    },
    {
      "commit": "5f4dcf67022ac7bd7686eb16b4623ca113ef4000",
      "tree": "70e204489a97b3f6fe76597bb4cdd6ca24424308",
      "parents": [
        "bd4b1bad48662057a44cdaaef3c0fc8c07739a31"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Nov 16 00:15:28 2017 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sun Dec 03 17:50:34 2017 +0000"
      },
      "message": "Convert framework.jar to Android.bp\n\nUse Soong to build framework-res.apk and framework.jar.\nSee build/soong/README.md for more information.\n\nBug: 69917341\nTest: m checkbuild tests docs\nTest: manually compare framework.jar and framework-res.apk\nTest: manually compare out/target/common/docs\nChange-Id: Ibdfe1cbf34d97c43f4857c2c5d7604fa72d5b5a4\nMerged-In: Ibdfe1cbf34d97c43f4857c2c5d7604fa72d5b5a4\n(cherry picked from commit cf3a0b5355c6138538f9f3d4b369a875814bc01c)\n"
    },
    {
      "commit": "cf3a0b5355c6138538f9f3d4b369a875814bc01c",
      "tree": "d028ce1c0d01d659d696d64504eebb2110abe357",
      "parents": [
        "54c43f46fc69f5c68b78208b7f05a7ec8892a3e6"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Nov 16 00:15:28 2017 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Nov 30 14:14:08 2017 -0800"
      },
      "message": "Convert framework.jar to Android.bp\n\nUse Soong to build framework-res.apk and framework.jar.\nSee build/soong/README.md for more information.\n\nBug: 69917341\nTest: m checkbuild tests docs\nTest: manually compare framework.jar and framework-res.apk\nTest: manually compare out/target/common/docs\nChange-Id: Ibdfe1cbf34d97c43f4857c2c5d7604fa72d5b5a4\n"
    },
    {
      "commit": "cf6e63b4dbe69f140850d9709095a9b068474449",
      "tree": "8ab13a844832b4b9e2364c61810302a01178aaf1",
      "parents": [
        "108e94d9b072a6b54f6a683f4c76f46871e7d3f1",
        "09d8a996e0b09a54b3ac2f6fb1f356dca00e4097"
      ],
      "author": {
        "name": "Mohamed",
        "email": "abdalkader@google.com",
        "time": "Thu Nov 30 16:34:15 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 30 16:34:15 2017 +0000"
      },
      "message": "Merge \"Add SMS over IMS APIs\" am: 74445ed311 am: 208f232825\nam: 09d8a996e0\n\nChange-Id: I0c49f42e220aed34c6bb4801ae80e29aeea329eb\n"
    },
    {
      "commit": "208f232825b8799e12f16994f303efa0188ee493",
      "tree": "0ac2364fef4d6899864348f7cec74ec48903520e",
      "parents": [
        "cba4979a6a2f2bd2fee1a7043203cbc9367cbda9",
        "74445ed3111486737520a1768db20ba36f5af1fd"
      ],
      "author": {
        "name": "Mohamed",
        "email": "abdalkader@google.com",
        "time": "Thu Nov 30 16:05:36 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Nov 30 16:05:36 2017 +0000"
      },
      "message": "Merge \"Add SMS over IMS APIs\"\nam: 74445ed311\n\nChange-Id: I5b08b82f39968adc111d0b3361b4312eb7244913\n"
    },
    {
      "commit": "74445ed3111486737520a1768db20ba36f5af1fd",
      "tree": "fae0671094ea26917719f9fe7e09c7ed99a49dca",
      "parents": [
        "171fce83775f98175c7113f2ec8cec2e247e174d",
        "037749df03aff860db94c47e69b4ba3913f5e0e2"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 30 15:56:30 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 30 15:56:30 2017 +0000"
      },
      "message": "Merge \"Add SMS over IMS APIs\""
    },
    {
      "commit": "037749df03aff860db94c47e69b4ba3913f5e0e2",
      "tree": "cb4363fddb9a141ce525d3dc284d71122b07c7ff",
      "parents": [
        "419ec0528444ba4755199ed6cf6ffa6d1b201d95"
      ],
      "author": {
        "name": "Mohamed",
        "email": "abdalkader@google.com",
        "time": "Mon Nov 27 18:40:09 2017 -0800"
      },
      "committer": {
        "name": "Mohamed",
        "email": "abdalkader@google.com",
        "time": "Wed Nov 29 16:14:57 2017 -0800"
      },
      "message": "Add SMS over IMS APIs\n\n- Adds public APIs that IMS providers will implement/use\n- Adds aidl APIs for internal communications to support SMS over IMS.\n- First pass at documentation of APIs.\n\nMoving over from  ag/3265442\n\nBug: 69846044\n\nTest: None\nChange-Id: Ic665a2a7d64a56417bcf2a159d6b88b05cdb832a\n"
    }
  ],
  "next": "9952370286142fbc6fa5f3416dcbdf898d24842a"
}
