)]}'
{
  "log": [
    {
      "commit": "dffb7d988ce90fb926cf0a9257757ad3dd1b4658",
      "tree": "c510b94b20b2689a86a9a051151baec2a9d6caa9",
      "parents": [
        "808c2fa7474470fcb6ef0ec65aa2ff94eb04e07b",
        "3b0f5ea29ed0dfb111f85503a5a9ec6e7b23d6a4"
      ],
      "author": {
        "name": "Paul Hu",
        "email": "paulhu@google.com",
        "time": "Thu Nov 01 07:20:05 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 01 07:20:05 2018 +0000"
      },
      "message": "Merge \"Support backward compatibility for restricted network permission\""
    },
    {
      "commit": "3b0f5ea29ed0dfb111f85503a5a9ec6e7b23d6a4",
      "tree": "997977a64a5b7901823877e161b2b7c4e65c4e13",
      "parents": [
        "e3a989f7d3e01fdbe48b4257947624893b59fd59"
      ],
      "author": {
        "name": "paulhu",
        "email": "paulhu@google.com",
        "time": "Thu Nov 01 10:38:11 2018 +0800"
      },
      "committer": {
        "name": "paulhu",
        "email": "paulhu@google.com",
        "time": "Thu Nov 01 10:38:11 2018 +0800"
      },
      "message": "Support backward compatibility for restricted network permission\n\nSome native daemons legacy design work with SYSTEM_UID. If none of\nSYSTEM_UID apps declare the restricted network permission, it will\nresult in permission denial in daemons. Allow SYSTEM_UID in the\ndevices shipped before Q to support backward compatibility.\n\nBug:114245686\nTest: 1. runtest frameworks-net\n      2. atest FrameworksNetTests\n      3. Native daemons with SYSTEM_UID can work normally\n\nChange-Id: I6f3f0d83bcae74ef5389535b528af3baf649fa48\n"
    },
    {
      "commit": "c33ac0d43b594f6154accf03ae7e3fd34dedc79d",
      "tree": "52b255a9fe12af047b9a7c28597bbc55825c2a56",
      "parents": [
        "d1d3b374b7892b9a526dc40d4fa6d7de18ed67f7"
      ],
      "author": {
        "name": "junyulai",
        "email": "junyulai@google.com",
        "time": "Fri Oct 19 21:14:30 2018 +0800"
      },
      "committer": {
        "name": "junyulai",
        "email": "junyulai@google.com",
        "time": "Tue Oct 30 21:23:38 2018 +0800"
      },
      "message": "Fix negative uid stats caused by 464xlat adjust when eBPF is on.\n\nWhen using xt_qtaguid to count per uid stats,\nNetworkStatsService needs to adjust the 464xlat traffic since\niptables module would double count for ipv4 and ipv6 packet.\nBut for eBPF, the per uid stats is collected in a different\nhook, so the adjustment on root uid would only be needed in tx\ndirection.\n\nBug: 112226716\nTest: 1. Make ipv4 traffic in ipv6-only network and check data\n         usage.\n      2. Make ipv4 traffic in a client which connect to\n         ipv6-only hotspot.\n      3. runtest frameworks-net\n      4. cts-tradefed run cts -m CtsNetTestCases -t \\\n                 android.net.cts.TrafficStatsTest\n      5. cts-tradefed run cts -m CtsUsageStatsTestCases\n\nChange-Id: Ic9a84f5446eddc943c255d5f3b89dad171f53cac\n"
    },
    {
      "commit": "d1d3b374b7892b9a526dc40d4fa6d7de18ed67f7",
      "tree": "250883d9f2a29819891f6c284ca50126a66f6f6d",
      "parents": [
        "7843e757d38fca574d31f53eaab60ed34a072df5",
        "77017913a40c06d688f4c768d9c501d3cf5da09a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 29 00:17:34 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 29 00:17:34 2018 +0000"
      },
      "message": "Merge \"Refactor UidRange by using stable aidl structure\""
    },
    {
      "commit": "8ed8915e536c873dd05b7f86656801e6d82aabe5",
      "tree": "a897ef3bbb4c5480a2fa5f02606c46b3f52fa162",
      "parents": [
        "a01c77a499d9037a21b8ea1a5cd1df1a7dea7f25"
      ],
      "author": {
        "name": "junyulai",
        "email": "junyulai@google.com",
        "time": "Thu Oct 25 10:56:17 2018 +0800"
      },
      "committer": {
        "name": "junyulai",
        "email": "junyulai@google.com",
        "time": "Thu Oct 25 16:43:50 2018 +0800"
      },
      "message": "No-op refactoring of VPN lockdown status check.\n\nCurrently, if VPN lockdown is disabled, the blocking judgement\ninside VPN will return false immediately. It will make\nConnectivityService hard to check blocked status by a given\nVPN lockdown status.\n\nThus, move this check into ConnectivityService and check it\nexternally.\n\nBug: 117814902\nTest: 1. manual test with 3rd-party vpn app\n      2. runtest frameworks-net\n\nChange-Id: Ia8319b1a1a12f1058c24badf2431f2ec69bc78e7\n"
    },
    {
      "commit": "77017913a40c06d688f4c768d9c501d3cf5da09a",
      "tree": "eacab74659c10e4c576e6eb8751242b5b3730b0f",
      "parents": [
        "a01c77a499d9037a21b8ea1a5cd1df1a7dea7f25"
      ],
      "author": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Fri Oct 19 15:57:05 2018 +0900"
      },
      "committer": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Wed Oct 24 19:45:09 2018 +0900"
      },
      "message": "Refactor UidRange by using stable aidl structure\n\nUse stable aidl generated structure instead of UidRange\n\nTest: runtest frameworks-net passes\nTest: manual testing of UidRange related function works\nChange-Id: Iaf1c10777dc1e71df2be2a57533a10257b12626b\n"
    },
    {
      "commit": "69955497d4bc265e919bd1eb196dc9a8480fbf75",
      "tree": "bbcd9a25b22004ffc2dadf1dfabe345b98b40ef4",
      "parents": [
        "03c766075d3b50bf859fdde64d5c2c42997ff079"
      ],
      "author": {
        "name": "markchien",
        "email": "markchien@google.com",
        "time": "Mon Oct 01 21:18:15 2018 +0800"
      },
      "committer": {
        "name": "markchien",
        "email": "markchien@google.com",
        "time": "Mon Oct 22 12:37:42 2018 +0900"
      },
      "message": "Reduce excess local prefix computations\n\nonly recomputing on the LISTEN_ALL callback\n\nTest: - build, flash, booted\n      - runtest frameworks-net\n\nbug: 110335330\n\nChange-Id: I606574f1a8a2899ed4688d7d5ec2cbe0f2638a94\n"
    },
    {
      "commit": "f9729757f99f13a7e7b22fa9a7ce128dc0de0630",
      "tree": "7acd4449f5e34ef448da851946953b274f9f592a",
      "parents": [
        "2417859fa5322ee8238d1650e39c6a950eac3710"
      ],
      "author": {
        "name": "Mike Yu",
        "email": "yumike@google.com",
        "time": "Fri Aug 17 15:22:05 2018 +0800"
      },
      "committer": {
        "name": "Mike Yu",
        "email": "yumike@google.com",
        "time": "Fri Oct 19 19:52:50 2018 +0800"
      },
      "message": "Add tests for the network blocked status change\n\nonBlockedStatusChanged is intruduced for network blocked status.\nThe changes in this patch are:\n  - Test onBlockedStatusChanged which tells apps whether the\n    network is blocked.\n  - Fixed the tests which is affected by the order changed in\n    onAvailable.\n\nTest: as follows\n    - runtest frameworks-net\n    - runtest -x NetworkPolicyManagerServiceTest.java\nBug: 74575553\nChange-Id: I383c037ed895ef69c478dc3cff69fb1e27c42845\n"
    },
    {
      "commit": "335253df0f590f014f47924969a011329fd9fed3",
      "tree": "2882f2c0f4875e6ec4633c3401b5c54b56e42740",
      "parents": [
        "cf1176073df4d6604234dd3c6e78f8c979a95212",
        "13b79e83aae93e65c6f0e82d59425ead559305c2"
      ],
      "author": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Thu Oct 11 05:58:22 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 11 05:58:22 2018 +0000"
      },
      "message": "Merge \"Refactor tetherGetStats by using stable aidl structure\""
    },
    {
      "commit": "277d42a035441ede39f855b25531f4527bfd11dc",
      "tree": "f4f3de3a950fc29151f44f1f56ff3230ccaad70a",
      "parents": [
        "8bbf0181f6cfde81f3d1896c40db1bfe5c982a5b",
        "e4259d3e5353475673f361828aca949a60f7e1d5"
      ],
      "author": {
        "name": "Yan Yan",
        "email": "evitayan@google.com",
        "time": "Fri Oct 05 17:38:41 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 05 17:38:41 2018 +0000"
      },
      "message": "Merge changes I10c01f2b,Ie05bc535\n\n* changes:\n  Check to ensure UDP-encap is used only for IPv4\n  Add UDP encapsulation tests for IpSecService.\n"
    },
    {
      "commit": "e4259d3e5353475673f361828aca949a60f7e1d5",
      "tree": "04e6e41a0ce06873e8ab788933dfb633fbb92dca",
      "parents": [
        "0a7d3e342494e4b534647c8b296861a041da85b1"
      ],
      "author": {
        "name": "evitayan",
        "email": "evitayan@google.com",
        "time": "Thu Mar 22 17:53:08 2018 -0700"
      },
      "committer": {
        "name": "evitayan",
        "email": "evitayan@google.com",
        "time": "Thu Oct 04 11:44:00 2018 -0700"
      },
      "message": "Check to ensure UDP-encap is used only for IPv4\n\nThis commit checks if UDP-encapsulation is used\nfor unsupported address family and throws\nIllegalArgumentException when it happens.\n\nBug: 74213459\nTest: Tests added in testCreateTransportModeTransformWithEncap\n      and testCreateTunnelModeTransformWithEncap.\n      Command: runtest frameworks-net\n      Verified on taimen.\nChange-Id: I10c01f2bad6aca23430849ea9ef6c1eb157ae131\n"
    },
    {
      "commit": "0a7d3e342494e4b534647c8b296861a041da85b1",
      "tree": "b5804dc957df299cf79afa69b28fc8a90d6fc8b4",
      "parents": [
        "7eaa2cbf51890cdf6d6662968053c84012103eca"
      ],
      "author": {
        "name": "evitayan",
        "email": "evitayan@google.com",
        "time": "Thu Mar 22 13:42:07 2018 -0700"
      },
      "committer": {
        "name": "evitayan",
        "email": "evitayan@google.com",
        "time": "Thu Oct 04 10:37:47 2018 -0700"
      },
      "message": "Add UDP encapsulation tests for IpSecService.\n\nThis commit adds tests to ensure that IpSecService properly\nhandles UDP-encapsulation transforms correctly.\n\nBug: 76110065\nTest: Added: testCreateTransportModeTransformWithEncap,\n             testCreateTunnelModeTransformWithEncap.\n      Command: runtest frameworks-net\n      Verified on taimen.\nChange-Id: Ie05bc5354266806c2d03b0b3d73a4696a89eccf2\n"
    },
    {
      "commit": "13b79e83aae93e65c6f0e82d59425ead559305c2",
      "tree": "707ffd723b94774537cf62c13f332fcff8a57b15",
      "parents": [
        "afffa372486153292c67d20c48d5756db15fee74"
      ],
      "author": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Wed Sep 26 14:53:42 2018 +0800"
      },
      "committer": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Thu Oct 04 16:24:44 2018 +0800"
      },
      "message": "Refactor tetherGetStats by using stable aidl structure\n\nUse stable aidl structure instead of persistbundle\n\nTest: runtest frameworks-net passes\nTest: manual testing of tetherGetStats function works\n\nChange-Id: I6835541d450446ba7993ac9f5b783d34229b79cb\n"
    },
    {
      "commit": "3b12359e4c658c0562297f7d934f340090059676",
      "tree": "f3e60447e37f679d19161ebe18576cd8e9f5d0b8",
      "parents": [
        "5f7129b9256ff6f686fe3ab34af742ad74c83e72",
        "f90a92bb7b806864ec65da3a6c6f1970ea8da710"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Oct 04 01:08:19 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 04 01:08:19 2018 +0000"
      },
      "message": "Merge \"Send hostname and MTU options in DHCP ACK/OFFER\""
    },
    {
      "commit": "604b0eed1ff3f6f29c52395db8b986e7af181f6d",
      "tree": "aeb31e2c1f61dc09cdddc7a5f92165bf4a1ae859",
      "parents": [
        "54d34fe8a7ae744c453341f6b1e0a98a18b54d15",
        "14aeab6f19b7277d8530d3fae2d1964b26d45efb"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Tue Oct 02 20:14:37 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 02 20:14:37 2018 +0000"
      },
      "message": "Merge \"Add libbinderthreadstate to LOCAL_JNI_SHARED_LIBS for some tests\""
    },
    {
      "commit": "54d34fe8a7ae744c453341f6b1e0a98a18b54d15",
      "tree": "cb7200ac018812b24cb8c4c4f1ee898e6b7868b0",
      "parents": [
        "45db25d74238db3bfeb8b3d98ae294ba1b7ce16d",
        "fd30663181ef3c54436aa45b9f86a2e71db4fe54"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Oct 02 17:09:16 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 02 17:09:16 2018 +0000"
      },
      "message": "Merge \"Allow wifi and ethenet connected at same time.\""
    },
    {
      "commit": "14aeab6f19b7277d8530d3fae2d1964b26d45efb",
      "tree": "d56b6d5f0d36348c0baf82d3aafb90fbceea4312",
      "parents": [
        "c8482b39f10784d123b807cf8c9d6c2633900e8b"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Fri Sep 28 12:56:05 2018 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Mon Oct 01 15:18:18 2018 -0700"
      },
      "message": "Add libbinderthreadstate to LOCAL_JNI_SHARED_LIBS for some tests\n\nlibbinder and libhwbinder now also depend on libbinderthreadstate. Add\nthis dependency to LOCAL_JNI_SHARED_LIBS since these libraries need to\nbe packaged together.\n\nBug: 110364143\n\nTest: atest FrameworksNetTests\nTest: atest FrameworksServiceTests (no new failures)\nTest: atest FrameworksUiServiceTests\n\nChange-Id: Ibc63f041b8ee23cc4d0e9d82a508a128104e6025\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "fd30663181ef3c54436aa45b9f86a2e71db4fe54",
      "tree": "a54c686c09b79020b237b94af9b763c46631943a",
      "parents": [
        "3868fc30eee378979813fdad994e33be9a64e6fa"
      ],
      "author": {
        "name": "Leif Hendrik Wilden",
        "email": "leifhendrik@google.com",
        "time": "Wed May 02 12:05:24 2018 -0700"
      },
      "committer": {
        "name": "Leif Hendrik Wilden",
        "email": "leifhendrik@google.com",
        "time": "Mon Oct 01 09:12:10 2018 -0700"
      },
      "message": "Allow wifi and ethenet connected at same time.\n\nThis will improve the user experience on Android TV devices,\nsee bug for details.\n\nIn addition when connecting adb to the device by ethernet\nfor cts, wifi will not connect, causing lots of tests to fail.\nFor example:\n[CTS7.1]android.net.wifi.cts.WifiInfoTest#testWifiInfoProperties\n[CTS7.1]android.net.cts.ConnectivityManagerTest#testConnectivityChanged_\nmanifestRequestOnlyPreN_shouldReceiveIntent\n\nUse command:settings to put global wifi_data_always_on 1 to enable it.\n\nBug: 26102779\nTest: Manual, CTS.\nChange-Id: I711d93061a6bc7164d98a858912f781e1b967406\n"
    },
    {
      "commit": "9367b9ea4ccd03232b70d9025ef4bc78bf124531",
      "tree": "dba5f07b1b73b1e84981d7e847fd7a72585b3894",
      "parents": [
        "53f8591789fd90ac6678c052082d40b76f874615",
        "a6093047e435e49844ee0fdf98f2914e03fe104a"
      ],
      "author": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Mon Oct 01 02:20:23 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 01 02:20:23 2018 +0000"
      },
      "message": "Merge \"Fix idle timer rule leakage\""
    },
    {
      "commit": "53f8591789fd90ac6678c052082d40b76f874615",
      "tree": "9b8f902540cd1a6e029d62d7ab07aed787261e59",
      "parents": [
        "935f97ade553f95c9e250fdb16468fbda7187682",
        "e0d8c0e09e6e03c08b9f8ae1f7743de04060fde7"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 01 02:18:46 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 01 02:18:46 2018 +0000"
      },
      "message": "Merge changes I0f997d30,I288ba1f4\n\n* changes:\n  Enable new DHCP server by default\n  Use new DHCP server in TetheringTest\n"
    },
    {
      "commit": "f90a92bb7b806864ec65da3a6c6f1970ea8da710",
      "tree": "05d68c88e593b1eef0d354cc24cdaf0525c53768",
      "parents": [
        "c457d8c95ac06f5a37a6a766f06005827a454a9e"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Sep 21 12:57:53 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Oct 01 11:01:39 2018 +0900"
      },
      "message": "Send hostname and MTU options in DHCP ACK/OFFER\n\nThe hostname option is only sent when requested in the requested\nparameters option. This matches current behavior.\n\nTest: with aosp/763982, regression tests now all pass\n      atest FrameworksNetTest\nBug: b/109584964\nChange-Id: I793173fa893750ddbe72be09f4c2d70e5b285837\n"
    },
    {
      "commit": "23a73be430690c04805bd171f0b7fe63fa6f107a",
      "tree": "93c9db9f66142f834b16a30a7e325abb4357b9ff",
      "parents": [
        "e6607763b21d85902227756c56653b2b0b5a2872",
        "f5dfad4b8887d74576cf2fdbcf0f05711a114acf"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Sep 29 00:16:11 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Sep 29 00:16:11 2018 +0000"
      },
      "message": "Merge \"InetDiagSocketTest: enable UDP unit tests on all devices\""
    },
    {
      "commit": "f5dfad4b8887d74576cf2fdbcf0f05711a114acf",
      "tree": "88d315f67c039a01fa8cd1ff2fff27343fa5b78e",
      "parents": [
        "d7fe73d3b3a8225fe9373b58d85e90eebec2f43b"
      ],
      "author": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Fri Sep 28 07:54:56 2018 -0700"
      },
      "committer": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Fri Sep 28 08:49:41 2018 -0700"
      },
      "message": "InetDiagSocketTest: enable UDP unit tests on all devices\n\nBug: 116849885\nTest: atest InetDiagSocketTest\nChange-Id: I3b036818cccd0959feb3a93bc722d70e3ef2c4d7\n"
    },
    {
      "commit": "a6093047e435e49844ee0fdf98f2914e03fe104a",
      "tree": "911c509eeafd53d52d11bba605a14de01f5c2033",
      "parents": [
        "c457d8c95ac06f5a37a6a766f06005827a454a9e"
      ],
      "author": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Fri Sep 28 22:42:48 2018 +0800"
      },
      "committer": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Fri Sep 28 22:42:48 2018 +0800"
      },
      "message": "Fix idle timer rule leakage\n\nIdle timer rule is not cleared as expected if there is a\ndefault network replacement.\n\nBug:37080406\nTest: 1.run frameworks-net\n      2.check iptables rule with default network replacement\n\nChange-Id: I6bd29d79e4ca3e8de4b867c4fcb5f81d02ba6de4\n"
    },
    {
      "commit": "3868fc30eee378979813fdad994e33be9a64e6fa",
      "tree": "5f9588eec682656eb5ea2823dc4f79d687235dd7",
      "parents": [
        "1a9013a51c873505b9405aaa8e3359b86293affc",
        "91a1cc111c99557ba6c7a720650b7a0acdc90549"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 28 14:06:36 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 28 14:06:36 2018 +0000"
      },
      "message": "Merge \"Call clearSettingsProvider before and after test\""
    },
    {
      "commit": "91a1cc111c99557ba6c7a720650b7a0acdc90549",
      "tree": "5a0e05a7919d5b3fea792ee08699749694c0e023",
      "parents": [
        "c457d8c95ac06f5a37a6a766f06005827a454a9e"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Sep 28 14:33:11 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Sep 28 14:46:34 2018 +0900"
      },
      "message": "Call clearSettingsProvider before and after test\n\nFakeSettingsProvider requires this method to be called before and after\nuse. Without this, the settings value or content provider may be cached\nstatically, so the test will be affected by code accessing settings\nbefore it is run.\n\nBug: b/116668105\nTest: atest FrameworksNetTests\nChange-Id: I1480f3f3bbb17791752582a70327bb5c7c348d7c\n"
    },
    {
      "commit": "e0d8c0e09e6e03c08b9f8ae1f7743de04060fde7",
      "tree": "5b432c97a56fdc294f9c9d24cdfaf12d5610f456",
      "parents": [
        "f5581f888e29689bcad0eb3366895de5e9e6bfd5"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Sep 26 18:11:48 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Sep 28 12:43:47 2018 +0900"
      },
      "message": "Enable new DHCP server by default\n\nRegression tests pass with aosp/764042.\n\nTest: regression automated tests, manual (verified WiFi, bluetooth\n      tethering working).\nBug: b/109584964\n\nChange-Id: I0f997d302a1d85930b24139af76e9b9c9a1b5f78\n"
    },
    {
      "commit": "f5581f888e29689bcad0eb3366895de5e9e6bfd5",
      "tree": "27f6e487a3b8fe9017beccce67dc284ed48a9f5b",
      "parents": [
        "c457d8c95ac06f5a37a6a766f06005827a454a9e"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Sep 28 11:34:15 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Sep 28 11:34:15 2018 +0900"
      },
      "message": "Use new DHCP server in TetheringTest\n\nRun most tests with TETHER_ENABLE_LEGACY_DHCP_SERVER set to 0 (will be\nthe default value). Add one test to verify that the new server is not\nstarted when TETHER_ENABLE_LEGACY_DHCP_SERVER is 1.\n\nBug: b/109584964\nTest: atest FrameworksNetTests\nChange-Id: I288ba1f434918e62ff29f7ace00856108c9730f7\n"
    },
    {
      "commit": "f5d65c521c8db202cbe46e358f7c6de420de2a10",
      "tree": "0bb4ee40750175609584bacece962100d3aa7d32",
      "parents": [
        "c457d8c95ac06f5a37a6a766f06005827a454a9e"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Sep 27 11:33:24 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Sep 27 12:20:15 2018 +0900"
      },
      "message": "Don\u0027t throw a NPE in SharedLog#e\n\nSome DhcpServer error code paths could cause a NPE, when the logError\ncallback was called without an exception. Allowing SharedLog#e to be\ncalled with a null Throwable is less error-prone.\n\nBug: b/109584964\nTest: atest FrameworksNetTests\nChange-Id: Idbcdd330a9d1951b27aaf525aaf12e52e102872c\n"
    },
    {
      "commit": "0ac2c0945b00d7716319bc5aa86ce0b249f14cea",
      "tree": "a9a28f0df49dc8748c727b6a0dae3cc01c68c969",
      "parents": [
        "741521940a1b0d0b05b20719a38e3970917dd5ef"
      ],
      "author": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Mon Jul 23 10:57:53 2018 -0700"
      },
      "committer": {
        "name": "Jeffrey Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Fri Sep 21 06:16:09 2018 +0000"
      },
      "message": "Add ConnectivityManager.getConnectionOwnerUid()\n\nAllow VPN apps to lookup the UID owner of a network connection.\n\nRequires specifying the:\n - IP address and port for both the source and destination of a TCP\n   connection.\n - IP address and port for either source and destination or just\n   source for a UDP connection.\nOnly TCP and UDP protocols are supported. Only connections for UIDs\nthat apply to the calling VPN app will be resolved. This is intended\nto replace direct app access to /proc/net/{tcp,tcp6,udp,udp6}.\n\nThe implementation uses netlink inet_diag sockets[1] to perform\nthe lookup on TCP sockets as well as UDP sockets when supported\n(kernel has CONFIG_INET_UDP_DIAG\u003dy).\n\n[1] http://man7.org/linux/man-pages/man7/sock_diag.7.html\n\nBug: 9496886\nBug: 109758967\nTest: atest HostsideVpnTests\nTest: atest InetDiagSocketTest on Taimen with CONFIG_INET_UDP_DIAG\n    and on Sailfish without CONFIG_INET_UDP_DIAG.\nChange-Id: I2bbc7072dd091e2e653dadf6dc05024c04180f34\n"
    },
    {
      "commit": "7a4ccc69d0dbc38383c8fedd908675cc62e84bec",
      "tree": "49014ea33af87d06d87f19ea99bc3117187fc724",
      "parents": [
        "e7f1dc66617ed694f6882a18353016bb33e163d3"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Mon Aug 27 17:26:47 2018 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Thu Sep 13 15:46:01 2018 +0900"
      },
      "message": "Initial rename to IpServer\n\nRename TetherInterfaceStateMachine to IpServer. IControlsTethering\nis folded into IpServer.Callback and some of the dependencies in\nTetheringDependencies are moved into IpServer.Dependencies.\n\nSeveral things still need fixing, including:\n    - convert message passing into method calls\n    - the calls that enable forwarding should be moved up out of\n      IpServer into the Tethering layer above it\n\nTest: as follows\n    - built, flashed, booted\n    - runtest frameworks-net passes\nChange-Id: I015f800ed23c8aa5c8c81a74d7b508abfcaab659\n"
    },
    {
      "commit": "a0989622b1c7cc6fe2c6ce06f8c20bfb06e2268c",
      "tree": "f8a3992726dca1260c393703fac5797287788e1d",
      "parents": [
        "3cd4b66ceb53873728de3b107e9b5a11bb2e6b46"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Wed Jul 25 13:06:29 2018 -0700"
      },
      "committer": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Tue Sep 04 14:25:13 2018 -0700"
      },
      "message": "Use UID as requestID\n\nThis change makes all requestIDs use the UID of the creator, ensuring\nthat rekeys always use the same requestID. This also has the nice\nproperty of separating app\u0027s resources from each other, and allowing for\nidentification of which app/UID allocated the resources from\ncommand-line dumps (eg ip xfrm state show)\n\nBug: 111841561\nTest: Updated tests \u0026 passing taimen\nChange-Id: I4f1eadcdb795766ae4682b15e41727359c52fa38\n"
    },
    {
      "commit": "e227eeef1c9208159634227f26e6635684369c0b",
      "tree": "eefc83a25ee628df4cd164ddd885f6a7afe2a7f2",
      "parents": [
        "6483ac1af4db5dcc70cb83877ee49b37015a7e64",
        "b67338042a41aaa3f8841b9eeeada744dfcb6ba2"
      ],
      "author": {
        "name": "Paul Hu",
        "email": "paulhu@google.com",
        "time": "Mon Sep 03 09:16:52 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 03 09:16:52 2018 +0000"
      },
      "message": "Merge \"PermissionMonitor: Limit preinstalled apps network permissions\""
    },
    {
      "commit": "e1a1dcc994763cafadcec599a1cc730299392830",
      "tree": "b351f0e3d2f53a4d1de3fa04654ec1436a4646a2",
      "parents": [
        "8975ab632259e8e7620f72e8abee2fed16c704bf"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Aug 31 12:14:24 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Aug 31 13:23:39 2018 +0900"
      },
      "message": "Ignore DHCP discover and request w/ invalid giaddr\n\nThis matches previous behavior, and there could be situations where\nanother server on the network would be configured to reply to such\nrequests, so not replying is better than sending NAKs as done now.\n\nAlso refactoring requests in DhcpLeaseRepositoryTest and replacing some\nINETADDR_UNSPEC usages for giaddr with INET4_ANY (giaddr is a BOOTP\nfield and can\u0027t be unspecified, only empty).\n\nTest: Following DhcpServerTest.py regression tests pass:\n      test_request_selecting_giaddr_outside_subnet\n      test_discover_requestaddress_giaddr_outside_subnet\n      test_discover_knownaddress_giaddr_outside_subnet\n      test_discover_giaddr_outside_subnet\n      Also: atest FrameworksNetTests passes\nChange-Id: I4decffccfc64d5e0e29c9ce1cf1446644fcf8190\n"
    },
    {
      "commit": "6557a2464ee59ebb0fce23040006f50ca9cc5a85",
      "tree": "9e7950bfba9d78b4aa2b26cd5779156014771abd",
      "parents": [
        "e59d031fb9f58c10011b046348d3799db3bf8ece"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Jul 13 17:42:39 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Aug 30 16:13:20 2018 +0900"
      },
      "message": "Fix DHCP options sent by DHCP server\n\nAdd Android metered option, rebinding time option (T2), and match\ncurrent order of options.  Current DHCP server uses subnet_mask,\nbroadcast_address, router, name_server in this order.\n\nTest: DhcpServerTest.py:test_discover_paramrequestlist passes\n      atest FrameworksNetTests passes\n\nBug: b/109584964\nChange-Id: I58f904d5fac306f704c16234fd69c2440fe0803d\n"
    },
    {
      "commit": "846c80acf592a3986dda6091f80901b5f9819a0b",
      "tree": "eb5a11732cdc727bce42213d93a061400a239af5",
      "parents": [
        "7aae482135b6a1c2feecd4dba5395ec88879344a",
        "e3bb5c5a710f802dfe1eaa0c7f8552f36697c28c"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Aug 30 02:01:31 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 30 02:01:31 2018 +0000"
      },
      "message": "Merge \"Switch DHCP server based on global setting\""
    },
    {
      "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": "b67338042a41aaa3f8841b9eeeada744dfcb6ba2",
      "tree": "d5dac09537a39e503237828e4c7bb6c4bc5b2f58",
      "parents": [
        "c96760f4f30279bdddcbdc83398bc069740970f1"
      ],
      "author": {
        "name": "paulhu",
        "email": "paulhu@google.com",
        "time": "Mon Aug 20 11:01:21 2018 +0800"
      },
      "committer": {
        "name": "paulhu",
        "email": "paulhu@google.com",
        "time": "Wed Aug 29 13:49:33 2018 +0800"
      },
      "message": "PermissionMonitor: Limit preinstalled apps network permissions\n\nNot all preinstalled apps should have access to background\nnetworks or restricted networks. But we give them all network\naccess permissions currently, it\u0027s not a good design. So we\nshall limit preinstalled apps permissions, they should just\nrequest the appropriate permission for their use case from\nthe network permissions.\n\nBug:19610688\nTest: runtest frameworks-net\nChange-Id: I184ae3197208c979847ca134c8f01b32528badf1\n"
    },
    {
      "commit": "e3bb5c5a710f802dfe1eaa0c7f8552f36697c28c",
      "tree": "8faa84a50645a57b22fa60ba4e7caf8e2a556a5e",
      "parents": [
        "b0762eb3db82486cec9bfe31cb45bf7e20716430"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jun 12 15:57:04 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Aug 29 12:36:24 2018 +0900"
      },
      "message": "Switch DHCP server based on global setting\n\nThe newer implementation is disabled by default with this CL. Ultimately\nthe intention is to enable it by default.\n\nBug: b/109584964\nTest: set tether_enable_legacy_dhcp_server to 0, ran DhcpServerTest.py,\n      observed new behavior. Added tests in CL also pass.\n\nChange-Id: I0f830b9804b8956c127057e66ab75a21ca29dc57\n"
    },
    {
      "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": "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": "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\""
    }
  ],
  "next": "76be372bac89003d1ec68470a571b67e3efb5526"
}
