)]}'
{
  "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": "43d8774f68374f733153d802730bcb1102ad66e2",
      "tree": "d35e344551bd7e1df241e9ee357b58b0f04db5d6",
      "parents": [
        "745952eac848f45adf484c79dde410f9fb08b1b7",
        "af0de1a2e94fc70dabece5a89ff09d137b3c2c38"
      ],
      "author": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Fri Oct 19 09:18:38 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Oct 19 09:18:38 2018 -0700"
      },
      "message": "Merge \"Add tests for the network blocked status change\"\nam: af0de1a2e9\n\nChange-Id: I0f3f93807d9089239f572c487d791acd7a324a2e\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": "96cb6d97e122562660b4d0be190abb5ea7ab120c",
      "tree": "7a4d63361265e54f4f317cdadb9e8a899eaa1200",
      "parents": [
        "26c2c5e50dd81c2e8ebf7020ef535acc4e668e2b",
        "2417859fa5322ee8238d1650e39c6a950eac3710"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 18 23:52:16 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 18 23:52:16 2018 -0700"
      },
      "message": "Merge \"Sleep 1s before force stop and use killBackgroundApp\"\nam: 2417859fa5\n\nChange-Id: I92d83f16123dd16f68eb0d95d83f9dbabd493d01\n"
    },
    {
      "commit": "5615adf82452a8f666bbeef65ae82543e3e3eead",
      "tree": "edb749b96ce15de2cc8f2317fedd67e8a3009d60",
      "parents": [
        "34f9a3e9e93f9f27ebd549db2a39d5d696faa5bf"
      ],
      "author": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 18 09:26:41 2018 -0700"
      },
      "committer": {
        "name": "Mathieu Chartier",
        "email": "mathieuc@google.com",
        "time": "Thu Oct 18 22:03:47 2018 +0000"
      },
      "message": "Sleep 1s before force stop and use killBackgroundApp\n\nLeave a bit of time before force stopping the application. This might\nhelp prevent bad numbers.\n\nCall killbackgroundApp after doing force-stop to make sure nothing is\nstill running.\n\nBug: 117094510\nBug: 117888316\nTest: atest google/perf/app-startup/third-party-apps/cold-dropcache-stable-test\nChange-Id: I47792f99b38edf2c40f61cc3f6817d82e6339d12\n"
    },
    {
      "commit": "a1bc1b13311d1ab50a2337837f88625a7226dc1e",
      "tree": "e41d1603451f81c36a05e46c24dbea84b5329d4f",
      "parents": [
        "66234e3975344daf93b96be60d4f9e18bee5522a",
        "1ad4aed0b96877092080ea2225cbd70f27ae8eb8"
      ],
      "author": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Sun Oct 14 18:48:01 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Oct 14 18:48:01 2018 -0700"
      },
      "message": "Merge \"Build com.android.media.remotedisplay with java_sdk_library\"\nam: 1ad4aed0b9\n\nChange-Id: Icb633bd7f8cc0ed932c0aa70ef9dfe475722ada0\n"
    },
    {
      "commit": "1ad4aed0b96877092080ea2225cbd70f27ae8eb8",
      "tree": "3291df90d4c8bd75312ac6973e510c41705a2466",
      "parents": [
        "58d5c1e938b42b9e82e77738a54941d5c7ecb8e2",
        "881a9872e7e05b7a015dc5560675275998e70822"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 15 01:32:16 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 15 01:32:16 2018 +0000"
      },
      "message": "Merge \"Build com.android.media.remotedisplay with java_sdk_library\""
    },
    {
      "commit": "d252f61f66f98fa010ba54a1375fee044330633f",
      "tree": "f8e2352a3b7b7c8ad6c1c38a4d66453dfb5983bd",
      "parents": [
        "689f888627087a8052c60d895f612d3385acdca8",
        "18f9a2c24d59d85788a30bdcb5530e82c87a3294"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Fri Oct 12 03:12:22 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Oct 12 03:12:22 2018 -0700"
      },
      "message": "Merge \"Remove explicit dependencies on \"core\" libraries\"\nam: 18f9a2c24d\n\nChange-Id: I326380ec0c10f29c09c64f4044a9c79c9ab2648f\n"
    },
    {
      "commit": "066ca1737225fa9bfea38299a64dd57a01ac2aa4",
      "tree": "be190391188c08bc5c1467c110919a502e303465",
      "parents": [
        "ab81538d6b98433bd385068326b3b09a0d71fe34"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Oct 04 10:45:21 2018 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Oct 11 16:57:18 2018 +0100"
      },
      "message": "Remove explicit dependencies on \"core\" libraries\n\nThe dependencies are unnecessary since bouncycastle, okhttp\nand conscrypt are included in the \"standard libraries\".\n\nTest: build\nBug: 113148576\nChange-Id: Ic8d15d911decbdd6391db8c1231b845353586a54\n"
    },
    {
      "commit": "f81dce0f791a3234c8f05ed269e4357af69fc91b",
      "tree": "d99dc5281bd25e40d203658f2a4f6781a85848b5",
      "parents": [
        "7886cfcf560d0e8193951e39c70c61f46d482f43",
        "335253df0f590f014f47924969a011329fd9fed3"
      ],
      "author": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Wed Oct 10 23:10:10 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 10 23:10:10 2018 -0700"
      },
      "message": "Merge \"Refactor tetherGetStats by using stable aidl structure\"\nam: 335253df0f\n\nChange-Id: Ibaefeee3e115cc04163f1b07cdba148f9e9ab3b5\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": "bfff7e2fe81cdc15453889008df715586bd8aefa",
      "tree": "2961a6719ff68de2aa806d44d3c8214d02cf0b89",
      "parents": [
        "6ffa32f13dc4a05ed9b14a8b3ed4db02c4a3d102",
        "e75f2f504e4d119dc83d077802e62031efb9d300"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Oct 10 16:13:26 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 10 16:13:26 2018 -0700"
      },
      "message": "Merge changes from topic \"aapt2-manifest-elements\"\nam: e75f2f504e\n\nChange-Id: I2cf054f942109e539c2439887078a6e182603456\n"
    },
    {
      "commit": "e75f2f504e4d119dc83d077802e62031efb9d300",
      "tree": "7dc043ba5f0e34433e90d88249c1a4dfa1198b48",
      "parents": [
        "4d9823f3eb12d27610770ea315512e460d8dbab3",
        "f5c86dc1c113dc2a898311ee4d446a9ab3ed8e72"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 10 22:29:57 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 10 22:29:57 2018 +0000"
      },
      "message": "Merge changes from topic \"aapt2-manifest-elements\"\n\n* changes:\n  Remove workarounds for b/79755007\n  AAPT2: Add the rest of supported manifest elements\n  AAPT2: Add supported manifest elements\n"
    },
    {
      "commit": "47a589c945ed6f038f5cea6600a95691ae4066ba",
      "tree": "5dfaec6f24db0b3de2628b5eb3d579057f9231d8",
      "parents": [
        "10623937df8d07f83dd89e5ad8623446bd67b156",
        "277d42a035441ede39f855b25531f4527bfd11dc"
      ],
      "author": {
        "name": "Yan Yan",
        "email": "evitayan@google.com",
        "time": "Fri Oct 05 11:47:12 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Oct 05 11:47:12 2018 -0700"
      },
      "message": "Merge changes I10c01f2b,Ie05bc535\nam: 277d42a035\n\nChange-Id: I2e55a266f65268ca734c028d4da7add14a281d75\n"
    },
    {
      "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": "94b05626281d4c2b78f1341ff148e653177e72e0",
      "tree": "06fb6fd8507f08ff3563ec75d73c963fce00fa58",
      "parents": [
        "8772c649c29970a9804d1dc53bdb2c589bc7d8c7",
        "3b12359e4c658c0562297f7d934f340090059676"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Oct 03 19:08:34 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 03 19:08:34 2018 -0700"
      },
      "message": "Merge \"Send hostname and MTU options in DHCP ACK/OFFER\"\nam: 3b12359e4c\n\nChange-Id: I47972e25fd69471aacd52b58ffed67be1e685557\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": "cfc508530dcc0f9e4d5bcc8af495b37a55a5f393",
      "tree": "be0319ffae47dc5a387400dfe2384dc35b1d0fd1",
      "parents": [
        "7fe0ebc875e5a6662a3e70f7232ff3fb6a0898f5",
        "32fb670a0a023d8caeb571f9d2a581e489dd962d"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Oct 03 06:58:20 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 03 06:58:20 2018 -0700"
      },
      "message": "Merge \"Remove unnecessary dependency on bouncycastle\"\nam: 32fb670a0a\n\nChange-Id: I6289757af66978259b49d4b0b648e049a96b25a7\n"
    },
    {
      "commit": "32fb670a0a023d8caeb571f9d2a581e489dd962d",
      "tree": "8ae41ac1c72754dd22780fb583d4d226ccd340fd",
      "parents": [
        "7fe2b3ec692aa376194d0e510fd0ad4d2b66a698",
        "35297c49f611fae7f620d0375cf7ebb72e99f344"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Oct 03 13:36:02 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 03 13:36:02 2018 +0000"
      },
      "message": "Merge \"Remove unnecessary dependency on bouncycastle\""
    },
    {
      "commit": "a0484ac42fea44cdde0c2b62348a1cc57561beec",
      "tree": "1c14ebd862365e6e9bc523c2ef42b0b33d099c2a",
      "parents": [
        "1bceeaac8547a5bc3395f3a19351bf4cd84cc2a0",
        "604b0eed1ff3f6f29c52395db8b986e7af181f6d"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Tue Oct 02 14:01:01 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 02 14:01:01 2018 -0700"
      },
      "message": "Merge \"Add libbinderthreadstate to LOCAL_JNI_SHARED_LIBS for some tests\"\nam: 604b0eed1f\n\nChange-Id: I82c3e108ed4d284840358e7f82aaac3a8404453c\n"
    },
    {
      "commit": "35297c49f611fae7f620d0375cf7ebb72e99f344",
      "tree": "444f8029f11cfcbb944e50771dfcfdf871dc953f",
      "parents": [
        "54d34fe8a7ae744c453341f6b1e0a98a18b54d15"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Oct 02 21:32:36 2018 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Tue Oct 02 21:32:36 2018 +0100"
      },
      "message": "Remove unnecessary dependency on bouncycastle\n\nNothing in this target requires bouncycastle.\nBug: 113148576\nTest: build\n\nChange-Id: I6128fca1eca1c6cefe679721a4cf72729d27d6bb\n"
    },
    {
      "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": "1bceeaac8547a5bc3395f3a19351bf4cd84cc2a0",
      "tree": "6bf2e6fc070ffb9a74dc663abc897d9fbbe326e2",
      "parents": [
        "1ae9d0bced051a03dbc2fb1999bd16a6a4396176",
        "54d34fe8a7ae744c453341f6b1e0a98a18b54d15"
      ],
      "author": {
        "name": "Leif Hendrik Wilden",
        "email": "leifhendrik@google.com",
        "time": "Tue Oct 02 10:57:11 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 02 10:57:11 2018 -0700"
      },
      "message": "Merge \"Allow wifi and ethenet connected at same time.\"\nam: 54d34fe8a7\n\nChange-Id: I7c1d6fdcb7c7ed26e765f52373e20d19b6db7bfc\n"
    },
    {
      "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": "881a9872e7e05b7a015dc5560675275998e70822",
      "tree": "708fc030d30c75797162f3233396cc74e14028e9",
      "parents": [
        "9166e8937443f891cb20d8821d17ce5af33793ea"
      ],
      "author": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Mon May 21 15:35:41 2018 +0900"
      },
      "committer": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Tue Oct 02 13:35:49 2018 +0900"
      },
      "message": "Build com.android.media.remotedisplay with java_sdk_library\n\ncom.android.media.remotedisplay is built with java_sdk_library and api\nfiles are added by running \"make update-api\".\nThe com.android.media.remotedisplay.xml is removed since it will be made\nauto generation by soong when the library is built with java_sdk_library.\n\nBug:77577799\nTest: make -j\nTest: make checkapi\nTest: adb shell cmd package list libraries |\\\n      grep com.android.media.remotedisplay\n      And check the com.android.media.remotedisplay library\n\nMerged-In: I40e2d5456877a434f7c1ae70b6ec3692db106537\nChange-Id: I40e2d5456877a434f7c1ae70b6ec3692db106537\n(cherry picked from commit 6e038837be37747ddabca2a7d8aaa3a182056b95)\n"
    },
    {
      "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": "38acbcdabed84a7c7f2bfc205d77d0cf07eaa187",
      "tree": "aad936518514e8eee61a62f71fbcab6a917ca8ee",
      "parents": [
        "bc3c6b13146405b4f01a1a5139856c6e0edf1c0f",
        "9367b9ea4ccd03232b70d9025ef4bc78bf124531"
      ],
      "author": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Sun Sep 30 19:57:18 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Sep 30 19:57:18 2018 -0700"
      },
      "message": "Merge \"Fix idle timer rule leakage\"\nam: 9367b9ea4c\n\nChange-Id: I5ac912d121d094b36d46ccca385d5cf319fcb945\n"
    },
    {
      "commit": "bc3c6b13146405b4f01a1a5139856c6e0edf1c0f",
      "tree": "e2a9862074a96c8dfa1f1902bd7b7d2f599e5fa8",
      "parents": [
        "77905523084d2ac7a334aa6bec3d9a1550e01268",
        "53f8591789fd90ac6678c052082d40b76f874615"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Sun Sep 30 19:53:29 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Sep 30 19:53:29 2018 -0700"
      },
      "message": "Merge changes I0f997d30,I288ba1f4\nam: 53f8591789\n\nChange-Id: I8309074ba0744dee5789a2fe1f3b7e20bb3bc5b9\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": "89af05bc4c2e8e7a18e373a2933c61331c1c1c9b",
      "tree": "02728b4fabe25e811cdb4e32d9b5433328ece6eb",
      "parents": [
        "8d6bfa60c8e9de71afb34bd51e4827b62530c717",
        "23a73be430690c04805bd171f0b7fe63fa6f107a"
      ],
      "author": {
        "name": "Jeff Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Fri Sep 28 18:30:43 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 28 18:30:43 2018 -0700"
      },
      "message": "Merge \"InetDiagSocketTest: enable UDP unit tests on all devices\"\nam: 23a73be430\n\nChange-Id: I93dd01a79356771d68ac008e411d348ddeb01652\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": "ee1cde53dec4486e0c9466c2456530eb2992f00a",
      "tree": "993b6f36238524240410e6d430456b8fa5292492",
      "parents": [
        "d899c263b890fcff39c82a8851f333ba4f293544",
        "3868fc30eee378979813fdad994e33be9a64e6fa"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Sep 28 07:28:31 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 28 07:28:31 2018 -0700"
      },
      "message": "Merge \"Call clearSettingsProvider before and after test\"\nam: 3868fc30ee\n\nChange-Id: I38cae25353df48851280490d4593e70b49f0e6c0\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": "812286cd842cfe7e3bf4647c1c196bb9e44f8c39",
      "tree": "5907f401d7a1487a27f6faaeb78992ac3dc46460",
      "parents": [
        "b4b64bbbdd3c6d7a6cc44c9c56f62fade579f43d",
        "bc5c593e2ef31b5e7406a396c7afb9beb2987dd4"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Sep 27 18:29:35 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Sep 27 18:29:35 2018 -0700"
      },
      "message": "Merge \"Don\u0027t throw a NPE in SharedLog#e\"\nam: bc5c593e2e\n\nChange-Id: Ibe40285165474b2d630a68a43ac82b43411f8bfc\n"
    },
    {
      "commit": "bc5c593e2ef31b5e7406a396c7afb9beb2987dd4",
      "tree": "1e448768e7f6b581f6f9c05558c8bad65a9590e7",
      "parents": [
        "84c2b6a843989634e109a71e53d3dd4881aeba46",
        "f5d65c521c8db202cbe46e358f7c6de420de2a10"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Sep 28 01:08:59 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 28 01:08:59 2018 +0000"
      },
      "message": "Merge \"Don\u0027t throw a NPE in SharedLog#e\""
    },
    {
      "commit": "fdbf99782e2b0f2cdfbf7b32543fad1c19646f9f",
      "tree": "1ab02942e9eea7c399eb62ac9e96dbe057e2005d",
      "parents": [
        "4560dbd05af414eba5ebaf8bf75c480a07c8366b",
        "3e83b4cad84531a9136d6481d0ff017c9760da0e"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Sep 26 21:19:11 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Sep 26 21:19:11 2018 -0700"
      },
      "message": "Merge \"Fix trial run in AppLaunch test\"\nam: 3e83b4cad8\n\nChange-Id: Ia7d8b3d41614dc09c68e4fdae05934c5f1f9e4c7\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": "3e83b4cad84531a9136d6481d0ff017c9760da0e",
      "tree": "d5bc270653acff2c7574d8641aa21f7a461837b0",
      "parents": [
        "314dcd2874581523108157793a3d558c0487ff72",
        "f2528b8539c1ac80ed8f22863ecfd1a25564e19e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Sep 27 02:20:30 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 27 02:20:30 2018 +0000"
      },
      "message": "Merge \"Fix trial run in AppLaunch test\""
    },
    {
      "commit": "f2528b8539c1ac80ed8f22863ecfd1a25564e19e",
      "tree": "b128bb6abab8397f00986357cddf4dd5e86e3a75",
      "parents": [
        "4a2dd10d834529311bf0daa4d5fa7c81f903bf61"
      ],
      "author": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Sep 26 14:09:44 2018 -0700"
      },
      "committer": {
        "name": "Calin Juravle",
        "email": "calin@google.com",
        "time": "Wed Sep 26 14:17:27 2018 -0700"
      },
      "message": "Fix trial run in AppLaunch test\n\nIf the app does not exist log an error but do not fail the test.\n\nTest: atest google/test/performance/app-install-startup -v\n\n(cherry-picked from commit 55db8ff9a6fa383134142f65d0b1d0da9957411d)\nMerged-In: Idb6f1d0ba3c5bfb6c7985cd84f5aa4e0599c6b59\nChange-Id: Idb6f1d0ba3c5bfb6c7985cd84f5aa4e0599c6b59\n"
    },
    {
      "commit": "a4637096414c7f7797e2a1856b145aa533945569",
      "tree": "e84738ae6af4a104c1dc4f1d2f963775cb747c1e",
      "parents": [
        "91d61ea0ed6edb3ff7d0017af120d19c6b75ba36",
        "08b2412696b5ab9aaa9e100195485e7ffe1ee176"
      ],
      "author": {
        "name": "Alan Stokes",
        "email": "alanstokes@google.com",
        "time": "Tue Sep 25 05:07:48 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Sep 25 05:07:48 2018 -0700"
      },
      "message": "Merge \"Fix minSdkVersion for test.\"\nam: 08b2412696\n\nChange-Id: I70c1071b9cae6c4c3f9ac7b76ef488e38155836f\n"
    },
    {
      "commit": "eb1b41f8e15ca03ed0d2043852b52fc9b09d2b21",
      "tree": "03db11d74ee061392e48d03b3890e751a02a1daf",
      "parents": [
        "2be3da34e72e1372819974aeb3d881cf7062b68f"
      ],
      "author": {
        "name": "Alan Stokes",
        "email": "alanstokes@google.com",
        "time": "Tue Sep 25 10:28:52 2018 +0100"
      },
      "committer": {
        "name": "Alan Stokes",
        "email": "alanstokes@google.com",
        "time": "Tue Sep 25 10:28:52 2018 +0100"
      },
      "message": "Fix minSdkVersion for test.\n\nP is 28 not 27, and the test requires P.\n\nTest: atest DexLoggerIntegrationTests\nChange-Id: Ib83ec92bf5d7e791bac90331b5dcc3c4b826a4fd\n"
    },
    {
      "commit": "6729107f22a55dc46a2d996784dd24ef7209aec6",
      "tree": "98a9fcdef0fd04c17c4371ff02a80a747f6eac0c",
      "parents": [
        "757692ae87818dfbeb7bda47a19932b9c65db2fc",
        "f8529dc8915f1cc2b03ad851c9b1bbbb8e5089a8"
      ],
      "author": {
        "name": "Jeffrey Vander Stoep",
        "email": "jeffv@google.com",
        "time": "Fri Sep 21 14:26:19 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 21 14:26:19 2018 -0700"
      },
      "message": "Merge \"Add ConnectivityManager.getConnectionOwnerUid()\"\nam: f8529dc891\n\nChange-Id: Ib575a2a03c332d0143ed15652cc9c08c9cff694f\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": "f5c86dc1c113dc2a898311ee4d446a9ab3ed8e72",
      "tree": "b1ee1e980f9fcec240b0380e15a02fbf53ce8690",
      "parents": [
        "00d5548355ed5a15219ad848ab7a947ea54f82de"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Aug 31 11:18:15 2018 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Sep 13 22:25:58 2018 -0700"
      },
      "message": "Remove workarounds for b/79755007\n\naapt2 now recognizes these manifest elements.\n\nBug: 79755007\nTest: m checkbuild\nChange-Id: I2718fc973e08e7f5226b009807312bd534216f8d\n"
    },
    {
      "commit": "38f2c4ea083a5fd45e4d0764a20cdd6ee7353605",
      "tree": "ef30d43d8f7827e96db8d6a6aada4ab948c4ff8f",
      "parents": [
        "befac9737144197bc7244f77796f15de544adb65",
        "31830456cdb94cbe2a50debf5eaee5cd54dd7d3c"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Thu Sep 13 05:09:38 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Sep 13 05:09:38 2018 -0700"
      },
      "message": "Merge \"Initial rename to IpServer\"\nam: 31830456cd\n\nChange-Id: Iac2c2fddae78fe642ebdc6e5acf12dffcb636d22\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": "6b3afe71fe8dfe376647ae8a808bb57c259616c4",
      "tree": "8df68b03eacd98cba9fe4d45e2dc5a37f6a8e466",
      "parents": [
        "b910944852b4edb47afa9ba24386c642d972e4a9",
        "583f3632e5b92f39830d76192c65f07192541ceb"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Wed Sep 12 14:35:27 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Sep 12 14:35:27 2018 -0700"
      },
      "message": "Merge \"Use UID as requestID\"\nam: 583f3632e5\n\nChange-Id: Icef3693f5911c8f69076e0990392e28c693cbc22\n"
    },
    {
      "commit": "583f3632e5b92f39830d76192c65f07192541ceb",
      "tree": "de2a9cdf6d55d48ada744b2bcce11d54c201e1e6",
      "parents": [
        "5eb84c0065d2c8b9d2ed88b96c4f6583ea1179e5",
        "a0989622b1c7cc6fe2c6ce06f8c20bfb06e2268c"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Wed Sep 12 18:51:33 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 12 18:51:33 2018 +0000"
      },
      "message": "Merge \"Use UID as requestID\""
    },
    {
      "commit": "a51e37783a905ee3b068336f814c1fe100f57daa",
      "tree": "cc44bbedee111b7ad59458ed19c62d290de778a1",
      "parents": [
        "de5cc1ff5b27aef9f5de2789d09fbd883c742099",
        "5666119e79c9e8f3cc7e90c5161409d5afdca8b5"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Fri Sep 07 08:45:26 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 07 08:45:26 2018 -0700"
      },
      "message": "Merge \"Fix usage of internal mockito API\"\nam: 5666119e79\n\nChange-Id: I74d91a004e7430e65f54268223154e9d8d2fad02\n"
    },
    {
      "commit": "404b021b1f962d4c98590edbb8d8acd93fea60c9",
      "tree": "ebe49608927e4a802e2e1947c9f5deeed8d67f4e",
      "parents": [
        "c9fc995e0e410f7988bb43a3eed35e52bd9d8a34"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Thu Sep 06 16:44:58 2018 -0700"
      },
      "committer": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Thu Sep 06 16:45:55 2018 -0700"
      },
      "message": "Fix usage of internal mockito API\n\nThe StubberImpl now takes an argument. Set it to default.\n\nTest: m -j TtsTests\nChange-Id: Id1175bd40489c7dee2c8c0993a65836d86e38cb3\n"
    },
    {
      "commit": "2c3a8045cda7de035e438026fc6376b322e705ff",
      "tree": "1d7ee676bbe88318269c6a97bf4a4e9d5971ae0e",
      "parents": [
        "4a8305dca62a622f7eabd5465503def5794a93e1"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Mon Aug 13 11:10:48 2018 -0400"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Sep 05 13:57:10 2018 -0700"
      },
      "message": "Convert sysui to bp\n\nTest: tests gonna test, builds gonna build\nChange-Id: I7f1ef2e82ce2c74253c57de8d73079dcfe2d2264\nMerged-In: I7f1ef2e82ce2c74253c57de8d73079dcfe2d2264\n(cherry picked from commit a2f2d82f2698ca4d9fcfad2a94b5b683646c085d)\n(cherry picked from commit 1a8ee9d2f9bda161301469488d9a27baf5398233)\n(cherry picked from commit 83ce30d807c3621f47f753e75f41d2b887e3ccba)\n"
    },
    {
      "commit": "83ce30d807c3621f47f753e75f41d2b887e3ccba",
      "tree": "769d2d0295ec67fae21e8a11d7adaf82f3067c74",
      "parents": [
        "4c9d66e56cc8c324c2dc87f75e6338b7464d6eaf"
      ],
      "author": {
        "name": "Jason Monk",
        "email": "jmonk@google.com",
        "time": "Mon Aug 13 11:10:48 2018 -0400"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Sep 05 12:50:09 2018 -0700"
      },
      "message": "Convert sysui to bp\n\nTest: tests gonna test, builds gonna build\nChange-Id: I7f1ef2e82ce2c74253c57de8d73079dcfe2d2264\nMerged-In: I7f1ef2e82ce2c74253c57de8d73079dcfe2d2264\n(cherry picked from commit a2f2d82f2698ca4d9fcfad2a94b5b683646c085d)\n(cherry picked from commit 1a8ee9d2f9bda161301469488d9a27baf5398233)\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": "3e35cfe2bdfdeb65484a6d141a2814bbc00e2f20",
      "tree": "7045fab78a099bf736f17891d87237a22cec0960",
      "parents": [
        "875940bd8a1079846b2fd4a4b1714fd831fe8939",
        "e227eeef1c9208159634227f26e6635684369c0b"
      ],
      "author": {
        "name": "Paul Hu",
        "email": "paulhu@google.com",
        "time": "Mon Sep 03 02:30:12 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Sep 03 02:30:12 2018 -0700"
      },
      "message": "Merge \"PermissionMonitor: Limit preinstalled apps network permissions\"\nam: e227eeef1c\n\nChange-Id: I173026e41ed11fa5f4c679a5759b55213e21b596\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": "96529c6f228c1099d3085c6302c539ed6e4f9d1e",
      "tree": "72e283df0d11565a0ee3fc0d1fd2d5b2119f1795",
      "parents": [
        "eb3c27ce46cfe296c4a39eb1386afbc4133ac44f",
        "c651fcc98cecf9260df69245962aea00762eb1a5"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Sun Sep 02 19:31:41 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Sep 02 19:31:41 2018 -0700"
      },
      "message": "Merge changes I4decffcc,I283e88b1\nam: c651fcc98c\n\nChange-Id: Iadafd3cb8f7ba89a50f901583e804c03761c636a\n"
    },
    {
      "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": "32efb6d2b388ac635342cc1161b5820e7d4d44a3",
      "tree": "47516b4793ef425bb337a8fa79d1f9e1f3bad079",
      "parents": [
        "ba11aeee6ecfac3d60ed455f702d440195b7516b",
        "6717a6f930cd1fc72ee71de7d01b0077f9e055e2"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Aug 30 02:57:03 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Aug 30 02:57:03 2018 -0700"
      },
      "message": "Merge changes I58f904d5,Ie0bf7804\nam: 6717a6f930\n\nChange-Id: Icce72f30997a66e8251a34a313957fb3f9f3e0e3\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": "85b40cb793a38951624f2d0ab0f6e7d2fb7845b9",
      "tree": "1f62f2cfdafa7504e7a95f19944db139217da483",
      "parents": [
        "474e4f31638124f09df248695a5607beb10e528c",
        "846c80acf592a3986dda6091f80901b5f9819a0b"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Aug 29 19:24:43 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 29 19:24:43 2018 -0700"
      },
      "message": "Merge \"Switch DHCP server based on global setting\"\nam: 846c80acf5\n\nChange-Id: Ie5d15cb95be4ef5e45a7070be8d5858176a94532\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": "83a7650bafce80f5d9a37bbfe51559a28b1f210e",
      "tree": "16f9c315601868d446081b628e23f534e95c01d7",
      "parents": [
        "0f78680ce208e61cc3c0e82f6661ac84c6133feb",
        "ef7432f245817f32e7a75e071af94dab11e8ba29"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Aug 28 23:47:34 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 28 23:47:34 2018 -0700"
      },
      "message": "Merge \"Ignore DHCP packet sent from non-68 client port\"\nam: ef7432f245\n\nChange-Id: I51addda2fd2db57116c2f5c472c8dc785a694b4f\n"
    },
    {
      "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": "dccc1866de28da0648a8bf4614e281bcf7299119",
      "tree": "97c07783a2158307a4eb19210a960f17e4e5a31e",
      "parents": [
        "0bd9ac4b69af6e854c084c7be3fb398927306df2",
        "e3a0f42e8e8678f6d90ddf104d485858fbb2e35b"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Aug 28 20:32:54 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 28 20:32:54 2018 -0700"
      },
      "message": "Merge \"Add DhcpServer\"\nam: e3a0f42e8e\n\nChange-Id: I4ce2cb61d084b37681e1f5103a4e31d4af1cae3e\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": "0bd9ac4b69af6e854c084c7be3fb398927306df2",
      "tree": "5fa323f7fd6abc0b7083280815e7586f8bf13717",
      "parents": [
        "1ed3e96ea7a0cba2dff4727d8f7bac999939d89f",
        "0e1621296fdb09f3ffaaf69e77728663b0943953"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Tue Aug 28 20:12:49 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 28 20:12:49 2018 -0700"
      },
      "message": "Merge \"Remove ResolveUtil from frameworks/base callers\"\nam: 0e1621296f\n\nChange-Id: Ibc885ccd9531706df029154f7ec4fde71bf600d1\n"
    },
    {
      "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": "c461d4dd0169b36b0f0e7264d2d06f59acb589c9",
      "tree": "d3cfaed1d4230a2171b155f5aceabd51aae84d8b",
      "parents": [
        "4490da5346a95725b14591749d0a3ddd12569a77",
        "80f3ddca8aa08e928652ee62276e0fd62955f65d"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Aug 28 01:25:17 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 28 01:25:17 2018 -0700"
      },
      "message": "Merge \"Add varargs methods to build DhcpServingParams\"\nam: 80f3ddca8a\n\nChange-Id: I68d5d4fabc20fa4bc2b77f04d3f6e99be8a7eb3e\n"
    },
    {
      "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": "e06ae295a2af2168e0eb017f317e015d0d2f41d2",
      "tree": "a62557b11e51a697c165d60e25d5c849e924b6dc",
      "parents": [
        "106905df2e14ca726819246450aee9d27e6307f2",
        "e01b4ce6c7489bfbbb8999ed525c2444a18997ef"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Aug 23 20:33:45 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Aug 23 20:33:45 2018 -0700"
      },
      "message": "Merge changes I2cea553a,Id8d3dcf6,I19e68e88,I35598935,Idd7dc369, ...\nam: e01b4ce6c7\n\nChange-Id: I1800eb214d501e76b8705a27ca817000d009736e\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": "b2c0c112fb4c1d53eb1b76d7f3a27d1b7d1a1ff7",
      "tree": "86e9abad76d33dafe9d7248c4f4ec2fc9ddde0c0",
      "parents": [
        "cdd38fd98ebbabbf9145f0c1bc57162d017a46a4",
        "de2bfe1ddff3112362da388733531afe97caa53a"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Aug 17 18:02:19 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 17 18:02:19 2018 -0700"
      },
      "message": "Merge \"Convert frameworks-base-testutils to Android.bp\"\nam: de2bfe1ddf\n\nChange-Id: Ib543af4cb90c84d9914178912a2834ac869c908b\n"
    },
    {
      "commit": "de2bfe1ddff3112362da388733531afe97caa53a",
      "tree": "7e73c958df38e251af50947bcf2efd4ce872ff8f",
      "parents": [
        "93429e61885dbb20d67eb642ec5728d748b779f2",
        "74835a2a4f7d49aa8cf51a7354b8d45a06ec68bf"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Aug 17 23:12:22 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Aug 17 23:12:22 2018 +0000"
      },
      "message": "Merge \"Convert frameworks-base-testutils to Android.bp\""
    },
    {
      "commit": "a788c6816bc159187e45332b255d26be27e35f9a",
      "tree": "ae16f8c1f8052f0ea545c83b2732170b6ffdc473",
      "parents": [
        "d48ec695d3dcacf2c5a60dfc34a3084ac5f1b571",
        "c68f5313a22cbdecddacf17fbc1fb8c5c92b8589"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Aug 17 01:48:48 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Aug 17 01:48:48 2018 -0700"
      },
      "message": "Merge \"Fix testRegisterUsageCallback failure in setUp\"\nam: c68f5313a2\n\nChange-Id: I516bab9b9b6c5f48845f18d0e2ab8b47f0f809de\n"
    },
    {
      "commit": "74835a2a4f7d49aa8cf51a7354b8d45a06ec68bf",
      "tree": "8a2c65a2421b230dea4eff29a8d78d21e08ed0a7",
      "parents": [
        "7955aec0eaf725f300f2cd79d0beda56e33971a7"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Aug 16 22:25:40 2018 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Aug 16 22:25:40 2018 -0700"
      },
      "message": "Convert frameworks-base-testutils to Android.bp\n\nSee build/soong/README.md for more information.\n\nTest: m checkbuild\nChange-Id: I2d70f7c017fc3d181c70b030e39e5a932d0996cc\n"
    },
    {
      "commit": "a8e9090cf65b982a9c6d12154e861375922163b6",
      "tree": "cb4f9928e041e95f7c9f041bf903dea71cf1c3c5",
      "parents": [
        "bf668472406a4b7f030eb20f35e4e4386b56671f"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Apr 26 17:52:03 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Aug 14 18:14:09 2018 +0900"
      },
      "message": "Fix testRegisterUsageCallback failure in setUp\n\nLocalServices.addService in NetworkStatsService is currently failing\nwith IllegalStateException \"Overriding service registration\". Setting up\nLocalServices in the test to avoid this issue might be possible, but\nmoving the registration to the only non-test caller of that constructor\nas done here solves the issue and avoids side-effects from a constructor.\n\nTest: atest FrameworksNetTests does not choke on this test\nBug: b/78487385\nBug: b/80082746\nChange-Id: I5dba98fc79aec0800c8b71e6c7e23d1cfbcae852\nMerged-In: I884a7a8bd7db3fcd220b785ba9914ac8c77720f0\n(Clean cherry-pick of go/ag/4061255)\n"
    },
    {
      "commit": "fb9247e38da628ae4a3e207bcd8843c02878b638",
      "tree": "c87fe4aad923e52c0f672cddf43b456900171f16",
      "parents": [
        "238f479b66f7aafe7921514e657fb67b4c70d2ff",
        "a96779b592493aa37007a6191c63d76be0a7dfc8"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Aug 08 11:57:20 2018 -0700"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 08 11:57:20 2018 -0700"
      },
      "message": "Merge \"Add codewiz@, reminv@ to OWNERS for connectivity\" am: 76f081be5c\nam: a96779b592\n\nChange-Id: I781053bcceb117f3d83950a5ee477b766bb7e314\n"
    }
  ],
  "next": "238f479b66f7aafe7921514e657fb67b4c70d2ff"
}
