)]}'
{
  "log": [
    {
      "commit": "847de83188166e2fbd8d311160675b3267a1e19a",
      "tree": "a4b706f6b70258b2c854b92e90a6f4e4dccaaa7c",
      "parents": [
        "e6bcf626bea76a103765b603e8c34c3ff49b2800",
        "b30f53ee693d468b11a14141887d9c3e9bb37fc0"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Wed Apr 03 19:08:51 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 03 19:08:51 2019 +0000"
      },
      "message": "Merge \"libmedia2_jni: link to libcgrouprc\""
    },
    {
      "commit": "e6bcf626bea76a103765b603e8c34c3ff49b2800",
      "tree": "9a2e94ec09b873f8c98f4608fd8734b3de9890a8",
      "parents": [
        "7754d368f4df84563996d3715b5b7213220c6252",
        "a0ce0952419b59f20f781294dba4c33fe29ead1b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 03 18:23:31 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 03 18:23:31 2019 +0000"
      },
      "message": "Merge \"Convert Android.mk file to Android.bp\""
    },
    {
      "commit": "7754d368f4df84563996d3715b5b7213220c6252",
      "tree": "cf3cb8d0332593718d518effd8f1cb32b87a686c",
      "parents": [
        "16749ac83ef06f53379fb996a6b244ee2fd84090",
        "a6817cd532d7036a2ec794f124368de94bf18621"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 03 17:15:48 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 03 17:15:48 2019 +0000"
      },
      "message": "Merge \"Clean up permissions when uids are no longer used\""
    },
    {
      "commit": "16749ac83ef06f53379fb996a6b244ee2fd84090",
      "tree": "32ae5851e0230204c6f1db90398e99bfa2d6bfa8",
      "parents": [
        "c895b818e0c77587aea89f6cf6476d07123a7939",
        "06f2e1294b8cc23c2a845c850789a69f5a5fa535"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Apr 03 15:21:45 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 03 15:21:45 2019 +0000"
      },
      "message": "Merge \"Pass app\u0027s data dir to ART\""
    },
    {
      "commit": "06f2e1294b8cc23c2a845c850789a69f5a5fa535",
      "tree": "32ae5851e0230204c6f1db90398e99bfa2d6bfa8",
      "parents": [
        "c895b818e0c77587aea89f6cf6476d07123a7939"
      ],
      "author": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Apr 03 13:00:55 2019 +0100"
      },
      "committer": {
        "name": "David Brazdil",
        "email": "dbrazdil@google.com",
        "time": "Wed Apr 03 13:22:27 2019 +0100"
      },
      "message": "Pass app\u0027s data dir to ART\n\nInform ART about the location of the app\u0027s data directory when setting\nup the process. This is part of an optimization that has ART cache\nverification data into that directory.\n\nTest: compiles, boots\nBug: 72131483\nChange-Id: Ic80526b6ee383733eb5860e66f6c608109d838fb\n"
    },
    {
      "commit": "c895b818e0c77587aea89f6cf6476d07123a7939",
      "tree": "e5bca877948aac521e7842ca53c5761643817e97",
      "parents": [
        "31b33b6f41c471898f317dbb3dbb7eaf3e58a8ca",
        "8175ac99adc8248254450d493490755e6c901cd6"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 03 10:50:09 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 03 10:50:09 2019 +0000"
      },
      "message": "Merge \"Fix NetworkMonitor won\u0027t do private dns resolution\""
    },
    {
      "commit": "31b33b6f41c471898f317dbb3dbb7eaf3e58a8ca",
      "tree": "8c565b1dadee24967fa6369d8144e98d721e0041",
      "parents": [
        "75a76da717d70ca8d56cb015881fbe2cd0424008",
        "9f246bd9e34b650b98abc03d3acd1b1bf49c2393"
      ],
      "author": {
        "name": "Mark Chien",
        "email": "markchien@google.com",
        "time": "Wed Apr 03 10:16:25 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 03 10:16:25 2019 +0000"
      },
      "message": "Merge \"Some cleanups for Tethering\""
    },
    {
      "commit": "8175ac99adc8248254450d493490755e6c901cd6",
      "tree": "3b8cd5a422b6d4a13f1a8d0071dd7155e1e097e6",
      "parents": [
        "f9d61f1c6dd0f797ca5286495503b45d4b83cbd7"
      ],
      "author": {
        "name": "lucaslin",
        "email": "lucaslin@google.com",
        "time": "Wed Apr 03 17:09:28 2019 +0800"
      },
      "committer": {
        "name": "lucaslin",
        "email": "lucaslin@google.com",
        "time": "Wed Apr 03 17:09:28 2019 +0800"
      },
      "message": "Fix NetworkMonitor won\u0027t do private dns resolution\n\nNetworkMonitor cannot do the private dns resolution due to lack\n\"mNetworkCapabilities\". ConnectivityService will call\nNetworkStackService#notifyPrivateDnsChanged() before doing\nnetwork validation. After NetworkMonitor received\nCMD_PRIVATE_DNS_SETTINGS_CHANGED, it will call\nisValidationRequired to check if the validation is required.\nBut mNetworkCapabilities didn\u0027t be set, so the\nmPrivateDnsProviderHostname will be set to empty and make\nEvaluatingPrivateDnsState doesn\u0027t do private dns resolution.\n\nBug: 129375892\nTest: 1. Build pass\n      2. atest FrameworksNetTests\n      3. atest NetworkStackTests\n\nChange-Id: I637212fb4746bb2e9a2f4a4457fd36c4c2701149\n"
    },
    {
      "commit": "75a76da717d70ca8d56cb015881fbe2cd0424008",
      "tree": "95360ea10a0ba2f8c56e55e042ff96a56eac14ed",
      "parents": [
        "0470353c2e5c827d47ff4dce0a13744d7e429320",
        "0c6d4db413d67dbaa3ca32ce29b3fdefd1ddbd26"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Apr 03 08:22:35 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 03 08:22:35 2019 +0000"
      },
      "message": "Merge \"Remove support for dexopting shared libraries.\""
    },
    {
      "commit": "0c6d4db413d67dbaa3ca32ce29b3fdefd1ddbd26",
      "tree": "73efdafb0e60c1d70b87c2f2e70d9215ea14ad4d",
      "parents": [
        "f9d61f1c6dd0f797ca5286495503b45d4b83cbd7"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Apr 01 10:54:53 2019 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Apr 03 08:21:47 2019 +0000"
      },
      "message": "Remove support for dexopting shared libraries.\n\nThe CL landed after feature complete, and has shown it can cause related issues,\nnot easy to deal with (eg b/128529256 or b/128912573).\n\nThe libs are expected to be preopted (as in P).\n\nPartial revert of 653356f114fa798ee0cc3d5d5ac4ccd0ab4783de.\n\nTest: BackgroundDexOptServiceIntegrationTests\nTest: DexoptUtilsTest\nBug: 119800099\nChange-Id: I3570fbc0e4f7079da3315691d676452b17e516a7\n"
    },
    {
      "commit": "0470353c2e5c827d47ff4dce0a13744d7e429320",
      "tree": "91ddf7f137810d90f590da993e25fa8de569c228",
      "parents": [
        "a84cdf4fc697410deed530a07ab12430d48c427c",
        "59a06a05bd9921e61b69dda245dc5c665b74f70f"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Apr 03 06:51:35 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 03 06:51:35 2019 +0000"
      },
      "message": "Merge \"Fix API in CaptivePortal, StaticIpConfiguration\""
    },
    {
      "commit": "a84cdf4fc697410deed530a07ab12430d48c427c",
      "tree": "146d65153f13cdf4075a47cb48a3c7d968c029fa",
      "parents": [
        "8dedf2b5e48637f4cb9dce0e1466ae49ca265d73",
        "436fe58cce87934a88a6e3c6d7d16e19f69a4200"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 03 06:12:12 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 03 06:12:12 2019 +0000"
      },
      "message": "Merge \"Add tests for PermissionMonitor\""
    },
    {
      "commit": "9f246bd9e34b650b98abc03d3acd1b1bf49c2393",
      "tree": "96d98b78976fa8951b6c0b684189e4148d464def",
      "parents": [
        "c650674397fe611aa93bc9555c8b5e7b158fc992"
      ],
      "author": {
        "name": "markchien",
        "email": "markchien@google.com",
        "time": "Wed Apr 03 10:43:09 2019 +0800"
      },
      "committer": {
        "name": "markchien",
        "email": "markchien@google.com",
        "time": "Wed Apr 03 13:56:00 2019 +0800"
      },
      "message": "Some cleanups for Tethering\n\nBug: 126481523\nTest: -build, flash, boot\n      -FrameworksNetTests\n\nChange-Id: I904646efa87eb5434124c7828aca4ab09c5dc38e\n"
    },
    {
      "commit": "b30f53ee693d468b11a14141887d9c3e9bb37fc0",
      "tree": "9ce97ba4d6b4d315130fae7cbdb5e09d0c4d93e3",
      "parents": [
        "96cf453355a774b9dd35e5746ce6cf0c4cd6e0a4"
      ],
      "author": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Thu Mar 28 15:54:10 2019 -0700"
      },
      "committer": {
        "name": "Yifan Hong",
        "email": "elsk@google.com",
        "time": "Tue Apr 02 22:26:16 2019 -0700"
      },
      "message": "libmedia2_jni: link to libcgrouprc\n\nlibcgrouprc is an LLNDK library used by libprocessgroup.\nlibprocessgroup is linked statically, so the dependency needs\nto be explicitly stated in libmedia2_jni.\n\nTest: boots (sanity)\nBug: 123664216\nChange-Id: Ieebba36417d1f83a5946f927043f15dc8abc188a\nMerged-In: Ieebba36417d1f83a5946f927043f15dc8abc188a\n"
    },
    {
      "commit": "a6817cd532d7036a2ec794f124368de94bf18621",
      "tree": "537af77cf47f1875677ddbc11c1f7d31750a1227",
      "parents": [
        "436fe58cce87934a88a6e3c6d7d16e19f69a4200"
      ],
      "author": {
        "name": "Chenbo Feng",
        "email": "fengc@google.com",
        "time": "Mon Mar 25 18:13:34 2019 -0700"
      },
      "committer": {
        "name": "Chenbo Feng",
        "email": "fengc@google.com",
        "time": "Tue Apr 02 20:31:57 2019 -0700"
      },
      "message": "Clean up permissions when uids are no longer used\n\nThe kernel eBPF maps have a blacklist to store all the uids that doesn\u0027t\nhave internet permission. When an app is unintalled from the device and\nit is the last package on device that uses that uid, make sure we\ncleaned the uid from the map and do not add no longer used uids into the\neBPF map. This action helps reduce the number of entries stored in the\nmap and reduce the chance of overflow the eBPF map.\n\nBug: 128944261\nTest: PermissionMonitorTest\nChange-Id: I10dd0113d00d6cf9ca39902d9721f2591d387d4a\n"
    },
    {
      "commit": "436fe58cce87934a88a6e3c6d7d16e19f69a4200",
      "tree": "6324a7bb209d69311006b36a89cee57c2044d430",
      "parents": [
        "1423684d1afbc5bb9b15d270ba5f87f5544d8ac7"
      ],
      "author": {
        "name": "Chenbo Feng",
        "email": "fengc@google.com",
        "time": "Mon Feb 25 22:55:58 2019 -0800"
      },
      "committer": {
        "name": "Chenbo Feng",
        "email": "fengc@google.com",
        "time": "Tue Apr 02 20:31:49 2019 -0700"
      },
      "message": "Add tests for PermissionMonitor\n\nAdd more tests to PermissionMonitor to verify the functionality related\nto INTERNET permission and UPDATE_DEVIE_STATS permission. Modified some\nof the class design of PermissionMonitor so that it is easier to test\nthe new functionalities.\n\nBug: 111560570\nTest: PermissionMonitorTest\n\nChange-Id: Ic5585f337db5de48e2f87bf4f01ed7d85c349827\n"
    },
    {
      "commit": "8dedf2b5e48637f4cb9dce0e1466ae49ca265d73",
      "tree": "a8564ec8346ffe8bd464658723fda2b420a4b8d3",
      "parents": [
        "3db9cfe660260cdb778b2ac34b66f4334ba03cab",
        "27ff4071042fae30a5722d1381e7c8849276db74"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Wed Apr 03 02:47:20 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 03 02:47:20 2019 +0000"
      },
      "message": "Merge changes from topics \"lte_ca_support\", \"ss_provider\"\n\n* changes:\n  Correctly support LTE carrier aggregation\n  Passing ServiceState as byte array into ServiceStateProvider\n"
    },
    {
      "commit": "3db9cfe660260cdb778b2ac34b66f4334ba03cab",
      "tree": "54bffed48ac3742dfc63da1a467ba8dc27d00492",
      "parents": [
        "50b59ccafc834fa60fbdab54a7f229031e945424",
        "b0f53b84cc9e2595bed22fa68eee4ab0e3690b9e"
      ],
      "author": {
        "name": "Paul Hu",
        "email": "paulhu@google.com",
        "time": "Wed Apr 03 02:42:06 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 03 02:42:06 2019 +0000"
      },
      "message": "Merge \"Make CaptivePortalProbeSpec and CaptivePortalProbeResult as a library\""
    },
    {
      "commit": "50b59ccafc834fa60fbdab54a7f229031e945424",
      "tree": "995afff655073b09418559b69da49d7c89ad2b3a",
      "parents": [
        "3c1a889a9c1007b81250ac89025324f55943f5a0",
        "dfd0fd2c594764c599684da343092435e6158a16"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 02 23:46:52 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 02 23:46:52 2019 +0000"
      },
      "message": "Merge \"Use LOCAL_REQUIRED_MODULES instead of LOCAL_TARGET_REQUIRED_MODULES\""
    },
    {
      "commit": "3c1a889a9c1007b81250ac89025324f55943f5a0",
      "tree": "d7a0299c79b86a4d9cf2e338a211a780c8518ea2",
      "parents": [
        "179e1328233a8c1885cfcceaf579e7208f26aba9",
        "bb9446d439b02516e7004b0ba4036b4de6ffb6b8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 02 23:21:31 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 02 23:21:31 2019 +0000"
      },
      "message": "Merge \"Change UT to disabled by default\""
    },
    {
      "commit": "dfd0fd2c594764c599684da343092435e6158a16",
      "tree": "d0f9f643d1bcafcafecd03abe67702dc03b379f0",
      "parents": [
        "179e1328233a8c1885cfcceaf579e7208f26aba9"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Apr 02 14:49:32 2019 -0700"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Apr 02 14:56:38 2019 -0700"
      },
      "message": "Use LOCAL_REQUIRED_MODULES instead of LOCAL_TARGET_REQUIRED_MODULES\n\nLOCAL_TARGET_REQUIRED_MODULES is intended for host -\u003e target\ndependencies, not target -\u003e target dependencies (which can use\nLOCAL_REQUIRED_MODULES).\n\nTest: treehugger\nChange-Id: I84de8adcdd772be0169b6d6b8df6f69b00ce888f\n"
    },
    {
      "commit": "27ff4071042fae30a5722d1381e7c8849276db74",
      "tree": "95ec741a4ccc4eeebc9cf57f7bab2f6f4f347912",
      "parents": [
        "2d9b4faedc17e44e08cd255540c2adba2e1e1c92"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Mon Apr 01 15:01:13 2019 -0700"
      },
      "committer": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Tue Apr 02 14:26:06 2019 -0700"
      },
      "message": "Correctly support LTE carrier aggregation\n\nNetworkRegistrationInfo.getAccessNetworkTechnology() should\nreport LTE as the network type when modem reports the RAT\nLTE_CA. Fixed by adding a flag in data specific registration\ninfo.\n\nTest: Manual\nBug: 129707180\nMerged-In: Ib152f97711441fded998a36528ef007f9e28ccbf\nChange-Id: Ib152f97711441fded998a36528ef007f9e28ccbf\n(cherry picked from commit 05a6543248d87ee918a9019796d5ff8c7799f604)\n"
    },
    {
      "commit": "2d9b4faedc17e44e08cd255540c2adba2e1e1c92",
      "tree": "14502612d0facac2af9b13a75173c45526b2e97c",
      "parents": [
        "179e1328233a8c1885cfcceaf579e7208f26aba9"
      ],
      "author": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Tue Apr 02 10:49:35 2019 -0700"
      },
      "committer": {
        "name": "Jack Yu",
        "email": "jackyu@google.com",
        "time": "Tue Apr 02 14:02:57 2019 -0700"
      },
      "message": "Passing ServiceState as byte array into ServiceStateProvider\n\nThis allows the provider to reconstruct the service state\nobject correctly. Also we can get rid of all the \u0027set\u0027\nmethods in ServiceState, which we\u0027d like to remove in the future.\n\nTest: Manual\nBug: 129768354\nMerged-In: I835d30e544b3ed49d5d0b6b1ca981a81e3ee2039\nChange-Id: I835d30e544b3ed49d5d0b6b1ca981a81e3ee2039\n(cherry picked from commit 2e273b2f0f160487b75f5386a2a0cd688f095727)\n"
    },
    {
      "commit": "179e1328233a8c1885cfcceaf579e7208f26aba9",
      "tree": "b7190655ece29ee300cc78e3ee42ecba579d1cde",
      "parents": [
        "97f778f0b58beb710f2b28a26d4a5c38186c6c2e",
        "45c0d71e774c84ec81392393a0fafad398d2838d"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Apr 02 16:39:04 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 02 16:39:04 2019 +0000"
      },
      "message": "Merge \"Convert frameworks/base/cmds/* to Android.bp\""
    },
    {
      "commit": "97f778f0b58beb710f2b28a26d4a5c38186c6c2e",
      "tree": "5421f3d02e32e4475e2ef49c104a8d71cd036e02",
      "parents": [
        "1f80714c2deb55a0391ca74b1c284949c69c60fd",
        "a5df0f8c27c3a70bc51fbd80a361178f9144417c"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 02 15:14:28 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 02 15:14:28 2019 +0000"
      },
      "message": "Merge \"docs: Linked VpnService class description to guide.\""
    },
    {
      "commit": "1f80714c2deb55a0391ca74b1c284949c69c60fd",
      "tree": "5dd96e080644e57b4e306982dcaba035e8d2ad12",
      "parents": [
        "7934214f4c786a85e135ec1abe1129269bf74c52",
        "a6e09b427392b4448545a92363d2e6e1967d335c"
      ],
      "author": {
        "name": "Andrei-Valentin Onea",
        "email": "andreionea@google.com",
        "time": "Tue Apr 02 13:10:37 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 02 13:10:37 2019 +0000"
      },
      "message": "Merge \"Automatically greylist code in 3P packages\""
    },
    {
      "commit": "7934214f4c786a85e135ec1abe1129269bf74c52",
      "tree": "765f72f7d00d6457b54c488abbec073a9591824a",
      "parents": [
        "1e97aab6f423e0528912e72fe23f51e5e0a4e29a",
        "7b305ceb5be02da2a421a125769e540cf516686f"
      ],
      "author": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Tue Apr 02 10:48:23 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 02 10:48:23 2019 +0000"
      },
      "message": "Merge \"Ignore the asynchronous result while stopping keepalive\""
    },
    {
      "commit": "b0f53b84cc9e2595bed22fa68eee4ab0e3690b9e",
      "tree": "3141f87835cccc7ab24e8f13da1934b11fb7478d",
      "parents": [
        "1e97aab6f423e0528912e72fe23f51e5e0a4e29a"
      ],
      "author": {
        "name": "paulhu",
        "email": "paulhu@google.com",
        "time": "Fri Mar 29 19:21:30 2019 +0800"
      },
      "committer": {
        "name": "paulhu",
        "email": "paulhu@google.com",
        "time": "Tue Apr 02 17:55:42 2019 +0800"
      },
      "message": "Make CaptivePortalProbeSpec and CaptivePortalProbeResult as a library\n\nThese two classes were added to @SystemApi because they are used\nboth by NetworkMonitor and CaptivePortalLogin. However it turns\nout they are not needed in the framework, so having them as a\nlibrary sounds better.\n\nChange-Id: Iadf77ec5952b6da8812dc6d006a39bd4e93d2bd9\nFix: 129433264\nTest: atest NetworkStackTests FrameworksNetTests\n"
    },
    {
      "commit": "1e97aab6f423e0528912e72fe23f51e5e0a4e29a",
      "tree": "316a57f7ac952facc9422be69ce78b6f57a507da",
      "parents": [
        "4b5ca28dfe79971cb2bd8778a77d9aa488fc7e10",
        "3d67f53b02aa5f0adfc12dbc0e5b5643f1a6c42d"
      ],
      "author": {
        "name": "Paul Hu",
        "email": "paulhu@google.com",
        "time": "Tue Apr 02 07:39:04 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 02 07:39:04 2019 +0000"
      },
      "message": "Merge \"Address leftover comments on 923337 and 930217.\""
    },
    {
      "commit": "4b5ca28dfe79971cb2bd8778a77d9aa488fc7e10",
      "tree": "d72ed981f4a0b1c1b7f247f4a4b965f704979619",
      "parents": [
        "9c706654a26ef19e981acefb69e8646df5f35f29",
        "bdc2702cdf6c47ab808144939bdfe75921140af7"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Apr 02 02:19:44 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 02 02:19:44 2019 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Preload non-bootclasspath Java lib ClassLoaders.\"\"\""
    },
    {
      "commit": "9c706654a26ef19e981acefb69e8646df5f35f29",
      "tree": "b8c3dc408a567e28a49d63693fee378d92c7c6ed",
      "parents": [
        "7f10bb1c1178aeb9bca4abf4fbee1cd7c9ad0ce2",
        "4674a797e98b5e8a4ce20a6a2153e1afece0ba4f"
      ],
      "author": {
        "name": "Xiangyu/Malcolm Chen",
        "email": "refuhoo@google.com",
        "time": "Tue Apr 02 01:46:19 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 02 01:46:19 2019 +0000"
      },
      "message": "Merge \"API Feedback for CBRS\""
    },
    {
      "commit": "59a06a05bd9921e61b69dda245dc5c665b74f70f",
      "tree": "2d9d2cfc7f32a2adaafffca58ce359f9a5ad0d7d",
      "parents": [
        "1859ae7e7d0d250aebd32d98c1963f6f7084dd1f"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Apr 01 17:09:05 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Apr 02 10:43:04 2019 +0900"
      },
      "message": "Fix API in CaptivePortal, StaticIpConfiguration\n\n - Add documentation to CaptivePortal#logEvent\n - Add paragraph breaks to StaticIpConfiguration class javadoc\n - Format javadoc for API documentation\n - Move setters to a builder and hide fields for apps targeting P or\n   older\n - Document StaticIpConfiguration getters and builder setters\n - Add documentation for StaticIpConfiguration#getRoutes\n\nBug: 129362244\nBug: 129433304\nTest: built, flashed, booted, WiFi working\nTest: atest FrameworksNetTests NetworkStackTests\nChange-Id: Ia66c1097f01ca87d02eba3456547aedb1e480186\n"
    },
    {
      "commit": "7f10bb1c1178aeb9bca4abf4fbee1cd7c9ad0ce2",
      "tree": "0d14a543c59d1533270b33c41f4532be49c451f9",
      "parents": [
        "66a133858b909679eec6f1c52da3d9b3ae7dc688",
        "028d7a55fd80bf29cf5d2cd99a64c3d43a452f7b"
      ],
      "author": {
        "name": "Paul Hu",
        "email": "paulhu@google.com",
        "time": "Tue Apr 02 01:39:38 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 02 01:39:38 2019 +0000"
      },
      "message": "Merge \"[IPMS] Implement regular maintenance\""
    },
    {
      "commit": "66a133858b909679eec6f1c52da3d9b3ae7dc688",
      "tree": "878c2573a01b34843b8dc3f5d3a45c891349b1d8",
      "parents": [
        "073e73a0c193286f15b8db6c4486f7ced4815714",
        "4fcdc7ed05893eb848a5fc5e239e1194a85a6a49"
      ],
      "author": {
        "name": "Paul Hu",
        "email": "paulhu@google.com",
        "time": "Tue Apr 02 01:33:02 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 02 01:33:02 2019 +0000"
      },
      "message": "Merge \"Fix IpPrefixTest#testContainsInetAddress fail.\""
    },
    {
      "commit": "073e73a0c193286f15b8db6c4486f7ced4815714",
      "tree": "425aa8945707e19bcba0d34de65409c1d23ddc7e",
      "parents": [
        "e0ef7ce4f7b8ae7273c9f9ebf2707840467baae7",
        "fc6b247d351ae506a12b8f25f0bee62ac51c5ebf"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Apr 02 01:31:51 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 02 01:31:51 2019 +0000"
      },
      "message": "Merge \"Rename NetworkStackPermissionStub\""
    },
    {
      "commit": "fc6b247d351ae506a12b8f25f0bee62ac51c5ebf",
      "tree": "928924b1a04f1b314c819e85a218aed0cc6d5a4c",
      "parents": [
        "06bdf061f00cf6017976e8b26da007729c800e10"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Mar 26 17:24:48 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Apr 02 00:14:05 2019 +0000"
      },
      "message": "Rename NetworkStackPermissionStub\n\nUse NetworkStackPermissionConfig instead.\n\nBug: 129317412\nTest: Flashed, booted, WiFi working\nMerged-In: I7bdc058dddfa483823074055ad5c9d7d2efd37b9\nChange-Id: I45299c12598cd3b33bfd78ae8698d98b77b18dc0\n"
    },
    {
      "commit": "e0ef7ce4f7b8ae7273c9f9ebf2707840467baae7",
      "tree": "9f37fed3d013e1b557f2afe2d6674cfa40164e3e",
      "parents": [
        "4c508d1b033fdc7dfb713aa56519d236f3bdc1c7",
        "d74219ba4a44657f8c0c0deb83032d211e4797e4"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Mon Apr 01 23:28:47 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 01 23:28:47 2019 +0000"
      },
      "message": "Merge \"Cleanup SystemReady in the network stack\""
    },
    {
      "commit": "4c508d1b033fdc7dfb713aa56519d236f3bdc1c7",
      "tree": "903e9376fe9e9cdf77f4da0adfea88a4f3ef038f",
      "parents": [
        "463454432bb55b24c655e16e84c0143bf41ea485",
        "615ca283b2127f56cdca1f19ab61c26d3cb56ea9"
      ],
      "author": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Mon Apr 01 22:55:51 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 01 22:55:51 2019 +0000"
      },
      "message": "Merge \"Add a new carrier config to show the WFC location privacy policy UI\""
    },
    {
      "commit": "463454432bb55b24c655e16e84c0143bf41ea485",
      "tree": "c1113a5c977559a0d6670d13a05ffed6ba56a894",
      "parents": [
        "72e80b5b1a727e8f4aad628137d0c2be6c03e423",
        "875ff327e0a92e7bf415c061989af21dc126a871"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 01 22:37:43 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 01 22:37:43 2019 +0000"
      },
      "message": "Merge \"BluetoothHealth: hide auto-created default constructors\""
    },
    {
      "commit": "72e80b5b1a727e8f4aad628137d0c2be6c03e423",
      "tree": "435610478b75e2b0c499d16f25c25f00ff8b0f3a",
      "parents": [
        "1e263e7bc091e1de661325680e52881c30d04eb0",
        "90aa945df5b2b19d60de72d86966033239e3a8ad"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Apr 01 22:29:07 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 01 22:29:07 2019 +0000"
      },
      "message": "Merge \"Pass debug.allocTracker.stackDepth to runtime if it exists\""
    },
    {
      "commit": "4674a797e98b5e8a4ce20a6a2153e1afece0ba4f",
      "tree": "561b06c7ec35f42199c50eaa4501a544e9922230",
      "parents": [
        "1e263e7bc091e1de661325680e52881c30d04eb0"
      ],
      "author": {
        "name": "Malcolm Chen",
        "email": "refuhoo@google.com",
        "time": "Wed Mar 20 20:32:27 2019 -0700"
      },
      "committer": {
        "name": "Malcolm Chen",
        "email": "refuhoo@google.com",
        "time": "Mon Apr 01 15:23:53 2019 -0700"
      },
      "message": "API Feedback for CBRS\n\nBug: 128902411\nTest: unittest\nChange-Id: I2476834a5048d0e3c2c3413d7168a7a3ad2d7042\nMerged-In: I2476834a5048d0e3c2c3413d7168a7a3ad2d7042\n"
    },
    {
      "commit": "1e263e7bc091e1de661325680e52881c30d04eb0",
      "tree": "241ffb2150fd28b8e29d07431be8702e80f1dcbe",
      "parents": [
        "f276a56215a643f104a73f29ee704abae916561c",
        "60cc67f5ac84b0de3bc3a609251559773c331468"
      ],
      "author": {
        "name": "Xiangyu/Malcolm Chen",
        "email": "refuhoo@google.com",
        "time": "Mon Apr 01 20:51:54 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 01 20:51:54 2019 +0000"
      },
      "message": "Merge \"Remove clearDefaultsForInactiveSubIds.\""
    },
    {
      "commit": "f276a56215a643f104a73f29ee704abae916561c",
      "tree": "22baadd19dee0033040f4586254fe9dba292e687",
      "parents": [
        "1423684d1afbc5bb9b15d270ba5f87f5544d8ac7",
        "64fbe76fba23a9f2ef3efced9a3c30993188bad9"
      ],
      "author": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Mon Apr 01 20:31:10 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 01 20:31:10 2019 +0000"
      },
      "message": "Merge changes from topics \"nw-scan-cts\", \"nw-scan-changes\"\n\n* changes:\n  Add shell permissions for CTS testing\n  Allow requestNetworkScan to return sanitized info\n"
    },
    {
      "commit": "875ff327e0a92e7bf415c061989af21dc126a871",
      "tree": "bce2c3411fd30ed0df8d01eabf6eb3bca5a04af0",
      "parents": [
        "1423684d1afbc5bb9b15d270ba5f87f5544d8ac7"
      ],
      "author": {
        "name": "Jack He",
        "email": "siyuanh@google.com",
        "time": "Thu Mar 28 17:42:26 2019 -0700"
      },
      "committer": {
        "name": "Jack He",
        "email": "siyuanh@google.com",
        "time": "Mon Apr 01 13:19:54 2019 -0700"
      },
      "message": "BluetoothHealth: hide auto-created default constructors\n\nFixes: 123926561\nTest: make\nChange-Id: I388472c82eaca245285b5ecf2959c415508d7e69\n"
    },
    {
      "commit": "90aa945df5b2b19d60de72d86966033239e3a8ad",
      "tree": "b98f2bc784a1bbdf47b39bfa0d8e5a0d6655fd29",
      "parents": [
        "1423684d1afbc5bb9b15d270ba5f87f5544d8ac7"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Fri Mar 29 13:49:35 2019 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Mon Apr 01 17:56:56 2019 +0000"
      },
      "message": "Pass debug.allocTracker.stackDepth to runtime if it exists\n\nSince this is no longer called in ART, pass it down in bind application.\n\nBug: 37291459\nTest: test-art-host\n\nChange-Id: I23623e9b8e9ca6261d90cc1ae1c5d8c24cc4eba5\n"
    },
    {
      "commit": "4fcdc7ed05893eb848a5fc5e239e1194a85a6a49",
      "tree": "c915f68b1affaee229ab0a57eeb3ba0d78faa0e5",
      "parents": [
        "154a0d0b38250bcf246c53b9229937c60a176fbc"
      ],
      "author": {
        "name": "paulhu",
        "email": "paulhu@google.com",
        "time": "Tue Apr 02 00:49:00 2019 +0800"
      },
      "committer": {
        "name": "paulhu",
        "email": "paulhu@google.com",
        "time": "Tue Apr 02 00:49:00 2019 +0800"
      },
      "message": "Fix IpPrefixTest#testContainsInetAddress fail.\n\nThe argument of IpPreFix#contains() has been marked as @NonNull.\nSo the IpPrefixTest#testContainsInetAddress should not test\ncontains() method wiht null object.\n\nBug: None\nTest: atest FrameworksNetTests\n      atest IpPrefixTest#testContainsInetAddress\n\nChange-Id: I2f6bee19514dc47702f64d2a2bbf02d8b7b1b407\n"
    },
    {
      "commit": "1423684d1afbc5bb9b15d270ba5f87f5544d8ac7",
      "tree": "5dd41eaa9673cef2c4782a14ef772f40b359b780",
      "parents": [
        "82d1361e6da4e152bbbfbe2e9031f90b54b9f882",
        "b4537e7eb3e02dd6c2e46f84ca32928a545e7b3b"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Apr 01 16:41:11 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 01 16:41:11 2019 +0000"
      },
      "message": "Merge \"Track public android.system API changes in libcore\""
    },
    {
      "commit": "028d7a55fd80bf29cf5d2cd99a64c3d43a452f7b",
      "tree": "48fc89f2329ed706f63db1cfb0cbeabe44e8fd31",
      "parents": [
        "154a0d0b38250bcf246c53b9229937c60a176fbc"
      ],
      "author": {
        "name": "paulhu",
        "email": "paulhu@google.com",
        "time": "Tue Mar 26 01:39:10 2019 +0800"
      },
      "committer": {
        "name": "paulhu",
        "email": "paulhu@google.com",
        "time": "Mon Apr 01 23:35:36 2019 +0800"
      },
      "message": "[IPMS] Implement regular maintenance\n\nImplement regular maintenance of IpMemoryStoreService. Regular\nmaintenance is scheduled for when the device is idle with access\npower and a minimum interval of one day.\n\nBug: 113554482\nTest: atest NetworkStackTests\nChange-Id: Id3985e30d12307fc2e9fcbe782caaf97a627cef3\n"
    },
    {
      "commit": "82d1361e6da4e152bbbfbe2e9031f90b54b9f882",
      "tree": "27f164b4865ffb8b8e138be5be1ba38746ed5660",
      "parents": [
        "154a0d0b38250bcf246c53b9229937c60a176fbc",
        "3f353c00e0219edda78da0b0abbb7b9831152ce4"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Mon Apr 01 15:08:44 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 01 15:08:44 2019 +0000"
      },
      "message": "Merge \"Unhide ICMP echo constants.\""
    },
    {
      "commit": "154a0d0b38250bcf246c53b9229937c60a176fbc",
      "tree": "08b55d48681ac1936b17ba68520120492c641108",
      "parents": [
        "70e943ba80301e6adc03f747b28a0a72fb923395",
        "e799f84de0d290a5ed5643824009a9b8f2393930"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 01 14:45:18 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 01 14:45:18 2019 +0000"
      },
      "message": "Merge \"Add comment for NetworkStack permissions\""
    },
    {
      "commit": "a6e09b427392b4448545a92363d2e6e1967d335c",
      "tree": "f60c7751e63e6a0e1dfcde34cda7d96a2c7b0fd0",
      "parents": [
        "f3736d67f85fd9a48451e165c70e16b1c3fa6856"
      ],
      "author": {
        "name": "Andrei Onea",
        "email": "andreionea@google.com",
        "time": "Fri Mar 29 15:27:55 2019 +0000"
      },
      "committer": {
        "name": "Andrei Onea",
        "email": "andreionea@google.com",
        "time": "Mon Apr 01 15:32:36 2019 +0100"
      },
      "message": "Automatically greylist code in 3P packages\n\ngenerate_hidden_api_lists now receives a file containing package names\nwhich need to be greylisted (although it could be made to work with any\napi list required).\nAlso took the opportunity to clean up the tests to reflect the more\nstrict code.\n\nBug: 129387816\nTest: m appcompat\nTest: frameworks/base/tools/hiddenapi/generate_hiddenapi_lists_test.py\nChange-Id: I619f8581d166aa48eda572bc0053d8739d6420eb\n"
    },
    {
      "commit": "70e943ba80301e6adc03f747b28a0a72fb923395",
      "tree": "065f5d96171a31ad005fb50af90e5f4cfacbe6a7",
      "parents": [
        "17ea70c6d3568a1c6f98bacc4594e45d4678da49",
        "f8c3cca932ff957e0a4b3892687633e97f286d92"
      ],
      "author": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Mon Apr 01 14:13:50 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 01 14:13:50 2019 +0000"
      },
      "message": "Merge \"Mark PROCESS_OUTGOING_CALLS permission as deprecated.\""
    },
    {
      "commit": "17ea70c6d3568a1c6f98bacc4594e45d4678da49",
      "tree": "271142db3ae305a9805bd262a1b8443f6763b37a",
      "parents": [
        "f9d61f1c6dd0f797ca5286495503b45d4b83cbd7",
        "385ccb05c834053c3867d7750e2d9eb71f0adcf1"
      ],
      "author": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Mon Apr 01 12:59:20 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 01 12:59:20 2019 +0000"
      },
      "message": "Merge \"Add DHCP address lease expiry in IpMemoryStore.\""
    },
    {
      "commit": "3d67f53b02aa5f0adfc12dbc0e5b5643f1a6c42d",
      "tree": "a6aaf98f49ef94fba0db0d66d22b52fc1a9cf1ad",
      "parents": [
        "06bdf061f00cf6017976e8b26da007729c800e10"
      ],
      "author": {
        "name": "paulhu",
        "email": "paulhu@google.com",
        "time": "Fri Mar 22 16:35:06 2019 +0800"
      },
      "committer": {
        "name": "paulhu",
        "email": "paulhu@google.com",
        "time": "Mon Apr 01 16:24:10 2019 +0800"
      },
      "message": "Address leftover comments on 923337 and 930217.\n\n- Restrict unprivileged apps to use\n  NetworkRequest.Builder#setSignalStrength.\n\n- Remove the \"throws NullPointerException\" in\n  CaptivePortalProbeSpec constructor.\n\n- Remove the null check in LinkProperties.\n\n- Add annotataion into all ConnectivityManager.NetworkCallback\n  methods.\n\nChange-Id: Id275cac1d6a30d7515cd7b113394f5e8a0179314\nFix: 129097486\nTest: atest FrameworksNetTests\n"
    },
    {
      "commit": "7b305ceb5be02da2a421a125769e540cf516686f",
      "tree": "3810f395e2122b2f012302fe1c25fb53fb9a1f48",
      "parents": [
        "eea398a690496127b3626917bd800a5d57ae911c"
      ],
      "author": {
        "name": "junyulai",
        "email": "junyulai@google.com",
        "time": "Mon Apr 01 11:33:49 2019 +0800"
      },
      "committer": {
        "name": "junyulai",
        "email": "junyulai@google.com",
        "time": "Mon Apr 01 16:22:02 2019 +0800"
      },
      "message": "Ignore the asynchronous result while stopping keepalive\n\nCurrently, onStopped callback are synchronizely triggered when\nstop() was called, since the framework don\u0027t really care\nabout the result of stopping keepalive.\n\nHowever, if keepalive failed to stop for some reason, the\nhandleStopKeepalive was called mistakenly and trigger additional\ncallback that fail the test case.\n\nThis commit is the behavior change prior to state machine\nrefactoring, and introduce a stopping state for ignoring the\nresult in the stopping state.\n\nBug: 129512753\nBug: 123988249\nTest: 1. atest com.android.server.ConnectivityServiceTest \\\n         #testNattSocketKeepalives --generate-new-metrics 100\n      2. atest FrameworksNetTests\n\nChange-Id: I4fa94e0740ba488fb5fe7ac7c3812c195dd0ec4c\n"
    },
    {
      "commit": "f9d61f1c6dd0f797ca5286495503b45d4b83cbd7",
      "tree": "7d801f393f7f1343671bd1a0c141181c50ac5e90",
      "parents": [
        "9876efdabef97ee85627458698763504a6a56616",
        "819e0aff300d6cf6d67959f0a50f4dbc1da82edf"
      ],
      "author": {
        "name": "Paul Hu",
        "email": "paulhu@google.com",
        "time": "Mon Apr 01 07:20:53 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 01 07:20:53 2019 +0000"
      },
      "message": "Merge \"Fix ApfCapabilities, LinkAddress, RouteInfo, IpPrefix API issues.\""
    },
    {
      "commit": "9876efdabef97ee85627458698763504a6a56616",
      "tree": "1b1323506813be1a962be1a589ba7003485bb9a1",
      "parents": [
        "95c5375a8503bff36a34e8147b2d97747f3da808",
        "e027ed6d2499d52e446a742aa4af08cb44caa0b3"
      ],
      "author": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Mon Apr 01 04:49:33 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 01 04:49:33 2019 +0000"
      },
      "message": "Merge \"Provide link to android experimental flags API\""
    },
    {
      "commit": "d74219ba4a44657f8c0c0deb83032d211e4797e4",
      "tree": "010e3f0b0ed93c9fdae79920a5e313b66fe7fb7c",
      "parents": [
        "78454f3c468e8ddf98c6f2e4f539bf90af34e0c2"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Mon Apr 01 13:04:07 2019 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Mon Apr 01 13:32:25 2019 +0900"
      },
      "message": "Cleanup SystemReady in the network stack\n\nThe system server (in SystemServer.java) defines the boot\nsequence, during which an event called SystemReady happens.\nThis corresponds to a time when critical system services\nthat are depended upon by other components in the system\nserver are ready to handle requests from their dependencies.\nSome system services are listening to this event to defer\ninitializations that depend on the critical services.\n\nBecause the network stack is only started after SystemReady,\nthere is no way any NetworkMonitor may be started before\nSystemReady. Remove the associated mechanism.\n\nFix: 129376083\nTest: FrameworksNetTests\nChange-Id: I071eeb10d0b7c4f71af6653d322c7b442b2cc7ee\n"
    },
    {
      "commit": "e799f84de0d290a5ed5643824009a9b8f2393930",
      "tree": "11be30174d7079cbee2c3715b7ac5b32208beaf6",
      "parents": [
        "95c5375a8503bff36a34e8147b2d97747f3da808"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Apr 01 10:56:05 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Apr 01 04:24:14 2019 +0000"
      },
      "message": "Add comment for NetworkStack permissions\n\nClarify that permissions must not be in the base package to avoid\ncrashes on devices using a network stack running in the system server\nprocess.\n\nTest: m\nChange-Id: Ib13df84a43e960d01217c208d1c6775d1f81edc4\n"
    },
    {
      "commit": "95c5375a8503bff36a34e8147b2d97747f3da808",
      "tree": "4d8c5e84e4d048eb748f425ff6cf16b27127b07d",
      "parents": [
        "78454f3c468e8ddf98c6f2e4f539bf90af34e0c2",
        "2a23dfde16b64bd2949e833c62b6b16be38967a8"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Apr 01 04:20:41 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 01 04:20:41 2019 +0000"
      },
      "message": "Merge \"Move permissions from base to standard manifest\""
    },
    {
      "commit": "78454f3c468e8ddf98c6f2e4f539bf90af34e0c2",
      "tree": "15ffdf0640c8826770cda6bed90134bada06b7cd",
      "parents": [
        "c650674397fe611aa93bc9555c8b5e7b158fc992",
        "3962f678c3559ee62bcfd81d353af5d86a32622e"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Apr 01 03:54:03 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 01 03:54:03 2019 +0000"
      },
      "message": "Merge \"Fix race when starting NetworkMonitor\""
    },
    {
      "commit": "c650674397fe611aa93bc9555c8b5e7b158fc992",
      "tree": "b29ca3fd96386cc09225b2f278b759426c6c92dc",
      "parents": [
        "92e99a6ca9b406065d97446c828bd2eddf36b309",
        "1d2e68cf4b573add594e1c88a0415a858f2aff84"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Apr 01 03:12:31 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 01 03:12:31 2019 +0000"
      },
      "message": "Merge \"Refine Bluetooth silence mode API\""
    },
    {
      "commit": "3962f678c3559ee62bcfd81d353af5d86a32622e",
      "tree": "e5e05a11c032559ee3cd3e48eae67bf64dce04ec",
      "parents": [
        "1859ae7e7d0d250aebd32d98c1963f6f7084dd1f"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Mar 27 15:42:53 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Apr 01 11:33:10 2019 +0900"
      },
      "message": "Fix race when starting NetworkMonitor\n\nNetworkMonitor obtained LinkProperties and NetworkCapabilities via\nsynchronous calls to ConnectivityManager after receiving an asynchronous\nnotification, which is prone to races: the network could be gone before\nthe LinkProperties/NetworkCapabilities can be fetched.\n\nFix the race by passing LinkProperties/NetworkCapabilities directly to\nNetworkMonitor in the asynchronous notifications.\n\nTest: atest FrameworksNetTests NetworkStackTests\nTest: booted, WiFi works\nBug: 129375892\nChange-Id: I200ac7ca6ff79590b11c9be705f650c92fd3cb63\n"
    },
    {
      "commit": "819e0aff300d6cf6d67959f0a50f4dbc1da82edf",
      "tree": "c287373da546aa7dc6971479dc617f57edd0e37f",
      "parents": [
        "06bdf061f00cf6017976e8b26da007729c800e10"
      ],
      "author": {
        "name": "paulhu",
        "email": "paulhu@google.com",
        "time": "Wed Mar 27 22:26:37 2019 +0800"
      },
      "committer": {
        "name": "paulhu",
        "email": "paulhu@google.com",
        "time": "Mon Apr 01 10:23:51 2019 +0800"
      },
      "message": "Fix ApfCapabilities, LinkAddress, RouteInfo, IpPrefix API issues.\n\nFix: 129362082\nFix: 129361362\nFix: 129360330\nFix: 129362379\nTest: atest FrameworksNetTests NetworkStackTests\nChange-Id: I05fbc6f98207d5cf002e3cbc5829040af7d6be52\n"
    },
    {
      "commit": "e027ed6d2499d52e446a742aa4af08cb44caa0b3",
      "tree": "b0736f05ea2f7c90edb88f16a490ac704d08476a",
      "parents": [
        "2a23dfde16b64bd2949e833c62b6b16be38967a8"
      ],
      "author": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Mon Apr 01 09:56:05 2019 +0800"
      },
      "committer": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Mon Apr 01 09:56:05 2019 +0800"
      },
      "message": "Provide link to android experimental flags API\n\nAdd function to link to android experiemental flags API\n\nBug: 120013793\nTest: Build and atest NetworkStackTests\nChange-Id: I14b9a6f06f841a9d63e8c1954907447a9e7eb8a5\n"
    },
    {
      "commit": "2a23dfde16b64bd2949e833c62b6b16be38967a8",
      "tree": "ffb0ce35613452d1612c2d6e1e63dfaafe83ed24",
      "parents": [
        "4ae4e50deffeddcfbaa7dcd85816c60e18011c3d"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Mar 29 14:56:34 2019 +0900"
      },
      "committer": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Mon Apr 01 09:54:34 2019 +0800"
      },
      "message": "Move permissions from base to standard manifest\n\nPermissions defined in AndroidManifest_Base.xml would be inherited in\nAndroidManifest_InProcess.xml and cause issues on svelte builds, since\nprivileged permissions are not whitelisted for\ncom.android.networkstack.inprocess.\n\nThe network stack running in the system_server process does not need\nthese permissions anyway since it has system_server permissions.\n\n(clean cherry-pick from Ica63ce586e701b1f2415a97f63ba27cc25e4830a)\n\nTest: flashed, booted crosshatch_svelte-eng, WiFi works\nTest: flashed, booted blueline-eng, WiFi works\nFixes: 129485310\nMerged-In: Ica63ce586e701b1f2415a97f63ba27cc25e4830a\nChange-Id: Ib4b478fb39f43a2fd4221c7d1f1ea51de04e0fba\n"
    },
    {
      "commit": "f8c3cca932ff957e0a4b3892687633e97f286d92",
      "tree": "2df5f856cd00705f6a6736883c7f64b68b898ba5",
      "parents": [
        "86675ed5c069d8eef5c5c20203171a3e0706a9c0"
      ],
      "author": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Fri Mar 29 16:38:29 2019 -0700"
      },
      "committer": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Sat Mar 30 04:50:46 2019 +0000"
      },
      "message": "Mark PROCESS_OUTGOING_CALLS permission as deprecated.\n\nWe deprecated the NEW_OUTGOING_CALL broadcast which uses this, so we\nshould also deprecate the permission to make it more clear to the\ndevelopers.\n\nTest: Build / make api\nBug: 129531123\nBug: 129572090\nChange-Id: Iac4979ffe29c33eb2ed8ffe4a7799e7caa794951\n"
    },
    {
      "commit": "92e99a6ca9b406065d97446c828bd2eddf36b309",
      "tree": "88d2a24ea51305a6f501649f4192470331c7c7ab",
      "parents": [
        "4ae4e50deffeddcfbaa7dcd85816c60e18011c3d",
        "6633c57fa0d07b71224690cea13cf1126a0801d1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Mar 30 00:53:23 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Mar 30 00:53:23 2019 +0000"
      },
      "message": "Merge \"Revert \"Change Values for Opportunistic Entry \u0026 Exit Thresholds\"\""
    },
    {
      "commit": "6633c57fa0d07b71224690cea13cf1126a0801d1",
      "tree": "b2c4c1be4a1a6429543e843b2f29f56bba4ff3d1",
      "parents": [
        "f0c8f19325a83374b52f49d6b66fcf05466c1c54"
      ],
      "author": {
        "name": "Sooraj Sasindran",
        "email": "sasindran@google.com",
        "time": "Fri Mar 29 23:14:23 2019 +0000"
      },
      "committer": {
        "name": "Sooraj Sasindran",
        "email": "sasindran@google.com",
        "time": "Sat Mar 30 00:07:33 2019 +0000"
      },
      "message": "Revert \"Change Values for Opportunistic Entry \u0026 Exit Thresholds\"\n\nThis reverts commit f0c8f19325a83374b52f49d6b66fcf05466c1c54.\n\nReason for revert: From further test, we see sharp decline in data throughput\n\nChange-Id: I0fb031a8adf15d3a0149651bcc51ee1d7318a42e\n"
    },
    {
      "commit": "45c0d71e774c84ec81392393a0fafad398d2838d",
      "tree": "40b86b0262b7c58c72a2be670380e56bf7fce96d",
      "parents": [
        "4ae4e50deffeddcfbaa7dcd85816c60e18011c3d"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Mar 28 22:31:35 2019 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Mar 29 16:35:06 2019 -0700"
      },
      "message": "Convert frameworks/base/cmds/* to Android.bp\n\nSee build/soong/README.md for more information.\n\nAlso converts the rest of frameworks/base/tools/streaming_proto.\n\nBug: 122332340\nTest: m checkbuild\nChange-Id: I87c500c5464fb1722b4b518d89065f5e1ee29a97\nMerged-In: Ieb54feb3902bddfd5a571369fbf50161ae646647\n"
    },
    {
      "commit": "4ae4e50deffeddcfbaa7dcd85816c60e18011c3d",
      "tree": "3176bcd30a75be7e2192e7d3aabb82898caac955",
      "parents": [
        "dc4cb81c836d5d15996c14305dbce7af5d261bb5",
        "099d985844be826e4ed093868ac5e70297592f61"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 29 22:52:00 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 29 22:52:00 2019 +0000"
      },
      "message": "Merge \"Do not show SMS SIM pick UI for Cell Broadcast Config change\""
    },
    {
      "commit": "bdc2702cdf6c47ab808144939bdfe75921140af7",
      "tree": "8d12080e3d6cd611a5c78850d3f72e28b2ee1ecf",
      "parents": [
        "d3c2bc5a4e2abeae03c24b1b2acbb379222b783e"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Mar 29 21:23:48 2019 +0000"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Mar 29 21:52:32 2019 +0000"
      },
      "message": "Revert \"Revert \"Preload non-bootclasspath Java lib ClassLoaders.\"\"\n\nThis reverts commit d3c2bc5a4e2abeae03c24b1b2acbb379222b783e.\n\nReason for revert: reland fix\nBug: 128529256\n\nChange-Id: I0647d4242406e31348a68ebba328e5f8ad750144\n"
    },
    {
      "commit": "dc4cb81c836d5d15996c14305dbce7af5d261bb5",
      "tree": "68095ca3619b9dcf729db1fb0b43859423f7dc64",
      "parents": [
        "fdb8dfdadfab7e83acfa39e5a336f7a7273da903",
        "fe577d3c4d8053607d3c70e8b403e0b37d005801"
      ],
      "author": {
        "name": "Xiangyu/Malcolm Chen",
        "email": "refuhoo@google.com",
        "time": "Fri Mar 29 21:48:10 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 29 21:48:10 2019 +0000"
      },
      "message": "Merge changes from topics \"128455935\", \"123661746\"\n\n* changes:\n  Better description and parameter name of setPreferredDataSubscriptionId\n  Remove SubscriptionManager#setMetered API.\n"
    },
    {
      "commit": "60cc67f5ac84b0de3bc3a609251559773c331468",
      "tree": "09ae4cc2e3c6248babc48c77a4b11ed9fbb6cdfb",
      "parents": [
        "fdb8dfdadfab7e83acfa39e5a336f7a7273da903"
      ],
      "author": {
        "name": "Malcolm Chen",
        "email": "refuhoo@google.com",
        "time": "Thu Mar 14 20:56:00 2019 -0700"
      },
      "committer": {
        "name": "Malcolm Chen",
        "email": "refuhoo@google.com",
        "time": "Fri Mar 29 14:41:59 2019 -0700"
      },
      "message": "Remove clearDefaultsForInactiveSubIds.\n\nclearDefaultsForInactiveSubIds is no longer needed as Telephony\nhas internal logic to clear or update default settings automatically.\n\nBug: 128645056\nTest: manual\nChange-Id: Ib7bc0ae6dba6f10e3a052df1644cc77dd30121a9\nMerged-In: Ib7bc0ae6dba6f10e3a052df1644cc77dd30121a9\n"
    },
    {
      "commit": "fdb8dfdadfab7e83acfa39e5a336f7a7273da903",
      "tree": "0f946b8afd92a107403c05e93b5f72ec270fb6e4",
      "parents": [
        "801cd8ff8ac336b1566a1fb109af53ca6c372824",
        "78704efc3a0f18fb9518bd3cca8e04e1e6d38882"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 29 21:18:10 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 29 21:18:10 2019 +0000"
      },
      "message": "Merge \"Add missing checkThread\""
    },
    {
      "commit": "099d985844be826e4ed093868ac5e70297592f61",
      "tree": "79c8537fe118192f1a09df5bb46dffeb340242a4",
      "parents": [
        "213812ba28b4532eda453bf322e71cf628d0d59a"
      ],
      "author": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Thu Mar 28 15:46:50 2019 -0700"
      },
      "committer": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Fri Mar 29 13:23:11 2019 -0700"
      },
      "message": "Do not show SMS SIM pick UI for Cell Broadcast Config change\n\nIf the user did not pick their default SIM subscription for\nSMS, we were showing many dialogs to the user whenever\nSmsManager#getSubscriptionId was called for cell broadcast\nrelated APIs.\n\nInstead, if we instantiate the SmsManager using\nSmsManager.getDefault() and the user has not set a default,\nuse the default Phone and do not show SIM picker activity\n(consistent with legacy implementation).\n\nBug: 129315610\nTest: set up DSDS, disable eSIM operator in settings\nChange-Id: I3cc4839632eede75c8943836432b07978d0efda0\n"
    },
    {
      "commit": "b4537e7eb3e02dd6c2e46f84ca32928a545e7b3b",
      "tree": "f8ae3c8df17c3466e395bb7ffca61d748913c2bc",
      "parents": [
        "f3736d67f85fd9a48451e165c70e16b1c3fa6856"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri Mar 29 13:33:47 2019 +0000"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri Mar 29 20:21:37 2019 +0000"
      },
      "message": "Track public android.system API changes in libcore\n\nTrack public android.system API changes in libcore associated with\nOs.setSockOptTimeval() / Os.getSockOptTimeVal().\n\nTest: See associated libcore change\nBug: 129251251\nBug: 117867568\nBug: 129433363\nChange-Id: Ic7c179aebbf29115dea4e09fbc68f515d13bcc3f\n"
    },
    {
      "commit": "801cd8ff8ac336b1566a1fb109af53ca6c372824",
      "tree": "acb3b86a043724a4eb7ba0c9093741bac4482930",
      "parents": [
        "1f45f29d18aacda395daebbfe8d9dc4eb9c5d5cf",
        "7cf1017c39d8a44d781669303256be53e83c1d49"
      ],
      "author": {
        "name": "Shuo Qian",
        "email": "shuoq@google.com",
        "time": "Fri Mar 29 20:13:09 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 29 20:13:09 2019 +0000"
      },
      "message": "Merge \"Check permissions and carrier privilege in notifyActiveDataSubIdChanged\""
    },
    {
      "commit": "1f45f29d18aacda395daebbfe8d9dc4eb9c5d5cf",
      "tree": "949831d82a7df7c50737602fcc828105e6d1d6f2",
      "parents": [
        "54fffdc8767f9ba5f34738e7063353b15eb2461f",
        "21f962585d4d1cd218b4d29bc5b436f13e48a265"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 29 19:55:57 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 29 19:55:57 2019 +0000"
      },
      "message": "Merge \"Fix getWifiManager exception if phone is encrypted\""
    },
    {
      "commit": "7cf1017c39d8a44d781669303256be53e83c1d49",
      "tree": "604df7dc9c26da25fe1c45e4af8a1e68f1567b9e",
      "parents": [
        "54fffdc8767f9ba5f34738e7063353b15eb2461f"
      ],
      "author": {
        "name": "sqian",
        "email": "shuoq@google.com",
        "time": "Fri Mar 29 11:35:29 2019 -0700"
      },
      "committer": {
        "name": "sqian",
        "email": "shuoq@google.com",
        "time": "Fri Mar 29 11:35:29 2019 -0700"
      },
      "message": "Check permissions and carrier privilege in notifyActiveDataSubIdChanged\n\nBug: 127978132\nTest: Treehugger\nMerged-In: I1d9c5d1b242953a2af3e56718ef82761941d8d9c\n(cherry picked from commit 9e9ed18772087cf96571847dc3fbfb235d620f43)\n\nChange-Id: Ia25472063d6f42c36f429e725d364ecf4f16fec1\n"
    },
    {
      "commit": "54fffdc8767f9ba5f34738e7063353b15eb2461f",
      "tree": "4bd5b7b104549975fb01e5930177d595a44bbf38",
      "parents": [
        "80be1b1127dc6c220a9a9ab91021b00f04d4e740",
        "47e5ce9c3e3b4a0c99fd8e5956add2a9e0906bb2"
      ],
      "author": {
        "name": "Brad Ebinger",
        "email": "breadley@google.com",
        "time": "Fri Mar 29 18:23:35 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 29 18:23:35 2019 +0000"
      },
      "message": "Merge \"Change ProvisioningManager API as per review\""
    },
    {
      "commit": "80be1b1127dc6c220a9a9ab91021b00f04d4e740",
      "tree": "391572655e08609052e9206111c15f6bd6b3ea39",
      "parents": [
        "e5709bf75faf9f3520143d4d1c8e253038f11400",
        "5bf7aa2abbb378936c151e0beedab235ebfd7ab5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 29 18:22:12 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 29 18:22:12 2019 +0000"
      },
      "message": "Merge \"Minor change for async DNS API\""
    },
    {
      "commit": "e5709bf75faf9f3520143d4d1c8e253038f11400",
      "tree": "5536aa67258b6a2a9b0a4dbfea58afd4f38908b1",
      "parents": [
        "ae1e2eef9e5abc1424f5e4342e5eaa6376665ca7",
        "70d83725fc18dc73d762de9b4dc8e37dba6b27e6"
      ],
      "author": {
        "name": "Shuo Qian",
        "email": "shuoq@google.com",
        "time": "Fri Mar 29 18:11:26 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 29 18:11:26 2019 +0000"
      },
      "message": "Merge \"Emergency Number format\""
    },
    {
      "commit": "78704efc3a0f18fb9518bd3cca8e04e1e6d38882",
      "tree": "52664b94af3b22cf994a476d6b8d3bda41ab8395",
      "parents": [
        "0bd511611e73945a01c65db1183f549beff95105"
      ],
      "author": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Mar 29 10:26:01 2019 -0700"
      },
      "committer": {
        "name": "John Reck",
        "email": "jreck@google.com",
        "time": "Fri Mar 29 10:26:01 2019 -0700"
      },
      "message": "Add missing checkThread\n\nFixes: 129362490\nTest: none\nChange-Id: I9429b48291908db7021ad10a18ef3180c7e83bf9\n"
    },
    {
      "commit": "ae1e2eef9e5abc1424f5e4342e5eaa6376665ca7",
      "tree": "e44eab45229daf53272620d2d9c01b7f076ec66c",
      "parents": [
        "3dd6df002b56c6edc2133cf96f8f3d044932f064",
        "4c91debee8f3b19d65dd865e7fd1651459d491c8"
      ],
      "author": {
        "name": "Sooraj Sasindran",
        "email": "sasindran@google.com",
        "time": "Fri Mar 29 17:21:54 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 29 17:21:54 2019 +0000"
      },
      "message": "Merge \"Update documentation for updateAvailableNetworks\""
    },
    {
      "commit": "3f353c00e0219edda78da0b0abbb7b9831152ce4",
      "tree": "990e563b65d86d873b5f23553574ccd8ae152632",
      "parents": [
        "eea398a690496127b3626917bd800a5d57ae911c"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Mar 29 22:14:28 2019 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Sat Mar 30 02:16:37 2019 +0900"
      },
      "message": "Unhide ICMP echo constants.\n\nBug: 129251251\nTest: atest android.net.ipv6.cts.PingTest com.android.cts.net.hostside.VpnTest com.android.cts.deviceandprofileowner.AlwaysOnVpnTest\nChange-Id: I5dc8fce0ac47aa622c8d6763b8fa443a7a0570c8\n"
    },
    {
      "commit": "64fbe76fba23a9f2ef3efced9a3c30993188bad9",
      "tree": "0b7e92c8814f534b77d93e055ff628d461b483e6",
      "parents": [
        "c9d74306858b45268f0a383c330cc71b197425ab"
      ],
      "author": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Thu Feb 28 15:29:19 2019 -0800"
      },
      "committer": {
        "name": "Hall Liu",
        "email": "hallliu@google.com",
        "time": "Fri Mar 29 17:15:02 2019 +0000"
      },
      "message": "Add shell permissions for CTS testing\n\nAdd NETWORK_SCAN to shell permissions to enable CTS testing of the\nnetwork scan changes\n\nBug: 126779616\nTest: CTS\nChange-Id: I1f75c9005620b3b0e06f066677cba6190f1d266c\nMerged-In: I1f75c9005620b3b0e06f066677cba6190f1d266c\n"
    },
    {
      "commit": "3dd6df002b56c6edc2133cf96f8f3d044932f064",
      "tree": "3936bc0b076920e30adef4796db8800ffe6f7b2f",
      "parents": [
        "51e5edcb9ba5bd6364b81294107d072706db79a9",
        "e9b2bba3026f98b1d1a1c27bcb63078003889878"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Mar 29 14:46:11 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 29 14:46:11 2019 +0000"
      },
      "message": "Merge \"Unremove DnsResolver#query method used by external developers\""
    },
    {
      "commit": "51e5edcb9ba5bd6364b81294107d072706db79a9",
      "tree": "00c8befc51b61a3edde8589e38f24e9b7160edfb",
      "parents": [
        "f5166d55271c83bb758b2cc3976c4279619a819e",
        "8677f1b6ea1792fd16ef3793def916e89e834714"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 29 14:04:27 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 29 14:04:27 2019 +0000"
      },
      "message": "Merge \"Fixed NPE in RankingHelper.writeXml. Make sure that mRecords is operated with the object lock.\""
    },
    {
      "commit": "8677f1b6ea1792fd16ef3793def916e89e834714",
      "tree": "11f6bcd8f848eaee05bfd669042240f44d404698",
      "parents": [
        "d14d29ca8fa5f823cee1c5eabe139e2733374f71"
      ],
      "author": {
        "name": "Ethan_Hu",
        "email": "huyuxin3818@gmail.com",
        "time": "Tue Mar 05 14:58:32 2019 +0800"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Fri Mar 29 13:08:27 2019 +0000"
      },
      "message": "Fixed NPE in RankingHelper.writeXml.\nMake sure that mRecords is operated with the object lock.\n\nBug:127290258\nTest: Repeat to upgrade the App targetversion from less than O to a later version\nChange-Id: I70e61c0fcd3071f32a430d45441ffe1376147a5d\nSigned-off-by: Ethan_Hu \u003chuyuxin3818@gmail.com\u003e\nMerged-In: Ic7f676499425fe54453384d7c03de5d95c03a713\n"
    },
    {
      "commit": "f5166d55271c83bb758b2cc3976c4279619a819e",
      "tree": "660a9f5cc95957a62c8c3f412e85571b48f727c0",
      "parents": [
        "5dfc73b9afd82303ead2989ee12419a83fc2976b",
        "75a6043bf1d767d11c16ce3931fe75fe76e83140"
      ],
      "author": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Fri Mar 29 13:03:20 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 29 13:03:20 2019 +0000"
      },
      "message": "Merge \"apf: Documentation improvements and code optimizations for keepalive filters\""
    },
    {
      "commit": "5bf7aa2abbb378936c151e0beedab235ebfd7ab5",
      "tree": "e1dd6c25f7f429511750dcc3ed76945cccfaf300",
      "parents": [
        "e9b2bba3026f98b1d1a1c27bcb63078003889878"
      ],
      "author": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Fri Mar 29 18:01:11 2019 +0800"
      },
      "committer": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Fri Mar 29 18:12:26 2019 +0800"
      },
      "message": "Minor change for async DNS API\n\ndo the minor changes to address comments before\n\nBug: 129395490\nTest: atest DnsResolverTest\nChange-Id: I56e2e5bc4352ff5c979579247a333a41950079da\n"
    },
    {
      "commit": "e9b2bba3026f98b1d1a1c27bcb63078003889878",
      "tree": "cbb8f49bcd53b573cc8dcc3d2c595c3826275fae",
      "parents": [
        "5dfc73b9afd82303ead2989ee12419a83fc2976b"
      ],
      "author": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Thu Mar 28 13:56:31 2019 +0800"
      },
      "committer": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Fri Mar 29 18:12:26 2019 +0800"
      },
      "message": "Unremove DnsResolver#query method used by external developers\n\nThis method was removed as part of addressing API council feedback in b/129261432\nAdd back previous DnsResolver#query which is already being used by developers.\n\nBug: 129395490\nTest: atest DnsResolverTest\n\nChange-Id: Ic956db204f3940d39d42e1b11dda39e57d356fad\n"
    },
    {
      "commit": "5dfc73b9afd82303ead2989ee12419a83fc2976b",
      "tree": "28aca1f3508ac44506d3ae1246b1c1b8a5bb8e8c",
      "parents": [
        "4dd28c02cdd886358d576e7a85e26dd64d1cf085",
        "51a4e9f136dcd63fe8ca7a079d93aba495925cf9"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 29 09:18:31 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 29 09:18:31 2019 +0000"
      },
      "message": "Merge \"Add version attribute\""
    },
    {
      "commit": "4dd28c02cdd886358d576e7a85e26dd64d1cf085",
      "tree": "f84336702cd873585eafc16a62693dc6da1d5d8f",
      "parents": [
        "b9ef4dd299f8b7d3f01fd76ea85a6a62b7a1c645",
        "ea07526597c5d1cce1342e975145204aabd92f19"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 29 09:18:13 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 29 09:18:13 2019 +0000"
      },
      "message": "Merge changes from topic \"default_permissions\"\n\n* changes:\n  Change the package name\n  Add maxOccurs\n"
    },
    {
      "commit": "b9ef4dd299f8b7d3f01fd76ea85a6a62b7a1c645",
      "tree": "35db2eb4c53e6484917afc1d20600dc8baf3c892",
      "parents": [
        "bc350db984669fb4220e75b67407e0bec3e51038",
        "6591477a5b0bab828b4a611fef83941322458f3c"
      ],
      "author": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Fri Mar 29 08:45:19 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 29 08:45:19 2019 +0000"
      },
      "message": "Merge \"Use IDnsResolver instead of INetd for resolver related binder commands\""
    },
    {
      "commit": "385ccb05c834053c3867d7750e2d9eb71f0adcf1",
      "tree": "30523fa6c7f2568206a402780b33c40ff3a14206",
      "parents": [
        "bc350db984669fb4220e75b67407e0bec3e51038"
      ],
      "author": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Fri Mar 01 12:25:36 2019 +0900"
      },
      "committer": {
        "name": "Xiao Ma",
        "email": "xiaom@google.com",
        "time": "Fri Mar 29 16:51:47 2019 +0900"
      },
      "message": "Add DHCP address lease expiry in IpMemoryStore.\n\nBug:122710829\nTest: atest FrameworksNetTests\nChange-Id: I643fe1231edcd18923514ab66c64a6cf83e69443\n"
    },
    {
      "commit": "21f962585d4d1cd218b4d29bc5b436f13e48a265",
      "tree": "dd624e747ba56437775ce7e733533005baa8dada",
      "parents": [
        "09e3d8c3eb7869df54e692ed8588e05ec445964b"
      ],
      "author": {
        "name": "Ye Jiao",
        "email": "ye.jiao@mediatek.com",
        "time": "Mon Jan 28 12:54:22 2019 +0800"
      },
      "committer": {
        "name": "Iris Chang",
        "email": "iris.chang@mediatek.com",
        "time": "Fri Mar 29 07:25:57 2019 +0000"
      },
      "message": "Fix getWifiManager exception if phone is encrypted\n\n[Issue Details]\nNetworkPolicyManagerService may invoke\ndispatchRestrictBackgroundChanged after reboot if settings changed, and\ninvokes untetherAll in turn, which triggers ServiceNotFoundException\nindirectly if the device is under encryption. The cause is that\nWifiService is not running if the device is still locked.\n\n[Solution]\nIn order to avoid ServiceNotFoundException in setWifiTethering, we add\ncheck on return value of getWifiManager. Moreover, check of UsbManager\nis also added to prevent potential similar issues of USB tethering.\n\nBug: 123504004\nTest: FrameworksNetTests\n  adb shell am instrument -w com.android.frameworks.tests.net\nTest: CTS - CtsNetTestCases\n  ANDROID_BUILD_droid-cts/tools/cts-tradefed run cts -m CtsNetTestCases\nTest: CTS - CtsNetTestCasesLegacyApi22\n  ANDROID_BUILD_droid-cts/tools/cts-tradefed run cts -m\n  CtsNetTestCasesLegacyApi22\nTest: CTS - CtsNetTestCasesLegacyPermission22\n  ANDROID_BUILD_droid-cts/tools/cts-tradefed run cts -m\n  CtsNetTestCasesLegacyPermission22\n\nChange-Id: I2643188b51900f97ba58c8614c66cb55ebfaa2f6\n"
    },
    {
      "commit": "bc350db984669fb4220e75b67407e0bec3e51038",
      "tree": "f48c9d5e970b4cc65d33df01e683b10e80bfc000",
      "parents": [
        "1859ae7e7d0d250aebd32d98c1963f6f7084dd1f",
        "95ddfff7521cfc6d597d2a8db1df55f30522e6d4"
      ],
      "author": {
        "name": "Mark Chien",
        "email": "markchien@google.com",
        "time": "Fri Mar 29 06:15:11 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 29 06:15:11 2019 +0000"
      },
      "message": "Merge \"[KA09] add keepalive offload permission to shell\""
    },
    {
      "commit": "1859ae7e7d0d250aebd32d98c1963f6f7084dd1f",
      "tree": "7568e43074494c06132e83d27994166c22366595",
      "parents": [
        "6c93e5378a754f1992aaf4bfd5d030c623dbc57b",
        "5386f49418a62ce8564139071707c3b01fbbe3ac"
      ],
      "author": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Fri Mar 29 03:15:32 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 29 03:15:32 2019 +0000"
      },
      "message": "Merge \"Fix cancellation race problem for aysnc DNS API\""
    }
  ],
  "next": "70d83725fc18dc73d762de9b4dc8e37dba6b27e6"
}
