)]}'
{
  "log": [
    {
      "commit": "e3396622478c7a6f9f5dbb240a403539d44b316e",
      "tree": "4746cb016aaa47b291b471f5e027107261479188",
      "parents": [
        "8d621cc0425363ca719ce485ddb2c4e1bd174813",
        "f1967c4125f1f08f9ee4a45d68413a1c3a0e7d72"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Dec 09 01:34:07 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Dec 09 01:34:07 2017 +0000"
      },
      "message": "Merge \"Revert \"Send empty LinkProperties when entering StoppedState.\"\""
    },
    {
      "commit": "f1967c4125f1f08f9ee4a45d68413a1c3a0e7d72",
      "tree": "46aa9509b43018b31c2d7b5e15f84e1a47498f63",
      "parents": [
        "b3f9f4a30502477e71fc93037dc58080fddb1853"
      ],
      "author": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Fri Dec 08 22:29:50 2017 +0000"
      },
      "committer": {
        "name": "Roshan Pius",
        "email": "rpius@google.com",
        "time": "Fri Dec 08 22:29:50 2017 +0000"
      },
      "message": "Revert \"Send empty LinkProperties when entering StoppedState.\"\n\nThis reverts commit b3f9f4a30502477e71fc93037dc58080fddb1853.\n\nReason for revert: Crash in WifiStateMachine (b/70394432)\n\nChange-Id: I3a96c822eddcebcdd6621cee878b865171d094e8\n"
    },
    {
      "commit": "b501e7e25b4f338d8d2e9dc87945a0376b78cd7d",
      "tree": "120fdd2d5990aa9d95972ddeb97f6aad2c276cba",
      "parents": [
        "efdca004abe8a03aa15842b218e95af4e869e611",
        "84714bffa1a58fe1f6a114ae015f8e38be46f32d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 08 05:44:26 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 08 05:44:26 2017 +0000"
      },
      "message": "Merge \"Refactor to IpNeighborMonitor and single-threaded semantics\""
    },
    {
      "commit": "84714bffa1a58fe1f6a114ae015f8e38be46f32d",
      "tree": "7760a0766578216f8579c48f07fb28fc80860a7f",
      "parents": [
        "6a4be8613a2313b2b36f3df4f4a95579e2a2501d"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Fri May 19 09:29:48 2017 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Fri Dec 08 11:12:05 2017 +0900"
      },
      "message": "Refactor to IpNeighborMonitor and single-threaded semantics\n\nIpReachabilityMonitor (and IpNeighborMonitor) are only accessed from\nthe IpManager StateMachine\u0027s thread. Consequently lots of locking can\nnow be removed.\n\nAdditionally:\n    - rename BlockingSocketReader to PacketReader\n    - incorporate IpReachabilityMonitor output in dump()\n\nTest: as follows\n    - runtest frameworks-net passes\n    - \"adb shell ip neigh change \u003caddress\u003e dev wlan0 nud failed\"\n      triggers wifi to disconnect\nBug: 62476366\nBug: 67013397\nChange-Id: I18aca29ae0019a72a7e559c2832e0d9b0e33d81e\n"
    },
    {
      "commit": "b3f9f4a30502477e71fc93037dc58080fddb1853",
      "tree": "6d90144863f3b9f77afb82ff01a39b88abf909cc",
      "parents": [
        "86c995138379be76613408abdec07d34bb32cd58"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Wed Dec 06 13:37:09 2017 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Thu Dec 07 18:07:38 2017 +0900"
      },
      "message": "Send empty LinkProperties when entering StoppedState.\n\nTest: as follows\n    - built\n    - flashed\n    - booted\n    - runtest frameworks-net passes\n    - changing from DHCPv4 to static while continuously pinging the\n      default gateway works jsut fine\n    - dumpsys log shows that during the change we send the empty LP:\n  12-06 08:46:51.085 - CMD_ON_QUIT wlan0/23 0 0 null [rcvd_in\u003dStoppingState, proc_in\u003dStoppingState]\n  12-06 08:46:51.092 - INVOKE onLinkPropertiesChange({{InterfaceName: wlan0 LinkAddresses: []  Routes: [] DnsAddresses: [] Domains: null MTU: 0}})\n\nBug: 69800563\nChange-Id: I01047e9a72fce718a167c592bf14406c3bab3ba9\n"
    },
    {
      "commit": "da23b08c6c86e5b3617e9e310f8a397debec7e39",
      "tree": "088b461818792607d7d9529e4b7630e9b3e6daca",
      "parents": [
        "34be883ebddfa03de31581e6e9942c47d53cc395",
        "39f58678dbc6799b5686d71167d47e361748f302"
      ],
      "author": {
        "name": "ludi",
        "email": "ludi@google.com",
        "time": "Wed Dec 06 03:29:35 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Dec 06 03:29:35 2017 +0000"
      },
      "message": "Merge \"Cleanup of resource limit tests\"\nam: 39f58678db\n\nChange-Id: Ifcbc61ad8003c43ba1baff6d4d534192f6498206\n"
    },
    {
      "commit": "6fb084db88dde09929185e6becd07410d7beb0d0",
      "tree": "1d0e727611e69bf7bfe2d1e435ffdd9408428495",
      "parents": [
        "9d077ecd9df3698ee5e39f377eb67d79dbd78697",
        "d5dca64f72cc875759eaeae03afc3faaf4c2a441"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Dec 06 03:12:09 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Dec 06 03:12:09 2017 +0000"
      },
      "message": "Merge \"Use -Werror in frameworks/base/tests/backup\"\nam: d5dca64f72\n\nChange-Id: Ic05b86f4bbff44e03298e823e9105c664b7ba1e0\n"
    },
    {
      "commit": "39f58678dbc6799b5686d71167d47e361748f302",
      "tree": "b53dd9acb07abace18975e60afff03257c64c035",
      "parents": [
        "5747c2b81ce417a9b2e1d8244f12366cf869282b",
        "6b7fb6bbec42a74047e4f0bb472266e095a0f10e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 06 02:58:41 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 06 02:58:41 2017 +0000"
      },
      "message": "Merge \"Cleanup of resource limit tests\""
    },
    {
      "commit": "b40ec900e260a08f6bd624e05c0861a5b0b52cb8",
      "tree": "bf922bb953ce43d16b8b598233f2085bd7e1ba55",
      "parents": [
        "cdb84d2fc722f9f28bbcaee949798324c95c068a"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Dec 05 09:56:46 2017 -0800"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Dec 05 09:58:06 2017 -0800"
      },
      "message": "Use -Werror in frameworks/base/tests/backup\n\n* Ommit unused parameter names.\n\nBug: 66996870\nTest: build with WITH_TIDY\u003d1\nChange-Id: Ie073fd911480960673b24d5b4d84b4f8dd0d0302\n"
    },
    {
      "commit": "9d077ecd9df3698ee5e39f377eb67d79dbd78697",
      "tree": "7e576206d80001299279eb981b84423120548853",
      "parents": [
        "1c578e803230328fa735569a0adc1d16038e8709",
        "cdb84d2fc722f9f28bbcaee949798324c95c068a"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Dec 05 09:47:50 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Dec 05 09:47:50 2017 +0000"
      },
      "message": "Merge \"Fix bug in MacAddress.fromString()\"\nam: cdb84d2fc7\n\nChange-Id: If4c85f0a5ea259f53f9cffa6eacb58fcde1fd1df\n"
    },
    {
      "commit": "d2c5b1925b32842394ec054edc97e1fb2da0103b",
      "tree": "07325d6b518ab7f16a3b1fc33bfbeeff16883d27",
      "parents": [
        "7e717e09cd3923f613a24c79358e900278ec6a2d"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Dec 05 13:14:08 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Dec 05 13:14:08 2017 +0900"
      },
      "message": "Fix bug in MacAddress.fromString()\n\nTest: runtest frameworks-net\nBug: 69390696\nChange-Id: I83f01e4915092e08ed201d9b6738bb02498d3bba\n"
    },
    {
      "commit": "5e3d66e78be0266e8e45390fe43ae2e7f74b7271",
      "tree": "f606c8f29deb451543c7e45a17900856e7c10a62",
      "parents": [
        "b42cfb691d1bb94902a7279e101f574986b275a0",
        "68b81299d2399425dc2750047bb1743b8bcb6a80"
      ],
      "author": {
        "name": "nharold",
        "email": "nharold@google.com",
        "time": "Tue Dec 05 02:28:10 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Dec 05 02:28:10 2017 +0000"
      },
      "message": "Merge \"Validate IpSecAlgorithm Length\"\nam: 68b81299d2\n\nChange-Id: I23f7612c119e67f9a1647568aeefde38a365f8da\n"
    },
    {
      "commit": "68b81299d2399425dc2750047bb1743b8bcb6a80",
      "tree": "bb4321f2acd8061c7bafa8737bf8f9643bf779a8",
      "parents": [
        "85f095e24666f87d7270e0b4a5ce31c7bf29a67f",
        "3349b26630903dec820df3da84078fafc0bb8dbf"
      ],
      "author": {
        "name": "nharold",
        "email": "nharold@google.com",
        "time": "Tue Dec 05 02:13:55 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 05 02:13:55 2017 +0000"
      },
      "message": "Merge \"Validate IpSecAlgorithm Length\""
    },
    {
      "commit": "2f7cb5752bc481fe3d88d745d22a1477ce5b1eed",
      "tree": "d51f5b86d3ca2e10c6e1ea8e4619c0c2c2ba55fc",
      "parents": [
        "be365009480621980fb256f84f930df743af5844",
        "d871cab32dac5f1721e0cf5636498a4009d0768b"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Mon Dec 04 23:38:27 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Dec 04 23:38:27 2017 +0000"
      },
      "message": "Merge \"MacAddress: light refactors and improve documentation\"\nam: d871cab32d\n\nChange-Id: I51bb8786ecd7f53e3342625c7a2625007eedfc0f\n"
    },
    {
      "commit": "3349b26630903dec820df3da84078fafc0bb8dbf",
      "tree": "cbff0d4a7d6d0d1771bf8539b39ef743e2f52b43",
      "parents": [
        "db122f90d9e497b64f9e15dfb91fed98fbe18165"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Thu Nov 09 16:49:33 2017 -0800"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Mon Dec 04 15:12:14 2017 -0800"
      },
      "message": "Validate IpSecAlgorithm Length\n\nImprove the Validation of IpSecAlgorithm by\nexplicitly checking the length in addition to\nthe truncation length (previously an oversight).\nIn addition, we now check the lengths during\nun-parceling, which will catch someone maliciously\nmanually building a parcel and passing it, bypassing\nthe checks in the constructor.\n\nBug: 68780091\nTest: runtest -x IpSecAlgorithmTest.java\nChange-Id: I8172762617264d34f47d5144336464510f07a701\n"
    },
    {
      "commit": "84bb7fc76112300fbb2790d952eef62cc0d71288",
      "tree": "9aad9e00920dc46137d1023e4042507bc410e139",
      "parents": [
        "aa3e9d351eaa733ec586c76867b09847e8482884"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Nov 16 14:40:16 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Mon Dec 04 22:34:43 2017 +0900"
      },
      "message": "MacAddress: light refactors and improve documentation\n\nThis patch does some light refactoring in MacAddress to prepare for\nexposing MacAddress in the public api:\n - documention is improved\n - some method names are renamed\n - a toSafeString method is added\n - a padding bug in the conversion methods outputting strings for\n   mac addresses is fixed\n\nBug: 69390696\nTest: runtest frameworks-net\nChange-Id: I399a97dabc2dfa8df9c5518c8b12484e43ca05c9\n"
    },
    {
      "commit": "6b7fb6bbec42a74047e4f0bb472266e095a0f10e",
      "tree": "27385898acdf6ba9a54d93f500bb9b84eadaf8c5",
      "parents": [
        "e72b6f0d3113c84df6d9113609942ef5d9b4e34e"
      ],
      "author": {
        "name": "ludi",
        "email": "ludi@google.com",
        "time": "Wed Nov 15 14:05:16 2017 -0800"
      },
      "committer": {
        "name": "ludi",
        "email": "ludi@google.com",
        "time": "Tue Nov 28 10:21:18 2017 -0800"
      },
      "message": "Cleanup of resource limit tests\n\nTest: runtest frameworks-net\nBug: 65688605\nChange-Id: Ice3ff2624b83c833a99559485c1e782d36c54ae3\n"
    },
    {
      "commit": "c9c65317e883bad71de29a2a5db26f9f01818ce2",
      "tree": "b588d24321532ef39fd7bdde9cdd09afe7ec900e",
      "parents": [
        "e842e266a6b862bbe757c92ce6d6a42260077bd9",
        "cf1a4614e1817bedd16b9716bfe5d9cb91c605bf"
      ],
      "author": {
        "name": "Di Lu",
        "email": "ludi@google.com",
        "time": "Wed Nov 15 20:23:14 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Nov 15 20:23:14 2017 +0000"
      },
      "message": "Merge \"Add test case for user quota management in IpSecService\"\nam: cf1a4614e1\n\nChange-Id: Ib1887b2395f0b1391711a9df9bebe224b6be1643\n"
    },
    {
      "commit": "cf1a4614e1817bedd16b9716bfe5d9cb91c605bf",
      "tree": "1868a3f7f7e52cf30ace41c14f622609393c3cfa",
      "parents": [
        "795d4a5aa4d5ef7e5a59645bf6a5433ca50ce224",
        "aa5c1dc6d395814cce6deb3f9fa5a43741a19fab"
      ],
      "author": {
        "name": "Di Lu",
        "email": "ludi@google.com",
        "time": "Wed Nov 15 20:12:38 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 15 20:12:38 2017 +0000"
      },
      "message": "Merge \"Add test case for user quota management in IpSecService\""
    },
    {
      "commit": "220871a697290529278ed16db508eda8e12f3fc7",
      "tree": "bc13101b63c6fe39a9d92706ecb7ded7f98f5a9c",
      "parents": [
        "802f191b2b84a1b1b82c7f6f3268846084b35dfb",
        "98e12851336b7db16e583f9afac63ecc97465980"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Tue Nov 14 12:31:11 2017 -0800"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Tue Nov 14 12:31:11 2017 -0800"
      },
      "message": "Merge commit \u002798e12851336b7db16e583f9afac63ecc97465980\u0027 from\noc-mr1-dev-plus-aosp-without-vendor into stage-aosp-master.\n\nChange-Id: Ia7b8da4a00d215160e4a4fa40f6044208d1297b7\nMerged-In: I19846d2a3ee27aecbae2367a74ee49082eea154d\n"
    },
    {
      "commit": "aa5c1dc6d395814cce6deb3f9fa5a43741a19fab",
      "tree": "628eec8bee497a3491cc1e504f8f8395bbf616ae",
      "parents": [
        "f6b2b77e40d0056f131ac4246599dff45e70bf12"
      ],
      "author": {
        "name": "ludi",
        "email": "ludi@google.com",
        "time": "Mon Oct 16 15:09:41 2017 -0700"
      },
      "committer": {
        "name": "ludi",
        "email": "ludi@google.com",
        "time": "Mon Nov 13 14:14:11 2017 -0800"
      },
      "message": "Add test case for user quota management in IpSecService\n\nTest: runtest frameworks-net\nBug: 65688605\nChange-Id: I3210c4920d0ac1d09fecb56c25e392e2bcba641f\n"
    },
    {
      "commit": "97bfd276fb008a66b76b6f72a64db1eca2ab477c",
      "tree": "38f78cc4efde928ae5cabe5bcc80aaf82c94ee43",
      "parents": [
        "6ee20ca7d380b1d59cf24898ba83a9c4cb57849c"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Sat Nov 11 08:06:43 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Mon Nov 13 14:15:51 2017 +0900"
      },
      "message": "IP connectivity metrics: NetworkEvents have transports\n\nAlso removes netId field from inside NetworkEvent and stop populating\nthe network_id field of the NetworkEvent field, deprecating it.\n\nBug: 34901696\nTest: runtest frameworks-net,\n      manually looking at $ adb shell dumpsys connmetrics\n\nChange-Id: I2c36860f976898883714f72f4d18e06da250c6a6\n"
    },
    {
      "commit": "d921bce5a6cca1774537be7178d020110cfc0d45",
      "tree": "8ba2d2ee95bd2841ae67762ac739f1c6541127c1",
      "parents": [
        "8d742759cc025ce4c03baef9d9d0822bd0e5bbf6"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Oct 12 21:33:40 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Sun Nov 12 18:51:28 2017 +0900"
      },
      "message": "Add L2~L4 information to packet wakeup logs and metrics\n\nExample of $ adb shell dumpsys connmetrics list:\n...\nWakeupStats(wlan0, 21851s, total: 85, root: 0, system: 4, apps: 63, non-apps: 0, no uid: 18, l2 unicast/multicast/broadcast: 85/0/0, ethertype 0x800: 23, ethertype 0x86dd: 62, ipNxtHdr 6: 74, ipNxtHdr 17: 1, ipproto 58: 10)\n...\nWakeupEvent(06:55:54.094, wlan0, -1, eth\u003d0x800, dstHw\u003d10:e:7e:26:3f:c1, ipNxtHdr\u003d6, srcIp\u003d216.58.200.110, dstIp\u003d100.112.108.29, srcPort\u003d443, dstPort\u003d46878)\nWakeupEvent(06:57:14.379, wlan0, -1, eth\u003d0x86dd, dstHw\u003d10:e:7e:26:3f:c1, ipNxtHdr\u003d58, srcIp\u003dff02::1, dstIp\u003dfe80::fa00:4:fd00:1)\nWakeupEvent(06:57:52.786, wlan0, 1000, eth\u003d0x800, dstHw\u003d10:e:7e:26:3f:c1, ipNxtHdr\u003d6, srcIp\u003d172.217.27.67, dstIp\u003d100.112.108.29, srcPort\u003d80, dstPort\u003d49360)\nWakeupEvent(06:58:02.919, wlan0, 10004, eth\u003d0x86dd, dstHw\u003d10:e:7e:26:3f:c1, ipNxtHdr\u003d6, srcIp\u003d2401:fa00:4:fd00:a585:13d1:6a23:4fb4, dstIp\u003d2404:6800:4006:809::200a, srcPort\u003d443, dstPort\u003d46197)\nWakeupEvent(06:58:05.586, wlan0, 10004, eth\u003d0x86dd, dstHw\u003d10:e:7e:26:3f:c1, ipNxtHdr\u003d6, srcIp\u003d2401:fa00:4:fd00:a585:13d1:6a23:4fb4, dstIp\u003d2404:6800:4006:803::200a, srcPort\u003d443, dstPort\u003d46096)\n\nBug: 66869042\nTest: runtest frameworks-net\n      + manual testing by monitoring $ dumpsys connmetrics list\nChange-Id: I03215c0c9fb7feda3e6ceb1b916f61f4ffb15344\n"
    },
    {
      "commit": "cd35c65b5b22313559364bed8506666b4dd9bedf",
      "tree": "a5936e5ed7a9b057079e8242ed001b1db2185e3d",
      "parents": [
        "08efd36872e0dd671f420b324af6f125ec21d060",
        "ac52e40049ad954e6894f16d54473f264da43894"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Nov 09 12:22:17 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 09 12:22:17 2017 +0000"
      },
      "message": "Merge \"MacAddress follow-up: define the core of the class\""
    },
    {
      "commit": "ac52e40049ad954e6894f16d54473f264da43894",
      "tree": "9ae7627186ea44b0e60b4f57979125f6b4bfa745",
      "parents": [
        "59c8e423a871227b7280fc849743182679c180fe"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Nov 09 00:22:25 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Nov 09 16:36:45 2017 +0900"
      },
      "message": "MacAddress follow-up: define the core of the class\n\nTest: new unit test parts of $ runtest frameworks-net\nChange-Id: I08c57d2d656802f7bdd7a93fde711a7e77247583\n"
    },
    {
      "commit": "3db35dfcd518bfe819d8d05f4fd13d0d8a0f891a",
      "tree": "0ae716abdfa6c47ed6b6df72aaebeb0538695425",
      "parents": [
        "b5d2f0c24f678a3b478a227dc6087820fd19233d",
        "4ebc2c59682f9bcaea1d455dad5beae1ab0b87b5"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Wed Nov 08 17:47:40 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Nov 08 17:47:40 2017 +0000"
      },
      "message": "Merge \"Update documentation for AES-GCM-ESP keymat length\""
    },
    {
      "commit": "59c8e423a871227b7280fc849743182679c180fe",
      "tree": "d8325f4d04074f56537e380bd44729edebf467bd",
      "parents": [
        "c867f787bc7b6ecd49fe3a9c638b34befc3922ec"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Oct 12 21:33:40 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Wed Nov 08 11:09:49 2017 +0900"
      },
      "message": "Define MacAddress class\n\nTest: new unit tests part of $ runtest frameworks-net\nChange-Id: I5a6a868ff86e9bffdc551d4e2bb486b585525c30\n"
    },
    {
      "commit": "4ebc2c59682f9bcaea1d455dad5beae1ab0b87b5",
      "tree": "4c382fdf418f150bf2bc245dc7d7342996b2b695",
      "parents": [
        "c173c93c1ca84652a102ed12b95e0c3b5b63d69c"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Wed Nov 01 17:14:25 2017 -0700"
      },
      "committer": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Tue Nov 07 17:39:35 2017 -0800"
      },
      "message": "Update documentation for AES-GCM-ESP keymat length\n\nAdded notes that keymat length must include 32 bits of salt.\n\nBug: 68672051\nTest: Frameworks-net unit tests \u0026 IpSecManager CTS tests run\nChange-Id: I0ae0c5be8a45b2374783b3bd1fa8bf930f15e687\n"
    },
    {
      "commit": "7216636a621d413453947c1d40feaec9948fed73",
      "tree": "0323fb2b0abc87a6ef18cc196f4754b282e35314",
      "parents": [
        "69c9402a29f1c9f958284dfeb95404f88cac2cf1"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Fri Oct 13 16:32:20 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Nov 07 21:42:39 2017 +0900"
      },
      "message": "Refactor ApfFilter creation\n\nThis patch introduces a helper ApfConfiguration class for passing filter\nparameters to the constructor of ApfFilter. The benefits are:\n  - less parameter boilerplate across IpManager, ApfFilter, ApfTest\n  - easier to add more parameters in the future (useful for hardware\n    counters options and further gservices configurable options)\n\nThere is no functional changes otherwise.\n\nTest: runtest frameworks-net\nChange-Id: I47231c21df80bc36b6d4e15369748017b50b8da1\n"
    },
    {
      "commit": "69c9402a29f1c9f958284dfeb95404f88cac2cf1",
      "tree": "94cb633afd112fa73d6d940b2d5db9513fddf360",
      "parents": [
        "6d14940a0e4c050f5f51185fb5a052d961ada7a7",
        "380a0638588d5a4d3fb07323db4d0efc42312940"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Mon Nov 06 07:09:49 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 06 07:09:49 2017 +0000"
      },
      "message": "Merge \"DefaultNetworkEvent metrics: rehaul\""
    },
    {
      "commit": "380a0638588d5a4d3fb07323db4d0efc42312940",
      "tree": "2d5bc466662bc2d0ec260a2d9a011d92dcb09181",
      "parents": [
        "9009eabbfefdc685f176419001bc2aeff4790089"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Fri Oct 20 09:25:29 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Mon Nov 06 09:04:02 2017 +0900"
      },
      "message": "DefaultNetworkEvent metrics: rehaul\n\nThis patch changes instrumentation of default networks and default\nnetwork events:\n- stop logging events for default network transitions,\n  but instead consistently log one event per continuous segment\n  when one given network was the default, including logging an\n  event for when there is no default network.\n- keep a separate rolling buffer of DefaultNetworkEvent for\n  dumpsys and bug reports.\n\nThese changes allow to simplify post aggregation of default network\nevent metrics by removing any need to do time series processing.\nInstead, metrics and counters can be implemented withouth any ambiguity\nby following the recipe:\n\n% of x \u003d sum(duration | x \u003d true) / sum (all durations)\n\nwhere x can be various conditions such as:\n- the default network was validated\n- the default network was WiFi\n- the default network was IPv6\n- there was no default network\n- ...\n\nMost importantly, this new logging scheme allows to measure much more\nreliably:\n- the % of the time that a device had Internet, in the sense that the\ndefault network was validated.\n- the time transitions between default networks, keyed by previous and\nnew transports/link layer, which allows to derive wakelock durations\nand wakelock power costs from default network switches.\n\nThis patch also simplifies the dumpsys interface of the connmetrics\nservice and reduces the commands to three:\n- \"flush\" for metrics upload.\n- \"proto\" for printing buffered event in text proto format.\n- \"list\" for listing all events and statistics.\n\nBug: 34901696\nBug: 65700460\nTest: runtest frameworks-net\nChange-Id: I0521f1681a60cca07ac3bfd5741d64ce44de4cdd\n"
    },
    {
      "commit": "72f9c42b9e59761a28d6b32c42f65de57c98daed",
      "tree": "6d251e198355ecf7ac44781a287ca6ece2cb2827",
      "parents": [
        "c173c93c1ca84652a102ed12b95e0c3b5b63d69c"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Oct 27 17:22:59 2017 -0600"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Wed Nov 01 19:05:42 2017 -0600"
      },
      "message": "Define NOT_ROAMING network capability.\n\nThe \"roaming\" state of a network really belongs on NetworkCapabilities\ninstead of being published through NetworkInfo.isRoaming().  One major\nreason is to support developers creating NetworkRequests for a\nnon-roaming network.\n\nWatch for any capability changes that network statistics are\ninterested in (either metered or roaming) and notify it to perform\nan update pass; fixes bug where we previously only triggered on\nroaming changes.\n\nFix bug in VPNs where metered/roaming capabilities of underlying\nnetworks weren\u0027t being propagated; this was probably preventing\nsome jobs from running over unmetered networks, and causing other\njobs to run over roaming networks!  Also passes along link bandwidth\ninformation from underlying networks, and propegates any changes\nto underlying networks.\n\nFix race condition by reading prevNc inside lock.  Utility methods\ncorrectly calculate min/max link bandwidth values.\n\nTest: bit FrameworksNetTests:android.net.,com.android.server.net.,com.android.server.connectivity.,com.android.server.ConnectivityServiceTest\nBug: 68397798, 16207332\nChange-Id: I3e1a6544c902bf3a79356b72d3616af1fd2b0f49\n"
    },
    {
      "commit": "bf74a93eb2991e738efca80a7a1ce8d997f4e9f6",
      "tree": "d6de4365dee2b5b97be223b1f06c553b761c16b6",
      "parents": [
        "1565803cd2a099c8f2e2ef556682b2f01a4d64d8",
        "fffa8113e0a7b646d2aff44de5a2cf84290e8951"
      ],
      "author": {
        "name": "Manoj Boopathi Raj",
        "email": "manojboopathi@google.com",
        "time": "Fri Oct 27 17:32:56 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Oct 27 17:32:56 2017 +0000"
      },
      "message": "Merge \"Fixed NullPointerException in IpSecService-Netd binder layer\""
    },
    {
      "commit": "fffa8113e0a7b646d2aff44de5a2cf84290e8951",
      "tree": "7980a9e3d01a3c7aeeb67e5d9cbe3b0b3a014cef",
      "parents": [
        "3ab81b9694f153c933d234e8d72db058c2d2fefc"
      ],
      "author": {
        "name": "Manoj Boopathi Raj",
        "email": "manojboopathi@google.com",
        "time": "Thu Oct 26 11:49:02 2017 -0700"
      },
      "committer": {
        "name": "manojboopathi",
        "email": "manojboopathi@google.com",
        "time": "Thu Oct 26 13:10:22 2017 -0700"
      },
      "message": "Fixed NullPointerException in IpSecService-Netd binder layer\n\nReplaced null with empty byte array in createTransportModeTransform\nfor null auth.getKey, crypt.getKey() and authCrypt.getKey()\n\nTest: Ran CTS test\nBug: 68052730\nChange-Id: I5110b1297b4bfbb5766e8ecfd3d64f8110b52945\n"
    },
    {
      "commit": "9009eabbfefdc685f176419001bc2aeff4790089",
      "tree": "5bdf8a6c040c14132931a604232325d2f16bf503",
      "parents": [
        "28ed91161dcf7c98373c94140a6d99bfd0b33c6d",
        "1193a9c9ab24b879fd59231b30295847ba939fa0"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Oct 26 06:01:06 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Oct 26 06:01:06 2017 +0000"
      },
      "message": "Merge changes I59b6e04f,I55694d89\n\n* changes:\n  Remove Parcelable interface from DefaultNetworkEvent\n  Extract logging of default network events\n"
    },
    {
      "commit": "c21effd5269726cc4202d15475a2b00c9c473bda",
      "tree": "fbc683724220ff2880c7fd8bb1bbf5abcf1d0f98",
      "parents": [
        "65d1e549b63ddb788906e2a837c09768f7002b38",
        "de63772eff39adccc7819765e09b499cfd3b833e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 25 13:37:40 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Oct 25 13:37:40 2017 +0000"
      },
      "message": "Merge \"Switch to listening for CarrierConfig changes for provisioning rechecks\""
    },
    {
      "commit": "1193a9c9ab24b879fd59231b30295847ba939fa0",
      "tree": "76f674beeba18611b08e3e988cef6ce89e32b5c1",
      "parents": [
        "64901e5963f8e330a7a4a47ceeecfbb47d255dc2"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Oct 19 14:58:15 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Wed Oct 25 12:40:13 2017 +0900"
      },
      "message": "Remove Parcelable interface from DefaultNetworkEvent\n\nThis patch takes advantage of the direct DefaultNetworkMetrics interface\nbetween ConnectivityService and IpConnectivityMetrics and removes the\nParcelable interface from DefaultNetworkEvent.\n\nIpConnectivityMetrics, IpConnectivityEventBuilder and associated tests\nare updated as necessary.\n\nBug: 34901696\nTest: runtest frameworks-net\nChange-Id: I59b6e04fc126051320d08a422cfbd4d27042123e\n"
    },
    {
      "commit": "64901e5963f8e330a7a4a47ceeecfbb47d255dc2",
      "tree": "e6d422e590d06cfb8f8283c196984a6a1db0270d",
      "parents": [
        "03c6030ce94662ed008ca6a6447da9fb62d4ea0c"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Oct 19 14:42:40 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Wed Oct 25 12:36:29 2017 +0900"
      },
      "message": "Extract logging of default network events\n\nThis patch extracts the logging of DefaultNetworkEvent from inside\nConnectivityService and move it to a new DefaultNetworkMetrics class.\n\nThe DefaultNetworkMetrics is a singleton owned by the\nIpConnectivityMetrics singleton implementing the metrics service for\ncore networking. ConnectivityService has access to this singleton via\nLocalServices.\n\nThis class layout will allow to remove the Parcelable interface of\nDefaultNetworkEvent and will instead let the IpConnectivityMetrics\nservice grab metrics from the DefaultNetworkMetrics directly.\n\nBug: 34901696\nTest: runtest frameworks-net\nChange-Id: I55694d89124272732aba114198776462372de18b\n"
    },
    {
      "commit": "d6ab173f6c1d9b92ab0385a2d88664232152a8fc",
      "tree": "bc8ab7fe3c992ae98e76063e3c07c119a49c7524",
      "parents": [
        "4927808d39d3dd78a36cde8a9134546ba8316728",
        "9305fb7ea1e0cb434b01fbf7df5c3b4ebec3b27b"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Tue Oct 24 16:44:59 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 24 16:44:59 2017 +0000"
      },
      "message": "Merge \"Return a port from bindToPort() in IpSecService\"\nam: 9305fb7ea1\n\nChange-Id: I51705d5db6af560f2423ef7861bfde6734632ec9\n"
    },
    {
      "commit": "9305fb7ea1e0cb434b01fbf7df5c3b4ebec3b27b",
      "tree": "91d6df1cf0bf28e67ccd40363a62453cef9d5e61",
      "parents": [
        "5aa4dafa5847f6e7866ad81f73a69217fa1449b2",
        "f186d6703ed766f4eca034963536e86c5a75bb7b"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Tue Oct 24 16:31:21 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Oct 24 16:31:21 2017 +0000"
      },
      "message": "Merge \"Return a port from bindToPort() in IpSecService\""
    },
    {
      "commit": "de63772eff39adccc7819765e09b499cfd3b833e",
      "tree": "71761768897d5c31d707e02a85522f70f671abe6",
      "parents": [
        "fb7c0e8c91b49f55040b0d19deb35c387ddb8ee6"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Thu Oct 12 22:16:01 2017 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Fri Oct 20 19:56:27 2017 +0900"
      },
      "message": "Switch to listening for CarrierConfig changes for provisioning rechecks\n\nThis change switches the signal used for provisioning rechecks from:\n\n    ACTION_SIM_STATE_CHANGED\n\nto:\n\n    ACTION_CARRIER_CONFIG_CHANGED\n\nAdditionally:\n    - reexamine carrier config overrides during provisioning re-checks\n      (this just was never happening before).\n    - refactor shared code out to VersionedBroadcastListener\n\nTest: as follows\n    - built\n    - flashed\n    - booted\n    - runtest frameworks-net\nBug: 63400667\nBug: 67755969\nChange-Id: Ib9d222eb7ca0e0dd988a1bd97ab32059189ada2c\n"
    },
    {
      "commit": "d3a57920248c0385d4063bc906b78c5a8bfec054",
      "tree": "c348cca11b2a6befdedc4a7cc79f7eb0eb83865f",
      "parents": [
        "4719440f3f5157dd07e3497e4b834df7aa7d75e8",
        "b6df7f0d35d3a3401e5ff0b1fdfb376a7f908066"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Thu Oct 19 17:14:53 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 19 17:14:53 2017 +0000"
      },
      "message": "Merge \"Add support for AES-GCM-ESP as an IPSec algorithm\"\nam: b6df7f0d35\n\nChange-Id: Ic099206a28c4f21fa796969c953a8d4e81e8495b\n"
    },
    {
      "commit": "f186d6703ed766f4eca034963536e86c5a75bb7b",
      "tree": "b3e06da1639540afa7e8600dd18d81a989765d78",
      "parents": [
        "3851f132d10db766f1d9a49099ec19a84957afad"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Tue Oct 10 20:44:28 2017 -0700"
      },
      "committer": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Wed Oct 18 11:43:43 2017 -0700"
      },
      "message": "Return a port from bindToPort() in IpSecService\n\nWhen binding to a random port, the port number was not being\nreturned, so the user is incorrectly receiving a port of zero.\nReturn the port number that was ultimately bound.\n\nBug: 67662580\nTest: Ran CTS test on aosp_angler-eng\nChange-Id: I22f4e5cdc83d43dc453788889990feb34e451bd3\n"
    },
    {
      "commit": "0febe5ece542cf16bc680e72d1484a3f603a18e0",
      "tree": "acf0c896081881751f7ac812736d0c8765f9c024",
      "parents": [
        "e994b4b584a23be4574b725f6b5e654535f8e1d0"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Tue Aug 22 21:42:33 2017 -0700"
      },
      "committer": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Wed Oct 18 11:22:24 2017 -0700"
      },
      "message": "Add support for AES-GCM-ESP as an IPSec algorithm\n\nAllows native AES-GCM-ESP to be used as an IPSec transport/tunnel mode\nalgorithm with kernel support\n\nBug: 63589918\nTest: IPsecService tests added, existing ones pass\nChange-Id: Ie1a9a902be205f269aa37bf956198f2e5b177c21\n"
    },
    {
      "commit": "e4cf6229f7763e34aee24e06d0b0892a1cf5b14b",
      "tree": "d7cd4482a9ca49e694b54d091416ac0408e809f3",
      "parents": [
        "3f6bef874e0d248e91e9a58f2e49b92f233281a3",
        "4071792ccea61340ceefa1cbf75dcc16a1c1739a"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Sun Oct 15 02:53:58 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Oct 15 02:53:58 2017 +0000"
      },
      "message": "Merge \"Fix ConnectivityServiceTest#testNetworkCallbackMaximum\" am: d098328585 am: 104b2bcc79\nam: 4071792cce\n\nChange-Id: Id5ee94ae9a7e2a92289f2b25b0d5c0f0b5b7381a\n"
    },
    {
      "commit": "104b2bcc7971d26c5a2e3e6fe1abfe9396ccf289",
      "tree": "fa6aa6011214b7eb9986d25771f3dd94fb9ccbf7",
      "parents": [
        "8feea076a2907524b423aaefaec3002d8339b5af",
        "d0983285857f9107b9306a57f3b500672d76c7d9"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Sun Oct 15 02:24:52 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Oct 15 02:24:52 2017 +0000"
      },
      "message": "Merge \"Fix ConnectivityServiceTest#testNetworkCallbackMaximum\"\nam: d098328585\n\nChange-Id: I1cbe45eb339903630675713d287e3375c7c98e62\n"
    },
    {
      "commit": "1e5039e0e47eaca3bbe5452f8328c26756468e46",
      "tree": "a9f75f66718e81142ee86fa87b59d025221f7076",
      "parents": [
        "da7edaff329e84ce7b9d3cb2b4699520aed21594"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Oct 12 23:09:25 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Oct 12 23:15:14 2017 +0900"
      },
      "message": "Fix ConnectivityServiceTest#testNetworkCallbackMaximum\n\nAlthough commit 893a762c2f7 fixed some flakyness issues in\ntestNetworkCallbackMaximum so that it became stable when ran on its own,\nit introduced a new source of random failures because instead of\nregistering callbacks after callbacks until a limit was reached, commit\n893a762c2f7 changed the test logic to push the assertions right up to\nthe theoretical limit.\n\nMore precisely when registering and unregistering PendingIntents in a\nloop, not introducing some delay for checking that previous\nPendingIntents have been effectively unregistered can cause the test to\nfail. This patch fixes this issue.\n\nBug: 32561414\nBug: 62918393\nTest: runtest frameworks-net\n      testNetworkCallbackMaximum now succeeds 100 in a row on sailfish\n\nChange-Id: I086817a738ab99fd53ba76ca8faada6151f46472\n"
    },
    {
      "commit": "86eb8a58af344fcf344e7f8a7b8bb0f90f3dbe86",
      "tree": "e4bcf027b560a032d0a7b60baf2fd6dc0afaeb65",
      "parents": [
        "550de399d762964fdfa3b78977048c863fba9fb1",
        "3d4d464f0a577555543d93ae1706a40f37bbf3dd"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Oct 12 12:34:55 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 12 12:34:55 2017 +0000"
      },
      "message": "Merge \"Import a few android.net unit tests into frameworks-net\" am: 24660e5bb7 am: 1ce75f643c\nam: 3d4d464f0a\n\nChange-Id: Icf9ccd265754f1b85720bb778633dc5ef515646e\n"
    },
    {
      "commit": "1ce75f643cc31d3fd38ce3609b213de27b0c309a",
      "tree": "5867757ae9150f885f537322d9b71b73f81f79ac",
      "parents": [
        "7d9588c83648401337f93ecb16d854155f4d603a",
        "24660e5bb7c99c589291b608b794333cc8f32d9d"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Oct 12 12:13:20 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 12 12:13:20 2017 +0000"
      },
      "message": "Merge \"Import a few android.net unit tests into frameworks-net\"\nam: 24660e5bb7\n\nChange-Id: I41655938d6d1df19130847210437f047c8b65cdf\n"
    },
    {
      "commit": "550de399d762964fdfa3b78977048c863fba9fb1",
      "tree": "c682ed132e1a52e2612618c68b1e42442f98f1d5",
      "parents": [
        "aceb1515526691bf5196960ca1210a4d82ab4333",
        "c40687f85a400da608ee5a2f55a66efd40560914"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Oct 12 09:43:11 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 12 09:43:11 2017 +0000"
      },
      "message": "Merge \"Migrate most of core networking tests to junit4\" am: 9d456cd9c6 am: 7d9588c836\nam: c40687f85a\n\nChange-Id: Ic59ca37bbb31ba091c8b6d31170584b946c2527a\n"
    },
    {
      "commit": "7d9588c83648401337f93ecb16d854155f4d603a",
      "tree": "833c007130ec45a16016b5fc4fa1b750f60f4f98",
      "parents": [
        "1c36619f5b7908a73a82c3e91e0e5ce079a7dfe1",
        "9d456cd9c600e13db0d3840fa08e9785c555a934"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Oct 12 09:24:40 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Oct 12 09:24:40 2017 +0000"
      },
      "message": "Merge \"Migrate most of core networking tests to junit4\"\nam: 9d456cd9c6\n\nChange-Id: Ib124efb327bfbacd5a637753f9c9724e27a218cb\n"
    },
    {
      "commit": "da7edaff329e84ce7b9d3cb2b4699520aed21594",
      "tree": "0d59116fa8394ad33c37f2566cc3aa75f09b72cc",
      "parents": [
        "4a0c5d7ef7144280fe8a209a871bbd4ef90d6368"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Oct 12 09:54:49 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Oct 12 15:55:22 2017 +0900"
      },
      "message": "Import a few android.net unit tests into frameworks-net\n\nBug: 62918393\nTest: runtest frameworks-net\nChange-Id: I3c7c60bcfeffec5c5ec287810312349237a2868a\n"
    },
    {
      "commit": "4a0c5d7ef7144280fe8a209a871bbd4ef90d6368",
      "tree": "f6e8b2f8e53eddf4f71db1829a97390201c9b9f2",
      "parents": [
        "5f123e6ad6603c83e6f32ccdcdb0576c647bc2df"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Wed Oct 11 11:26:25 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Oct 12 15:26:09 2017 +0900"
      },
      "message": "Migrate most of core networking tests to junit4\n\nThis patch is a batch of mechanical changes to test classes to migrate\naway from AndroidTestCase and TestCase.\n\nBug: 62918393\nTest: runtest frameworks-net\nChange-Id: I74134609e511f22c4d9ecd65780e981f9ba7ae3f\n"
    },
    {
      "commit": "1617f759a3f6a0a7431588e54f7e6067c03ecccf",
      "tree": "0a5982f49efcbbb14f19a0bb690c14aa9a77e5b8",
      "parents": [
        "4229c3fcbd37c9cb5e320bf22c036592fa7362e0",
        "85e7dbc93ee35d134a75a352093baf29127715ea"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Wed Oct 11 18:23:56 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 11 18:23:56 2017 +0000"
      },
      "message": "Merge \"Send a11y updates for updated notifications\" into oc-mr1-dev\nam: 85e7dbc93e\n\nChange-Id: Iaabe6d5820feefb2de29a5a37fb28af84cc0622b\n"
    },
    {
      "commit": "9418756a11162efd78cb0a6fc87873ee15252bff",
      "tree": "849ea1a6261124d3d2be484e3ff3493640726800",
      "parents": [
        "33238f213fd7d7f748080385bc0952e2345bd6f9"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Tue Oct 10 13:58:49 2017 -0400"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Tue Oct 10 15:10:39 2017 -0400"
      },
      "message": "Send a11y updates for updated notifications\n\nUnless the updated notification is quiet.\n\nTest: runtest systemui-notification\nChange-Id: I0d0b27cedf085c00648d00ed63f252f94d8e5e35\nFixes: 67626983\n"
    },
    {
      "commit": "bbb7768f4f6b20469e43a9b9e24542a64e35db02",
      "tree": "c322255a4882abf6cc06fdd745052fde1c101dd1",
      "parents": [
        "af15f857338712f6de211d86aeae4e367b6f2949",
        "06d401ae7358f9cb3e11600ba249271390388364"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri Oct 06 10:11:04 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Oct 06 10:11:04 2017 +0000"
      },
      "message": "Merge \"Add some useful helpers and constants.\" am: ed8d236319 am: 0f4421873e\nam: 06d401ae73\n\nChange-Id: Iaf611b8e39080d677c9cfe7edb124c11bbdf8a81\n"
    },
    {
      "commit": "0f4421873eab8c36b26172dbbe97dc4f29e6b1b1",
      "tree": "d9170bc2c0c8974c9795b88416ded13d0cd82b60",
      "parents": [
        "cb2860362be8ebd83f68e4ac5303a0d518e25037",
        "ed8d236319a112a0b19b1f05ea55a90ba93e8aa2"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri Oct 06 09:48:32 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Oct 06 09:48:32 2017 +0000"
      },
      "message": "Merge \"Add some useful helpers and constants.\"\nam: ed8d236319\n\nChange-Id: I3a934e19ece91bf5957e4c5fa289bbc1a6242915\n"
    },
    {
      "commit": "e5659bd316d20ab1292daeac6d9a91ac00573d33",
      "tree": "753b3569250b1a343e7209caba382162b6149787",
      "parents": [
        "a666dbb628f31c51d2a1afd4927da67c891f009a"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Oct 04 14:51:42 2017 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri Oct 06 13:38:46 2017 +0900"
      },
      "message": "Add some useful helpers and constants.\n\nTest: Pulled out of a client app ; the client app is behaving\nTest: identically to how it was behaving before. Wrote unit\nTest: tests in frameworks-net.\n\nChange-Id: I397137748a95c65cee2e1e1b243a1a260e83a6f7\n"
    },
    {
      "commit": "389304294457c07997c0450421d8b4e8dd524e22",
      "tree": "9a0ad0102210e151d5789488587b820d85fb4c53",
      "parents": [
        "fcd0e0a55454c13b8f535dbc2ce61352e649680a",
        "bb3ff15495156dc04a80e74a2733d89914e34f4b"
      ],
      "author": {
        "name": "gopinath",
        "email": "gelanchezhian@google.com",
        "time": "Fri Oct 06 01:09:43 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Oct 06 01:09:43 2017 +0000"
      },
      "message": "Avoid spaces in the trace file names.\nam: bb3ff15495\n\nChange-Id: Id9c8733c21f9aaee286519e45647c57067cc5b1b\n"
    },
    {
      "commit": "bb3ff15495156dc04a80e74a2733d89914e34f4b",
      "tree": "691c7cf789fc463b64c9b981f4990283cc95885c",
      "parents": [
        "b844956d69de03632efccf914be725e5fbe60180"
      ],
      "author": {
        "name": "gopinath",
        "email": "gelanchezhian@google.com",
        "time": "Fri Sep 15 18:09:02 2017 -0700"
      },
      "committer": {
        "name": "Gopinath Elanchezhian",
        "email": "gelanchezhian@google.com",
        "time": "Thu Oct 05 22:42:53 2017 +0000"
      },
      "message": "Avoid spaces in the trace file names.\n\nHaving spaces in the trace file names introduces slashes in the\nfile names and not able to pull the file names with the slashes\nfrom the device.So avoid having spaces while constructing the\ntrace file names.\n\nBug : b/65737738\n\nChange-Id: Ie1971566586f77d18b17722ce0e3cc9ef3ebfdd3\n(cherry picked from commit 3f04fb1bcf168e5ea8aae090f86b9122189c6390)\n"
    },
    {
      "commit": "b87c060ec759a5127a14538520d3e024275f2dad",
      "tree": "1c0f3bbfc8336dd066ede5c17440933b1ec9da29",
      "parents": [
        "d03db3c7f999d0acaccc9910c0be1b1a5b47a21b",
        "4e793fd0b5165204426fb4dfffc70ab8789caab3"
      ],
      "author": {
        "name": "nharold",
        "email": "nharold@google.com",
        "time": "Wed Oct 04 20:53:04 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 04 20:53:04 2017 +0000"
      },
      "message": "Merge changes from topic \"ipsec-svc-cleanup\" am: 9778c7884f am: ae61e0c6e8\nam: 4e793fd0b5\n\nChange-Id: Ib7eae5c9e223493281524e862979e16d25984dde\n"
    },
    {
      "commit": "ae61e0c6e82c187c8fabf5a40c0bffa8f1923215",
      "tree": "c37f35c93f42a0c1df5fbf9f26de71c3e34fe795",
      "parents": [
        "8057ba832e55c747e57342b55284476cf9d8fd90",
        "9778c7884f88e19c83304ae57ffa14d89f44cec4"
      ],
      "author": {
        "name": "nharold",
        "email": "nharold@google.com",
        "time": "Wed Oct 04 20:24:10 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 04 20:24:10 2017 +0000"
      },
      "message": "Merge changes from topic \"ipsec-svc-cleanup\"\nam: 9778c7884f\n\nChange-Id: Ide81ae76bd05ba3a2cc7c06c072306d30a489057\n"
    },
    {
      "commit": "2e9a5200241cadd90861fa50ecda6cde81ac4a47",
      "tree": "1df81f80463b4cdbb4eb1fd82fb944bdfa660ad3",
      "parents": [
        "19ce70b089310bc4ecb193b728e2ea7d3471ba20"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Tue Sep 26 11:44:23 2017 -0700"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Tue Oct 03 19:45:59 2017 -0700"
      },
      "message": "Split IpSecServiceTest to add IPv6 Tests\n\n-Split IpSecServiceTest into parameterized\n and single tests.\n-Add IPv6 parameters\n\nBug: 66954381\nTest: this\nChange-Id: Ib98c112560014f73bccc3d2842c31d297c7a07ef\n"
    },
    {
      "commit": "19ce70b089310bc4ecb193b728e2ea7d3471ba20",
      "tree": "8ce63336966c9177ff74ade1776e8f2f71d72c29",
      "parents": [
        "a10003d5de52339f4d30fedd7294941378e5f13c"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Mon Sep 25 19:33:13 2017 -0700"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Tue Oct 03 19:45:58 2017 -0700"
      },
      "message": "Add equals() for IpSecAlgorithm and IpSecConfig\n\nAdd equality testing methods to support tests\nfor parceling and un-parceling IpSecConfig.\n\nBug: 38397094\nTest: runtest -x IpSecConfigTest.java\nChange-Id: I31e318334d39ed6e9daf5ec8f3be7dcec75e12ad\n"
    },
    {
      "commit": "a10003d5de52339f4d30fedd7294941378e5f13c",
      "tree": "2ec4a2c155a9b379aa330905c0e04ca61df2780e",
      "parents": [
        "1704df64ceaa282c8f91f886204261af1f4395a2"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Wed Aug 23 13:46:33 2017 -0700"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Tue Oct 03 19:45:55 2017 -0700"
      },
      "message": "Input Validation for IpSecService\n\nAll of the input to IpSecService over the Binder\ninterface needs to be validated both for sanity\nand for safety.\n\n-Sanity check all the parameters coming from binder.\n-Added setters for IpSecConfig to decouple the test\n from the IpSecManager. This was needed because the\n input validation caused the tests to fail due to a\n null parameter that was previously un-tested.\n-Added the mode flag to the IpSecConfig bundle this\n oversight was found during testing.\n-Expose the getResourceId() methods for testing in\n UdpEncapsulationSocket, SecurityParameterIndex, and\n IpSecTransform classes.\n-Remove the unneeded getIpSecConfig() from\n IpSecTransform: unneeded now that we can synthesize\n configs.\n\nBug: 38397094\nTest: runtest frameworks-net\nChange-Id: I5241fc7fbfa9816d54219acd8d81a9f7eef10dd4\n"
    },
    {
      "commit": "124b3e77385684be58fbae4e066afb89803bd4fc",
      "tree": "980168b8513a0e79d8d7697bdcfeabaddf9ff541",
      "parents": [
        "6833a8dde70b25190c640674fae0712f2306521f",
        "9d5f50a9f850a0878ac76095b92f14746c7a93de"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Mon Oct 02 11:10:37 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 02 11:10:37 2017 +0000"
      },
      "message": "Merge \"DO NOT MERGE Ignore DUN in describeImmutableDifferences\" into oc-mr1-dev\nam: 9d5f50a9f8\n\nChange-Id: I0236132b8b497af5b1c26aa44e6494fe0510cb6d\n"
    },
    {
      "commit": "9d5f50a9f850a0878ac76095b92f14746c7a93de",
      "tree": "cda227e9259f4937f2724de827a91ecb2ec7046e",
      "parents": [
        "41c78dbd9e3e54b71ee1b4bd469d97a6596964cd",
        "a8f395702d2bd2d599da65454eba78cbf8f3049d"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Mon Oct 02 10:57:01 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 02 10:57:01 2017 +0000"
      },
      "message": "Merge \"DO NOT MERGE Ignore DUN in describeImmutableDifferences\" into oc-mr1-dev"
    },
    {
      "commit": "6833a8dde70b25190c640674fae0712f2306521f",
      "tree": "b722f5cd0e67806c29481386dfe347d6eec3304d",
      "parents": [
        "c50a4b06de4ac03a644a951cb91834c0753302ea",
        "eced6cd14a17a282af8cef74c139bce9a216952d"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Mon Oct 02 10:51:21 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 02 10:51:21 2017 +0000"
      },
      "message": "Merge \"ConnectivityServiceTest: fix flaky testNetworkRequestMaximum\" am: 1211941aa0 am: 0d506fc4f4\nam: eced6cd14a\n\nChange-Id: I53d0d6755c8e0be34db66da56efa483006e538ac\n"
    },
    {
      "commit": "0d506fc4f439947702b2944650aa77e65ad488e6",
      "tree": "e34e19a6a30403ef758e66d08dfce332cc303c25",
      "parents": [
        "849805b804fc4a33448d45cef4ac26728904787b",
        "1211941aa0ec8a65385dddfdae17ce6580172ab6"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Mon Oct 02 10:36:22 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 02 10:36:22 2017 +0000"
      },
      "message": "Merge \"ConnectivityServiceTest: fix flaky testNetworkRequestMaximum\"\nam: 1211941aa0\n\nChange-Id: I169e1d48bffab3326dd61011b7747c1400b9bc74\n"
    },
    {
      "commit": "1211941aa0ec8a65385dddfdae17ce6580172ab6",
      "tree": "0ffeace6803cfbff9fa9a825d5fee430124da038",
      "parents": [
        "d30e47ecfc821682260c8cc869e0f484b453ddbb",
        "893a762c2f755121cf706fd726817adb9d91212b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Oct 02 10:24:48 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 02 10:24:48 2017 +0000"
      },
      "message": "Merge \"ConnectivityServiceTest: fix flaky testNetworkRequestMaximum\""
    },
    {
      "commit": "893a762c2f755121cf706fd726817adb9d91212b",
      "tree": "0cf47f6a61cecd327dd2152b2f02899c243b27d4",
      "parents": [
        "34cf8b2c0427be2ca47c49c61d88b138ee2c784f"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Fri Sep 29 09:34:08 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Mon Oct 02 17:37:57 2017 +0900"
      },
      "message": "ConnectivityServiceTest: fix flaky testNetworkRequestMaximum\n\nRegistered requests are not keyed by PendingIntents in\nConnectivityService, which means that unregistering a request with a\nPendingIntent causes a linear search in all registered requests.\n\ntestNetworkRequestMaximum was registering too many PendingIntents\nsimultaneously, causing the unregistration loop to have n^2\ncomplexity and to take a long time to take effect.\n\nTo make the unregistering loop less likely to trigger a timeout on\nwaitForIdle, this patch changes the test to not register MAX_REQUEST\nnumber of PendingIntent, but instead mixes a small number of\nPendingIntents with NetworkCallbacks to reach MAX_REQUEST number of\nsimultaneously registered requests.\n\nWhen unregistering these requests, callbacks are unregistered first.\n\nBug: 32561414\nTest: runtest frameworks-net\nChange-Id: I48b882c884abe20b388190b7f28baee293446f37\n"
    },
    {
      "commit": "a8f395702d2bd2d599da65454eba78cbf8f3049d",
      "tree": "3cf4e7d360ac28a93bee4d4c57fd7eca5d170c6a",
      "parents": [
        "71acf7074fd03284ca44360680a000d504dab2f4"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Sat Sep 30 22:17:07 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Mon Oct 02 15:03:57 2017 +0900"
      },
      "message": "DO NOT MERGE Ignore DUN in describeImmutableDifferences\n\nThis patch changes describeImmutableDifferences in NetworkCapabilities\nto ignore differences in NET_CAPABILITY_DUN, so that updateCapabilities\nin ConnectivityService to not report wtf errors when a NetworkAgent\ndegrades its NetworkCapabilities object by removing NET_CAPABILITY_DUN.\n\nBug: 65257223\nTest: runtest frameworks-net\nChange-Id: I115ed1b366da01a3f8c3c6e97e0db8ce995fd377\n"
    },
    {
      "commit": "c50a4b06de4ac03a644a951cb91834c0753302ea",
      "tree": "2c699ba6ec278ef2a70795456a70995a60cbfc7f",
      "parents": [
        "7c55e52d5193c6baa0c6ca45a9c080240df2cac4",
        "41c78dbd9e3e54b71ee1b4bd469d97a6596964cd"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Sun Oct 01 02:51:42 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Oct 01 02:51:42 2017 +0000"
      },
      "message": "Merge \"revamp app compat test harness\" into oc-mr1-dev\nam: 41c78dbd9e\n\nChange-Id: Ifab3c9106f323b1e5e1d12a9b0f50dc00aeb3a88\n"
    },
    {
      "commit": "a5fe0de1a8bf6f678bd56e96eda94a93ced5ab3d",
      "tree": "ba39df55b61d02bb3c799480980e54db4ef1b086",
      "parents": [
        "4de7ab5cb14846d9b416a274b4371a8f5c09d160"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Thu Sep 28 18:11:19 2017 -0700"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Sat Sep 30 13:28:40 2017 -0700"
      },
      "message": "revamp app compat test harness\n\n- migrate away from deprecated JUnit3 paradigm\n- scan dropbox entries for app errors, instead of probing\n  task list\n- use IActivityController to suppress crash dialogs and record\n  detected app errors\n- use combined dropbox and activity controller detected errors\n  to determine app errors\n\nBug: 67002148\nTest: run harness against apps known to crash\nChange-Id: If108cfdc7474a13e24f0d8350a7cbf99e3b51c46\n"
    },
    {
      "commit": "853999f25a0c67504dfdc26829255513f9aedec2",
      "tree": "6311f4fac379f060fcfb811cd0576b728133545b",
      "parents": [
        "0ab501b9821be7c82fb0c2b28695c9ef7cb76c7f",
        "a59b4d1568fccc72ab8c52dbc9aaa4da6f35b98e"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Fri Sep 29 17:16:37 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 29 17:16:37 2017 +0000"
      },
      "message": "Merge \"Change BlockingSocketReader to use MessageQueue fd handling\" am: 48c7d27f64 am: b9b0886335\nam: a59b4d1568\n\nChange-Id: I3f3f1aa7e57ea6311e91f88724a2ac3c3a6ee9c6\n"
    },
    {
      "commit": "b9b0886335da4f621a00fe3af879820a54502100",
      "tree": "0160b1910089d0a3a54e811a682191c166d82c5f",
      "parents": [
        "0dae24ff44d6f332286c8a7bb7ea2bb3a6716103",
        "48c7d27f6490de0c439dd83c46a1457822095aa5"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Fri Sep 29 02:41:34 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 29 02:41:34 2017 +0000"
      },
      "message": "Merge \"Change BlockingSocketReader to use MessageQueue fd handling\"\nam: 48c7d27f64\n\nChange-Id: Ie2ad48132d68d3682e99a4626472c5780457e4a3\n"
    },
    {
      "commit": "48c7d27f6490de0c439dd83c46a1457822095aa5",
      "tree": "a6775d2a60f4191dd7a77715b8d4ae2edc01ec70",
      "parents": [
        "34cf8b2c0427be2ca47c49c61d88b138ee2c784f",
        "f840e07f821cb17c9ae1e6583a28eff548b90892"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Sep 29 02:12:32 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Sep 29 02:12:32 2017 +0000"
      },
      "message": "Merge \"Change BlockingSocketReader to use MessageQueue fd handling\""
    },
    {
      "commit": "a838fcfa75d7c45d06ac7c8ef5bfc4bac90d6abf",
      "tree": "0bd1d0de7ba0411880cd0dfaeb68922296409e00",
      "parents": [
        "d74766c25145b04d4841abc00af6b67a0c83e96c",
        "a5d620ae92533783f128332278458bb5fae6452d"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Sep 28 12:35:03 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Sep 28 12:35:03 2017 +0000"
      },
      "message": "Merge \"Fix NPE in NsdServiceTest\" am: 60d5390f7a am: f9422cc65b\nam: a5d620ae92\n\nChange-Id: Ieb299771438fe55566b76271815e52d02da799c8\n"
    },
    {
      "commit": "f9422cc65b91948292b7d92d54faaf870d9a20cc",
      "tree": "44c41b9aceb262c2ce6ec57fe7041b7d036cc6b6",
      "parents": [
        "758d1e1ef74328015fe3aecf22d70462e2060837",
        "60d5390f7a23994bfe1a08104f59709a9ad12584"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Sep 28 12:22:34 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Sep 28 12:22:34 2017 +0000"
      },
      "message": "Merge \"Fix NPE in NsdServiceTest\"\nam: 60d5390f7a\n\nChange-Id: Ic9b7aaec14066d18247cc1efbdc06be1e6a79f29\n"
    },
    {
      "commit": "60d5390f7a23994bfe1a08104f59709a9ad12584",
      "tree": "5b19f3fc01a9cf5a41235806892f7108339148d8",
      "parents": [
        "6201cc6f2711db13e4699ae1a95b6759dd11d3cc",
        "d9e551957b6b18b5260149f291101146de68aa0e"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Sep 28 12:13:18 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 28 12:13:18 2017 +0000"
      },
      "message": "Merge \"Fix NPE in NsdServiceTest\""
    },
    {
      "commit": "f840e07f821cb17c9ae1e6583a28eff548b90892",
      "tree": "7917793551477f9051ccb53e0617aa834d715f0b",
      "parents": [
        "f4ec2ab706a7a8741923f074c6f79192d5a93dfd"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Mon Jul 10 20:17:30 2017 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Thu Sep 28 18:22:40 2017 +0900"
      },
      "message": "Change BlockingSocketReader to use MessageQueue fd handling\n\nConvert the simplistic blocking read in a separate thread model to\nthe MessageQueue OnFileDescriptorEventListener model, albeit still\non a separate thread.\n\nTest: as follows\n    - built\n    - flashed\n    - booted\n    - \"runtest frameworks-net\" passes\n    - basic IpManager functions still work,\n      including ConnectivityPacketTracker\nBug: 62476366\nBug: 67013397\nChange-Id: I1f4a6707eba402338947fe3f5392a26660f05714\n"
    },
    {
      "commit": "d9e551957b6b18b5260149f291101146de68aa0e",
      "tree": "4069adc3026ebf5424485414a0d2959ecc2a1fe8",
      "parents": [
        "bff14ae56fe922549bea1f905606000b02cbacd7"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Sep 26 14:51:11 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Sep 28 15:22:13 2017 +0900"
      },
      "message": "Fix NPE in NsdServiceTest\n\nContinuous test dashboards report that quit() can crash sometimes\ndue to mThread being null.\n\nThis patch adds a null guard in tearDown().\n\nBug: 32561414\nTest: runtest frameworks-net\nChange-Id: If66fb47e31e77d25b4741a786f12eb78f0b9102e\n"
    },
    {
      "commit": "c34d05691daf8798bf843f5e93222c74bf56e3d7",
      "tree": "aac50a61b8b94615d9f5e91ebe53af1f8206f0a4",
      "parents": [
        "fa8af503a7616e13631bcfcc74d61b10095a9449",
        "bb21618a861d7c08a4bf5701c3333beaec28eb56"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Sep 27 11:05:29 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Sep 27 11:05:29 2017 +0000"
      },
      "message": "Merge \"Delete the legacy framework code for manipulating ND offload.\" am: d1ae268081 am: 53eb9d359a\nam: bb21618a86\n\nChange-Id: I07d9753e214af311d3dcab6f8016442f60388700\n"
    },
    {
      "commit": "53eb9d359aff7a152c9f7551aa605a5e8e5db057",
      "tree": "7fb31a1c3b6f2a9cbe70ad282f782ac3e0260bb0",
      "parents": [
        "f3b169c8e60dd9b971edd84311facb4949fd9d6d",
        "d1ae268081a17fe9cad319bdd05787e5571a2c05"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Sep 27 10:53:05 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Sep 27 10:53:05 2017 +0000"
      },
      "message": "Merge \"Delete the legacy framework code for manipulating ND offload.\"\nam: d1ae268081\n\nChange-Id: I060bd7632b809d89224d250c697ac9d2e89d5c2d\n"
    },
    {
      "commit": "d1ae268081a17fe9cad319bdd05787e5571a2c05",
      "tree": "03596cfb80bc0002c7f7eb5c3554e3c4c71f2b4e",
      "parents": [
        "b4a5933a620ba3c9fc3181271ed4a0448f6552fd",
        "59da962b9fd7f96c5d19249d65152e76566ec1fd"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Sep 27 10:46:36 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 27 10:46:36 2017 +0000"
      },
      "message": "Merge \"Delete the legacy framework code for manipulating ND offload.\""
    },
    {
      "commit": "85aa652492c82ba0a6642810c370caf72221f7ef",
      "tree": "bd4b3673ac4c6ef0acabf6c0082dee874bb8a7b9",
      "parents": [
        "47cfcef09c53b1670a25c145a463ab61d499e3fa",
        "a6648cc90bddf80405fc29d387fe6cb0f463cdc5"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Sep 27 08:51:51 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Sep 27 08:51:51 2017 +0000"
      },
      "message": "Merge \"Declare support for Ethernet if the service is running.\" am: 0d3d35b30b am: 5ada8e56f8\nam: a6648cc90b\n\nChange-Id: Iafd9807ab76ce4e4ab1fd506d7b0e2b2b7017751\n"
    },
    {
      "commit": "8fa085e76f1618b87e01e8c2b79fcb942056a119",
      "tree": "f3b7f2f322a4bb4071bd9da8aa1d96aa4b6303af",
      "parents": [
        "e545f00e101d1306829e7949e02d1002e40ab66b"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Aug 24 22:35:10 2017 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Sep 27 17:35:06 2017 +0900"
      },
      "message": "Declare support for Ethernet if the service is running.\n\nOn some devices, support for TYPE_ETHERNET is not specified in\nthe networkAttributes config resource, even though the device is\ncapable of supporting Ethernet (e.g., via USB host adapters).\nThis leads to Ethernet working but various connectivity APIs\nbehaving as if it was not - for example, no CONNECTIVITY_ACTION\nbroadcasts will be issues when it connects or disconnects.\n\nEnsure that ConnectivityService always treats Ethernet as\navailable if the service is running. Currently the service is\nstarted if the device supports FEATURE_ETHERNET or\nFEATURE_USB_HOST.\n\n(cherry picked from commit 7bbe3eee52c08ee92a81b7bed395ca5499554cc4)\n\nBug: 37359230\nTest: bullhead builds, boots\nTest: ConnectivityServiceTest passes\nTest: Ethernet is available even if removed from networkAttributes resource\nTest: ConnectivityManagerTest CTS test passes\nChange-Id: I9b6db4edeaf966ee6715011dd92770b9d25dd938\nMerged-In: I9b6db4edeaf966ee6715011dd92770b9d25dd938\n"
    },
    {
      "commit": "5ada8e56f8987f2794c188bad194a51ea8a80947",
      "tree": "de9c43b77be0387e7735dc201e2b83e3669db12c",
      "parents": [
        "602aa57cb952d44a0d479f71acf6733085cc0996",
        "0d3d35b30b5692fc93afe98b08c25be20d6553ad"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Sep 27 08:32:43 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Sep 27 08:32:43 2017 +0000"
      },
      "message": "Merge \"Declare support for Ethernet if the service is running.\"\nam: 0d3d35b30b\n\nChange-Id: Ie0a0190da53571c6f4b466840b7878eb54b5e136\n"
    },
    {
      "commit": "0d3d35b30b5692fc93afe98b08c25be20d6553ad",
      "tree": "e2c3867020452da9f1068cebcb05b7cbba57e99e",
      "parents": [
        "bff14ae56fe922549bea1f905606000b02cbacd7",
        "7bbe3eee52c08ee92a81b7bed395ca5499554cc4"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Sep 27 08:23:34 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Sep 27 08:23:34 2017 +0000"
      },
      "message": "Merge \"Declare support for Ethernet if the service is running.\""
    },
    {
      "commit": "59da962b9fd7f96c5d19249d65152e76566ec1fd",
      "tree": "38763d7fe6e5c6caf219d51d37fb5dcaa27858b5",
      "parents": [
        "7bbe3eee52c08ee92a81b7bed395ca5499554cc4"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Sep 27 13:17:47 2017 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Sep 27 16:47:36 2017 +0900"
      },
      "message": "Delete the legacy framework code for manipulating ND offload.\n\nThis only worked on broadcom devices, and was superseded in\nM by a wifi HAL call made by IpManager.\n\nTest: bullhead builds, boots\nChange-Id: I711cae7dafe171c2c8b4e84a229adbcad27f3d14\n"
    },
    {
      "commit": "7bbe3eee52c08ee92a81b7bed395ca5499554cc4",
      "tree": "5a523013f10c2c419b3b50ac7ac4a97e7d11f43e",
      "parents": [
        "a7bf2a21d99b5044af3262d806509153899777e5"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Aug 24 22:35:10 2017 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Sep 27 13:03:10 2017 +0900"
      },
      "message": "Declare support for Ethernet if the service is running.\n\nOn some devices, support for TYPE_ETHERNET is not specified in\nthe networkAttributes config resource, even though the device is\ncapable of supporting Ethernet (e.g., via USB host adapters).\nThis leads to Ethernet working but various connectivity APIs\nbehaving as if it was not - for example, no CONNECTIVITY_ACTION\nbroadcasts will be issues when it connects or disconnects.\n\nEnsure that ConnectivityService always treats Ethernet as\navailable if the service is running. Currently the service is\nstarted if the device supports FEATURE_ETHERNET or\nFEATURE_USB_HOST.\n\nBug: 37359230\nTest: bullhead builds, boots\nTest: ConnectivityServiceTest passes\nTest: Ethernet is available even if removed from networkAttributes resource\nTest: ConnectivityManagerTest CTS test passes\nChange-Id: I58801bf4f0bbdc3ff6345ec6bfdc911ce045c8ab\n"
    },
    {
      "commit": "f43db3bf94771a73ab08f4d9d9badb50af78e3ce",
      "tree": "bdd3ba09a3a5a0238e3548a9ce7e883d18b14b08",
      "parents": [
        "1818704efbc23e8f7ce8227a37d7c8af134f421e",
        "b91bd88c5e1999cb4696e8f76c41670142769bc2"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Sep 26 13:05:41 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Sep 26 13:05:41 2017 +0000"
      },
      "message": "Merge changes Ia47e566b,Ib94d79a9 am: b9e2ddfc10 am: a2161c5ccb\nam: b91bd88c5e\n\nChange-Id: Ied2b31c9d1219b8aebf5fec085ab598b77bede6e\n"
    },
    {
      "commit": "a2161c5ccb4a6f24a6c53d1623624d5c57073558",
      "tree": "81ebedf10f20a59b95643ca46b3801c19b4ce817",
      "parents": [
        "aeb6820f112b9d1bbf725cbeac8ee190a79dda6e",
        "b9e2ddfc10c30b80ada4756d7401b715ebfa0fc5"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Sep 26 11:46:30 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Sep 26 11:46:30 2017 +0000"
      },
      "message": "Merge changes Ia47e566b,Ib94d79a9\nam: b9e2ddfc10\n\nChange-Id: I0cac456f778db78d76d2225b79ce42526a6d2d19\n"
    },
    {
      "commit": "67c5e03b54e322a4dab897cbdd36d51ecc007f1e",
      "tree": "05aacb7319a68e781029266d4d897c39aa6b4994",
      "parents": [
        "b0510407da3f5ff7e4e135f6dc348fd6a380653e"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Sep 14 16:31:38 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Sep 26 14:14:16 2017 +0900"
      },
      "message": "Extract RingBuffer class from NetdEventListenerService\n\nThis patch takes out the ring buffer array added for NFLOG wakeup packet\nevents logging and extract it into its own class for reuse. This new\nRingBuffer class has the two minimal useful functions append() and\ntoArray().\n\nBug: 65164242\nBug: 65700460\nTest: runtest frameworks-net, with new unit test\nChange-Id: Ib94d79a93f4e99661b7d0fac67117b91d57af980\n"
    },
    {
      "commit": "573959665979f60fc526f0d2e9851e275fe508e6",
      "tree": "1e11004c53d21aa04cd743ba5a6d5ebd945b3648",
      "parents": [
        "8bc2569538887ee28a4d71fbac075a4125f914b8",
        "1347ac810918e7db158f459824d372a2e96d4ee5"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Thu Sep 21 12:06:05 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Sep 21 12:06:05 2017 +0000"
      },
      "message": "Merge \"Also support 464xlat on SUSPENDED networks\" am: 995a28d334 am: 69a28066bd\nam: 1347ac8109\n\nChange-Id: I83ae39a2e36bc036dce419c80dd476d2358b4537\n"
    },
    {
      "commit": "69a28066bdf731105c4f52f50ffee32c4350e968",
      "tree": "22d759cb7b2562e0ad3a6a01bb194a9b34bee19e",
      "parents": [
        "7a5dd80c9502bad6c98eb61299d8c2168147fd2c",
        "995a28d334cded5ed736b69b5ead8bcda4db87e0"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Thu Sep 21 11:55:35 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Sep 21 11:55:35 2017 +0000"
      },
      "message": "Merge \"Also support 464xlat on SUSPENDED networks\"\nam: 995a28d334\n\nChange-Id: Iab87bfcb66e7932d61beec38bcbda366262eab46\n"
    },
    {
      "commit": "995a28d334cded5ed736b69b5ead8bcda4db87e0",
      "tree": "d94dc6df4ad9df99d585731bfff8185719902481",
      "parents": [
        "69efc596af8abfebd28f3e7dce8a81f512a01db7",
        "3c18216c26c7bd0580ca4bfb7daa58992037f2c9"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Sep 21 11:47:33 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 21 11:47:33 2017 +0000"
      },
      "message": "Merge \"Also support 464xlat on SUSPENDED networks\""
    },
    {
      "commit": "3c18216c26c7bd0580ca4bfb7daa58992037f2c9",
      "tree": "afa1b97e7cd1c9c6de2c78bf70ed5123f15b7ad3",
      "parents": [
        "29fc1d78a99537dde0f634633fe1950997dd4c4a"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Thu Sep 21 17:28:10 2017 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Thu Sep 21 18:06:29 2017 +0900"
      },
      "message": "Also support 464xlat on SUSPENDED networks\n\nTest: as follows\n    - built\n    - flashed\n    - booted\n    - runtest frameworks-net passes\nBug: 65684232\n\nChange-Id: I1b10aab01554b1f926ec7157dba78645fdaff90f\n"
    },
    {
      "commit": "7a5dd80c9502bad6c98eb61299d8c2168147fd2c",
      "tree": "7b417bb2a0c9217737a5a7021085865c0d0a717e",
      "parents": [
        "c7588904ba0592517c5b381f30e2ddd247538b62",
        "69efc596af8abfebd28f3e7dce8a81f512a01db7"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Thu Sep 21 08:47:43 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Sep 21 08:47:43 2017 +0000"
      },
      "message": "Merge \"have OffloaderController store and re-push more state\"\nam: 69efc596af\n\nChange-Id: I468b9d774bb273c765ee6ff597ff207d047e1cc6\n"
    },
    {
      "commit": "bc8b2eec199f0cb9e3f54f4f1bd5569761c8d9fe",
      "tree": "dbf0f20e03e0330a8fabb482806875a81ba53172",
      "parents": [
        "29fc1d78a99537dde0f634633fe1950997dd4c4a"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Tue Sep 19 17:56:10 2017 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Thu Sep 21 15:41:53 2017 +0900"
      },
      "message": "have OffloaderController store and re-push more state\n\nTest: as follows\n    - built\n    - flashed\n    - booted\n    - runtest frameworks-net passes\nBug: 29337859\nBug: 32163131\nBug: 64976634\nMerged-In: If3a859736a1b3730e4e3d0d2685f3e5432927796\nMerged-In: If9afc160fa2f8b5da66cb0a6a35dfcb4f1839d36\nChange-Id: Ib1421438a1e748722fc41f1fbfb01ada187bb1c8\n(cherry picked from commit 7334b0e2cc5ec7f8803c463a1e674cceb7e4c3ba)\n"
    }
  ],
  "next": "48db1fb74f5df81144aee1c72c3cd7b1dab4a59e"
}
