)]}'
{
  "log": [
    {
      "commit": "7cba8a7fe42f966070645d65bb1f3ad8f4f79601",
      "tree": "fcca346e9939327d65e7fc3955795418804eb4a6",
      "parents": [
        "e860c63891dc5da38476956d3ae3d838b23f9852",
        "4079654c0a54db3f32b11d8ab4a13f56ae0ac857"
      ],
      "author": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Wed Sep 19 14:34:04 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 19 14:34:04 2018 +0000"
      },
      "message": "Merge \"Enable api-versions.xml generation for api-stubs\""
    },
    {
      "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": "4079654c0a54db3f32b11d8ab4a13f56ae0ac857",
      "tree": "a0f63ac539ac0aae28de61aa03d36a769e822a96",
      "parents": [
        "dbe20066d35c0d9f8db2346da2ef4e0310df6872"
      ],
      "author": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Tue Sep 18 10:46:10 2018 -0700"
      },
      "committer": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Wed Sep 19 01:56:48 2018 +0000"
      },
      "message": "Enable api-versions.xml generation for api-stubs\n\nTest: m -j\nout/target/common/obj/PACKAGING/api-stubs-docs_generated-api-versions.xml\nBug: b/78245848\n\nChange-Id: I2800f49e264473f5ec78e074cfd844c72342522f\nMerged-In: I2800f49e264473f5ec78e074cfd844c72342522f\n"
    },
    {
      "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": "ff97819d8bbec13148c25d2ec29201d5abb9e012",
      "tree": "32a84fa470defcc5e35ed0aa0abc5a9eb848f3ad",
      "parents": [
        "55b91f6d93296b02244ccb9051a64f6ac498f56d"
      ],
      "author": {
        "name": "Pete Gillin",
        "email": "peteg@google.com",
        "time": "Mon Sep 17 15:45:33 2018 +0100"
      },
      "committer": {
        "name": "Pete Gillin",
        "email": "peteg@google.com",
        "time": "Mon Sep 17 16:35:59 2018 +0100"
      },
      "message": "Rename the ojluni-annotated-stubs target.\n\nAll of the annotations under this are intended for use in the SDK. In\norder to make this clear (because other types of annotations are\nplanned), this change renames the target to\nojluni-annotated-sdk-stubs.\n\nBug: 115746226\nTest: `make api-stubs-docs`\nChange-Id: I11366b6293b681cb4c8118fc117601a671c33282\n"
    },
    {
      "commit": "7764a4b84faf2a7e3b34cc7703054ba66d91fc87",
      "tree": "3638d4415f6b60b37b7ce9c72a1b501f259d0158",
      "parents": [
        "57e5e6838537f8b7587557b4210aad7c29248dbd"
      ],
      "author": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Wed Aug 22 11:27:31 2018 -0700"
      },
      "committer": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Wed Sep 12 16:31:49 2018 -0700"
      },
      "message": "Migrate all offline/online sdk docs generation to use Metalava\n\nThese targets all depend on libcore sources which are blocker for us to\nenable java9 feature, so convert them to Metalava.\n\nAlso enable API level annotations for api-stubs-docs, offline-sdk-docs,\nand online-sdk-docs.\n\nTest: m -j docs\nBug: b/78245848\nChange-Id: I354d699a79cc5e6580b50e0613e7602c77b9c0b5\n"
    },
    {
      "commit": "894c9ec58338c9fbb8d92c6392021553bce034b2",
      "tree": "613d06cfb6a9caffca1c88a756fa6a3b331f01fd",
      "parents": [
        "e8997689881c9bf16a738b5d50d446b15a88c062"
      ],
      "author": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Mon Sep 10 18:58:39 2018 -0700"
      },
      "committer": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Tue Sep 11 15:41:50 2018 -0700"
      },
      "message": "For metalava target, use droidstubs instead of droiddoc\n\ndroidstubs is used to generate stubs files only.\n\nTest: m -j api-stubs-docs\nBug: b/8d0763849\nChange-Id: Ia7c3d19ed2ec7b0f5b96008e5780dbcd5a32402b\n"
    },
    {
      "commit": "f4fc71f370a1237dfa902ff2ce2141c574edcbbe",
      "tree": "66928e0824c868cef71b54f850a4a6b9f254fd71",
      "parents": [
        "c9fc995e0e410f7988bb43a3eed35e52bd9d8a34",
        "e933cedf837d39a713ef44cadfb07f2c1d863652"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 07 01:01:59 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 07 01:01:59 2018 +0000"
      },
      "message": "Merge \"Build android.test.* with java_sdk_library\""
    },
    {
      "commit": "bad89e5e5b171a71e42d7c738ec97a39747e4318",
      "tree": "713d2fe9e6a0a149ac86044261094a4f9d487992",
      "parents": [
        "8ac363088ce16df9d50953c1aed636616513b7d8"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Thu Jun 28 14:12:10 2018 +0100"
      },
      "committer": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Wed Sep 05 15:01:21 2018 +0100"
      },
      "message": "Processor for @UnsupportedAppUsage annotations.\n\nThe processor outputs unsupportedappusage_index.csv, containing source\nposition info for every@UnsupportedAppUsage annotation processed. It is a\nmapping of dex signature to the source postion of the annotation on that\nsignature. It is used as input for scripts which update the annotations.\n\nWe include a META-INF file which causes the compiler to automatically\npick up the annotation processor. Otherwise we would need to explicitly\nspecify the processor with a -processor flag to javac.\n\nWe create a new build target for just the @UnsupportedAppUsage annotation\nand the @IntDef annotation (which it depends on) so that the processor can\nalso depend on that directly.\n\nThe processor only runs on a new build target framework-annotation-proc\nso that it is not invoked as part of a regular build. This is done so\nthat we don\u0027t slow down peoples builds: Soong does not support annotation\nprocessors when javac sharding is in use. This workaround can be removed\nonce b/77284273 is fixed.\n\nTest: m framework-annotation-proc\nBug: 113853502\n\nChange-Id: Ie9cd5a90ddf7a51f6035e849703fc39ad9127557\n"
    },
    {
      "commit": "cae1f264b99928881ec84af52ec396454a96188b",
      "tree": "eaaa5be00b4f0d5763a907098eea74df188db699",
      "parents": [
        "ee570a61de5d7219d76bdfef391b70fa99bcc1c4"
      ],
      "author": {
        "name": "sqian",
        "email": "shuoq@google.com",
        "time": "Wed Jun 06 22:54:04 2018 -0700"
      },
      "committer": {
        "name": "sqian",
        "email": "shuoq@google.com",
        "time": "Fri Aug 31 12:59:40 2018 -0700"
      },
      "message": "Call Redirection Surface in Telecom out going call flow\n\n- Provide a Call Redirection API Surface\n- Provide a key \"KEY_CALL_REDIRECTION_SERVICE_COMPONENT_NAME_STRING\"\n  in the CarrierConfigManager\n- Create .aidl interfaces for Call Redirection\n(CallRedirectionService.aidl, CallRedirectionAdapter.aidl)\n\nBug: 64959558\nTest: Compile\nChange-Id: Ic119fa445e66f1275eabf944c77fdc981bc9a2a7\nMerged-In: Ic119fa445e66f1275eabf944c77fdc981bc9a2a7\n(cherry picked from commit ea8970cd55fa561dbad9579925fee4db469a539b)\n"
    },
    {
      "commit": "e933cedf837d39a713ef44cadfb07f2c1d863652",
      "tree": "9b32fba18cacc61fb6d7b6145a73183a9e50f2ba",
      "parents": [
        "c96760f4f30279bdddcbdc83398bc069740970f1"
      ],
      "author": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Tue Jul 31 16:54:41 2018 +0900"
      },
      "committer": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Wed Aug 29 12:22:59 2018 +0900"
      },
      "message": "Build android.test.* with java_sdk_library\n\nandroid.test.* are built with java_sdk_library and api files are added\nby running \"make update-api\".\n\nandroid.test.base_static is created for allowing to use\nandroid.test.base as a static library.\n\nBug:77577799\nTest: make -j\nTest: make checkapi\nTest: make checkapi fails with a random change in the txt file\nTest: adb shell cmd package list libraries |\\\n      grep android.test.*\n      And check the android.test.* libraries\n\nMerged-In: Ia27612657532e50b077a9c55dbef59ee3ec04b8a\nChange-Id: Ia27612657532e50b077a9c55dbef59ee3ec04b8a\n"
    },
    {
      "commit": "a17beeb779df0118d14997c5aac45256ad4c805f",
      "tree": "c00ca560ed736bbbf2534184ab186d2bd6e5651d",
      "parents": [
        "7fe46504bea1d55b83ceec0cb07b4b8d4fd80aeb"
      ],
      "author": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Wed Aug 22 10:48:15 2018 -0700"
      },
      "committer": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Thu Aug 23 15:35:33 2018 -0700"
      },
      "message": "[java9] Convert hiddenapi-list target to Metalava\n\nThis blocks how we try java9 for droiddoc since \"hiddenapi-lists-docs\"\ntargets depends on libcore sources. So migrate this target to Metalava.\n\nTest: m -j hiddenapi-lists-docs\nBug: b/78245848\nChange-Id: Iae47d351d974e33490c3a1e9bb9f0f5d15eedfaf\nMerged-In: Iae47d351d974e33490c3a1e9bb9f0f5d15eedfaf\n"
    },
    {
      "commit": "c9b01b87b11d4caa33a29db18287416b25179ef7",
      "tree": "173dfe3f705186d555e311780bcc21fdf43eb947",
      "parents": [
        "5831d309fad9e9c1f291159d748f13268a2a28d8",
        "cd060d9808732074e7bd64ad43362ea8f58265f1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Aug 23 07:33:31 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 23 07:33:31 2018 +0000"
      },
      "message": "Merge \"Add compatibility check for (system|test_)api-stubs-docs\""
    },
    {
      "commit": "63de9eabec118ee40c6f1e1a0526b93d8f9dcdf0",
      "tree": "0670b884d7fb5afb56cb82cdf29bb254ed4e18d6",
      "parents": [
        "a6d6bf816b9a507ad5d06235d48e0e41502019df",
        "a3ab5750a4e939fe0d83606d7772f177369eabab"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Wed Aug 22 20:18:11 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 22 20:18:11 2018 +0000"
      },
      "message": "Merge \"Added qualified networks services\""
    },
    {
      "commit": "a3ab5750a4e939fe0d83606d7772f177369eabab",
      "tree": "677c539c57eab871933e9871a45f467671e358f9",
      "parents": [
        "d68f003c67ca6364202a57f0c695012d4ea4571e"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Tue Feb 20 14:08:57 2018 -0800"
      },
      "committer": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Tue Aug 21 17:57:57 2018 -0700"
      },
      "message": "Added qualified networks services\n\nAdded the qualified networks service, which is a base\nclass for vendor\u0027s qualified network service to extend.\nThe service is to update frameworks the available\nnetworks for data setup for each APN type.\n\nTest: Manual\nBug: 73659459\nChange-Id: I7238aeac8e48be2a17245de77239b242703bcb7e\n"
    },
    {
      "commit": "cd060d9808732074e7bd64ad43362ea8f58265f1",
      "tree": "b610234ee293e3789c2621ff18fb7b8d0f20d4cf",
      "parents": [
        "041eb388de78b03a8db825e65e5b9630d07cb528"
      ],
      "author": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Mon Aug 20 20:34:26 2018 -0700"
      },
      "committer": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Tue Aug 21 10:39:42 2018 -0700"
      },
      "message": "Add compatibility check for (system|test_)api-stubs-docs\n\nTest: m -j api-stubs-docs\nBug: b/78245848\nChange-Id: Ia4a337ac464232ac8a5bd054b940a7d7f1f4e213\n"
    },
    {
      "commit": "8ab61fb0ddf137aaa46db0cc371b1d706d08c0f3",
      "tree": "589ab0336684de79af526063183747c2e2808576",
      "parents": [
        "3b2cd9244d3e5a3a408be35603dde1e2774a0e57",
        "d41686cea5b996b4661f01191bb4f0c9ade96e0d"
      ],
      "author": {
        "name": "Pete Gillin",
        "email": "peteg@google.com",
        "time": "Tue Aug 21 15:14:55 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 21 15:14:55 2018 +0000"
      },
      "message": "Merge \"Stop reading the generated ojluni sources in droiddoc.\""
    },
    {
      "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": "d41686cea5b996b4661f01191bb4f0c9ade96e0d",
      "tree": "e960ff0fd57b8f7e3408ffbb37da7f50d49a3f8c",
      "parents": [
        "edeaddcd269b0c5b76bbc9cc90f5c7998ad74852"
      ],
      "author": {
        "name": "Pete Gillin",
        "email": "peteg@google.com",
        "time": "Mon Aug 20 17:33:46 2018 +0100"
      },
      "committer": {
        "name": "Pete Gillin",
        "email": "peteg@google.com",
        "time": "Mon Aug 20 17:33:46 2018 +0100"
      },
      "message": "Stop reading the generated ojluni sources in droiddoc.\n\nThese sources contain the result of applying the annotations from\nojluni.jaif to the ojluni sources. Now that ojluni.jaif is empty, this\nis a noop, so this change switches back to reading the original\nsources.\n\nBug: 111639530\nTest: `make docs` is not affected\nChange-Id: Idb98aa4f054a11bfcbcb8a84dd6f357a0a025c49\n"
    },
    {
      "commit": "e561260e59ac5f1c3a6763fd607d1abe01db6a3e",
      "tree": "c64bcbd6bd799cf99b7896bff78d6cd47bf45760",
      "parents": [
        "eb973c97daaba432e856219a9c17c13033341c16"
      ],
      "author": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Thu Aug 16 16:16:00 2018 -0700"
      },
      "committer": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Fri Aug 17 13:32:14 2018 -0700"
      },
      "message": "Add update-api for Metalava based api-stubs-docs\n\nUse check_api section to put the target files which need to be updated.\nBut check_api doesn\u0027t do actually checking work.\n\nBug: b/112668343\nTest: m -j api-stubs-docs-update-current-api\nChange-Id: I0f28e6e480413e0ac5cdff51bc4b2df478a867f6\n"
    },
    {
      "commit": "dc72ad5218f2e5c745e4f85ef4d46d3a0a120ed4",
      "tree": "73fc44514f85cf881230e6395c31ec9ab7440bf1",
      "parents": [
        "fcb597e1f562bd14c338c6da8f27d2fc17af5dd9",
        "c28a0ac77c19c23fdcfb759c3b280ba1f4768d70"
      ],
      "author": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Fri Aug 17 16:53:11 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 17 16:53:11 2018 +0000"
      },
      "message": "Merge \"Remove api-stubs-docs targets.\""
    },
    {
      "commit": "1c8219bcdda5481e138368ffb6897ecd9c54f160",
      "tree": "395032b82764a32d21de76f3e9b108941cc59927",
      "parents": [
        "d5dc5a7168711f36553e85315842d7b64f8bfea2"
      ],
      "author": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Thu Aug 16 17:10:22 2018 -0700"
      },
      "committer": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Thu Aug 16 17:10:22 2018 -0700"
      },
      "message": "Use 28.txt as API file for migrating NULLs in Metalava\n\nUse last released API file for annotations reference in master branch\n(non-releasing branch).\n\nTest: manual\nBug: b/78245848\nChange-Id: I0520231619001032c00d98fdc8cd86aa41f4fa14\n"
    },
    {
      "commit": "c28a0ac77c19c23fdcfb759c3b280ba1f4768d70",
      "tree": "30358399e84b87779cdf941a7df89ae344a1a5ce",
      "parents": [
        "0f7d0f4e94615d46e7468e7d41dd20f77cdb9a80"
      ],
      "author": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Tue Aug 07 13:40:33 2018 -0700"
      },
      "committer": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Tue Aug 14 13:46:01 2018 -0700"
      },
      "message": "Remove api-stubs-docs targets.\n\nSince api-stubs-docs will be replaced by Metalava.\n\nTest: m -j checkbuild\nBug: b/70351683 b/78245848\nChange-Id: I3d2091afb0b5d93250573076d4dc95b47c634f2d\nMerged-In: I3d2091afb0b5d93250573076d4dc95b47c634f2d\n"
    },
    {
      "commit": "9850dd9751459288a62dadc8b539b4969b485638",
      "tree": "11b14b7c8a147544ce24887b8470c4219e4480ee",
      "parents": [
        "bf668472406a4b7f030eb20f35e4e4386b56671f"
      ],
      "author": {
        "name": "Nirav Atre",
        "email": "natre@google.com",
        "time": "Tue Jul 24 17:03:44 2018 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Aug 13 14:31:17 2018 -0700"
      },
      "message": "Implementing support for HIDL native handles in Java\n\nThis change implements the equivalent of the C++ native_handle_t type in\nJava. Similar to the C++ type, the NativeHandle class wraps an arraylist\nof FileDescriptor objects, along with a raw data stream (integer array).\n\nBug: 35098567\nTest: Ran m, hidl_test (C++ and Java). Functionality tests are included\nin a separate CL.\n\nChange-Id: Ic53f9a49ae17ce5708577a586230126ab0e222c7\n"
    },
    {
      "commit": "c12090200dac151eeb7f28ac437540d4a7f44d71",
      "tree": "7dc4f8a68121e156ac8a56ab72c16f4983c87c15",
      "parents": [
        "e6d7a51aa1898e5c3c5eb5958395c8fc493cdd2c",
        "c8cbb3667332813b7095287c6237c0f0dd0ef906"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Aug 13 12:22:29 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 13 12:22:29 2018 +0000"
      },
      "message": "Merge \"Add libcore/ojluni/annotations as a source for metalava.\""
    },
    {
      "commit": "159799d7c971777231d17c0aabd60d36044ab331",
      "tree": "4f64733081b777b08a39be947b27589667ac54e8",
      "parents": [
        "9b04b2fd0b41b6bca58eb1d7116c597bb67856bd"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Aug 08 07:05:19 2018 -0700"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Wed Aug 08 09:52:51 2018 -0700"
      },
      "message": "Work around b/70221552\n\nIf one sets a sufficiently long OUT_DIR to build into the\n//frameworks/base:framework-javastream-protos generate target will\nfail due to trying to run a too-long command. This works around that\nproblem by making the command being run much smaller.\n\nTest: Build\nBug: 70221552\nChange-Id: I0134ccfc83469826d3ea8679e1c52b9b52c6d2e0\n"
    },
    {
      "commit": "c8cbb3667332813b7095287c6237c0f0dd0ef906",
      "tree": "b31902f77dcd9ea4ce8cd6dfa5dd4ce2070a5e26",
      "parents": [
        "38c9e614af1f516f44f2a74fb9d0ec6963f809a8"
      ],
      "author": {
        "name": "Pete Gillin",
        "email": "peteg@google.com",
        "time": "Tue Jul 31 13:33:03 2018 +0100"
      },
      "committer": {
        "name": "Pete Gillin",
        "email": "peteg@google.com",
        "time": "Tue Aug 07 16:49:08 2018 +0100"
      },
      "message": "Add libcore/ojluni/annotations as a source for metalava.\n\nThis adds the new annotations (in Java stub format) to the list that\nmetalava will merge when building stubs.\n\nBug: 111639530\nTest: `make metalava-api-stubs-docs`\nChange-Id: I5e73d1276f0602bd14a41f7a64659b1a7b1347cf\n"
    },
    {
      "commit": "7e1e76a6dc088458b159c4c89c54b78d32d7d310",
      "tree": "58ec7c6fe4bc8c67a79440d4698218c16f430dc3",
      "parents": [
        "361efeed1b319c7e8bac08fe10520eb0d443e6b5",
        "003f49cf0c8bda89663794ecb95881b3bd0565e3"
      ],
      "author": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Mon Aug 06 18:54:35 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 06 18:54:35 2018 -0700"
      },
      "message": "Merge changes from topic \"offlinesdk-docs\"\nam: 003f49cf0c\n\nChange-Id: Ie2869c671faab24bfc4f426261e4d079d0f3b5de\n"
    },
    {
      "commit": "d9cb1b429ae54c54c8d1b06749d34be4ce12f25d",
      "tree": "fe1f882c2196582981a78d81f59e4516916c6f6d",
      "parents": [
        "61f6dc4c240b710a9695fa505010f6eeb2472b8b",
        "f8e12c51d49691549efedd32e7adcc58b228826b"
      ],
      "author": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Mon Aug 06 18:30:35 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 06 18:30:35 2018 -0700"
      },
      "message": "Merge \"Depend on a module instead of real dir for metalava_merge_annotations_dirs\"\nam: f8e12c51d4\n\nChange-Id: Ice53109de35716bbdee921d595f015f16f559b3f\n"
    },
    {
      "commit": "003f49cf0c8bda89663794ecb95881b3bd0565e3",
      "tree": "546adba3167f21e440bded74ede5ae66f03466dc",
      "parents": [
        "f8e12c51d49691549efedd32e7adcc58b228826b",
        "dbc253143b4d7fcc12810714e2fc1d78739d424c"
      ],
      "author": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Tue Aug 07 00:05:27 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 07 00:05:27 2018 +0000"
      },
      "message": "Merge changes from topic \"offlinesdk-docs\"\n\n* changes:\n  Add more libs for framework docs generation\n  Add offline/online-sdk-docs in Soong.\n"
    },
    {
      "commit": "dbc253143b4d7fcc12810714e2fc1d78739d424c",
      "tree": "635c20aa56ff40bdf82975f708a3b69cc142322b",
      "parents": [
        "c3ce78d660dcec54962e5093ccbb81fcee5c4be7"
      ],
      "author": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Thu Aug 02 16:29:43 2018 -0700"
      },
      "committer": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Thu Aug 02 16:29:43 2018 -0700"
      },
      "message": "Add more libs for framework docs generation\n\nThese two libs are not in the default libs which caused droiddoc report\nlots of \"package not found warning\" when generating offline/online docs.\n\nTest: m -j ds-static-docs\nBug: b/70351683\nChange-Id: Ibb1f5e1817895abb1b711dc537493bd93c77077b\n"
    },
    {
      "commit": "c3ce78d660dcec54962e5093ccbb81fcee5c4be7",
      "tree": "65aaf9cf73d2418db8c99fb104f5d91d9a4455e0",
      "parents": [
        "c02b2ec3f179820c31c470d89b919ce721513472"
      ],
      "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": "Thu Aug 02 12:16:45 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": "e379f408933b2945285b36f3d6baede8b11f92b8",
      "tree": "709c74e095b92b8a64841cbcb809a503dfc84cdc",
      "parents": [
        "c14a4be7998b18ce7caea2b63ef30ca09868d1f7"
      ],
      "author": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Wed Aug 01 15:07:38 2018 -0700"
      },
      "committer": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Wed Aug 01 22:19:48 2018 +0000"
      },
      "message": "Depend on a module instead of real dir for metalava_merge_annotations_dirs\n\nBug: b/111916275\nTest: touch manual/android/support/design/widget/annotations.xml, and m\n-j metalava-api-stubs-docs, and check the built output srcjar.\n\nChange-Id: I82e8b51d66f97ebc3f9f4f5aa75ce33066c95089\n"
    },
    {
      "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": "d9a8e834dd231333954d857952d918098012c6a0",
      "tree": "9834ef3c1e86157bd7dcdaea8461cdcb243ca8f1",
      "parents": [
        "b70a2305848bbbaec147073f86eb2eebce1c4ead",
        "3134def524b99fb24f9ac52f0ba923e105a836dc"
      ],
      "author": {
        "name": "Olivier Gaillard",
        "email": "gaillard@google.com",
        "time": "Thu Jul 26 07:20:50 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 26 07:20:50 2018 -0700"
      },
      "message": "Merge \"Enable generating Binder#getTransactionName method.\"\nam: 3134def524\n\nChange-Id: I5dcdceb1d1e4525576ac21a2bba964dfb6bb0006\n"
    },
    {
      "commit": "b0ea4213514be12794843a75498825a52faba157",
      "tree": "327d448db0a5a84d0b4a7f6c7d36aaf9c4302503",
      "parents": [
        "716c04b29a0bd117aab33d8b81621a3fff0af7a7"
      ],
      "author": {
        "name": "Olivier Gaillard",
        "email": "gaillard@google.com",
        "time": "Thu Jul 26 11:52:37 2018 +0100"
      },
      "committer": {
        "name": "Olivier Gaillard",
        "email": "gaillard@google.com",
        "time": "Thu Jul 26 11:58:42 2018 +0100"
      },
      "message": "Enable generating Binder#getTransactionName method.\n\nTest: manual\nBug: 111791983\nChange-Id: I68090e6fa5a7876b1e878d0b97807856e3053b36\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": "6722abdede258f834fa4bb56ff17141fb9ba7a9b",
      "tree": "26baf9892b1e1ffb461b6e4adcc7f395132e925b",
      "parents": [
        "77cc79264e0416bdd745f284568a8378e1ce1bb1",
        "9119e2e49d82d59a563f848967c499e989888563"
      ],
      "author": {
        "name": "Olivier Gaillard",
        "email": "gaillard@google.com",
        "time": "Wed Jul 25 13:36:45 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jul 25 13:36:45 2018 -0700"
      },
      "message": "Merge \"Disable generating Binder#getTransactionName.\"\nam: 9119e2e49d\n\nChange-Id: Ic2a31bee9e6768c227dd6de8e2500e9e13f77ecf\n"
    },
    {
      "commit": "c2b639218ea3ad7b25c0be8751a39122902774aa",
      "tree": "b7e280dae2469d3d178cbafa7250df4f1059f18b",
      "parents": [
        "7393f85a6ef52d0f1bfa62652f499f633800276a",
        "8c8fb65ad322fbdb7f3580797a2caa7147f979c2"
      ],
      "author": {
        "name": "Pete Gillin",
        "email": "peteg@google.com",
        "time": "Wed Jul 25 10:15:02 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jul 25 10:15:02 2018 -0700"
      },
      "message": "Merge \"Turn droiddoc\u0027s metalava_merge_annotations_dir into a list.\"\nam: 8c8fb65ad3\n\nChange-Id: I33e614584ec7b445b35872d0b84d5224c6f7c4af\n"
    },
    {
      "commit": "a657aeb185ff56cdec7aca8418db1eacdf91f04f",
      "tree": "875a410232945b1d373e8f9160fec63a086427b8",
      "parents": [
        "8c8fb65ad322fbdb7f3580797a2caa7147f979c2"
      ],
      "author": {
        "name": "Olivier Gaillard",
        "email": "gaillard@google.com",
        "time": "Wed Jul 25 17:16:49 2018 +0100"
      },
      "committer": {
        "name": "Olivier Gaillard",
        "email": "gaillard@google.com",
        "time": "Wed Jul 25 17:18:07 2018 +0100"
      },
      "message": "Disable generating Binder#getTransactionName.\n\nIt might have introduce a performance regression.\n\nBug: 111791983\nTest: manual\nChange-Id: I459d9e4e4d2d5d0be0531742a7910848702a1384\n"
    },
    {
      "commit": "d6eece37abc60f1438e7a8247e0c89acd449dfdd",
      "tree": "dd676da6096e7a313a365f6aaae5b27e981e099f",
      "parents": [
        "6c32f5d18e1af7d4e2cd231577636d5dd9277719"
      ],
      "author": {
        "name": "Pete Gillin",
        "email": "peteg@google.com",
        "time": "Thu Jul 19 18:08:06 2018 +0100"
      },
      "committer": {
        "name": "Pete Gillin",
        "email": "peteg@google.com",
        "time": "Wed Jul 25 11:43:42 2018 +0100"
      },
      "message": "Turn droiddoc\u0027s metalava_merge_annotations_dir into a list.\n\nThis change replaces droiddoc\u0027s metalava_merge_annotations_dir\nparameter (which takes a single value) with\nmetalava_merge_annotations_dirs (which takes a list). This will makes\nit possible to merge libcore annotations in from a separate directory\nunder ojluni, instead of adding them in a preprocessing step.\n\nTest: `make metalava-api-stubs-docs` with a local change to add a second directory\nBug: 111639530\nChange-Id: I8eb778038c1cb52ddb6fc86d972f555f49e836b2\n"
    },
    {
      "commit": "c142f686c5e221f7946062fb2b0cea9360260e4f",
      "tree": "0ac8d544fdf7e1054bfae106dc963ad071a821fb",
      "parents": [
        "1fad55e8681f976683ec2f5e54202fcce9f650b4",
        "3e3a6e4760e3e8f3b7ff30aac4aa1a64c13d52dc"
      ],
      "author": {
        "name": "Olivier Gaillard",
        "email": "gaillard@google.com",
        "time": "Mon Jul 23 05:07:33 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jul 23 05:07:33 2018 -0700"
      },
      "message": "Merge \"Enable the generate transaction name for system server.\"\nam: 3e3a6e4760\n\nChange-Id: I0d54112c689aeaf83c4bc108af0a303e2850e85a\n"
    },
    {
      "commit": "b19219207caa935655ff00a776a682ca6794bdbe",
      "tree": "5739c9d773982da0e6798d457a88f0c091d73028",
      "parents": [
        "bb352287c9f3631633274d2d70fc54b9b3eee851"
      ],
      "author": {
        "name": "Olivier Gaillard",
        "email": "gaillard@google.com",
        "time": "Tue Jul 17 11:25:11 2018 +0100"
      },
      "committer": {
        "name": "Olivier Gaillard",
        "email": "gaillard@google.com",
        "time": "Mon Jul 23 10:15:54 2018 +0000"
      },
      "message": "Enable the generate transaction name for system server.\n\nSize of vdex,art,oat files (flag off -\u003e on)\n- framework/boot*.vdex: +10K  (3.589M -\u003e 3.599M)\n- framework/arm64/boot*.{art,oat}: +20K  (4.378M -\u003e 4.398M)\n\nTest: manual\nChange-Id: I4938ca5459004494a50ec81db9ef9e0f0e6e7a60\n"
    },
    {
      "commit": "58faaa09dadaf52f940cbf3f6d5269c6616ab455",
      "tree": "073d6704aee1484ea04cf75821a5bfba2c0485f8",
      "parents": [
        "4bff76be8058a0c2948836b4fd01b35bb57e9f86"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Fri May 04 13:48:31 2018 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Tue Jul 17 15:35:49 2018 -0700"
      },
      "message": "IBatteryPropertiesRegistrar: remove unused functions\n\n* Remove BatteryProperties\n* Remove IBatteryPropertiesListener\n* Remove IBatteryPropertiesRegistrar.(un)registerListener\n  functions\n\nTest: builds\nTest: boots\nBug: 68724651\nChange-Id: Ic9a9d337e5cb39784db1a2745297ef985dd31653\nMerged-In: Ic9a9d337e5cb39784db1a2745297ef985dd31653\n(cherry picked from commit dd0e942597b51e517eb65d9ea80595d46a3e89df)\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": "d7647c1b6685dbf03ff096fd73424163f2468e4e",
      "tree": "e00f4e422abf544ff38320084bedc8d378130c21",
      "parents": [
        "4500790a81b5179bacecaff799b89b0d0c06f993"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jul 10 14:24:31 2018 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jul 10 14:30:07 2018 -0700"
      },
      "message": "Mark installable jars with installable: true\n\nMost jars don\u0027t need to be installed on the device.  Instead of\nusing java_library and java_library_static to distinguish between\nthem make java_library and java_library_static identical and use\ninstallable: true to identify the few jars that need to be dexed\nand installed on the device.\n\nBug: 110885583\nTest: m checkbuild\nChange-Id: I19c0e723285c7088700f50567b9c2140289f9edf\n"
    },
    {
      "commit": "4500790a81b5179bacecaff799b89b0d0c06f993",
      "tree": "feefa104138e4329e02ebca92c6138e35b7a9399",
      "parents": [
        "ccee79d9cedca4b0ba0d4179fa945f645006a7e8",
        "b4919259ab3a5caf367ca05798618c6785606182"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Tue Jul 10 11:41:48 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 10 11:41:48 2018 -0700"
      },
      "message": "Merge \"Add build rule for API-\u003esource mapping.\"\nam: b4919259ab\n\nChange-Id: I616da3024e5d310ae6993b4437611cb188c8145a\n"
    },
    {
      "commit": "b4919259ab3a5caf367ca05798618c6785606182",
      "tree": "8ab1f242d09f119e8a47161787414de86925d2ad",
      "parents": [
        "62d5e041a2c219b1ce6aaa8ccbc83e0fa7989ab7",
        "0a6a273013e8185da95646acb1b227a280787f39"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Tue Jul 10 17:12:37 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jul 10 17:12:37 2018 +0000"
      },
      "message": "Merge \"Add build rule for API-\u003esource mapping.\""
    },
    {
      "commit": "19609a7993f30794e79f0f828b06c3ff96fdd20f",
      "tree": "051454c4aca935162bede26e26cb7da6433982ee",
      "parents": [
        "06aa142232b118f4e5c4d7b0889c000164bcb4ea",
        "1035f48f612f259cfa4b6433a5d62cda7355f4ff"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Jul 10 09:12:46 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 10 09:12:46 2018 -0700"
      },
      "message": "Merge \"Mark installable jars with installable: true\"\nam: 1035f48f61\n\nChange-Id: Ia3176e68ddd7cfdb8351b2a0ea95efc9dd94d922\n"
    },
    {
      "commit": "0a6a273013e8185da95646acb1b227a280787f39",
      "tree": "0d519a301f7d5d3bb85534fa523e64295000192e",
      "parents": [
        "079f03f584e24915a296aaa4d8512ca1a7111e09"
      ],
      "author": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Fri Jun 22 15:30:02 2018 +0100"
      },
      "committer": {
        "name": "Mathew Inwood",
        "email": "mathewi@google.com",
        "time": "Tue Jul 10 09:20:42 2018 +0100"
      },
      "message": "Add build rule for API-\u003esource mapping.\n\nThis is used to get source positions of all class members in the boot\nclass path, to automate the addition of annotations. See\ngo/hidden-api-annotations for more context.\n\nMappings printed in:\nout/soong/.intermediates/frameworks/base/hiddenapi-mappings\n    /android_common/dex-mapping.txt\n\nTest: make hiddenapi-mappings\nBug: 110868826\nChange-Id: Ie67a8be6a5a71447a25d081bd466b8b5e01b0725\n"
    },
    {
      "commit": "a12c0f506cf509e1220f0095010350181c31c367",
      "tree": "7598f2489c53f952940acf254840648450a4b6f2",
      "parents": [
        "f40f05229c81971720ae16d20a2e629f142f39a7"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jun 27 11:00:11 2018 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Jun 27 11:49:44 2018 -0700"
      },
      "message": "Mark installable jars with installable: true\n\nMost jars don\u0027t need to be installed on the device.  Instead of\nusing java_library and java_library_static to distinguish between\nthem make java_library and java_library_static identical and use\ninstallable: true to identify the few jars that need to be dexed\nand installed on the device.\n\nBug: 110885583\nTest: m checkbuild\nChange-Id: I579da7c1a712ec4fb49e288e7f3ab369cb75baf4\n"
    },
    {
      "commit": "e01a7adf5ac0113edc15699d8e45b376f368be76",
      "tree": "62067f0c7980783b94a04fcd2af83eae0dab4100",
      "parents": [
        "1239734050b0dbc40d5b06148d2d49fb8fb8e3c8",
        "55c0a6682574b881b0ccdf2b08fdc4b6c84d1b81"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Jun 26 11:55:46 2018 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Jun 26 11:55:46 2018 +0100"
      },
      "message": "resolve merge conflicts of 55c0a6682574b881b0ccdf2b08fdc4b6c84d1b81 to stage-aosp-master\n\nBUG: None\nTest: I solemnly swear I tested this conflict resolution.\nChange-Id: Ie524607cabc6688911eee7e4f61c50fd406c71f4\n"
    },
    {
      "commit": "cccc48d0fe07349e1804dd7803db604d37a6d450",
      "tree": "5074de619835716126f01e71c1e5f55dd5559cdd",
      "parents": [
        "3b0eba44994cf35b743a09cba351427a1f700c5f"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Jun 19 12:53:47 2018 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Jun 21 09:30:34 2018 +0000"
      },
      "message": "Minimum viable TimeZoneDetectorService\n\nThis is a do-nothing TimeZoneDetectorService that can be\npopulated in following commits. A temporary method has been\nadded so the service has one method.\n\nUnit tests can be run with:\n\natest FrameworksServicesTests:TimeZoneDetectorServiceTest\n\nTest: build / boot\nTest: See above\nMerged-In: I565fb5dd2f18b7aac2e5779d346bfe69e9da02af\nChange-Id: I565fb5dd2f18b7aac2e5779d346bfe69e9da02af\n"
    },
    {
      "commit": "0da95a5d64bbb641a6ed7ea5fec4f47e8ad039e7",
      "tree": "aeeb5ffd9bbb49ca0045b2757df639fd385787cf",
      "parents": [
        "ea044ca3734342e411cbe0b8bcd4c24b9da19c51",
        "79d3bf6e54b7651f228c7904da99a33655c4d712"
      ],
      "author": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Mon Jun 18 12:13:35 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 18 12:13:35 2018 -0700"
      },
      "message": "Merge \"Enabled annotations for Metalava based api-stubs.\"\nam: 79d3bf6e54\n\nChange-Id: I8b91e2259ce3b15313d5d4b822bf77696a6ebd5b\n"
    },
    {
      "commit": "4b81658d40f8a8351c387632b7c1ed2dbaabee51",
      "tree": "16ec5f5d321f960ce2440e23149dcba024954c25",
      "parents": [
        "5392d799ab9e9a392df24780d3727a9c55664517"
      ],
      "author": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Wed Jun 13 17:38:37 2018 -0700"
      },
      "committer": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Wed Jun 13 17:42:09 2018 -0700"
      },
      "message": "Enabled annotations for Metalava based api-stubs.\n\nTest: m -j metalava-api-stubs-docs\nBug: b/78245848\nChange-Id: I4ba661900a52f246fc0191c31aabfc96b89fa2db\n"
    },
    {
      "commit": "79d42a61e4c0832d8ec03da24f342de93341225c",
      "tree": "ec2bcbc1a012ab08c711cd81b40f2d067c8694a9",
      "parents": [
        "b57dfe26cfb1dc5eae20653d6490464d977c07bc",
        "5e1d95b0cc05eb1a6bf25a13223601f2e8f8fccb"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Jun 12 14:14:13 2018 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Jun 12 14:23:51 2018 +0100"
      },
      "message": "resolve merge conflicts of 5e1d95b0cc05eb1a6bf25a13223601f2e8f8fccb to stage-aosp-master\n\nBUG: None\nTest: I solemnly swear I tested this conflict resolution.\nChange-Id: Ic5527b29cbe8c84d2053be849cf09df5341e4790\n"
    },
    {
      "commit": "b557907f51a8a92954b60fe1d181e7f4e9f5c803",
      "tree": "c82bd687ee073b95f2ec5bb7ed363e27435917e7",
      "parents": [
        "20e243d627586ec727384aacf2cf5aa94e38b779"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed May 30 14:35:24 2018 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Jun 11 15:29:57 2018 +0100"
      },
      "message": "Minimum viable TimeDetectorService\n\nThis is a do-nothing TimeDetectorService that can be\npopulated in following commits. A temporary method has been\nadded so the service has one method.\n\nUnit tests can be run with:\n\natest FrameworksServicesTests:TimeDetectorServiceTest\n\nTest: build / boot\nTest: See above\nMerged-In: I9e4eac70b944441f34491315cd1ce7fa2b9ae150\nChange-Id: I9e4eac70b944441f34491315cd1ce7fa2b9ae150\n(cherry picked from commit feeee682a23f25760c4a1aa07c00945901911ba3)\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": "18543da4562d46ea256cf61111e0995fb32e4d85",
      "tree": "7c736a2e950ef3edb11e1e3c0b50759ef59f9e02",
      "parents": [
        "dc8059eea6a87eda87176f4c9e60dfcf71614669",
        "25d4494793b5718caf227957b5ba42fb6af55864"
      ],
      "author": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Wed Jun 06 01:20:55 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 06 01:20:55 2018 -0700"
      },
      "message": "Merge \"Add metalava based api-stubs modules in Android.bp\" am: f907578564\nam: 25d4494793\n\nChange-Id: I61a4f39fdef76aa49dea1b007b805cac5e55526f\n"
    },
    {
      "commit": "4212eb1beff99e0690f391547d361d5350d6b973",
      "tree": "47e02645c6469552039baa42734b574f5cfc129e",
      "parents": [
        "e72aecb6559af378da6fa0c18c60898156aa03bc"
      ],
      "author": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Wed Apr 25 17:23:33 2018 -0700"
      },
      "committer": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Tue Jun 05 17:00:52 2018 -0700"
      },
      "message": "Add metalava based api-stubs modules in Android.bp\n\nTest: m clean \u0026\u0026 m metalava-api-stubs-docs\nBug: b/78245848\nChange-Id: Ie0943d306af4176d965425ec85236cd173c1e870\n"
    },
    {
      "commit": "fa15a99fe910d0d20ab493e7ab4e39466fdd44ec",
      "tree": "34e421208ae17f58161ac998020b44a183046592",
      "parents": [
        "409e5d25a91cacdab6bd2a4c338d2ef1c84fa318"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Mar 08 16:43:07 2018 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri May 25 16:38:52 2018 +0900"
      },
      "message": "Remove FlpHardwareProvider\n\nAfter Treble\u0027s FLP merge into GNSS HAL, the FlpHardwareProvider is just\nan empty shell. Removing FusedLocation and/or Flp + Hardware classes\naltogether.\n\nBug: 35726697\nTest: m -j\nTest: Open Google Map and then walk around. The dot moves as I walk.\n\nMerged-In: I7f413e38b57424e8ebb9d7d14d94f145a48d10f8\nChange-Id: I7f413e38b57424e8ebb9d7d14d94f145a48d10f8\n(cherry picked from commit 4cc3a1c056f69ac4da1dc5055c36b7357e9f673c)\n"
    },
    {
      "commit": "39d2d18b8054fb0d35374d4eeb809de524e23b0b",
      "tree": "dbddafe4d55a8479be4dc8605132319ab886558c",
      "parents": [
        "acbd94d76f1d91707288f9f921c36faea385af48"
      ],
      "author": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Fri May 04 18:36:45 2018 -0700"
      },
      "committer": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Tue May 15 15:47:01 2018 -0700"
      },
      "message": "Update Android.bp for api-stubs in order to do api-check.\n\nBug: b/78034256\nTest: m clean \u0026\u0026 m checkapi\n\nChange-Id: Ifbda8825f95e26bb79aac9b1bb73c5e43f12d1fb\nMerged-In: Ifbda8825f95e26bb79aac9b1bb73c5e43f12d1fb\n"
    },
    {
      "commit": "05c47c8e5c3deba87e74f8b13cb9e21f2182b3a9",
      "tree": "228c4a898886b32f9627b3df2dafd5a0cb63ac12",
      "parents": [
        "d91222836ea2119499e4b2d46e9c4ccbac2dd946"
      ],
      "author": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Fri May 04 18:36:45 2018 -0700"
      },
      "committer": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Wed May 09 11:23:43 2018 -0700"
      },
      "message": "Update Android.bp for api-stubs in order to do api-check.\n\nBug: b/78034256\nTest: m clean \u0026\u0026 m checkapi\n\nChange-Id: Ifbda8825f95e26bb79aac9b1bb73c5e43f12d1fb\n"
    },
    {
      "commit": "a5d0d86b63c702cb0566282453912032c03b7af1",
      "tree": "16b1da453b4a5118e79de3bf1f16fad6681f0e64",
      "parents": [
        "e323532e81971d044f576078b99e578597c6ee73",
        "4d213e585646e35da888b9059f4d1f24c932a656"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed May 02 14:40:17 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed May 02 13:44:48 2018 +0000"
      },
      "message": "resolve merge conflicts of 4d213e585646e35da888b9059f4d1f24c932a656 to pi-dev-plus-aosp\n\nBUG: None\nTest: I solemnly swear I tested this conflict resolution.\nMerged-In: Ifa912f8751025b7de24a982a1a227a9c27d18267\nChange-Id: I9dc9a1e81d9a4d82823e15d1af0cc814a1005174\n"
    },
    {
      "commit": "96c9cbc1a1830780f8509434c766d77a49015b60",
      "tree": "38c59996dda8b76099793bea706c01dba4104a4d",
      "parents": [
        "0835de9e174cec64e6661b39988179902b31c83c"
      ],
      "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 08:54:02 2018 +0000"
      },
      "message": "Build same hidden API lists as in pi-dev\n\nP branch builds hidden API lists in a separate invocation of droiddoc\nwhich includes @SystemApi and @TestApi annotated class members in the\npublic API. This patch creates the same build rule in the master branch,\nonly with Soong instead of Makefile.\n\nTest: make out/soong/.intermediates/frameworks/base/hiddenapi-lists/android_common/private-dex.txt\nMerged-In: Ifa912f8751025b7de24a982a1a227a9c27d18267\nChange-Id: I80860c2b9f7213db65d0a9ca65bd645187aa0ce0\n"
    },
    {
      "commit": "9150bd4b483162d2be75b5e65f0899c974e94769",
      "tree": "896d7b727e213d9604ff29ee57060cd335e8f5a3",
      "parents": [
        "eeedbb5adf89c73c004e4a902ab2655d15959162",
        "86cd9642c33c2e3e7b3eaf45249a1a1a44ff0b73"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Thu Apr 26 07:41:56 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Apr 26 07:41:56 2018 -0700"
      },
      "message": "Merge \"Generate @removed DEX API signatures\" am: eddd165c20\nam: 86cd9642c3\n\nChange-Id: I936c3b375a4c1a58c301965f6a2922e135699663\n"
    },
    {
      "commit": "df41728b85354e791403c594c2e6031e540b854e",
      "tree": "3faccd0885c5f74eaaf91916e2140f4dd2a11d6d",
      "parents": [
        "238eaf5183f6f6b3ac2a319d9b204c651466e5fa"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Apr 24 16:27:53 2018 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Tue Apr 24 16:27:53 2018 +0100"
      },
      "message": "Generate @removed DEX API signatures\n\nCL I8fe27e8c03334f9c90204db1e69447de65a06a38 adds support to generate\na list of all @removed DEX API signatures. Amend the public API build\nrule to produce this file.\n\nBug: 78182899\nTest: make\nChange-Id: Iba8869ce6e4f401a8e420ad83ab459d25bbbaae0\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": "fa3a2acfbcc45012a45cef78a9e02b8a3ee26e33",
      "tree": "94c7e0c085ad2c0d94e104cde6bc1252c7c3d8de",
      "parents": [
        "5327a38956a7a22330a78ad67a14da9c63e10f9d",
        "a26e7559003b4f83553bf1d6c3b0d9558ec20005"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Wed Apr 11 18:39:53 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Apr 11 18:39:53 2018 -0700"
      },
      "message": "Merge \"Add stats logging to ServiceManager and NPMS\" into pi-dev\nam: a26e755900\n\nChange-Id: Ib0bd9ecc183b1b2c9a6785554e6f717744820da3\n"
    },
    {
      "commit": "49392d335af8559169238bb9cb4fc2911192adea",
      "tree": "00e282f2abece29400a55455b1d754af5ee92ff3",
      "parents": [
        "cb7b92697a3246e5f8be8fd0c1907a22776d6ace"
      ],
      "author": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Wed Apr 11 13:51:02 2018 -0700"
      },
      "committer": {
        "name": "Makoto Onuki",
        "email": "omakoto@google.com",
        "time": "Wed Apr 11 16:37:57 2018 -0700"
      },
      "message": "Add stats logging to ServiceManager and NPMS\n\nServiceManager:\n- Do an event log every N getService() calls with total time spent\nin getService().\nwhere N \u003d 100 for core UIDs and 200 for other apps.\n\n- Do an event log if getService() takes longer than N ms.\nwhere N \u003d 10 for core UIDs and 50 for other apps.\n\n... with some extra throttling.\n\nNPMS:\n- Do the basic \"stats logger\" log for updateNetworkEnabledNL() and\nisUidNetworkingBlocked()\n\nThis CL also enhances StatsLogegr so it now can show the slowest call\nand the max # of calls per-second.\n\nBug: 77853238\nTest: Manual test:\n- Insert a SIM card\n- Set data limit\n- toggle airplane mode\n- toggle wifi\n- toggle mobile data\n\nThen\n- \"dumpsys netpolicy\" and \"dumpsys activity processes\" and check the stats\n- also check \"adb logcat -b all | grep \u0027 service_manager\u0027\"\n\nChange-Id: I5789541063f95d0eac501189816c8604a4571ba0\n"
    },
    {
      "commit": "99ce5c70907df79f2e5a4fb6c54665cf4018a44d",
      "tree": "b32be94de28da0c24dd72efc57fb71097f95a824",
      "parents": [
        "1142ffcc9b4624887707e3e7d37e0ec777d099db"
      ],
      "author": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Mon Apr 09 17:41:51 2018 -0700"
      },
      "committer": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Wed Apr 11 14:57:28 2018 -0700"
      },
      "message": "Add filegroup for supporting apache-http stubs generation.\n\nBug: b/70351683\nTest: m clean \u0026\u0026 m check-apache-http-legacy-api,\nand compare the old and new stubs.jar using md5sum.\n\nChange-Id: I0035837aef48a76e40a2c723c2adce3ff129ad28\nMerged-In: I0035837aef48a76e40a2c723c2adce3ff129ad28\n"
    },
    {
      "commit": "a0f91af44dda4c82362c2e0c51353af710d2c1df",
      "tree": "72832cb97ceb5fb221db0b61bc9e9dfb6bce4ea6",
      "parents": [
        "7abed4e137064ceb8c7eb24cc8e4ee986f4a08bd"
      ],
      "author": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Mon Apr 09 17:41:51 2018 -0700"
      },
      "committer": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Tue Apr 10 12:46:31 2018 -0700"
      },
      "message": "Add filegroup for supporting apache-http stubs generation.\n\nBug: b/70351683\nTest: m clean \u0026\u0026 m check-apache-http-legacy-api,\nand compare the old and new stubs.jar using md5sum.\n\nChange-Id: I0035837aef48a76e40a2c723c2adce3ff129ad28\n"
    },
    {
      "commit": "7c99052071ed6b6b96fde78fc0758f9f2369294c",
      "tree": "08e41394ffd774d1478d70714c3a8a3134bf07ca",
      "parents": [
        "cef38b383c76b8a1f1a52f971fc6939747c37879",
        "c97d768b6bfd8c348f26224f8947204c2082903c"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Apr 10 12:26:56 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 10 12:26:56 2018 -0700"
      },
      "message": "Merge \"Add a droiddoc generator for hwbinder.stubs\" am: 1142ffcc9b\nam: c97d768b6b\n\nChange-Id: I63439c9bcf33f7ed64791e84a493e257b7ec7991\n"
    },
    {
      "commit": "f2f7495f49640059c43176238261eebe7b5e307b",
      "tree": "8e1efbd24b83043133cbebc5594ef9e740a7d3d9",
      "parents": [
        "26b46106e3f77a58aa949d25619091162d3b831d",
        "5ab3cf8bec827ed6cfa3a8e462751e8558728d20"
      ],
      "author": {
        "name": "Vishwath Mohan",
        "email": "vishwath@google.com",
        "time": "Thu Apr 05 14:49:14 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Apr 05 14:49:14 2018 -0700"
      },
      "message": "Merge \"Rename BiometricDialog to BiometricPrompt.\" into pi-dev\nam: 5ab3cf8bec\n\nChange-Id: Id450c37765a5f657c6fe422aa98e3b7191d7b773\n"
    },
    {
      "commit": "ecf00cedb64d2e7b9082d540d49972fe391760ad",
      "tree": "9a70a3e78040cf96a05c11ef275e4e7c911b991a",
      "parents": [
        "61b93505ba73ae25fc164f253d5a82c7b40f9c9e"
      ],
      "author": {
        "name": "Vishwath Mohan",
        "email": "vishwath@google.com",
        "time": "Thu Apr 05 10:28:24 2018 -0700"
      },
      "committer": {
        "name": "Vishwath Mohan",
        "email": "vishwath@google.com",
        "time": "Thu Apr 05 10:41:19 2018 -0700"
      },
      "message": "Rename BiometricDialog to BiometricPrompt.\n\nRenamed to BiometricPrompt per API-council feedback.\n\nBug: 77494933\nTest: m -j70\nChange-Id: Ifed2b8f3439a7e671e0ce46d3a7db9f24871b16a\n"
    },
    {
      "commit": "a2b78a7ed2c136d5cc179ba51c40906efccf72c5",
      "tree": "404c0fab3a3790bb5c6583cb17b643e9a4116f30",
      "parents": [
        "86d170c7ce2e7d385810209a231b02e15ad31f16"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Mar 29 13:31:04 2018 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Mar 29 22:41:40 2018 -0700"
      },
      "message": "Add a droiddoc generator for hwbinder.stubs\n\nhwbinder.stubs provides stubs for @SystemAPI hwbinder classes\nthat doesn\u0027t depend on framework, used to break a dependency cycle\nbetween hidl interfaces and android_system_stubs_current while\nsatisifying the link type checks.\n\nBug: 77285514\nTest: m checkbuild\nChange-Id: Id4093e19f607dc5b0c663e1b637012799ab110c3\n"
    },
    {
      "commit": "4dde8a113bce85cbd93809c803ed7c3acd338fcc",
      "tree": "cd847cfe9d37a467d70956aaa2db8bc7cd252b46",
      "parents": [
        "de57d0d024c3fa2f99f2c0210a4d9d760dcf36d9"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Jan 10 15:45:36 2018 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Mar 29 15:03:59 2018 -0700"
      },
      "message": "Allow HIDL to be used in priv-apps.\n\nMarking HIDL as SystemApi to allow vendor apps to talk to their own\nnative HIDL services. This includes implementing HIDL callback objects.\n\nHIDL (HAL interface design language) is a language that is used to\nfacilitate vendor\u003c-\u003esystem communication which provides guarantees\nof ABI stability. For system and vendor services alike, this can also\nbe used for internal communication.\n\nBug: 67725182\nTest: boot device, hidl_test_java\nChange-Id: I9d028cc43ce6f81ea619f01e18f1cd772e17cbfa\nMerged-In: I9d028cc43ce6f81ea619f01e18f1cd772e17cbfa\n(cherry picked from commit e8e63aae6f705cbe316a1d9a7780f9f534bc3948)\n"
    },
    {
      "commit": "77b5ccb59bba5ffd3a6464f5eb25ae3522cbb54e",
      "tree": "afada79480e6816a7071944a5bd21ceac9b47ab3",
      "parents": [
        "33be0a8ca3f45430d89e359af58611d42120a703",
        "86ed912f5afb6384e38d87c517ce6b25aa4466f4"
      ],
      "author": {
        "name": "Vishwath Mohan",
        "email": "vishwath@google.com",
        "time": "Wed Mar 28 19:01:11 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 28 19:01:11 2018 +0000"
      },
      "message": "Merge \"Refactor FingerprintDialog to BiometricDialog\" into pi-dev\nam: 86ed912f5a\n\nChange-Id: I2582d4770900460a8d37c9d832e9a20583f9adf9\n"
    },
    {
      "commit": "cf87df15310611ae4e5229b19c5a4942e54185b5",
      "tree": "d7b8e8cec5e7fab3a330542954518f56fc114efd",
      "parents": [
        "c08aa83b48030f2605c761904ad0139619ebe982"
      ],
      "author": {
        "name": "Vishwath Mohan",
        "email": "vishwath@google.com",
        "time": "Tue Mar 20 22:57:17 2018 -0700"
      },
      "committer": {
        "name": "Vishwath Mohan",
        "email": "vishwath@google.com",
        "time": "Tue Mar 27 13:15:01 2018 -0700"
      },
      "message": "Refactor FingerprintDialog to BiometricDialog\n\nThis CL changes FingerprintDialog into the more generic\nBiometricDialog, which OEMs will be able to extend as necessary to\nprovide support for alternate biometric modalities.\n\nBug: 74831038\nTest: m -j50 FingerprintDialog (from the associated CL on this topic)\n      The app works and authenticates successfully.\nTest: make update-api -j56\n\nChange-Id: Ic398ef0a0b448be68dbe3330b30779f93f567243\n"
    },
    {
      "commit": "aa8f09d41a50260f8a3d2cc6359e73448604f0ca",
      "tree": "0eaa8beaee1ae75afa08470169d21a432d85dd91",
      "parents": [
        "13791285aad937101cf47aa6d96b41fff99b0818",
        "49d1cb47700d3439703a471d1b73044092d0ba71"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 26 23:53:40 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 26 23:53:40 2018 +0000"
      },
      "message": "Merge \"Split the DownloadStateCallback class into two\""
    },
    {
      "commit": "49d1cb47700d3439703a471d1b73044092d0ba71",
      "tree": "662f553ea0797c6e771ea77908fca415e63242f5",
      "parents": [
        "54b8ab7333859dbddfd5b5d980345bfa98e52c1d"
      ],
      "author": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Mon Mar 19 18:12:23 2018 -0700"
      },
      "committer": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Mon Mar 26 21:45:21 2018 +0000"
      },
      "message": "Split the DownloadStateCallback class into two\n\nUse individually-registered DownloadStatusListener and\nDownloadProgressListener instead to listen for download status and\nprogress, respectively.\n\nBug: 74409377\nTest: cts\nChange-Id: Ifd5289038ffd66eef8bd7916f5256205b49be5f9\nMerged-In: Ifd5289038ffd66eef8bd7916f5256205b49be5f9\n"
    },
    {
      "commit": "3f65260be717fa7d2458d572b73ed60eba80cc08",
      "tree": "c19ea5cb4f4436767a3bf981a69dabcbb1927bd2",
      "parents": [
        "3d83144e862f57fe905aec0f8460ab13b5d40e4f",
        "ecd4709573096b28b21b85df15e10925c42f482c"
      ],
      "author": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Sat Mar 24 00:31:02 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Mar 24 00:31:02 2018 +0000"
      },
      "message": "Merge \"Split the DownloadStateCallback class into two\" into pi-dev\nam: ecd4709573\n\nChange-Id: I09cdcd69729ac917ac7290d4e1efcf4d9dbc0530\n"
    },
    {
      "commit": "ecd4709573096b28b21b85df15e10925c42f482c",
      "tree": "601e17f677f9fa16325e9c31094811feda78597d",
      "parents": [
        "3aa86b427f56fcb6ad937c02ab65c7e9cec775db",
        "7953997160c032d1fa1d2b09636cd38787ba2909"
      ],
      "author": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Fri Mar 23 23:11:46 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 23 23:11:46 2018 +0000"
      },
      "message": "Merge \"Split the DownloadStateCallback class into two\" into pi-dev"
    },
    {
      "commit": "f33e1947b7a3af7fd6239cba2208d2279a9d6b1c",
      "tree": "411a106b3405e955d17143970987c8ffeedcfe51",
      "parents": [
        "da1a34f4fc5e7f9852c29d12899aee43724d040d"
      ],
      "author": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Fri Mar 23 00:57:00 2018 -0700"
      },
      "committer": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Fri Mar 23 01:04:02 2018 -0700"
      },
      "message": "Add additional droiddoc options for stubs-api\n\nThere\u0027s slightly different for droiddoc options between AOSP and\ninternal Master. So set droiddoc options to be consistent with current\nones in internal Master.\n\nTest: m android_stubs_current\nBug: b/70351683 b/76179848\nChange-Id: I3b87021b8a882e0934faedf51a9f84c996654c1f\n"
    },
    {
      "commit": "189cc7df45dcd26903718e292a307ba952fff718",
      "tree": "a60b387d025dccdde205061a3f3c31571cb7d6a9",
      "parents": [
        "f61e6b2844b9aee703ce3709086be0e7685dc42c",
        "4d6dc48d242a643acd846b4892803c8295740b64"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Mar 22 00:46:46 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Mar 22 00:46:46 2018 +0000"
      },
      "message": "Merge changes I7f413e38,I20aba7e9 into pi-dev\nam: 4d6dc48d24\n\nChange-Id: Ib63541d0924b400580d62513864d790a02021de9\n"
    },
    {
      "commit": "4d6dc48d242a643acd846b4892803c8295740b64",
      "tree": "508442bdba6f301debc9c4f5e745814bdca85ed9",
      "parents": [
        "86259365d466332f072f29b8be5ccb5bca863a92",
        "4cc3a1c056f69ac4da1dc5055c36b7357e9f673c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 22 00:29:38 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 22 00:29:38 2018 +0000"
      },
      "message": "Merge changes I7f413e38,I20aba7e9 into pi-dev\n\n* changes:\n  Remove FlpHardwareProvider\n  Create the stubs lib for com.android.location.provider\n"
    },
    {
      "commit": "7953997160c032d1fa1d2b09636cd38787ba2909",
      "tree": "f133712c526a67f138c9301c7d831d11739c248e",
      "parents": [
        "0efaf2088d8e3ba8ec560aa5eb597ef456b5213e"
      ],
      "author": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Mon Mar 19 18:12:23 2018 -0700"
      },
      "committer": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Wed Mar 21 23:39:07 2018 +0000"
      },
      "message": "Split the DownloadStateCallback class into two\n\nUse individually-registered DownloadStatusListener and\nDownloadProgressListener instead to listen for download status and\nprogress, respectively.\n\nBug: 74409377\nTest: cts\nChange-Id: Ifd5289038ffd66eef8bd7916f5256205b49be5f9\n"
    },
    {
      "commit": "9dd3e7d3006842b9c9939e98e1cdcca76e46491e",
      "tree": "4fc95e91d8e9dce3eee09c90e8ac23e82150f94f",
      "parents": [
        "961db4b07dd34ff1a76b4ff1b00f29f6912d78aa",
        "18e3eb816887156f40def1c14db434ddde9ec245"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Wed Mar 21 06:00:01 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 21 06:00:01 2018 +0000"
      },
      "message": "Add SoundTriggerDetectionService\nam: 18e3eb8168\n\nChange-Id: I4bb7ada74c36df4a64956c9c36a1675aad1f6645\n"
    },
    {
      "commit": "4cc3a1c056f69ac4da1dc5055c36b7357e9f673c",
      "tree": "106fdc43e6561b8a14543eb34ef4fd94932993b2",
      "parents": [
        "eee99986c8021d6825f99a25434725fccf7b2b12"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Mar 08 16:43:07 2018 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Wed Mar 21 10:36:44 2018 +0900"
      },
      "message": "Remove FlpHardwareProvider\n\nAfter Treble\u0027s FLP merge into GNSS HAL, the FlpHardwareProvider is just\nan empty shell. Removing FusedLocation and/or Flp + Hardware classes\naltogether.\n\nBug: 35726697\nTest: m -j\nTest: Open Google Map and then walk around. The dot moves as I walk.\nChange-Id: I7f413e38b57424e8ebb9d7d14d94f145a48d10f8\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": "18e3eb816887156f40def1c14db434ddde9ec245",
      "tree": "eb89c3addc9bac983b9d4fb1138ebe4de5fcc52a",
      "parents": [
        "a5fd0294c76c1faa3479a2093ae3e5f0838791ad"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Fri Mar 09 16:55:55 2018 -0800"
      },
      "committer": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Tue Mar 20 13:57:14 2018 -0700"
      },
      "message": "Add SoundTriggerDetectionService\n\nThe service is meant to replace the PendingIntent based API. Once all\nusers of the PendingIntent based API switched the PendingIntent based API\nwill be removed.\n\nTo have as little as possible impact on the whole SoundTrigger framework\nthe RemoteSoundTriggerDetectionService class implements the same\ninterface as the PendingIntent based class. Hence the exising code has\nvery little change. Further once the old code can be removed the amount\nof changed (and added) code is limited.\n\nThe RemoteSoundTriggerDetectionService -\u003e SoundTriggerDetectionService\nis a vanilla as possible service implementation. The special behaviors\nare:\n- The system holds a wakelock while service operations are in progress\nand the service is bound as foreground. Hence the service can e.g.\nlisten to the microphone.\n- Service operations have a certain amount of time they are allowed to\nrun. Once every operation is either finished or the the operation\nexceeded the allotted time, the system calls onStopOperation for each\nstill pending operation. This is a similar model as for the commonly\nused JobService.\n  Please note that if the time allowed for an operation is 15s and\nop1 was run as 0si, and op1 was run at 5s, the service is allowed to run\nuntil 20s. Hence _both_ onStopOperations will happen at 20s. This is\ndone for ease of implementation but should not give the service more\npower than calling onStopOperation exactly 15s after each operation is\ntriggered.\n- If an operation is done before the allotted time is reached, the\nservice can declare the operation as finished manually by calling\nonOperationFinished. This is a call back into the system, hence a\n\u0027client\u0027 binder is sent to the service. If the operation is finished\nby calling this method onStopOperation will not be called.\n- As the service instance might be killed and restored between\noperations we add a opaque bundle \u0027params\u0027 to each operations. The users\nof the API can use this to send data from the start command to the\noperations. It can also just be set to null. The params are not meant to\nstore changing state in between operations. Such state needs to be\npersisted using the regular methods (e.g. write it to disk)\n- A service can be used for multiple recognition sessions. Each\nrecognition is uniquelity defined by its sound model UUID. Hence each\noperation gets at least tree arguments: Operation ID, sound mode UUID, params\n- As a small optimization the params are cached inside of the service\ninstance.\n\nThe time allowed for each operation is in a @SystemAPI global setting,\nso the service can make sure it finishes the operations before they are\nstopped. It might take some time to deliver the operations via the\nbinder, hence it is not recommended to try to use every last ms of\nallotted time.\n\nTest: atest SoundTriggerDetectionServiceTest (added in separate CL)\n      atest android.provider.SettingsBackupTest\nChange-Id: I47f813b7a5138a6f24732197813a605d29f85a93\nFixes: 73829108\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": "538e61591908ec1a860ef88c72afe857628518b7",
      "tree": "c0ff8f5cfd0c30b33249b5241cf0831756d66abf",
      "parents": [
        "077a828c6698f58eac447937bc355a7a059580c5"
      ],
      "author": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Mon Mar 12 14:09:30 2018 -0700"
      },
      "committer": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Mon Mar 12 14:11:57 2018 -0700"
      },
      "message": "Remove test/* from API stubs jars generation.\n\nTest: Generated old and new API stubs jars. And\ncd /tmp/new/; find . -type f -name \"*.class\" -exec md5sum {} \\+ | ( cd /tmp/old; md5sum -c --quiet )\n\nBug: b/70351683\nChange-Id: If5e668cca483f54646fb64776b24c95044092620\n"
    },
    {
      "commit": "f9ac62dddbd4780cc29720db58d6ae6273cee211",
      "tree": "3fe45f3deb726eff1b91bf668f591ddf5872eded",
      "parents": [
        "2d8fa3336fd1d4304bbdf389a4b54684186a4f12",
        "5a4b586e2822f1c2ffe86365f0453e1f4e3ff7e8"
      ],
      "author": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Sat Mar 10 00:38:00 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Mar 10 00:38:00 2018 +0000"
      },
      "message": "Merge \"Convert api-stubs, system-api-stubs, and test-api-stubs target\" am: baa37dbbad\nam: 5a4b586e28\n\nChange-Id: I880168e468e06a0351ad9e084e108cd46f8ca1d3\n"
    },
    {
      "commit": "eadd123d68850cb27aa6d030ade6190e30991b19",
      "tree": "28ee59bef758929559dde7b34a9dbe962f1196c9",
      "parents": [
        "0efaf2088d8e3ba8ec560aa5eb597ef456b5213e"
      ],
      "author": {
        "name": "Kweku Adams",
        "email": "kwekua@google.com",
        "time": "Mon Feb 05 16:45:13 2018 -0800"
      },
      "committer": {
        "name": "Kweku Adams",
        "email": "kwekua@google.com",
        "time": "Wed Mar 07 21:50:12 2018 +0000"
      },
      "message": "Dumping stack traces to proto.\n\nBug: 72177715\nTest: flash device and check incident.proto output\nChange-Id: Id2a15e0fc62b66efe875949af97f0eb651c7e322\n(cherry picked from commit 5c804e2b9893c7892900148229cf19fa6268e7dc)\n"
    },
    {
      "commit": "172875bdd22c867b7c96593d4e7c113eef6de49d",
      "tree": "d77c8397f74dd029fcdf84b0b7648e4aa105ebb4",
      "parents": [
        "b331b02da911feb8a2fef35454178416efbccc6f"
      ],
      "author": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Tue Feb 27 11:24:03 2018 -0800"
      },
      "committer": {
        "name": "Nan Zhang",
        "email": "nanzhang@google.com",
        "time": "Mon Mar 05 16:23:50 2018 -0800"
      },
      "message": "Convert api-stubs, system-api-stubs, and test-api-stubs target\n\nThe output generate a .srcsjar instead of a directory of java files.\n\nBug: b/70351683\nTest: compare source-file-list, and ninja rule.\n\nChange-Id: I987601c4baa6f94b5208d3d4106cf60323329af8\n"
    },
    {
      "commit": "71ddfeaf14e748ff91f88406940d73643151ba40",
      "tree": "dc5b34f35015fdbf9791c60ff963f39ae020cf42",
      "parents": [
        "60cebe02a0c39351b26215062403548c53b178a9"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Tue Feb 27 16:43:50 2018 +0800"
      },
      "committer": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Tue Feb 27 16:43:50 2018 +0800"
      },
      "message": "Reformat Android.bp file\n\nThis commit replaces `\u003d` with `:`, which is more idiomatic.\n\nTest: walleye-userdebug builds\nChange-Id: I8fe71e53a4005e44c4bdee2ee23220997b6c3e4f\n"
    }
  ],
  "next": "2d20fb47f4a7162450f993728876c74762b93112"
}
