)]}'
{
  "log": [
    {
      "commit": "ef7432f245817f32e7a75e071af94dab11e8ba29",
      "tree": "12a3c83c7ab5b00c8f1af93057e99ea86fe37aab",
      "parents": [
        "64dda3cf1829fc7a07a49ae114d2e4a10e29337c",
        "b0762eb3db82486cec9bfe31cb45bf7e20716430"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Aug 29 06:25:06 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 29 06:25:06 2018 +0000"
      },
      "message": "Merge \"Ignore DHCP packet sent from non-68 client port\""
    },
    {
      "commit": "e3a0f42e8e8678f6d90ddf104d485858fbb2e35b",
      "tree": "d499b3e00a551a40ec253ac09e191fc7080d658c",
      "parents": [
        "0e1621296fdb09f3ffaaf69e77728663b0943953",
        "a13007ad0f60e4b81440304677f41826d3f1e3e7"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Aug 29 03:19:27 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 29 03:19:27 2018 +0000"
      },
      "message": "Merge \"Add DhcpServer\""
    },
    {
      "commit": "0e1621296fdb09f3ffaaf69e77728663b0943953",
      "tree": "d71e2f1947e735d519ad40fe26e3df486a2994c5",
      "parents": [
        "c96760f4f30279bdddcbdc83398bc069740970f1",
        "f4fa98233990bc078caa6cc005b893896b1e3db3"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Aug 29 02:58:08 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 29 02:58:08 2018 +0000"
      },
      "message": "Merge \"Remove ResolveUtil from frameworks/base callers\""
    },
    {
      "commit": "b0762eb3db82486cec9bfe31cb45bf7e20716430",
      "tree": "1f9740ba75ab48c55a83c96c78488e5fd9d98bdc",
      "parents": [
        "a13007ad0f60e4b81440304677f41826d3f1e3e7"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Aug 28 11:06:54 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Aug 28 13:57:40 2018 +0900"
      },
      "message": "Ignore DHCP packet sent from non-68 client port\n\nThis differs from previous behavior where dnsmasq would reply to port 68\nif the client had no configured address (ciaddr empty in request), or\nsend replies to the client port if the request ciaddr matched the\nassigned lease.\nNot all DHCP servers preserve this behavior, and there is no good known\nuse-case for it. Not replying to such packets is less error-prone and\ncloser to the standard.\n\nBug: b/109584964\nTest: Added test in DhcpServerTest.py passes\nChange-Id: I88d467336cc4f4e4c9498c3787ec22fdef5e1cdd\n"
    },
    {
      "commit": "f4fa98233990bc078caa6cc005b893896b1e3db3",
      "tree": "9df0a18e87a324a8acef168d69ffec71cfed9ebe",
      "parents": [
        "afa1c743bef81933d82569144d7220d209067b35"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Fri Apr 27 22:48:33 2018 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Tue Aug 28 12:59:21 2018 +0900"
      },
      "message": "Remove ResolveUtil from frameworks/base callers\n\nUse the Private DNS bypass logic that was moved into Network.\n\nOnce all callers of ResolvUtil are updated to use this interface\nResolvUtil can be deleted.\n\nTest: as follows\n    - built, flashed, booted\n    - runtest frameworks-net passes\n    - connection to captive portal network detects portal correctly\n      and the login activity functions as expected\n\nBug: 64133961\nBug: 72345192\nBug: 73872000\nBug: 78548486\n\nChange-Id: If11ef2b5ffdc729f8449cf18dccd5f1eccbc51e6\n"
    },
    {
      "commit": "a13007ad0f60e4b81440304677f41826d3f1e3e7",
      "tree": "86d779a09ac48c54a1e375b5dfa964fcd9f81c17",
      "parents": [
        "a75872039401df8bdd14b060da27c0eb151e591a"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Aug 13 15:54:27 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Aug 28 12:50:47 2018 +0900"
      },
      "message": "Add DhcpServer\n\nThis first version can serve discover/request/release, although there\nare some small behavior changes with current implementation which will\nbe addressed later.\n\nAlso removes final modifiers on start() and stop() in FdEventsReader, to\nallow mocking the methods in tests with the current mockito lib.\n\nTest: Added tests pass, manual: flashed a device using the server\nChange-Id: I025366ff7d51c4ba31152af50f3dd2b5e280a54d\n"
    },
    {
      "commit": "a75872039401df8bdd14b060da27c0eb151e591a",
      "tree": "01c72475ff222bb5e595d109a05b153636d1a071",
      "parents": [
        "e01b4ce6c7489bfbbb8999ed525c2444a18997ef"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Aug 23 18:01:46 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Aug 27 10:57:14 2018 +0900"
      },
      "message": "Add varargs methods to build DhcpServingParams\n\nIn common use-cases, only one gateway or DNS server may be set, so the\nadded methods make it easier for clients to build the parameters.\n\nBug: b/109584964\nTest: runtest --no-hidden-api-checks frameworks-net\nChange-Id: Ib54bc60a54ad4ef0605baea62d87b9f14caf8aa7\n"
    },
    {
      "commit": "a420b57a6b6682f48af56eb1dcdac2fa07924e7e",
      "tree": "139732bce5c5080e015f119db9b97ac973d8c223",
      "parents": [
        "1885805aac5091ed7b734524292b7d7a75e347bb"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Jul 04 15:09:42 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Aug 23 17:29:48 2018 +0900"
      },
      "message": "Add DhcpServingParams\n\nThose parameters will be used to start DhcpServer or update its\nconfiguration.\n\nTest: runtest DhcpServingParamsTest.java\nBug: b/109584964\nChange-Id: Id8d3dcf62d66dcb02accffa8d8500e30f07af452\n"
    },
    {
      "commit": "eca5b4e7532e2c7ae114167df39327b5a83ab5a3",
      "tree": "513b161be494d291e9f8672ecc0c1993b1b56122",
      "parents": [
        "5831d309fad9e9c1f291159d748f13268a2a28d8"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Jun 27 17:20:36 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Aug 23 15:55:39 2018 +0900"
      },
      "message": "Add DhcpLeaseRepository\n\nThis is a first component to build the new DHCP server.\n\nTest: added tests pass\nBug: b/109584964\nChange-Id: I5657d89c3010a23e9289ac827bf78381477d1355\n"
    },
    {
      "commit": "de2bfe1ddff3112362da388733531afe97caa53a",
      "tree": "7e73c958df38e251af50947bcf2efd4ce872ff8f",
      "parents": [
        "93429e61885dbb20d67eb642ec5728d748b779f2",
        "74835a2a4f7d49aa8cf51a7354b8d45a06ec68bf"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Aug 17 23:12:22 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 17 23:12:22 2018 +0000"
      },
      "message": "Merge \"Convert frameworks-base-testutils to Android.bp\""
    },
    {
      "commit": "74835a2a4f7d49aa8cf51a7354b8d45a06ec68bf",
      "tree": "8a2c65a2421b230dea4eff29a8d78d21e08ed0a7",
      "parents": [
        "7955aec0eaf725f300f2cd79d0beda56e33971a7"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Aug 16 22:25:40 2018 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Aug 16 22:25:40 2018 -0700"
      },
      "message": "Convert frameworks-base-testutils to Android.bp\n\nSee build/soong/README.md for more information.\n\nTest: m checkbuild\nChange-Id: I2d70f7c017fc3d181c70b030e39e5a932d0996cc\n"
    },
    {
      "commit": "a8e9090cf65b982a9c6d12154e861375922163b6",
      "tree": "cb4f9928e041e95f7c9f041bf903dea71cf1c3c5",
      "parents": [
        "bf668472406a4b7f030eb20f35e4e4386b56671f"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Apr 26 17:52:03 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Aug 14 18:14:09 2018 +0900"
      },
      "message": "Fix testRegisterUsageCallback failure in setUp\n\nLocalServices.addService in NetworkStatsService is currently failing\nwith IllegalStateException \"Overriding service registration\". Setting up\nLocalServices in the test to avoid this issue might be possible, but\nmoving the registration to the only non-test caller of that constructor\nas done here solves the issue and avoids side-effects from a constructor.\n\nTest: atest FrameworksNetTests does not choke on this test\nBug: b/78487385\nBug: b/80082746\nChange-Id: I5dba98fc79aec0800c8b71e6c7e23d1cfbcae852\nMerged-In: I884a7a8bd7db3fcd220b785ba9914ac8c77720f0\n(Clean cherry-pick of go/ag/4061255)\n"
    },
    {
      "commit": "76f081be5c6efe6dfe62a55bc28270e7cc6fe624",
      "tree": "aefe7997b9ece9c407326670403aaba858f35e65",
      "parents": [
        "97ff63812cb5e6aba7f5af35d66daadb133b4dd9",
        "d2cb322e93007dc41fe2880008fe58fc80e315e6"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Aug 08 08:05:20 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 08 08:05:20 2018 +0000"
      },
      "message": "Merge \"Add codewiz@, reminv@ to OWNERS for connectivity\""
    },
    {
      "commit": "97ff63812cb5e6aba7f5af35d66daadb133b4dd9",
      "tree": "765c85755cf11c563d25b33771331ded522e3b41",
      "parents": [
        "d3d564a802bf61b5e3916ed3dcfbd952773102be",
        "d9a1cd7fc57c3e042244266bcc7ec47a56ca3a98"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Aug 08 04:59:12 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 08 04:59:12 2018 +0000"
      },
      "message": "Merge \"Add tests for NetworkMonitor isCaptivePortal\""
    },
    {
      "commit": "d2cb322e93007dc41fe2880008fe58fc80e315e6",
      "tree": "a3e1952c342def4029c5e19265026ec4bf872488",
      "parents": [
        "d3d564a802bf61b5e3916ed3dcfbd952773102be"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Aug 08 12:01:03 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Aug 08 12:22:20 2018 +0900"
      },
      "message": "Add codewiz@, reminv@ to OWNERS for connectivity\n\nTest: m\nChange-Id: I11df4c93ac61b620fc576a2ff17192b7c9ecb984\n"
    },
    {
      "commit": "d9a1cd7fc57c3e042244266bcc7ec47a56ca3a98",
      "tree": "7ffff3953de7d72f6ff6a83e3cbbd983bb3597db",
      "parents": [
        "10c593cf7f30ddea32889361c81ef06eabaeb6b3"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue May 22 13:11:15 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Aug 07 08:57:35 2018 +0000"
      },
      "message": "Add tests for NetworkMonitor isCaptivePortal\n\nBug: b/79499239\nTest: added tests, ConnectivityService tests pass\n\nChange-Id: I98d503b8f92d7f35e59dd1621a90f2eca8c7a63c\n"
    },
    {
      "commit": "2595e6817666ece75e3bee37cbb10f7e0537131f",
      "tree": "6bd64699d2d33047500bf48d3405a07d9a4088e3",
      "parents": [
        "627a84c26a84493ec675360b0aba56cde61e1482",
        "5caebe341576d52502ce397f3c778fe259c17948"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Aug 06 09:34:55 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 06 09:34:55 2018 -0700"
      },
      "message": "Merge \"Add utils to convert Inet4Address \u003c-\u003e int\"\nam: 5caebe3415\n\nChange-Id: I347d23f4682eca623e3b10f72bc9000b1c5954a3\n"
    },
    {
      "commit": "5caebe341576d52502ce397f3c778fe259c17948",
      "tree": "96a328e679a1b5f5fa5f6ff91b1e5b22c2e76a0c",
      "parents": [
        "606d3975b23ec725085f8ae16ba4074fd05a556a",
        "0066bda4cf7e11d38a99b7d177fca9bd50d70598"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Aug 06 05:49:52 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Aug 06 05:49:52 2018 +0000"
      },
      "message": "Merge \"Add utils to convert Inet4Address \u003c-\u003e int\""
    },
    {
      "commit": "0066bda4cf7e11d38a99b7d177fca9bd50d70598",
      "tree": "67f2fa2ead1f2e5814b801f65110ceb6c0c48495",
      "parents": [
        "aa863ca68eddbccef374e2ac283981e94d8629aa"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jul 09 10:40:40 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Aug 03 15:55:24 2018 +0900"
      },
      "message": "Add utils to convert Inet4Address \u003c-\u003e int\n\nThe current utilities map the higher-order bytes of ints to the\nlower-order bytes of IPv4 addresses, which makes applying masks and\ngenerating series of addresses confusing.\n\nFor example, the current utilities would convert 1.2.3.4 to 0x04030201,\nor generate 0x0080ffff for a /17 subnet mask. The utilities in this CL\nconvert 1.2.3.4 to 0x01020304, and a /17 subnet mask is represented as\n0xffff8000.\n\nIncludes tests for all the above methods and migration of\nNetworkUtilsTest to JUnit4.\n\nTest: added tests pass\nChange-Id: I5f5aa2e6e3b054b66b9dc507dab64f41be9139b1\n"
    },
    {
      "commit": "8b894a7d50b58f3d2eaf41f104ca02d50d27a04c",
      "tree": "fca48289fd19e2be2b5016cc26faa6221a135daf",
      "parents": [
        "98e2f04ec02989a40a5c225c66e93ce21aaf99db",
        "527c79d96dd1321039bb092a6a75737ef42a6913"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Jul 27 06:08:08 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jul 27 06:08:08 2018 -0700"
      },
      "message": "Merge \"Increase network request timeouts\"\nam: 527c79d96d\n\nChange-Id: Iaae31d7eaa5e5ccccdcf63ba39dd3fdc729161a5\n"
    },
    {
      "commit": "527c79d96dd1321039bb092a6a75737ef42a6913",
      "tree": "00ddb0027aa0187b00d89e98a2df1ab15146a525",
      "parents": [
        "0cbdca3e20fead00f4449b61dad41cfd75a096a1",
        "4cb8062e34b702fc0bbcc5effb4bd31c0441fb4b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jul 27 11:56:31 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 27 11:56:31 2018 +0000"
      },
      "message": "Merge \"Increase network request timeouts\""
    },
    {
      "commit": "98e2f04ec02989a40a5c225c66e93ce21aaf99db",
      "tree": "d02dbaaac1abda5f3b119f0c677687d744c30640",
      "parents": [
        "589432e7286ba164c3eec8876705948ece7df683",
        "0cbdca3e20fead00f4449b61dad41cfd75a096a1"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Jul 27 02:11:47 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jul 27 02:11:47 2018 -0700"
      },
      "message": "Merge \"Increase IpClientTest verification timeout\"\nam: 0cbdca3e20\n\nChange-Id: I214df25ed178d859ae60d765c94fc9d6a25408ee\n"
    },
    {
      "commit": "0cbdca3e20fead00f4449b61dad41cfd75a096a1",
      "tree": "39ffe45ff5608fb6fb55c53d47b6b6635e5f2ca0",
      "parents": [
        "3fbbe7343799a5e3dc37997166f0ae6ef2f54c3c",
        "01a34ac6420e89511b78bdbcb0df62b3e9deb623"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Jul 27 08:08:16 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jul 27 08:08:16 2018 +0000"
      },
      "message": "Merge \"Increase IpClientTest verification timeout\""
    },
    {
      "commit": "589432e7286ba164c3eec8876705948ece7df683",
      "tree": "49d4d6c1036b654bf0fb84774354b4efe0b52f68",
      "parents": [
        "38d1885b46da7f94f39017837e30b64e7bfb4c60",
        "3fbbe7343799a5e3dc37997166f0ae6ef2f54c3c"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Jul 27 00:11:06 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jul 27 00:11:06 2018 -0700"
      },
      "message": "Merge \"Use timeout consts in all ConnService tests\"\nam: 3fbbe73437\n\nChange-Id: Ie62b9893c5b5f4e7b24197c1308d33e06a6c8f71\n"
    },
    {
      "commit": "4cb8062e34b702fc0bbcc5effb4bd31c0441fb4b",
      "tree": "07d99e3d26ebe96d00bbfdbba71bc030468e5dcb",
      "parents": [
        "a7376ac0f708e2077831afac51df5565fdd3917e"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Jul 27 15:37:13 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Jul 27 15:37:13 2018 +0900"
      },
      "message": "Increase network request timeouts\n\nWith recent performance degradations on apct, the current timeouts are\ntoo short and some requests trigger onUnavailable() before networks are\nvalidated.\n\nTest: runtest -x ConnectivityServiceTest.java\nBug: b/111778226\nChange-Id: I083f529787f108065637a0aff3e5bb88e05e6510\n"
    },
    {
      "commit": "01a34ac6420e89511b78bdbcb0df62b3e9deb623",
      "tree": "4646114da79af61d70403e2aee6e5073768a4428",
      "parents": [
        "aa863ca68eddbccef374e2ac283981e94d8629aa"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Jul 27 12:48:54 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Jul 27 12:52:28 2018 +0900"
      },
      "message": "Increase IpClientTest verification timeout\n\napct runs have become significantly slower, which makes some of these\ntests flaky. Increase the timeout as a first measure to avoid flakes.\n\nBug: b/111819270\nTest: runtest -x IpClientTest.java\nChange-Id: Ifb0091377f311b67ba3a4f9324ce1e8cfb421ea3\n"
    },
    {
      "commit": "a7376ac0f708e2077831afac51df5565fdd3917e",
      "tree": "6bacce4735ded22d369e182f4f87c9341b426c45",
      "parents": [
        "ef8377dba25d01ded482d9e3ae87e90d5af03a8c"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Jul 26 18:41:36 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Jul 27 11:47:25 2018 +0900"
      },
      "message": "Use timeout consts in all ConnService tests\n\nFix some timeouts that were forgotten in parent CL.\n\nBug: b/111778226\nTest: runtest --no-hidden-api-checks -x ConnectivityServiceTest.java\nChange-Id: Ib848eaba8c69c07ac596aa4386a741c9a2a87fc9\n"
    },
    {
      "commit": "b70a2305848bbbaec147073f86eb2eebce1c4ead",
      "tree": "132b8dcecd77dd3d4e3dff8dc39e5fc82cb876a9",
      "parents": [
        "ffc8ebefcadc404a756b7de93fcd4aea3c8a60e9",
        "716c04b29a0bd117aab33d8b81621a3fff0af7a7"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Jul 26 04:10:02 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 26 04:10:02 2018 -0700"
      },
      "message": "Merge \"Increase linger delay and test callback timeout\"\nam: 716c04b29a\n\nChange-Id: I088de7dae4191a65e75feb9e071dcf18c30dcf21\n"
    },
    {
      "commit": "ef8377dba25d01ded482d9e3ae87e90d5af03a8c",
      "tree": "98b09d8a1fc5419d5ed7694244ed3a652228856b",
      "parents": [
        "aa863ca68eddbccef374e2ac283981e94d8629aa"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Jul 26 16:39:45 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Jul 26 16:43:58 2018 +0900"
      },
      "message": "Increase linger delay and test callback timeout\n\nTests appear to have become much slower on apct in recent runs, although\nlocal runs do not seem to be affected. As a first measure, increase our\ntimeouts to eliminate flakyness.\n\nBug: b/111778226\nTest: runtest --no-hidden-api-checks -x ConnectivityServiceTest.java\nChange-Id: I7a3bfb646eb554bcd9d50d026142f2a2cff74beb\n"
    },
    {
      "commit": "93c22129e281846672b6d06694cc3ee08c337528",
      "tree": "917595e4c293853e793bfeb3ba465255325c545d",
      "parents": [
        "e332fe4b3d221f74bc24b13857c368035ae54651",
        "9a783699cc0efd4d980ec1e35e7df56448ef32f4"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jul 24 22:05:37 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 24 22:05:37 2018 -0700"
      },
      "message": "Merge \"Increase TEST_LINGER_DELAY_MS\"\nam: 9a783699cc\n\nChange-Id: Iff68ee39ead571293877464c03ab98ab594dfcca\n"
    },
    {
      "commit": "0519a19f48cfb6d1217f07c3250bde04aac4dd3d",
      "tree": "8e710dc4da1826173843d9b0091756db0d55a89a",
      "parents": [
        "9cb60599e4d9608003c66619e7cc5a2ae189a949",
        "c77d25e441e7927b38af2537d42eed0a98ea79fa"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jul 24 21:57:42 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 24 21:57:42 2018 -0700"
      },
      "message": "Merge \"Remove test dependency on ubsan runtime\"\nam: c77d25e441\n\nChange-Id: Icce8b11f2a1c380c899ebaac52ac4b2c427492c9\n"
    },
    {
      "commit": "9a783699cc0efd4d980ec1e35e7df56448ef32f4",
      "tree": "55d123a458c89771b035ed820385ae657331beb2",
      "parents": [
        "57e98b19be088e7590eea788f0a48e30418b9c71",
        "605f12d6a54557b31f461e35257962f5b2aa0e81"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Jul 25 03:08:48 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 25 03:08:48 2018 +0000"
      },
      "message": "Merge \"Increase TEST_LINGER_DELAY_MS\""
    },
    {
      "commit": "c77d25e441e7927b38af2537d42eed0a98ea79fa",
      "tree": "fa32b6df66b5d00af5bffcf5e52c93c5958d6a9d",
      "parents": [
        "bba51fede5c1b90a133d086d94e314918274c6ca",
        "f6b73b2349867585909811f6b46d9138f42d098c"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Jul 25 02:28:21 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jul 25 02:28:21 2018 +0000"
      },
      "message": "Merge \"Remove test dependency on ubsan runtime\""
    },
    {
      "commit": "f6b73b2349867585909811f6b46d9138f42d098c",
      "tree": "681b5af2fa4b122db98cc61329fe1380ad9e28da",
      "parents": [
        "cbe9c295a3090aeaea29354b2b693c9d51cde617"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jul 24 11:28:29 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jul 24 11:28:29 2018 +0900"
      },
      "message": "Remove test dependency on ubsan runtime\n\nRequirement for this dependency was removed in aosp/696863.\n\nBug: b/79785496\nTest: runtest frameworks-net (aosp), atest FrameworksNetTests\nChange-Id: I14bb65c8f0a9b55aeae6376ff04ce18be7dc7f22\n"
    },
    {
      "commit": "605f12d6a54557b31f461e35257962f5b2aa0e81",
      "tree": "f168c64fa71780b4304e746fdff4456009e32274",
      "parents": [
        "cbe9c295a3090aeaea29354b2b693c9d51cde617"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Jul 11 18:17:06 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Jul 19 17:12:38 2018 +0900"
      },
      "message": "Increase TEST_LINGER_DELAY_MS\n\nThe current timeout is short enough that lingered networks are torn down\nbefore assertions can be run, causing flakyness in testMultipleLingering.\nThis CL sets the timeout to 300 in that particular test.\n\nVerified that 300ms is enough with 500 successful runs on Sailfish.\n\nAn alternative would be to mock firing of the lingering timer, but\nkeeping the WakeupMessage logic realistic has already proven useful in\ndetecting races.\n\nBug: b/110673602\nTest: runtest --no-hidden-api-checks frameworks-net\nChange-Id: I6f9a656190bcff0b071ae2584d0f5fa74158472b\n"
    },
    {
      "commit": "fbab182f440b8cdc532d551e92f82b31a2c232b8",
      "tree": "c51cabd290e447566f04956b68a4c547171b7263",
      "parents": [
        "89e9a1ad43bfa2b9ac3a698774e7b8e6ff4a01f9",
        "6e35b2c596c20b724c36fed3dde6687d44635d35"
      ],
      "author": {
        "name": "Mark Chien",
        "email": "markchien@google.com",
        "time": "Tue Jul 17 00:10:56 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 17 00:10:56 2018 -0700"
      },
      "message": "Merge \"Remove SimChangeListener from Tethering\"\nam: 6e35b2c596\n\nChange-Id: Ie85375b760684bfeb2af0231dbe81592866a4e48\n"
    },
    {
      "commit": "1d64e03f916817c5fc89f214db1ffeec526ec611",
      "tree": "0b47ec64a9a011700f7d9716fb9a192cd89490b4",
      "parents": [
        "3c1604da8b04d9e43554dada977bbca54bbea313"
      ],
      "author": {
        "name": "markchien",
        "email": "markchien@google.com",
        "time": "Mon Jul 16 19:54:26 2018 +0800"
      },
      "committer": {
        "name": "markchien",
        "email": "markchien@google.com",
        "time": "Mon Jul 16 19:54:26 2018 +0800"
      },
      "message": "Remove SimChangeListener from Tethering\n\nSimChangeListener is obsolete. It is replace by\nACTION_CARRIER_CONFIG_CHANGED.\n\nTest: as follows\n    - built, flashed, booted\n    - runtest frameworks-net passes (with --no-hidden-api-checks)\n    - tethering/hotspot on/off\nBug: 111490073\n\nChange-Id: I82644ea136f43869a953a1f7b72dc489fe90f380\n"
    },
    {
      "commit": "b6d12b8bb1d2445b74fab21ac5a5f1337bb3194a",
      "tree": "345faab8cdfcf05a59fdc3ebc474cde854ae6d6f",
      "parents": [
        "0571b04c3a4921e948023c83fe8d194e960a2195",
        "674fd12278cff52a9a9793b78a84386a1c908ebf"
      ],
      "author": {
        "name": "Carmen Jackson",
        "email": "carmenjackson@google.com",
        "time": "Mon Jul 02 17:57:29 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jul 02 17:57:29 2018 -0700"
      },
      "message": "Merge \"Add in-app tracepoints to TouchLatency app.\"\nam: 674fd12278\n\nChange-Id: I69a89ba6fac90a454a1d8befe9317af25979ccbf\n"
    },
    {
      "commit": "286cfb1bba198f016660419b0c1f8e5a6d7a7d90",
      "tree": "b369bb4b658c36bb5e01615421a3ac2373b58761",
      "parents": [
        "ccd6a0f6c29c53ba204ad4f8d7ec29bfc4a8bf14"
      ],
      "author": {
        "name": "Carmen Jackson",
        "email": "carmenjackson@google.com",
        "time": "Thu Jun 28 15:15:44 2018 -0700"
      },
      "committer": {
        "name": "Carmen Jackson",
        "email": "carmenjackson@google.com",
        "time": "Mon Jul 02 14:40:23 2018 -0700"
      },
      "message": "Add in-app tracepoints to TouchLatency app.\n\nTest: Traced the TouchLatency app and saw the added tracepoints.\nChange-Id: I72ab8f88731e635f98831f045dddd086a05acc3b\n"
    },
    {
      "commit": "855f0f03e1168d0e4002b6bc866dd794c0a94b55",
      "tree": "4b4be4c0ac90fee067a080cb94b8fb48f8a41c02",
      "parents": [
        "36a9fa62be38db3d19cd1cfab5fdc8d14197d912",
        "9f52c2da2401fb67ae2a6c71246a84da2040f7d2"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Jun 29 02:15:47 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 29 02:15:47 2018 +0000"
      },
      "message": "Merge \"Disable hidden API checks on unit tests\""
    },
    {
      "commit": "fc1bde926188d4183dddb4b80341a2109b91986c",
      "tree": "9c8d5cb4904e16cdb01a41f14ec5abd1b1f71627",
      "parents": [
        "5ae46260e45be2bf1214ed9e24203ad786181089",
        "3580a6a9966ee6fcb487e09b49445ac8c318b76a"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Mon Jun 25 06:24:22 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 25 06:24:22 2018 -0700"
      },
      "message": "Merge \"Prefer default Internet network for upstream tethering.\"\nam: 3580a6a996\n\nChange-Id: I0990d077627aed71b03e7aa40a8acc460448a774\n"
    },
    {
      "commit": "72302908d42d8317b69da68285898d995523a33f",
      "tree": "0ef3117722824df2e392015bacb579cc2439a56c",
      "parents": [
        "a0b9309ba2724e29c7e204dc84e5c50fe3431d98"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Thu Jun 14 17:36:40 2018 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Mon Jun 25 19:25:17 2018 +0900"
      },
      "message": "Prefer default Internet network for upstream tethering.\n\nRather than use the crufty config.xml list of upstream transport types,\nuse ConnectivityService\u0027s notion of the default network for the upstream.\nIn cases where a DUN network is required and the default network is\ncurrently a mobile network, look for a DUN network (code in Tethering\nis currently responsible for requesting one).\n\nTest: as follows\n    - built, flashed, booted\n    - runtest frameworks-net\n    - tethered via mobile, joined captive portal network, maintained\n      laptop access via mobile until captive passed (then used wifi)\n    - disabled client mode wifi, disabled mobile data, plugged in\n      ethernet adapter, observed connectivity via ethernet\nBug: 32163131\nBug: 62648872\nBug: 63282480\nBug: 109786760\nBug: 110118584\nBug: 110260419\nMerged-In: I9cddf1fb7aa3b8d56bf048c563556244e74808c2\nMerged-In: Icac3e5e20e99093ddb85aae1ca07ed7b5cf309fd\nChange-Id: I925b75994e31df8046f3ef9916a2457b4210485e\n(cherry picked from commit 4080a1bd15572caf149762e45c958627feceb74d)\n"
    },
    {
      "commit": "946957bc324c1edc9b5a85f260d3eaa70b4fe8fb",
      "tree": "5abbfa09f4aafb8c401321a4aba56d7f4233787e",
      "parents": [
        "26f781db62e49e311009fc7a39155f72ab174d94",
        "faf31f86381122507398624698b7c89273f01ff5"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Jun 20 21:23:17 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 20 21:23:17 2018 -0700"
      },
      "message": "Merge \"Add StackedLinkProperties test case\"\nam: faf31f8638\n\nChange-Id: I33d75bf593708317dca4ba6cec035b7f035cfa86\n"
    },
    {
      "commit": "4a192e2bba63b1b13030273b9fcc92932235179f",
      "tree": "0c8bdaf0c18588adbde0e50b31747b161f59aa91",
      "parents": [
        "a9bf7a881056cda29ee2dc04179ed9a89e5884a0"
      ],
      "author": {
        "name": "junyulai",
        "email": "junyulai@google.com",
        "time": "Wed Jun 13 15:00:37 2018 +0800"
      },
      "committer": {
        "name": "junyulai",
        "email": "junyulai@google.com",
        "time": "Tue Jun 19 16:53:08 2018 +0800"
      },
      "message": "Add StackedLinkProperties test case\n\nChange access level of getNetworkAgentInfoForNetwork in ConnectivityService to get\nbetter testability. And add test case to verify clat state transition and make sure\nlinkProperties are updated correctly.\n\nBug: 80261579, 109913107\nTest: runtest frameworks-net -c com.android.server.ConnectivityServiceTest \\\n          -m testStackedLinkProperties\nChange-Id: I72fce594d74bd349f65557edca03640e1b86317c\n"
    },
    {
      "commit": "4afe1f957b41727931895c8529f4840ddbc4d8b2",
      "tree": "8a3b775aa57b96a463edef79ddc093dacf147c8b",
      "parents": [
        "84c9e9a787a7b51ccf958e2449762125ff5f4830",
        "5b99659943e274252ed9e658b6dddb0e5b13119c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jun 18 01:20:28 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 18 01:20:28 2018 -0700"
      },
      "message": "Merge \"Apf: Avoid constant overflow\"\nam: 5b99659943\n\nChange-Id: Iacf849e3739f24cd430e6210a2e6a1c67ae0614f\n"
    },
    {
      "commit": "5b003117b296346003d511903806f519d8e881cb",
      "tree": "0a884f72a6233c1bbdd3e78f8212a64f62cadc25",
      "parents": [
        "bfa58946f7b3cdb53f8f188b102864efd8bcf411"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Wed Jun 13 11:35:16 2018 -0700"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Thu Jun 14 08:43:07 2018 -0700"
      },
      "message": "Apf: Avoid constant overflow\n\nThe used constant overflows. This is irrelevant to the test, so\ndecrease test constant.\n\nBug: 110155920\nTest: m javac-check RUN_ERROR_PRONE\u003dtrue\nChange-Id: Idfc7e987ba9c36389a20c7fc01b1161ef89483d8\n"
    },
    {
      "commit": "65406494e75a73e38e01a63f0a2f4670bf0ba7be",
      "tree": "e4bf9be030bc4637a7976a5b491a711a5f2e2555",
      "parents": [
        "401c4b1d00d6f831eb30d1853683ca525d50f192"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Tue May 15 19:18:38 2018 -0700"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Fri Jun 08 23:23:04 2018 +0000"
      },
      "message": "Disable the AppOp Restriction for IpSec Tunnels\n\nThis CL temporarily removes the AppOp restriction\nthat disallows creation of IpSec tunnels due to\nthe lack of the appropriate AppOp in AOSP/master.\nWhen the relevant framework merges out to master,\nthis CL should be reverted.\n\nManually merging this due to skipping a merge\nconflict at ef9f2740a790feceaa47a24b1a179e93c4ffb5e6\n\nBug: none\nTest: compilation\nChange-Id: Ic06c193f85f6bcdd0ead4238825c1add78703cde\n"
    },
    {
      "commit": "b2749539c05cfb296a5729fcba887057b9c94307",
      "tree": "36926edb1904c481433d0ea52583efe49dfeb90d",
      "parents": [
        "7db23752abfbb31111969ee335a36b42ceeedc5e",
        "8c69bcbb8f626fee128d8f771568fbc22615a9f5"
      ],
      "author": {
        "name": "nharold",
        "email": "nharold@google.com",
        "time": "Fri Jun 08 17:07:11 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jun 08 17:07:11 2018 +0000"
      },
      "message": "Merge changes from topic \"ipsec-sync-with-pi\"\n\n* changes:\n  Disable the AppOp Restriction for IpSec Tunnels\n  Rework Exception Handling for IpSecManager\n  Update IpSecManager to use InetAddress and prefixLen\n  Add AppOps Checks for MANAGE_IPSEC_TUNNELS\n  Add MANAGE_IPSEC_TUNNELS Permission\n"
    },
    {
      "commit": "8c69bcbb8f626fee128d8f771568fbc22615a9f5",
      "tree": "c47fd972b912fda2029002dd2c43697d9e1ddd2c",
      "parents": [
        "144ce0a2485b061b4ae9090b2b9f558e6e3d0e04"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Tue May 15 19:18:38 2018 -0700"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Thu Jun 07 18:44:34 2018 -0700"
      },
      "message": "Disable the AppOp Restriction for IpSec Tunnels\n\nThis CL temporarily removes the AppOp restriction\nthat disallows creation of IpSec tunnels due to\nthe lack of the appropriate AppOp in AOSP/master.\nWhen the relevant framework merges out to master,\nthis CL should be reverted.\n\nBug: none\nTest: compilation\nChange-Id: Ic06c193f85f6bcdd0ead4238825c1add78703cde\n"
    },
    {
      "commit": "fdda5697d7ccc61b5692a8b2e5116afcb4921c09",
      "tree": "cb5de16a444bc2ce251adcb193d8700340a06d2e",
      "parents": [
        "21208eeccc0f0b5cffebda5ec972bdc765afe6a8"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Tue Apr 03 20:30:54 2018 -0700"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Thu Jun 07 18:42:52 2018 -0700"
      },
      "message": "Update IpSecManager to use InetAddress and prefixLen\n\nLinkAddress constructors are currently @hide; this change updates\nIpSecManager to use InetAddress and prefixLen, and then construct a\nLinkAddress internally. LinkAddress is used over the binder interface to\nIpSecService to ensure validity.\n\nBug: 77528639\nTest: CTS, Java unit tests ran on walleye\nMerged-In: I19e124adef6d9f4992d8293db3190bcf74c95848\nChange-Id: I19e124adef6d9f4992d8293db3190bcf74c95848\n(cherry picked from commit 3f2c54b7820c3a568890700479230966fdbcf0a4)\n"
    },
    {
      "commit": "21208eeccc0f0b5cffebda5ec972bdc765afe6a8",
      "tree": "27737c9e3731a73e7c0f2ef705769b5415e10f3b",
      "parents": [
        "01b61dbd53e23db6f5a6d52eec39ff2d4c1e5501"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Thu Mar 15 18:06:06 2018 -0700"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Thu Jun 07 18:42:52 2018 -0700"
      },
      "message": "Add AppOps Checks for MANAGE_IPSEC_TUNNELS\n\nAdds support for a new AppOp to permit services to\nuse IpSec tunnel mode. The IpSecService now needs\na context so change the service mode to a cached\nservice rather than a static service.\n\nBug: 66955045\nTest: runtest frameworks-net\nMerged-In: I17a4a286225b432c3e15ea1587d946189931b4f4\nChange-Id: I17a4a286225b432c3e15ea1587d946189931b4f4\n(cherry picked from commit 592dadbd43fcb7c5d67e737adb34d07923da90c4)\n"
    },
    {
      "commit": "b044b885cf51ef350745e9178e763c0b4db8a86a",
      "tree": "c7619cd158ef8798e3b4ca6f4c96de0024269ab9",
      "parents": [
        "f907578564f4594a05de4b57689c27d1a3e3936c",
        "b04a511ac41ebef78b7260427968eb7ddba945e5"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Jun 06 08:25:45 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 06 08:25:45 2018 +0000"
      },
      "message": "Merge changes Ia764b341,I4e4b41bb,I61b262d8,Ie6ace6bd,I21e866c7, ...\n\n* changes:\n  Let tests enumerate all transports/capabilities.\n  Destroy networks as soon as they are disconnected.\n  Fix a ConcurrentModificationException crash.\n  Unify behavior of various cases of \"no underlying networks\"\n  Fix: VPNs update caps upon underlying network disconnect.\n  Add tests for setUnderlyingNetworks.\n  Fix setCapabilities.\n  Fix SSID not being logged by the validation logs\n  Make sure getActiveNetwork is consistent with default callbacks\n  Add tests for getActiveNetwork.\n  Guard the SSID with NETWORK_SETTINGS\n  Add a new ssid field in NetworkCapabilities.\n  Notif manager and captive portal app to read SSID again\n  Remove unwanted capability from the java-doc\n  Actually @hide unwanted capability methods.\n  API council requested tweaks to NetworkRequest.\n  Add OEM_PAID capability to system api\n  add airplane mode shell commands to connectivity\n  Enable cleartext for captive portal apps\n  Expose CONNECTIVITY_ACTION to Instant Apps\n  fix isActiveNetworkMetered with VPNs\n"
    },
    {
      "commit": "3bd570585717624c0387a13a5f82bff89d41856d",
      "tree": "c0ffd70274bfa823582ab9a01de868fd5862a08e",
      "parents": [
        "8d53829ca05f4fe663f6afce65c0831854a92dee"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Mon May 21 15:30:56 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Jun 06 08:25:10 2018 +0000"
      },
      "message": "Unify behavior of various cases of \"no underlying networks\"\n\nBefore this change, VPNs having no underlying networks would be\nmarked as metered as the safe option, but VPNs having only\ndisconnected underlying networks would be marked as unmetered.\nFix this discrepancy.\n\nClean cherry-pick of ag/4113809\n\nBug: 79748782\nTest: runtest frameworks-net\nChange-Id: Ie6ace6bd95139605ffcfa8cd6c15cf28f8fa28c8\nMerged-In: If19b85325e7d684e645470293b3c8a674084c641\nMerged-in: I22f80a6a39d4a19ff74aa61fcbd66f1a041b1003\n"
    },
    {
      "commit": "8d53829ca05f4fe663f6afce65c0831854a92dee",
      "tree": "92adb7739486b0107b8e0e23ad7a3c1c8d82b7d4",
      "parents": [
        "f666d0a21a5e57f5a21a6e6346f271725a7dd68f"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri May 18 22:02:56 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Jun 06 08:25:02 2018 +0000"
      },
      "message": "Fix: VPNs update caps upon underlying network disconnect.\n\nClean cherry-pick of ag/4083954\n\nBug: 79748782\nTest: ConnectivityServiceTests still pass\nChange-Id: I21e866c723099e5c3dee54ff13e830d44427fc7a\nMerged-In: I12c948ebeb2b74290908f8320ff77220dc4a9fb9\n"
    },
    {
      "commit": "f666d0a21a5e57f5a21a6e6346f271725a7dd68f",
      "tree": "70e53e221d5ad7fbd70d6790db5b8c419478f41f",
      "parents": [
        "d1d8b627dd23b0bda8399a04b04320498271a105"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri May 18 21:47:45 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Jun 06 08:24:51 2018 +0000"
      },
      "message": "Add tests for setUnderlyingNetworks.\n\nFixes come later. This is complex enough as it is.\n\nClean cherry-pick of ag/4083953\n\nBug: 79748782\nTest: new test passes, old tests still pass\nChange-Id: If7276fe1f751be7b9c18f689e97699e566e5bde0\nMerged-In: I12c948ebeb2b74290908f8320ff77220dc4a9fb9\n"
    },
    {
      "commit": "d1d8b627dd23b0bda8399a04b04320498271a105",
      "tree": "d7fb197c46f7af13071b16d9e5eca60e6af07d15",
      "parents": [
        "fdd9e2f73a779c54a661d768709c02d699b872ca"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri May 18 23:48:49 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Jun 06 08:24:43 2018 +0000"
      },
      "message": "Fix setCapabilities.\n\nP introduced setSSID, UIDs and unwanted capabilities.\nNone of these exhibit commutative behavior through combineCapabilities\nbecause their semantics don\u0027t allow it. Therefore\nNetworkRequest.setCapabilities() is badly broken around any of\nthese. Look at the comments in the new tests to realize the\nextent of the damage.\n\nClean cherry-pick of ag/4083952\n\nBug: 79748782\nTest: new tests written, old tests pass\nChange-Id: Iafe074126132a82af37f4bf056c4a7b8d56bdc83\nMerged-In: Ia5bebf8a233775367bbf1b788870528934ecbcfb\nMerged-In: I13d7782a6c0c7b1f94137995bbb0d257a58d89c1\n"
    },
    {
      "commit": "ff8710aec0bdbc93b5f746b1864208e59baa87e7",
      "tree": "06029919a4284232f350c3c73f8ae0398a5c0a13",
      "parents": [
        "3e2fb66e74b145e091db92a294c83cfc7d0251c4"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Apr 18 20:18:38 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Jun 06 08:24:21 2018 +0000"
      },
      "message": "Make sure getActiveNetwork is consistent with default callbacks\n\nAlmost clean cherry-pick of ag/3889538.\n\nBug: 77737389\nTest: runtest framework-net\n      new test don\u0027t pass without the main code change, but they\n      do with it\nChange-Id: I0cd83a935ab0b349aa47e065b830e5a43ab9a091\nMerged-In: Iaa0285825735d3f16bba6e4946723a437fd9b0b9\nMerged-In: Ia8f985b448251f911484e6bd63fa562bffc1b0e4\n"
    },
    {
      "commit": "3e2fb66e74b145e091db92a294c83cfc7d0251c4",
      "tree": "4a7d35ed24c7c77798fbcacbe630c2ecf6750dde",
      "parents": [
        "7a635d853dc6ea29cff86574cfb9399424034dda"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Apr 18 19:18:58 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Jun 06 08:24:12 2018 +0000"
      },
      "message": "Add tests for getActiveNetwork.\n\nClean cherry-pick of ag/3918295\nOne-line adjustment for ag/3638326 which has not been put in AOSP.\n\nBug: 77737389\nTest: runtest frameworks-net\nChange-Id: I03ae2bbb08559f2cd44979e291c1f5d50eb215da\nMerged-In: Iaa0285825735d3f16bba6e4946723a437fd9b0b9\nMerged-In: Ia8f985b448251f911484e6bd63fa562bffc1b0e4\n"
    },
    {
      "commit": "6bc18fbb5d4ebe31d7cf1e6677133953710f83f2",
      "tree": "b765a854b8e4c7efb6da0750de747739b1b1411e",
      "parents": [
        "39620248d785b2219e0aca94ed37db7ca13dff11"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Apr 11 21:09:10 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Jun 06 08:23:52 2018 +0000"
      },
      "message": "Add a new ssid field in NetworkCapabilities.\n\nClean cherry-pick of ag/3887737\n\nBug: 77891227\nTest: frameworks-net\nChange-Id: Icefe1657bca52b913a72b56705342a7285769658\nMerged-In: Ia1f4e51b7c2e9118789242cf6d9e7576c4167cda\nMerged-In: I6dd1aba6fde5a502b4a9145cf16393d8ce623c89\n"
    },
    {
      "commit": "a5b35c7850eac1e7bec95c786554d360f6f55a8a",
      "tree": "d914c748650c7796f9e52403c2c8f912ca5bbca4",
      "parents": [
        "9217ae6feb89a48c4e76b00688e73470c6bebb39",
        "48b64fd9f2745ebf28431965102cfeb6caae44df"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Mon Jun 04 11:49:28 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 04 11:49:28 2018 -0700"
      },
      "message": "Merge \"Send empty LinkProperties when entering StoppedState.\" am: 59ccf1041f\nam: 48b64fd9f2\n\nChange-Id: Ib946351005140d59e6a559610aa7448ab19c2630\n"
    },
    {
      "commit": "f8bba5bfc76cd06c0527b00fad3abe0828455f29",
      "tree": "c17faa55f6798c3f595a61dd9667ed77506e1826",
      "parents": [
        "59ccf1041fcb74b495dbbe0b06b8eaf466a4ce29"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Fri May 18 16:09:24 2018 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Mon Jun 04 18:31:27 2018 +0900"
      },
      "message": "Clear IPv4 address on tethering teardown.\n\nTest: as follows\n    - built\n    - flashed\n    - booted\n    - runtest frameworks-net passes\n    - wlan0 in STA mode, wlan1 up/down in AP mode\n      no lingering IPv4 mode\n    - USB tethering up/down works\n    - bluetooth tethering yields:\n05-18 17:50:49.726   719   756 D TetherController: untetherInterface(bt-pan)\n05-18 17:50:49.729  1194  1230 E Tethering: [bt-pan] ERROR Failed to clear IPv4 address on interface bt-pan: java.lang.IllegalStateException: command \u0027224 interface setcfg bt-pan 0.0.0.0 0\u0027 failed with \u0027400 224 Failed to clear address (No such device)\u0027\n      which is acceptable (no actual crash, just a log message)\nBug: 79905644\nMerged-In: Ie898adc4efbb7376f0297abacdfe39c8700f0722\nMerged-In: I9eb44eaf4e99fa85fff2909524ee88673bdcf1fd\nMerged-In: Iaf29788a6692d810f3160e3f21d06b7452ecbaa6\n\n(cherry picked from commit 472276a874316b725027098b79e1c9f03c62cad2)\n\nChange-Id: Icb5c4f7971af4715c7662f80194b4c1ce369a135\n"
    },
    {
      "commit": "59ccf1041fcb74b495dbbe0b06b8eaf466a4ce29",
      "tree": "fb255658e5a6d92bd195a1bc407fdd0f8f2e7cf6",
      "parents": [
        "bd83ac0ecc1239643f1df3a002fd1ae580734b07",
        "c8cb0f71d2ad872773cd275e5a8d93190d56ee66"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Mon Jun 04 07:41:51 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jun 04 07:41:51 2018 +0000"
      },
      "message": "Merge \"Send empty LinkProperties when entering StoppedState.\""
    },
    {
      "commit": "91368ac791d9f2a05fb04e3af8c44135667b4bab",
      "tree": "167a2534adf992474332a228a3118c4e0ee55fdf",
      "parents": [
        "137f9f65a9481f131fec5dd07538bd6c95edcd2c",
        "36d41793e2bdf9d9bfaca08f184c82250f7f27e4"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Fri Jun 01 04:51:36 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jun 01 04:51:36 2018 -0700"
      },
      "message": "Merge \"Clear IPv4 address on tethering teardown.\" into pi-dev\nam: 36d41793e2\n\nChange-Id: Ie898adc4efbb7376f0297abacdfe39c8700f0722\n"
    },
    {
      "commit": "472276a874316b725027098b79e1c9f03c62cad2",
      "tree": "5c70367a092d926a342483355e06d904ac0f40e4",
      "parents": [
        "7d2d403a83dcf39a843ab495a6431341d8e54d2a"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Fri May 18 16:09:24 2018 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Fri Jun 01 14:23:51 2018 +0900"
      },
      "message": "Clear IPv4 address on tethering teardown.\n\nTest: as follows\n    - built\n    - flashed\n    - booted\n    - runtest frameworks-net passes\n    - wlan0 in STA mode, wlan1 up/down in AP mode\n      no lingering IPv4 mode\n    - USB tethering up/down works\n    - bluetooth tethering yields:\n05-18 17:50:49.726   719   756 D TetherController: untetherInterface(bt-pan)\n05-18 17:50:49.729  1194  1230 E Tethering: [bt-pan] ERROR Failed to clear IPv4 address on interface bt-pan: java.lang.IllegalStateException: command \u0027224 interface setcfg bt-pan 0.0.0.0 0\u0027 failed with \u0027400 224 Failed to clear address (No such device)\u0027\n      which is acceptable (no actual crash, just a log message)\nBug: 79905644\nChange-Id: Iaf29788a6692d810f3160e3f21d06b7452ecbaa6\n"
    },
    {
      "commit": "e6657a0ccaee9aa384e3bc3375a740aa7379c53f",
      "tree": "2b9ae517ea84ecfe3dfa2010cd161ba53f240523",
      "parents": [
        "d955cdf88938b9af74c85fc511a589ec6a9c46d8",
        "e78185076cba1a9c7de581943b2e15b49af9ae8b"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu May 31 11:25:40 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 31 11:25:40 2018 -0700"
      },
      "message": "Merge \"Add missing dependencies for libdexfile\" am: 286aa939af\nam: e78185076c\n\nChange-Id: Icc5446f1ecfb88a292ac63058f7c4f44922e9a89\n"
    },
    {
      "commit": "286aa939afaa12a57a4a78bdccd1e8ff2dce2087",
      "tree": "c72ec73eb605dc170d98e6d952947ec6c4124e53",
      "parents": [
        "39ac9ffe271df436435cc422456f706d6770f6f9",
        "76be372bac89003d1ec68470a571b67e3efb5526"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu May 31 02:23:17 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 31 02:23:17 2018 +0000"
      },
      "message": "Merge \"Add missing dependencies for libdexfile\""
    },
    {
      "commit": "872accd1e04901f6fe2ed1fcec8048350aa1d36e",
      "tree": "49931e7f6ee24c9abbd3bde52a27d7e5a5d72ab9",
      "parents": [
        "59e792baebd23551138e0e7895f5b85fbffb29bf",
        "da6fcd1f9af15168964086ec9c4a4a1c8bfadf5a"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue May 29 23:31:12 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 29 23:31:12 2018 -0700"
      },
      "message": "Merge \"Use AAPT2 for more modules with manifest validation errors\" am: ce1979d707\nam: da6fcd1f9a\n\nChange-Id: Ib73e574214064ba0c4112e901d9997724ecd7cb8\n"
    },
    {
      "commit": "ce1979d70769e7bc42a06baaab217b3a2c4d4b6d",
      "tree": "0ca646de26ac830dd79885ee85c84f32a02d18d8",
      "parents": [
        "ad769993a96c55d5570b73e1d2e0eb9b093d3236",
        "2f4bf5423d742ca6df4488d9df61f794ea2e82f1"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed May 30 05:01:08 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed May 30 05:01:08 2018 +0000"
      },
      "message": "Merge \"Use AAPT2 for more modules with manifest validation errors\""
    },
    {
      "commit": "76be372bac89003d1ec68470a571b67e3efb5526",
      "tree": "ab9572f5ef64fe4ede608515680e8f75c9b0cf08",
      "parents": [
        "f98f8a4c6c70ed459d04874796c5c0744100c8e8"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed May 30 13:52:08 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed May 30 13:55:51 2018 +0900"
      },
      "message": "Add missing dependencies for libdexfile\n\nSince a dependency was added to libartbase from libdexfile, this test\nhas been failing because of the missing deps. As discussed both\nlibartbase and its non-NDK dependencies need to be added.\n\nBug: b/79785496\nBug: b/80082746\nTest: ApfTest and UidRangeTest now pass in master, still pass in aosp\nChange-Id: Ia2c140514d7405d701c3ec520b77663abe2b34d5\n"
    },
    {
      "commit": "9f52c2da2401fb67ae2a6c71246a84da2040f7d2",
      "tree": "fc285b9de0372fc548661c31665d3c7a10006b45",
      "parents": [
        "f98f8a4c6c70ed459d04874796c5c0744100c8e8"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue May 29 17:28:22 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed May 30 10:23:59 2018 +0900"
      },
      "message": "Disable hidden API checks on unit tests\n\nTests still fail with NoSuchMethodError / NoSuchFieldError but it would\nbe expected without this option.\n\nTest: tests build, although they fail as much as previously\nMerged-In: I0e4517312cac9b37537eee55eafd811aff531ea8\nMerged-In: I012a1ce8483f5fdddf60cfd33ea4303d72455fca\nChange-Id: I25e225212fb3b3bb90ddfb66d9bd92b3efd1a4cd\n"
    },
    {
      "commit": "b1883f9abbbf939fe719849134173ba83e974976",
      "tree": "dfdd336ea8febdfd675032295235041ee3ca7696",
      "parents": [
        "d181b01ce325ba5c329c1e9585bdde8fec9d8850",
        "0bf54f4a2e92dd0da35851b9e2e69a1825b5d6dc"
      ],
      "author": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Mon May 28 21:29:32 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon May 28 21:29:32 2018 -0700"
      },
      "message": "Merge \"apf: Increase test coverage of LDDW / STDW\" am: e03b8ee7e0\nam: 0bf54f4a2e\n\nChange-Id: Ifa016ce8a4fcb3a43a03d0f1126c01638cbf21ef\n"
    },
    {
      "commit": "e03b8ee7e0bc1a585f4847f5ab1d564bdc56e3f6",
      "tree": "d1bbf5aa734a9dc07bf791b16f7f7d1808ca1bf1",
      "parents": [
        "8a984b9f08058531a480acf5b9bda7e40a31fb98",
        "3d479d9ad89c966755a323331cad3e5fbc1c15ad"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue May 29 02:33:22 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 29 02:33:22 2018 +0000"
      },
      "message": "Merge \"apf: Increase test coverage of LDDW / STDW\""
    },
    {
      "commit": "c8cb0f71d2ad872773cd275e5a8d93190d56ee66",
      "tree": "51f525001ed5ac796075dbec6709dbffd71de986",
      "parents": [
        "f98f8a4c6c70ed459d04874796c5c0744100c8e8"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Mon Dec 11 14:24:08 2017 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Mon May 28 17:51:24 2018 +0900"
      },
      "message": "Send empty LinkProperties when entering StoppedState.\n\nAdditionally, no longer try to transition from within a State\u0027s\nenter() method (this can encounter Log.wtf()s). Introduce some\nCMD_JUMP_* commands and use deferMessage().\n\nTest: as follows\n    - built, flashed, booted\n    - runtest -x IpClientTest passes\n    - basic DHCP wifi association works\nBug: 69800563\nBug: 70394432\nBug: 80284937\nChange-Id: I7ed6e1a994a3556af345e8a4dfb51c383f6d5478\n(cherry picked from commit ffacb517d40df8ebb52d5906fa844b20c6520cd8)\n"
    },
    {
      "commit": "2f4bf5423d742ca6df4488d9df61f794ea2e82f1",
      "tree": "8c465ddf0fa0a58ef9fb4e5b4798701531a4e804",
      "parents": [
        "daff857ffd12e7df74b162714ef58dcc5071592e"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri May 18 09:50:29 2018 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Sat May 26 10:32:26 2018 -0700"
      },
      "message": "Use AAPT2 for more modules with manifest validation errors\n\nAdd LOCAL_AAPT_FLAGS +\u003d --warn-manifest-validation to the modules\nthat have manifests that AAPT2 can\u0027t parse.\n\nBug: 79755007\nTest: m checkbuild\nChange-Id: I5f20ca582e481f7dac7b6a236662a2d1f47ea9fa\n"
    },
    {
      "commit": "96dbac0c5cf4088d1b71ff4ff432bcc61f270087",
      "tree": "415555123d0cca1826fb5025b6178b71ca567c8b",
      "parents": [
        "d01890df3ce3ee71b752fbeb15686d6c8740a10d",
        "fe530062ff99ffa61061fd2d66da0c41649df3c9"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri May 25 03:27:39 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 25 03:27:39 2018 +0000"
      },
      "message": "Merge \"Migrating remaining core networking tests to Junit4\""
    },
    {
      "commit": "7b0935509d0d894084cda8cd1f516108433ec620",
      "tree": "996dabfd063bdc48aa26abc71c165273a06b3ebc",
      "parents": [
        "a7183b92c41d4c595b20323e5a3e153d7bf9c014",
        "9f85505432aa1e4b17a4bb938cf529bfe38c564e"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu May 24 07:53:00 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu May 24 07:53:00 2018 +0000"
      },
      "message": "Merge changes I3b3bcbbd,I18b3f263,I3c416c1a\n\n* changes:\n  Use CaptivePortalProbeSpec method in portal app\n  Add configurable captive portal probes\n  Move CaptivePortalProbeResult to its own file\n"
    },
    {
      "commit": "fe530062ff99ffa61061fd2d66da0c41649df3c9",
      "tree": "b9864479412d732666eb7081437c7a721d1dd819",
      "parents": [
        "6fa8d06c78d21d455015e19691d5d6f2e6bd258b"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Oct 12 13:04:54 2017 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu May 24 16:24:47 2018 +0900"
      },
      "message": "Migrating remaining core networking tests to Junit4\n\nBug: 62918393\nTest: runtest frameworks-net\nMerged-In: I30f7eaa0307b8fad5a8de7a0da235a4f76c18677\n(clean cherry-pick of I30f7eaa0307b8fad5a8de7a0da235a4f76c18677)\n\nChange-Id: I272fea0bb4a9e7f6252bb3bd14a6b769a082039e\n"
    },
    {
      "commit": "13e6e21db9f6362041bd0d7f835d2ed247b9158f",
      "tree": "d90dc8458b24066d5672add17720fc081af04152",
      "parents": [
        "d57329d8537add164833a58af436d1d059b08fab"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue May 22 10:01:53 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu May 24 12:08:36 2018 +0900"
      },
      "message": "Add configurable captive portal probes\n\nThe probes allow testing for a configurable status code and location\nheader (regexes). They are disabled by default, so this CL is a\nno-op unless the probe configurations are pushed.\n\nBug: b/79499239\nTest: tests in CL pass, manual: captive portal login works\nMerged-In: Iec7a74bbf2569a91e958c497200d77e8451cbf7b\nMerged-In: Ia958815325d1466345e9626efc8f62fc9d08d774\n(clean cherry-pick of pi-dev I785723aaed06054b9aa8ebff77803f23d7836db9)\n\nChange-Id: I18b3f263fed08fa4fee20d5e88f3ec8647d7f835\n"
    },
    {
      "commit": "d57329d8537add164833a58af436d1d059b08fab",
      "tree": "c763fc2eaedf86621793f202733a2fdc4347a811",
      "parents": [
        "6fa8d06c78d21d455015e19691d5d6f2e6bd258b"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue May 22 09:58:19 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu May 24 12:04:27 2018 +0900"
      },
      "message": "Move CaptivePortalProbeResult to its own file\n\nThis is necessary to resolve visibility issues for the next change.\n\nBug: b/79499239\nTest: runtest frameworks-net\nMerged-In: Ia48b32307a51a66f2672d7112f71166dd6db41b1\nMerged-In: I5df7ee9f16bc6be4f02353d40a843a383dd4cbd9\n(Clean cherry-pick of pi-dev I50bc96afe6ae88c8f58a693f0a4e821f1f9b3299)\n\nChange-Id: I3c416c1a91ebfdf914fd528ff8ab73e3eb490562\n"
    },
    {
      "commit": "23d3487caaad1bd20ad50251311018cb852802f4",
      "tree": "9bf3b63731eadd812e0de5e1bdf3ce7c217286f2",
      "parents": [
        "8c4a97a2f8944c6ad9e77951dd7a85dcd3b249e4",
        "1f8f21af607b6a8449a509d8482f92a194fc1c99"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed May 23 15:22:24 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 23 15:22:24 2018 -0700"
      },
      "message": "Merge \"Add configurable captive portal probes\" into pi-dev\nam: 1f8f21af60\n\nChange-Id: Iec7a74bbf2569a91e958c497200d77e8451cbf7b\n"
    },
    {
      "commit": "1f8f21af607b6a8449a509d8482f92a194fc1c99",
      "tree": "f203d17467c1248c2de61c68d73d4b14f5029f6d",
      "parents": [
        "c8494ab0d7e0692b38d8702f798a6f011f7c7734",
        "8255c2d6c27363daa8bd92f7fcb3302682b9950a"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed May 23 14:26:39 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 23 14:26:39 2018 +0000"
      },
      "message": "Merge \"Add configurable captive portal probes\" into pi-dev"
    },
    {
      "commit": "8255c2d6c27363daa8bd92f7fcb3302682b9950a",
      "tree": "0bd119bed0c5ee5f87c46a69f3993f3d800a1cda",
      "parents": [
        "d63c119101d20ff364dab3ead021e7c5a9149350"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue May 22 10:01:53 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed May 23 20:48:46 2018 +0900"
      },
      "message": "Add configurable captive portal probes\n\nThe probes allow testing for a configurable status code and location\nheader (regexes). They are disabled by default, so this CL is a\nno-op unless the probe configurations are pushed.\n\nBug: b/79499239\nTest: tests in CL pass, manual: captive portal login works\nChange-Id: I785723aaed06054b9aa8ebff77803f23d7836db9\n"
    },
    {
      "commit": "97ad6f5234b20c4865f23737b3bee620e15f7c39",
      "tree": "b95d6fcb5b900b8b346d60731921ab6b876dd162",
      "parents": [
        "54cfd42974222157a913b5961e41a10987e65638",
        "989d72cefcfc279c65041bc42b2b1d8c75767745"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue May 22 13:40:54 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 22 13:40:54 2018 -0700"
      },
      "message": "Merge \"Remove unnecessary references to libunwind.\" am: 10e3fdd263\nam: 989d72cefc\n\nChange-Id: I0e0d26f1e00a10a1ebe1390f67525965910a36e3\n"
    },
    {
      "commit": "d829e18d9acc9d5cc022bde7734de928bda1ab90",
      "tree": "8b4580933d6e0dcc74cff52bb133b3fe35270c50",
      "parents": [
        "3fa9bdb193341344164eb9958e3c53ffcbb26153",
        "468fdc3dd29f87e2959696d21b37e58aa1663bfd"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue May 22 05:19:52 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 22 05:19:52 2018 -0700"
      },
      "message": "Merge \"Unify behavior of various cases of \"no underlying networks\"\" into pi-dev\nam: 468fdc3dd2\n\nChange-Id: I22f80a6a39d4a19ff74aa61fcbd66f1a041b1003\n"
    },
    {
      "commit": "53fa1d854297f4d6720e99b322311e564464eb12",
      "tree": "b01f3b0f0f81cc262061b41733a4940e99eda34a",
      "parents": [
        "0b653bc5e493551a143073f63fa7b28329838811",
        "200cad09c706a8b80673e07af4314399fb596c66"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue May 22 04:06:35 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 22 04:06:35 2018 -0700"
      },
      "message": "Merge changes Ic8231b18,I30009f88 into pi-dev\nam: 200cad09c7\n\nChange-Id: I12c948ebeb2b74290908f8320ff77220dc4a9fb9\n"
    },
    {
      "commit": "b3ab0d1e63fbbad007bb2a7da2fd4e1206d86c40",
      "tree": "6d6ac1206815781d2d30be28ec77cec9b79dafe1",
      "parents": [
        "6b65ec77568de5d794e7cc451a0b2a3c021b287e"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Mon May 21 15:30:56 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue May 22 18:50:00 2018 +0900"
      },
      "message": "Unify behavior of various cases of \"no underlying networks\"\n\nBefore this change, VPNs having no underlying networks would be\nmarked as metered as the safe option, but VPNs having only\ndisconnected underlying networks would be marked as unmetered.\nFix this discrepancy.\n\nBug: 79748782\nTest: runtest frameworks-net\nChange-Id: I51c3badde29f43f692f383553bd98327d2da8dd1\n"
    },
    {
      "commit": "6b65ec77568de5d794e7cc451a0b2a3c021b287e",
      "tree": "f56946a9c9e927d7af3aa33ad6956bcd72f74e33",
      "parents": [
        "f89e8dacf1387cdddecea42e780739e39a45a992"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri May 18 22:02:56 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue May 22 18:49:58 2018 +0900"
      },
      "message": "Fix: VPNs update caps upon underlying network disconnect.\n\nBug: 79748782\nTest: ConnectivityServiceTests still pass\nChange-Id: Ic8231b18a17e6feb5ebafe8d5688fb59f9d4d58e\n"
    },
    {
      "commit": "f89e8dacf1387cdddecea42e780739e39a45a992",
      "tree": "72bfe2a252fbd052f3013a07fa4d931b2d310848",
      "parents": [
        "fd12af848a65bee56cb763ee1ab59c88c1fda471"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri May 18 21:47:45 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue May 22 18:25:33 2018 +0900"
      },
      "message": "Add tests for setUnderlyingNetworks.\n\nFixes come later. This is complex enough as it is.\n\nBug: 79748782\nTest: new test passes, old tests still pass\nChange-Id: I30009f88e68a534c332ca88bae517cacc39a60bb\n"
    },
    {
      "commit": "adfb78afdcb9c4102f35de332435319151128721",
      "tree": "9c3f0907dd93572ee216978ec74c1f2b5698f492",
      "parents": [
        "c60a252b870b4772177645335f5b7d81bb7b18a3",
        "fd12af848a65bee56cb763ee1ab59c88c1fda471"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue May 22 01:09:08 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 22 01:09:08 2018 -0700"
      },
      "message": "Merge \"Move CaptivePortalProbeResult to its own file\" into pi-dev\nam: fd12af848a\n\nChange-Id: Ia48b32307a51a66f2672d7112f71166dd6db41b1\n"
    },
    {
      "commit": "c60a252b870b4772177645335f5b7d81bb7b18a3",
      "tree": "3e8708bb608e0369617b9e997b011677fcf7e91d",
      "parents": [
        "7425f704eaac600c4ee6ed22be62d719c353307b",
        "d1d4cc94ba7f4f1b83aded29e7634cb6b88b011b"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue May 22 01:01:39 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 22 01:01:39 2018 -0700"
      },
      "message": "Merge \"Fix setCapabilities.\" into pi-dev\nam: d1d4cc94ba\n\nChange-Id: I13d7782a6c0c7b1f94137995bbb0d257a58d89c1\n"
    },
    {
      "commit": "fd12af848a65bee56cb763ee1ab59c88c1fda471",
      "tree": "74abc2ba246d6b1032b47512a27bd48996bbf231",
      "parents": [
        "d1d4cc94ba7f4f1b83aded29e7634cb6b88b011b",
        "d63c119101d20ff364dab3ead021e7c5a9149350"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue May 22 08:00:56 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 22 08:00:56 2018 +0000"
      },
      "message": "Merge \"Move CaptivePortalProbeResult to its own file\" into pi-dev"
    },
    {
      "commit": "d1d4cc94ba7f4f1b83aded29e7634cb6b88b011b",
      "tree": "2f2e4246f6fa3f8289286e6bd271f8f09d9605e9",
      "parents": [
        "7b8ac80db59176d7601d9c9eda4879b62571c439",
        "4c4bc93b5eb1d830a9be22658baea5628f8aa477"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue May 22 07:51:09 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 22 07:51:09 2018 +0000"
      },
      "message": "Merge \"Fix setCapabilities.\" into pi-dev"
    },
    {
      "commit": "d63c119101d20ff364dab3ead021e7c5a9149350",
      "tree": "350c881002a3de3ad75dd5551325d8d243e0daaa",
      "parents": [
        "167b451daa1893ee9b15cb25bfba627a7254acd3"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue May 22 09:58:19 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue May 22 10:00:28 2018 +0900"
      },
      "message": "Move CaptivePortalProbeResult to its own file\n\nThis is necessary to resolve visibility issues for the next change.\n\nBug: b/79499239\nTest: runtest frameworks-net\nChange-Id: I50bc96afe6ae88c8f58a693f0a4e821f1f9b3299\n"
    },
    {
      "commit": "41fa069e522fc6b548d44337964d0821570269ba",
      "tree": "accfbf6d953404ae8df022eb5641ed9f2c423388",
      "parents": [
        "59fa1bcf69bd821e25cbb04ca91ab326c9cdf344"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon May 07 13:49:34 2018 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Mon May 21 14:19:06 2018 -0700"
      },
      "message": "Remove unnecessary references to libunwind.\n\nBug: 79209464\n\nTest: Builds.\nChange-Id: Ica58edd0d11b54c45b0af8e75eed67936f4309c2\nMerged-In: Ica58edd0d11b54c45b0af8e75eed67936f4309c2\n(cherry picked from commit 2197eebc6421cc98ee024b195915a97c037f7670)\n"
    },
    {
      "commit": "4c4bc93b5eb1d830a9be22658baea5628f8aa477",
      "tree": "93f36a57d1c72adbc016a72f9ef6170746b6a1fd",
      "parents": [
        "86b2581c16935d3eea6a012ab8812bfb78238e69"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri May 18 23:48:49 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Mon May 21 14:46:40 2018 +0900"
      },
      "message": "Fix setCapabilities.\n\nP introduced setSSID, UIDs and unwanted capabilities.\nNone of these exhibit commutative behavior through combineCapabilities\nbecause their semantics don\u0027t allow it. Therefore\nNetworkRequest.setCapabilities() is badly broken around any of\nthese. Look at the comments in the new tests to realize the\nextent of the damage.\n\nBug: 79748782\nTest: new tests written, old tests pass\nChange-Id: Ie46581bdaf9ecc2f14aab44788bbdb27a3fec8c1\n"
    },
    {
      "commit": "b1b864cee20ebe34c2ec7638b51da1318f4f5984",
      "tree": "179117747972828b76443ea32004813bc00537be",
      "parents": [
        "54bd56d6c55fa6c1ec8e66bcb3940e22463e65b5",
        "84dad9565fd054280f057819e0f62bfe1537edbc"
      ],
      "author": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Sat May 19 00:13:15 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat May 19 00:13:15 2018 +0000"
      },
      "message": "Merge \"Require READ_CALL_LOG permission to see phone numbers in phone state.\""
    },
    {
      "commit": "84dad9565fd054280f057819e0f62bfe1537edbc",
      "tree": "5aaae43dde03f85eefa56cf9bbd91b51d247f3a2",
      "parents": [
        "d27a9f4465c7159b046a3087b7c4d1fad3c2a7c5"
      ],
      "author": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Thu Apr 26 14:43:31 2018 -0700"
      },
      "committer": {
        "name": "Tyler Gunn",
        "email": "tgunn@google.com",
        "time": "Fri May 18 14:37:43 2018 -0700"
      },
      "message": "Require READ_CALL_LOG permission to see phone numbers in phone state.\n\nIncoming and outgoing call phone numbers are visible in the phone state\nbroadcast and via the PhoneStateListener.  To enhance user privacy, change\nto require the READ_CALL_LOG permission in order to receive the call\nphone numbers.\n\nThis means to see phone numbers:\n1. android.intent.action.PHONE_STATE - requires READ_PHONE_STATE and\nREAD_CALL_LOG permission.\n2. PhoneStateListener#onCallStateChanged - now required READ_CALL_LOG\npermission.\n\nTo support this new behavior, added sendBroadcastAsUserMultiplePermissions\nmethod to context to allow sending the broadcast to all users while\nrequiring the two permissions.\n\nBug: 78650469\nTest: Created PHONE_STATE broadcast receiver in test app and verified that\nwhen no permissions are granted, the phone number is empty for incoming\nand outgoing calls.\nTest: Granted Phone state permission to test app and verified that phone\nnumber is not populated.\nTest: Granted test app read call log permission and verified that phone\nnumber is populated.\nTest: Created PhoneStateListener in test app and verified that when no\npermissions are granted, phone number is empty for incoming and outgoing.\ncalls.\nTest: Granted read call log permission to test app and verified that both\nthe incoming and outgoing numbers are populated.\n\nChange-Id: I857ea00cc58a0abbb77960643f361dd6dd9c8b56\n"
    },
    {
      "commit": "413d00c1c031b467920d64233c7de430040fd567",
      "tree": "9dc055b96c8caf6e42abbc5f14a334a4933e3563",
      "parents": [
        "d3c97f9ab40df74964be4e9f0d7b8887f18f2587",
        "2b3c858296d34741e32c03b144b14f9532b19bb2"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Fri May 18 01:08:26 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri May 18 01:08:26 2018 -0700"
      },
      "message": "Merge \"Add explicit override for default Private DNS mode\" into pi-dev\nam: 2b3c858296\n\nChange-Id: If480ab40c7cf9ab75c52feafc28338a049cbceef\n"
    },
    {
      "commit": "646dfc77039404a52e51d44df78fc819cfb263dd",
      "tree": "e679d255e6410a86fa041c7f9fea94b61b90647b",
      "parents": [
        "71c11daaf581679fa419c7343d0c14b612af6197",
        "6657d42602a25264ccbf70ce2eb36f3974518139"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri May 18 01:44:44 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri May 18 01:44:44 2018 +0000"
      },
      "message": "Merge changes Ieb0a5d24,I44df6668\n\n* changes:\n  Fix SntpClientTest failures with no active network\n  Allow specifying a network for SNTP time sync\n"
    },
    {
      "commit": "19841794096e7c9f7112ba25af9bfda04403f791",
      "tree": "fe14b0c6b68426e8b7feac5b836d12001cd5c850",
      "parents": [
        "7f91c59b3ea96916b1f69fa64f30856231ca4c39"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Wed May 16 16:41:57 2018 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Thu May 17 17:41:12 2018 +0900"
      },
      "message": "Add explicit override for default Private DNS mode\n\nTest: as follows\n    - built\n    - flashed\n    - booted\n    - runtest frameworks-net passes\nBug: 79719289\nChange-Id: I943c5476666e47d04690626e2133f501cb875b46\n"
    }
  ],
  "next": "3667bf48761c9f6f716c42f681b7ca002115dfa2"
}
