)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "2d20fb47f4a7162450f993728876c74762b93112",
      "tree": "eaac12d61e2c3165bfc18a04fb9da24967c9c682",
      "parents": [
        "7d5beeb25530ec016557f37bb900b201ba4d498c"
      ],
      "author": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Thu Feb 08 15:52:10 2018 -0800"
      },
      "committer": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Feb 16 18:29:04 2018 -0800"
      },
      "message": "APIs to watch active op changes\n\nSystem singed components can watch for starting/finishing of\nlong running app ops. Also protected the APIs to watch op mode\nchanges with a singature permission for the cross-uid use case.\n\nTest: atest com.android.server.appops.AppOpsActiveWatcherTest\n\nbug:64085448\n\nChange-Id: Id7fe79ce1de4c5690b4f52786424ec5a5d9eb0fa\n"
    },
    {
      "commit": "1d875ad3ae5bb27016f9650b5bf4c39c08b6570e",
      "tree": "2344bf7d126d9287bbaae8e0a575a8f2b46c10bb",
      "parents": [
        "1b37daa810c929938a642f56cb7aeb75c4f89766"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Tue Nov 07 18:49:43 2017 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Feb 14 08:00:56 2018 -0800"
      },
      "message": "Add SystemApis to expose runtime profile information\n\nThe API allows a system apps which acquired\n{@code android.permission.READ_RUNTIME_PROFILE} to snapshot the runtime\nprofiles of installed packages.\n\nThe API is implemented in a new service class (AndroidRuntimeManager)\naccessible from the context using\ncontext().getPackageManager().getAndroidRuntimeManager().\n\nThe main functionality is exposed as a one way call into the\nAndroidRuntimeManager with the result being posted on a callback. The\nprofile is available to the caller as a read-only ParcelFileDescriptor.\n\nThis CL only adds the API interfaces and validation. It does not fully\nimplement the functionality.\n\noneway void snapshotRuntimeProfile(in String packageName,\n  in String codePath, in ISnapshotRuntimeProfileCallback callback)\n\n(cherry picked from commit 45f8b29ce0ca9f80c586850c4be3a1e552bc6c2f)\n\nBug: 30934496\nTest: gts-tradefed -m GtsAndroidRuntimeManagerHostTestCases\n\nMerged-In: Iaa6be4715840f24508acba3162ea9c1ab725bd38\nChange-Id: Iaa6be4715840f24508acba3162ea9c1ab725bd38\n"
    },
    {
      "commit": "404eb2bcd5276eda9b1a5de3bc535aca114b6d51",
      "tree": "0d46dc30ab44af2b4386383fe7829f8fc8f59c82",
      "parents": [
        "145ecabda275e42c9176446240de4fed5c89b71b"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Wed Feb 14 13:53:04 2018 +0800"
      },
      "committer": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Wed Feb 14 15:46:50 2018 +0800"
      },
      "message": "Fix PDK build\n\nThis commit moves \"IConfirmationPromptCallback.aidl\" and\n\"IKeystoreService.aidl\" to \"system/security/keystore/binder\" so that\n\"libkeystore_aidl\" can be built in PDK builds.\n\nTest: Run `cts-tradefed run cts -m CtsKeystoreTestCases` on Pixel 2017\nand the test results are idential with and without this CL.\n\nTest: Build PDK with special manifest described in\nhttp://b/69539820#comment18 and http://b/69539820#comment19.\n\nTest: Build a target (described in http://b/72961456) with\n`platform.zip` built from master FSK source tree.\n\nBug: 69539820\nBug: 72961456\nChange-Id: I7350f0ca943b15a6f3e40023a6cc299bdf8aed0e\n"
    },
    {
      "commit": "1d3cdce9b0a707bb3339e16ca2f7b344a9ba52af",
      "tree": "8f81648216d4ed31a62a4442c94c36b80987bd9b",
      "parents": [
        "b6ff8364c98da19dcebce0397574c49c876aa6f4"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Jan 20 10:31:21 2018 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Feb 09 18:14:58 2018 -0800"
      },
      "message": "Add audioserver state callback\n\nAdd system APIs for components (e.g rild) to monitor native audioserver\nstate and be able to reaply states after a native audioserver\ncrash and restart.\n\nBug: 67317552\nTest: manual test.\n\nChange-Id: I2afba9da5fc32b3768ca5ca0d5f97cc68707c408\n"
    },
    {
      "commit": "4f07fa4e748c4f259a7ae9c06f89e44a9c69acff",
      "tree": "1b380c52228590276da54e5e0a33f2decdef8171",
      "parents": [
        "9eb34faac701c5f3890a84e7e12ecf253687e5ea",
        "f268bf573f671fdc051bf4485dc0ea972406ea38"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 09 16:36:13 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 09 16:36:13 2018 +0000"
      },
      "message": "Merge \"Add support for vibrator HAL 1.2 effects.\""
    },
    {
      "commit": "f268bf573f671fdc051bf4485dc0ea972406ea38",
      "tree": "7739203484a1ced5f88421fb44c6e3bf5fa36d8f",
      "parents": [
        "0589371900a47b70dd5851c9792ffdbdd781c96c"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Wed Feb 07 23:23:34 2018 +0000"
      },
      "committer": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Thu Feb 08 21:24:02 2018 +0000"
      },
      "message": "Add support for vibrator HAL 1.2 effects.\n\nTest: atest android.os.VibrationEffectTest\nBug: 64184692\nBug: 64185677\nChange-Id: I0b3f9caa04b3e7bdadba5c44188120ac14943f82\n"
    },
    {
      "commit": "9accbba1b7c3a47fdb16c47287844f7063acda46",
      "tree": "7ffad77734e4e405deb7cd30fd490c968cdb853f",
      "parents": [
        "28ddc0a68ec32691544d4255f72776ce942cfcb1"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Tue Jan 30 16:41:00 2018 -0800"
      },
      "committer": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Wed Feb 07 12:36:05 2018 -0800"
      },
      "message": "[RTT] Remove the legacy RTT service\n\nRemove the legacy RTT service. RTT requests are already directed to\nthe new API by a previous CL.\n\nBug: 65108579\nTest: unit tests\nTest: WifiRttManagerTest:test_regular_scan_then_rtt_ranging_stress\nChange-Id: I436e8bcd2f4e2ba6056870d887eea141fbebae85\n"
    },
    {
      "commit": "94292a388ce5ed17a7df4c19482f4c9f98fce310",
      "tree": "92509cb27bc7ce2762c706fb06cb7df0efaa8bd1",
      "parents": [
        "400e08ddc70191930734fa77f356b738c86b7196"
      ],
      "author": {
        "name": "Steve Paik",
        "email": "spaik@google.com",
        "time": "Fri Jan 26 17:16:53 2018 -0800"
      },
      "committer": {
        "name": "Steve Paik",
        "email": "spaik@google.com",
        "time": "Tue Feb 06 11:55:10 2018 -0800"
      },
      "message": "Move CarServiceHelperService (again)\n\nMove CarServiceHelperService.java and ICarServiceHelper.aidl from\nframeworks/base to frameworks/opt/car/services.\n\nBug: 72571496\nTest: Complies and runs\nChange-Id: I0f09c84e25a372dab3f170bd623f25a92f9b0f73\n"
    },
    {
      "commit": "d2fecf34f99b7f44bddc241a10cc9c32a4c44bdf",
      "tree": "ddc3ca8e4e24da0adb861133af022f6a74d6bd48",
      "parents": [
        "ee47dea99adebb4b10ad95b744bb53b5d5f5b606"
      ],
      "author": {
        "name": "Steve Paik",
        "email": "spaik@google.com",
        "time": "Sat Feb 03 01:54:11 2018 +0000"
      },
      "committer": {
        "name": "Steve Paik",
        "email": "spaik@google.com",
        "time": "Sat Feb 03 01:54:11 2018 +0000"
      },
      "message": "Revert \"Move CarServiceHelperService\"\n\nThis reverts commit ee47dea99adebb4b10ad95b744bb53b5d5f5b606.\n\nReason for revert: \u003cINSERT REASONING HERE\u003e\n\nChange-Id: Ie26a7b08cb2d86c71f3d8c8c509d9803d0ad293b\n"
    },
    {
      "commit": "ee47dea99adebb4b10ad95b744bb53b5d5f5b606",
      "tree": "567c8e8d124cdef88ae930f1640e49c773127a89",
      "parents": [
        "7902b4a1b222cac1f60125de93a1ab30a0b7523f"
      ],
      "author": {
        "name": "Steve Paik",
        "email": "spaik@google.com",
        "time": "Fri Jan 26 17:16:53 2018 -0800"
      },
      "committer": {
        "name": "Steve Paik",
        "email": "spaik@google.com",
        "time": "Thu Feb 01 17:46:52 2018 -0800"
      },
      "message": "Move CarServiceHelperService\n\nMove CarServiceHelperService.java and ICarServiceHelper.aidl from\nframeworks/base to frameworks/opt/car/services.\n\nBug: 72571496\nTest: Complies and runs\nChange-Id: I3e25cec3db75b5250a0dec4959c32526d6553da6\n"
    },
    {
      "commit": "5b1883b5f10ab13aee449d9524d7fb71c8ba0b6c",
      "tree": "2dc891256b3aae9e41e3bbc808d2dfab106c2f18",
      "parents": [
        "6ed4ee68477262aa16481d29826b5765adf14cd3"
      ],
      "author": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Tue Jan 16 09:33:47 2018 -0800"
      },
      "committer": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Thu Feb 01 15:45:29 2018 -0800"
      },
      "message": "Integrate new MMTel APIs into the framework\n\nPerforms the bulk of the work of:\n1) Moving the old MMTel APIs to a hidden\n.compat namespace to support older vendor\nversions of the code.\n\n2) Replace the compat MMTel APIs with the\nnew ImsService APIs and integrate them\ninto existing code.\n\nThis is one of two CLs, this CL\nintegrates the new APIs, the next CL\ncreates the compat layer in telephony\nto translate the .compat APIs to the new\nAPIs to allow Telephony to work with\nolder versions of the API.\n\nBefore commit, the corresponding vendor\nchanges will have to be submitted as well.\n\nBug: 63987047\nTest: Telephony Unit tests\nMerged-In: Icc9ecfdad000f42399beeac142083e62962c12d3\nChange-Id: Icc9ecfdad000f42399beeac142083e62962c12d3\n"
    },
    {
      "commit": "6ed4ee68477262aa16481d29826b5765adf14cd3",
      "tree": "90383140c1bfd8e1e65bc674cbc6e379758ea72a",
      "parents": [
        "871202da2f7e09e5de395d8aac8b229d47b99b8f"
      ],
      "author": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Thu Jan 11 10:27:43 2018 -0800"
      },
      "committer": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Thu Feb 01 15:45:28 2018 -0800"
      },
      "message": "Integrate ImsCallSessionListener API changes\n\nIntegrates the ImsCallSessionListener API changes.\nThis involves:\n\n1) Moving the ImsCallSessionListener to the\nandroid.telephony.ims namespace.\n2) Creating a compat layer between the old\nIImsCallSessionListener AIDL and the new one\nfor vendors using the old implementation.\n3) Modify ImsCallSession to only use\nsetListener to set ImsCallSessionListener\n(other method was never used in our code).\n\nTest: Telephony Unit Tests, Manual IMS Tests\nBug: 63987047\nMerged-In: I4378c0b1d68ff4f5f21815c81af52c03a66f81c5\nChange-Id: Id0cc43e9c97abb6f2776d8ad1cf599353b71e4b7\n"
    },
    {
      "commit": "7073c075fb97f9813a56e022bc67712d5db23396",
      "tree": "56d5b91f970862ed0d52837cafba4acd87b35008",
      "parents": [
        "6e545d5892566af017d5bddc054db5962885e711"
      ],
      "author": {
        "name": "Mohamed Abdalkader",
        "email": "abdalkader@google.com",
        "time": "Mon Jan 22 15:43:37 2018 -0800"
      },
      "committer": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Wed Jan 31 11:55:39 2018 -0800"
      },
      "message": "Remove internal version of SMS apis\n\nTest: manual\nBUG\u003d69846044\nMerged-In: Ie084ea67c460c686bd587e4b36f8c1579517ea7f\nChange-Id: Ie084ea67c460c686bd587e4b36f8c1579517ea7f\n"
    },
    {
      "commit": "327b809ad11a5094248652014227470c4be329e6",
      "tree": "9779e98e6ab294d0455b67d7a764a892007cce6a",
      "parents": [
        "1810393c5a5fa0d9f8579e0eeabd7b334482163c"
      ],
      "author": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Tue Jan 09 17:53:04 2018 -0800"
      },
      "committer": {
        "name": "Jerry Zhang",
        "email": "zhangjerry@google.com",
        "time": "Wed Jan 31 11:40:48 2018 -0800"
      },
      "message": "Refactor and clean up USB, add tests\n\nChange UsbManager apis to use long instead of string, to match\nusb hal. Change UsbDeviceManager internals to match as well.\n\nRemove isFunctionEnabled and add getEnabledFunctions. Callers\nwould often call isFunctionEnabled for every possible function\nto get the list of functions, so getEnabledFunctions reduces the\nnumber of aidl calls.\n\nSeparate out dependencies between UsbHandler and UsbDeviceManager\nand staticize the UsbHandler classes. Add unit tests with\nmocked out dependencies to test state transitions for UsbHandler.\n\nBug: 62876645\nTest: atest UsbTests\nChange-Id: I785c4c24121a70e725de9742c6af50a6bf1baea0\n"
    },
    {
      "commit": "6e545d5892566af017d5bddc054db5962885e711",
      "tree": "e667e21c1f840b14721beed2551e791c213d2153",
      "parents": [
        "967a952b34d08427f0aeb69f1328417b8ad7ffc3"
      ],
      "author": {
        "name": "Mohamed Abdalkader",
        "email": "abdalkader@google.com",
        "time": "Fri Jan 12 16:37:08 2018 -0800"
      },
      "committer": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Wed Jan 31 11:24:31 2018 -0800"
      },
      "message": "Move Sms API to proper MMTelFeature class\n\n- while here remove unnecessary call to ackSms from\n  SmsImplBase as this is handled by ImsSmsDispatcher\n\nTest: None, APIs not exercised yet.\nBUG\u003d69846044\nMerged-In: Iec4bbd07a67502dbbfb2142a7bc95f51be0cb377\nChange-Id: Iec4bbd07a67502dbbfb2142a7bc95f51be0cb377\n"
    },
    {
      "commit": "8420d5e596663a9478ce73a7187d0fc8040781b5",
      "tree": "f2c540455e09bf990e8f595694eb7ba4ab158089",
      "parents": [
        "2043082f968a385c2ab976dffed4d02b027c50e4",
        "d32906c202db3b84151c310ecd89a07bb41208f7"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 31 05:26:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 31 05:26:27 2018 +0000"
      },
      "message": "Merge \"Introduce a TextClassifierManagerService.\""
    },
    {
      "commit": "98e31505705052c712b320dc2a03589011e11dfd",
      "tree": "3789c77dfd8a2ebb4fccbe565cd320ba5586701e",
      "parents": [
        "7a6c84a290606eb56189621d3eb6fb2316454b40",
        "35d89ea6ac99f3be2ab37d38d1ae99bd9f0eef3a"
      ],
      "author": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Tue Jan 30 16:19:42 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 30 16:19:42 2018 +0000"
      },
      "message": "Merge changes from topic \"ims_imsservice_apis\"\n\n* changes:\n  Modify ImsService API to accomodate compat\n  Make ImsService API @SystemApi\n  Integrate new MMTel APIs into the framework\n  Integrate ImsCallSessionListener API changes\n"
    },
    {
      "commit": "2a9cd149004e3457eb99043b781954e5fe4d921e",
      "tree": "fac27ae4b98cd83f4277d5f66ca745e3b65bc84c",
      "parents": [
        "8ed7f2b76930e4e52d222d6c2d55649e66be4c7a",
        "a3b692113c8c196349399857b6659774a6ef3bea"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jan 30 11:20:50 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 30 11:20:50 2018 +0000"
      },
      "message": "Merge \"Conditionally remove android.test.base from bootclasspath\""
    },
    {
      "commit": "d32906c202db3b84151c310ecd89a07bb41208f7",
      "tree": "96f9d30087d29ed9c8e777883a8bb24d2a96c1a7",
      "parents": [
        "7933daec0a23366ef6a57aa1d7d5cbf3646a5943"
      ],
      "author": {
        "name": "Abodunrinwa Toki",
        "email": "toki@google.com",
        "time": "Thu Jan 18 04:34:44 2018 -0800"
      },
      "committer": {
        "name": "Abodunrinwa Toki",
        "email": "toki@google.com",
        "time": "Mon Jan 29 17:16:21 2018 -0800"
      },
      "message": "Introduce a TextClassifierManagerService.\n\nApps wanting to use a TextClassifier service (instead of an\nin-app-process TextClassifier) bind to this service. The service\nbinds to and reroutes calls to a configured system TextClassifierService.\n\nTextClassifierManagerService manages the lifecycle of the configured\nTextClassifierService and binds/unbinds to preserve system health.\n\nA configurable TextClassifierService extends TextClassifierService,\ndeclares an android.textclassifier.TextClassifierService intent, and\nrequires a permission that is only granted to the system so only the\nsystem may bind to it.\n\nThe TextClassifierManagerService implements a similar interface to\nTextClassifierService (i.e. ITextClassifierService) but doesn\u0027t have to.\nThis is done for simplicity sake and things may change in the future.\n\nThe configuration of the default service is in config.xml.\nOEMs may change this with a config overlay.\nIf no TextClassifierService is specified, the default in app process\nTextClassifierImpl is used.\n\nBug: 67609167\nTest: bit FrameworksCoreTests:android.view.textclassifier.TextClassificationManagerTest\nTest: tbd\nChange-Id: I8e7bd6d12aa1a772897529c3b12f47f48757cfe6\n"
    },
    {
      "commit": "c599ba36e3484efdd7339f9d1b4e89bb7f886c19",
      "tree": "efd78f1e26734e66d6c50452d156d967a053e2f6",
      "parents": [
        "6d959eaaf09c20f65e572d497baae5ca1549581c"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Jan 29 21:37:20 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Jan 29 22:43:06 2018 +0900"
      },
      "message": "MediaSession2: Move binder interfaces into the updatable\n\nTest: Run all MediaComponents tests once\nChange-Id: I29a7aa9d649ea212ad4728ebabff40ec0d47ecb1\n"
    },
    {
      "commit": "a3b692113c8c196349399857b6659774a6ef3bea",
      "tree": "f78f9107796b2d2cb13d5e5e2b1473a5a760a34b",
      "parents": [
        "43c84465942a250aca938a5c3e939b73034d6a5a"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Jan 25 09:58:32 2018 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Mon Jan 29 11:48:44 2018 +0000"
      },
      "message": "Conditionally remove android.test.base from bootclasspath\n\nThis makes the runtime handling of the android.test.base library\nconditional based on a build flag REMOVE_ATB_FROM_BCP.\n\nWhen REMOVE_ATB_FROM_BCP\u003dtrue:\n* The framework-atb-backward-compatibility is added to the\n  bootclasspath instead of android.test.base.\n* Any APK that targets pre-P (or has a dependency on android.test.runner)\n  has android.test.base added to their library list.\n\nOtherwise:\n* The android.test.base library is added to the bootclasspath.\n* Any APK that explicitly specifies that it depends on the\n  android.test.base library has the library removed as the classes\n  are available at runtime.\n\nAdded android.test.base to platform libraries so it can be used when\nnot on the bootclasspath.\n\nTested both cases by building with or without the build flag, flashing,\nsetting up, adding an account, adding a trusted place.\n\nAlso, tested that all combinations of REMOVE_ATB_FROM_BCP and\nREMOVE_OAHL_FROM_BCP work.\n\nadb install -r -g out/target/product/marlin/testcases/FrameworksCoreTests/FrameworksCoreTests.apk\nadb shell am instrument -w -e class android.content.pm.PackageBackwardCompatibilityTest,android.content.pm.AndroidTestRunnerSplitUpdaterTest,android.content.pm.OrgApacheHttpLegacyUpdaterTest,android.content.pm.RemoveUnnecessaryOrgApacheHttpLegacyLibraryTest,android.content.pm.RemoveUnnecessaryAndroidTestBaseLibraryTest,android.content.pm.AndroidTestBaseUpdaterTest com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner\n\nBug: 30188076\nTest: as above\nChange-Id: I4b9d8a5bed6787cd334c2b13a458bbc0efc3f3b6\n"
    },
    {
      "commit": "379e30d90d8597ac51b475cefa41e9dd45bfb720",
      "tree": "5420594d80e09b186e81a7410cb71a7f06296701",
      "parents": [
        "543566fed39c37f90ee0c9a8efe9a8221f166ceb"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Jan 29 11:57:04 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Jan 29 11:57:04 2018 +0900"
      },
      "message": "MediaSession2: Add listeners for change in session token\n\nTest: Run all MediaComponents tests once\nChange-Id: Ic46ad9e4e4c9e1ce43b3dbad904eae7fc30d52a0\n"
    },
    {
      "commit": "fbf5892f1584dab4e3433a904be30208583c1c3c",
      "tree": "38301b0f813789151f85fb28893262cbb30dbacc",
      "parents": [
        "55c84552cc0cab34f13084c219a0f4c4487e512b",
        "c7ffbe636accef2f52ebc264a7a06b3049b0a05f"
      ],
      "author": {
        "name": "Ben Gruver",
        "email": "bgruv@google.com",
        "time": "Fri Jan 26 18:44:11 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 26 18:44:11 2018 +0000"
      },
      "message": "Merge \"Implement UI for warn-on-launch\""
    },
    {
      "commit": "05d7bebe23f13b078fd0eb7ffba7000baaaf74e0",
      "tree": "61e46d66548920bbfcf9772c20ef4e2ee9e44d57",
      "parents": [
        "b8bbb9d903b7f8c850178a66d389ba87fa191e21",
        "2729909ab6fb1d62e1e21415fc315a61009a7504"
      ],
      "author": {
        "name": "Ruchi Kandoi",
        "email": "kandoiruchi@google.com",
        "time": "Fri Jan 26 01:43:05 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jan 26 01:43:05 2018 +0000"
      },
      "message": "Merge \"Open Mobile API for frameworks/base\" am: 183865f3e1 am: ab8328c047\nam: 2729909ab6\n\nChange-Id: Iee488feed404819e487f3ae87b3e71f531fe69a4\n"
    }
  ],
  "next": "66f0026f3f27e71dfb764df438ce9016d7c5f08d"
}
