)]}'
{
  "log": [
    {
      "commit": "29807b19b08a388cba1eb0f2af3a6e7ead9c5399",
      "tree": "2f0a901034e71ac58bb8b8de1eefa6aa8254580d",
      "parents": [
        "3964f4e4e612afe69a4422e05ad523ec68ca9344",
        "0a56b25bcf4b7886be8124a3fb64c337dff33edb"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Aug 06 13:51:11 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 06 13:51:11 2018 -0700"
      },
      "message": "Merge \"Add utils to convert Inet4Address \u003c-\u003e int\" am: 5caebe3415 am: 2595e68176 am: 004c3347ad\nam: 0a56b25bcf\n\nChange-Id: I5282dd7d5ec2e708241e19e414e887491c4969f9\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": "dad7d689acf6a646460a94318ba6f05590043a1d",
      "tree": "333084580ad4eb169571d443b0ca3da791040924",
      "parents": [
        "64b600b52ef53eb9d0b7be825bfd8a9f2da4af8b",
        "e62c95c6b3c5a11b83a0615f4dace123e18df52b"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Jul 27 06:34:09 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jul 27 06:34:09 2018 -0700"
      },
      "message": "Merge \"Increase network request timeouts\" am: 527c79d96d am: 8b894a7d50 am: 2eb9f746cf\nam: e62c95c6b3\n\nChange-Id: Ifb94f2a869f7cbe9ecb0e6e05ce7e4b28222e41e\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": "52cd83031f8cc5d2307fbe0525f77910bd4463da",
      "tree": "33425c2571225f8497131a1b749cc828a3030675",
      "parents": [
        "8aafd878e0d51cf9f6cd51d29be59888d2d58f9b",
        "3f6462a6941c95d59f3efbdecafb2bfe979bfcf9"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Jul 27 03:33:10 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jul 27 03:33:10 2018 -0700"
      },
      "message": "Merge \"Increase IpClientTest verification timeout\" am: 0cbdca3e20 am: 98e2f04ec0 am: 2b61800bfe\nam: 3f6462a694\n\nChange-Id: I1a7e26dbcc03630c461cecb07d1c858821ccff6d\n"
    },
    {
      "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": "9a64ba2602677e1ec3e0edc94e754d393983362e",
      "tree": "cadfb491dde4f02d81781d3b87f2adce6f5a2f2c",
      "parents": [
        "125633276910b2815804bdd4610d62017240eb4c",
        "12e7fc473c6ac004ca8cba3b05889abe73cff057"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Jul 27 00:45:22 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jul 27 00:45:22 2018 -0700"
      },
      "message": "Merge \"Use timeout consts in all ConnService tests\" am: 3fbbe73437 am: 589432e728 am: 617b89e4e7\nam: 12e7fc473c\n\nChange-Id: Ic17f8b385d739817023abcf60657907d8cb3c10f\n"
    },
    {
      "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": "caf15ef80b541ad22e962c107cde66ff3998d5a3",
      "tree": "d55e509e39441ad204c110a0bae466afd97ff6ba",
      "parents": [
        "86ec41e2471359a7dbe5b3bc791145cc54c6c3f8",
        "1c2eae70e21aa75f8a729de971f9fa46aa770bdc"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Jul 26 04:38:58 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 26 04:38:58 2018 -0700"
      },
      "message": "Merge \"Increase linger delay and test callback timeout\" am: 716c04b29a am: b70a230584 am: 9e95f67b19\nam: 1c2eae70e2\n\nChange-Id: If0a80dbb5ff1929acf21ce4256876b5e6d511e6c\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": "12ba6bcc73280a852fc91908f2795102f565a285",
      "tree": "b999e0922e64a02d72778118a106857c04ecda46",
      "parents": [
        "d673f4f271670fc5dd1e73d85b9a6009e052605e",
        "43b12f57f787ca2755b16bda3abb85a2eba251ab"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jul 24 22:50:56 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 24 22:50:56 2018 -0700"
      },
      "message": "Merge \"Increase TEST_LINGER_DELAY_MS\" am: 9a783699cc am: 93c22129e2 am: d2339214eb\nam: 43b12f57f7\n\nChange-Id: Iffd1ea689a9cedee4252836de208b506290c067b\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": "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": "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": "309adbff03ea6e0dedd232375a9f0583a7a80049",
      "tree": "de32ac5895a9e0ab2fdf267d6ff282992f2dcfaa",
      "parents": [
        "c3aadf378aa100995aa8093f81e7653d0ad93f80",
        "cd70c87c65a6bf3eac2fa3b26f1464e23afc90f1"
      ],
      "author": {
        "name": "Mark Chien",
        "email": "markchien@google.com",
        "time": "Tue Jul 17 00:30:29 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 17 00:30:29 2018 -0700"
      },
      "message": "Merge \"Remove SimChangeListener from Tethering\" am: 6e35b2c596 am: fbab182f44\nam: cd70c87c65\n\nChange-Id: I57f979caab4aaf4e9f6481b27995a49e44ba31d9\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": "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": "ff5f4868b36684d7b100a2abfeb80b50f7901d1b",
      "tree": "b45d2b4183f480297bb747af4fea410bbcf35304",
      "parents": [
        "a1867d61c3015be1d52e88e41118c27d7f29d6e0",
        "05778e562c6680347ea70c83da02d9e0deea20d0"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Jun 20 23:23:25 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 20 23:23:25 2018 -0700"
      },
      "message": "Merge \"Add StackedLinkProperties test case\" am: faf31f8638 am: 946957bc32\nam: 05778e562c\n\nChange-Id: I2228d19282a9871c04e2529304c4fd99bd4d01f4\n"
    },
    {
      "commit": "05778e562c6680347ea70c83da02d9e0deea20d0",
      "tree": "b1494ad26b6132d6892e5c1de40dd80270a55fb9",
      "parents": [
        "016dff400bd0dce86cd2b394dca475deac27c734",
        "946957bc324c1edc9b5a85f260d3eaa70b4fe8fb"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Jun 20 21:52:15 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 20 21:52:15 2018 -0700"
      },
      "message": "Merge \"Add StackedLinkProperties test case\" am: faf31f8638\nam: 946957bc32\n\nChange-Id: Idebb0fc4279a059bddecffc563bdf3ddf394002c\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": "94c3e1be78e5cb5843235e35c185e78952613da6",
      "tree": "9f5b21b3072145c9c96deb67ec724f41bdecac96",
      "parents": [
        "b6528dadf087a2a20ede8d403ee200118060b273",
        "a2dd9f8578fa90d7dbbdf39b18052a894ab0967d"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Wed Jun 20 01:32:10 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 20 01:32:10 2018 -0700"
      },
      "message": "Merge \"Prefer default Internet network for upstream tethering.\" into pi-dev am: 1e1635a45e\nam: a2dd9f8578\n\nChange-Id: Icac3e5e20e99093ddb85aae1ca07ed7b5cf309fd\n"
    },
    {
      "commit": "a2dd9f8578fa90d7dbbdf39b18052a894ab0967d",
      "tree": "932c63d534bcfeef97a7ea388d857d0caa5d4b19",
      "parents": [
        "0418143f6dce2e0203415d87eb7ad133d716f07e",
        "1e1635a45e5cad1bca08ac71b9a4175fd1d5990b"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Wed Jun 20 01:14:14 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jun 20 01:14:14 2018 -0700"
      },
      "message": "Merge \"Prefer default Internet network for upstream tethering.\" into pi-dev\nam: 1e1635a45e\n\nChange-Id: I9cddf1fb7aa3b8d56bf048c563556244e74808c2\n"
    },
    {
      "commit": "4080a1bd15572caf149762e45c958627feceb74d",
      "tree": "502437ba95ee765c537903adb11d94c0da3ebdbf",
      "parents": [
        "1b65af27d897ccfbfb7b61c7176cb6a670a9519c"
      ],
      "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": "Tue Jun 19 20:57:21 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\nChange-Id: I925b75994e31df8046f3ef9916a2457b4210485e\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": "92f2661ce18d7a847457bf3c33d191807af87121",
      "tree": "95580b8e0d4a63c764a5db159af3a1dd48ab5c38",
      "parents": [
        "208d21b66d50b124aa30a8a0f54b1d52a4b7ac2a",
        "a2f5d7481c18ae87e693b2555841ee7601d19534"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Jun 18 01:37:04 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 18 01:37:04 2018 -0700"
      },
      "message": "Merge \"Apf: Avoid constant overflow\" am: 5b99659943 am: 4afe1f957b\nam: a2f5d7481c\n\nChange-Id: I5b33123f2044cc00c5516be8bcbe82591c78b670\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": "5d63f152ba74319e415d1a5fa1fb837e74049bbc",
      "tree": "890787a50846097faab5f41cd6b57a794bdc0b80",
      "parents": [
        "fc4383389d62f5b65fe9e1328575053b7c397754",
        "b0df70b6edd13235abde3a0fa526a9938088a267"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Sat Jun 09 09:43:53 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jun 09 09:43:53 2018 -0700"
      },
      "message": "Merge \"Disable the AppOp Restriction for IpSec Tunnels\" into stage-aosp-master am: bda7c96038\nam: b0df70b6ed\n\nChange-Id: Idb6ff2adc72d0a293e1d99c287d0df68df88fe79\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": "6cc8a8464c1399c0de76785710cc16fd30c90740",
      "tree": "31799fec2c7f071c58cee6cf8cc54753a0a899be",
      "parents": [
        "be0f557e3ad01caef7ff58ff479ed85eaf8dee20",
        "a5b35c7850eac1e7bec95c786554d360f6f55a8a"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Mon Jun 04 12:23:28 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Jun 04 12:23:28 2018 -0700"
      },
      "message": "Merge \"Send empty LinkProperties when entering StoppedState.\" am: 59ccf1041f am: 48b64fd9f2\nam: a5b35c7850\n\nChange-Id: I01995b2b18154877792a2dffed0a19642264a758\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": "796c7b35214a22bd6a5d245b64c7a721cc414d9d",
      "tree": "8d68b466dd0a53a0c47dcbd33496006e1b4f20cc",
      "parents": [
        "55740b7b1c91c363c21120f4a0be369b68179d66",
        "91368ac791d9f2a05fb04e3af8c44135667b4bab"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Fri Jun 01 06:31:36 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jun 01 06:31:36 2018 -0700"
      },
      "message": "Merge \"Clear IPv4 address on tethering teardown.\" into pi-dev am: 36d41793e2\nam: 91368ac791\n\nChange-Id: I9eb44eaf4e99fa85fff2909524ee88673bdcf1fd\n"
    },
    {
      "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": "836bfe5f74be7e46caf84ea7b3e7ad3006b3284a",
      "tree": "68335c241a37e9c567adbdecddcdb07d95ff5427",
      "parents": [
        "2f5bf3386b1f893ca862d22c5d899cd27654ee23",
        "4cdb2b7ece44e0c688fc2a6e085a5eec2ad462b5"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu May 31 00:05:53 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 31 00:05:53 2018 +0000"
      },
      "message": "Merge \"Fix testRegisterUsageCallback failure in setUp\""
    },
    {
      "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": "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": "4cdb2b7ece44e0c688fc2a6e085a5eec2ad462b5",
      "tree": "7035b68a51798740cbba74fb80a060a5792c05cc",
      "parents": [
        "4aca62556b5baf3a4a369c7c5a265815e187953a"
      ],
      "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": "Wed May 23 13:19:57 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: this test passes in master through runtest frameworks-net\nBug: b/78487385\nBug: b/80082746\nChange-Id: I884a7a8bd7db3fcd220b785ba9914ac8c77720f0\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": "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": "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": "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"
    },
    {
      "commit": "3d479d9ad89c966755a323331cad3e5fbc1c15ad",
      "tree": "84ca80f167b19b84a6071c9fcd717ed68eb0bb6d",
      "parents": [
        "9ee5bb00375cd145ecacbdd415bd39305e3f505a"
      ],
      "author": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Fri Apr 20 23:31:33 2018 +0900"
      },
      "committer": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Fri May 11 18:27:01 2018 +0900"
      },
      "message": "apf: Increase test coverage of LDDW / STDW\n\nAdd testcases covering interesting combinations of offset size and sign.\nAlso adjust a few existing testcases to increase interpreter coverage.\n\nBug: 73804303\nTest: runtest -x tests/net/java/android/net/apf/ApfTest.java\nChange-Id: I7f1a9166e81656711c57af7c72608e53666aae6f\n"
    },
    {
      "commit": "6b8e9a06359788625b61349e377751a9f1001314",
      "tree": "61acc406c461a212f42ffbf72bb02733ce8a4990",
      "parents": [
        "299eba7cefd6e4b3083c978c2b96938248308b00",
        "66674ce8fb48f6318d0275b42e826d183428eced"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue May 08 02:13:00 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 08 02:13:00 2018 -0700"
      },
      "message": "Merge \"Fix testRegisterUsageCallback\" am: d0b9f983d6\nam: 66674ce8fb\n\nChange-Id: If16708b5ce00dc374663e3c3dedd1d96342175f1\n"
    },
    {
      "commit": "d0b9f983d6687fc88074926f5e5e5c1b7ac7ee97",
      "tree": "77afc3ebf58177373035e08ee861c98776be4187",
      "parents": [
        "c8613f9965065cfa05e5741a84c401a5fb983768",
        "14178014fc16456aa3944b1a5846431e90eeca99"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue May 08 07:55:42 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue May 08 07:55:42 2018 +0000"
      },
      "message": "Merge \"Fix testRegisterUsageCallback\""
    },
    {
      "commit": "e696cf636d24906aaf1922d161a82e4f917be1c4",
      "tree": "64fd09d2db092e82ccf2f615d6eca83258dd7e5d",
      "parents": [
        "067749725e6a7c5638ea386db64ed71bed2fc867",
        "bbabc51b5b13fdce80157deffdcf7f35d7905641"
      ],
      "author": {
        "name": "android-build-team Robot",
        "email": "android-build-team-robot@google.com",
        "time": "Wed May 02 19:17:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 02 19:17:27 2018 +0000"
      },
      "message": "Merge changes from topic \"ifaceStatsDetail\" into pi-dev\n\n* changes:\n  Remove the unused file parsing function\n  Use eBPF map data for per iface stats\n"
    },
    {
      "commit": "14178014fc16456aa3944b1a5846431e90eeca99",
      "tree": "16927365bf85f1e6586bc50dab981ca42fcc2196",
      "parents": [
        "ec629e2f43b60285e893bb8dcbf2fb8171b4fd48"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Apr 24 14:47:23 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed May 02 16:51:13 2018 +0900"
      },
      "message": "Fix testRegisterUsageCallback\n\nnoteOp (introduced in go/ag/3897834) checks that the calling uid matches\nthe calling package, which is not correct when using a fake calling\npackage. Use the real package of the test so permissions are checked\nproperly.\n\nThe test currently only fails this way in pi-dev as noteOp is only used\nin pi-dev.\nChange-Id: I9ac3717af9335ba9efa0b8842a2df0d7b69ec9ab\nTest: Fixed test now passes in pi-dev\nBug: b/78487385\n"
    },
    {
      "commit": "0e3748ab44d349e0054a9afd6c667047b8f4ae63",
      "tree": "aa6b8f7173ae333760aa4532594631d164bd4329",
      "parents": [
        "3ce663a4bdc7c78d6ed0280cba0d0d1eef26480e",
        "b86d2b4b84946084f19f3a5b71507b7dcc7a693a"
      ],
      "author": {
        "name": "android-build-prod (mdb)",
        "email": "android-build-team-robot@google.com",
        "time": "Tue May 01 19:53:30 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 01 19:53:30 2018 -0700"
      },
      "message": "Merge changes from topic \"ifaceStats\" am: 90c01b0093\nam: b86d2b4b84\n\nChange-Id: I460bc25806182bc2dc5fcc2512ab01e776a0e8e6\n"
    },
    {
      "commit": "bbabc51b5b13fdce80157deffdcf7f35d7905641",
      "tree": "85c217690769e9fef0a7b2be4672a486766fc6e1",
      "parents": [
        "804be4a3bc6f9f631bce5241cafa32f2408cbcb6"
      ],
      "author": {
        "name": "Chenbo Feng",
        "email": "fengc@google.com",
        "time": "Tue May 01 13:51:13 2018 -0700"
      },
      "committer": {
        "name": "Chenbo Feng",
        "email": "fengc@google.com",
        "time": "Tue May 01 19:48:03 2018 -0700"
      },
      "message": "Remove the unused file parsing function\n\nWith the new xt_bpf support for iface stats. We no longer need to parse\nthe per interface stats from /proc/net/dev. And since the old xt_qtaguid\ncode path also not depend on it, we can completly remove that helper\nfunction since no caller is depending on it now.\n\nBug: 72111305\nTest: runtest frameworks-net -c com.android.internal.net.NetworkStatsFactoryTest\nChange-Id: Icb7eaeef0eeb9fdffd32a90316c76ee05bafffbe\nMerged-In: Icb7eaeef0eeb9fdffd32a90316c76ee05bafffbe\n(cherry picked from aosp commit b815c978b81eee4b1494bd0b9d25bfad52f08b72)\n"
    },
    {
      "commit": "b815c978b81eee4b1494bd0b9d25bfad52f08b72",
      "tree": "cb7a8eabe55a18e8c2f067ff543c3028a99936a4",
      "parents": [
        "dcc56783f5b945b16c9f5e50333fba557a7c3603"
      ],
      "author": {
        "name": "Chenbo Feng",
        "email": "fengc@google.com",
        "time": "Tue May 01 13:51:13 2018 -0700"
      },
      "committer": {
        "name": "Chenbo Feng",
        "email": "fengc@google.com",
        "time": "Tue May 01 14:13:55 2018 -0700"
      },
      "message": "Remove the unused file parsing function\n\nWith the new xt_bpf support for iface stats. We no longer need to parse\nthe per interface stats from /proc/net/dev. And since the old xt_qtaguid\ncode path also not depend on it, we can completly remove that helper\nfunction since no caller is depending on it now.\n\nBug: 72111305\nTest: runtest frameworks-net -c com.android.internal.net.NetworkStatsFactoryTest\nChange-Id: Icb7eaeef0eeb9fdffd32a90316c76ee05bafffbe\n"
    },
    {
      "commit": "f97656b81c184efb933bb884d220476b61373fcb",
      "tree": "1ac821517763c5013f9de8c0ec34c013d93c3d42",
      "parents": [
        "03dbf6bd5e913e3b1a867f333247adb1498f5da3"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Apr 11 18:58:52 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri Apr 27 13:32:10 2018 +0900"
      },
      "message": "Let DnsManager fill in LinkProperties for private DNSes\n\n(clean cherry-pick from ag/3880157)\n\nTest: new tests pass\nBug: 73641539\nChange-Id: I971ef4d27b22a435d7459e1c4b31a8715ef6e610\nMerged-In: I837df61e3c277ae08ebf4fdcd4c4e9ac8c550811\nMerged-In: I72ecaa4f7d7320ffa2e0ba82fadafc947c8a6981\n"
    },
    {
      "commit": "03dbf6bd5e913e3b1a867f333247adb1498f5da3",
      "tree": "4cc18018123a4af57456b260b77eb5550104d523",
      "parents": [
        "8e386b7132895cb286a1d9548c630f86189197b8"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Apr 11 16:36:41 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri Apr 27 13:32:10 2018 +0900"
      },
      "message": "Add the list of private DNS addresses to LinkProperties\n\n(clean cherry-pick from ag/3874803)\n\nTest: atest android.net.LinkPropertiesTest, also new tests pass\nBug: 73641539\nChange-Id: If33a35b1354a67db09411ff098f20064797296ad\nMerged-In: I4b739c56e658690532ae9deb0b9a3bc9b2adf8b0\nMerged-In: I6bdbef78d078d68534c8e07e9af031ce374560ef\n"
    },
    {
      "commit": "825c73948692d3b71609ddd672c197d74956a8a9",
      "tree": "26a874ea09a65dfc63629c8e2c0aba42da0e1698",
      "parents": [
        "ad8159bea0693a756e5b8f8e9aa2e17fdfecd1ce"
      ],
      "author": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Thu Apr 19 20:53:00 2018 +0900"
      },
      "committer": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Tue Apr 24 21:28:49 2018 +0900"
      },
      "message": "apf: Add immediate encoding tests for LI\n\nThis tests that ApfGenerator knows how to optimally encode positive and\nnegative immediates of various sizes.\n\nEquivalent tests will follow for LDDW and STDW.\n\nChange-Id: Ia904aecb155c78569e3cf32a2431570281570481\nBug: 73804303\nTest: runtest tests/net/java/android/net/apf/ApfTest.java\n(cherry picked from commit 18050000d76b5458938e5b563e2374dbd2d5831e)\n"
    },
    {
      "commit": "a4eec2cefa650b63eb2c1a265e32e9c1a1fc8f72",
      "tree": "f89abd561c1778fa366a44cdc8b41d9572816954",
      "parents": [
        "0744f1d4b1fa321adfdad7c3fc7be6578e734023",
        "411e79b8b0066f146735b961301670a9c9998ed4"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue Apr 24 03:02:11 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 24 03:02:11 2018 -0700"
      },
      "message": "Merge changes I0cd83a93,I03ae2bbb into pi-dev\nam: 411e79b8b0\n\nChange-Id: Iaa0285825735d3f16bba6e4946723a437fd9b0b9\n"
    },
    {
      "commit": "26400490a20217818803bd8892413e8a301f5598",
      "tree": "42fc8ce972ebaaa2205f3e5852f084dff2ea41b5",
      "parents": [
        "fb0c87e8b403cee5b0c10ad1fd52625b4998e731"
      ],
      "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": "Tue Apr 24 17:32:00 2018 +0900"
      },
      "message": "Make sure getActiveNetwork is consistent with default callbacks\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\n"
    },
    {
      "commit": "fb0c87e8b403cee5b0c10ad1fd52625b4998e731",
      "tree": "167f6d18289bb06861d08127b202e0131f1ee6ab",
      "parents": [
        "d5a1bb621a05d414ed630643898f98081893f71b"
      ],
      "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": "Tue Apr 24 15:23:28 2018 +0900"
      },
      "message": "Add tests for getActiveNetwork.\n\nBug: 77737389\nTest: runtest frameworks-net\nChange-Id: I03ae2bbb08559f2cd44979e291c1f5d50eb215da\n"
    },
    {
      "commit": "a5fc870335e78e4266b7ee7c41ff7c0878828741",
      "tree": "ff3f2a5e69b93453d9fec73f39d6dffc0e83508a",
      "parents": [
        "4a836444226f58fc62196f61a7ed5d5b935cf571",
        "2a915264a6e078c26cd9da900dd56e5991090004"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Mon Apr 23 00:33:21 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Apr 23 00:33:21 2018 -0700"
      },
      "message": "Merge \"Let DnsManager fill in LinkProperties for private DNSes\" into pi-dev\nam: 2a915264a6\n\nChange-Id: I837df61e3c277ae08ebf4fdcd4c4e9ac8c550811\n"
    },
    {
      "commit": "f0f364f2c51ff598c9a42ca0fcb05b85dd9b8557",
      "tree": "feee1f3ff5858fac5c1c8bac4bfc577a985a03b9",
      "parents": [
        "cf893ac40cf66f85cec575166e862c9ef2250735"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Apr 11 18:58:52 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Mon Apr 23 13:58:42 2018 +0900"
      },
      "message": "Let DnsManager fill in LinkProperties for private DNSes\n\nTest: new tests pass\nBug: 73641539\nChange-Id: I971ef4d27b22a435d7459e1c4b31a8715ef6e610\n"
    }
  ],
  "next": "1bb54ae872b23ea702bd8a745eccd6e43ed882de"
}
