)]}'
{
  "log": [
    {
      "commit": "47d04fc5c0f49211f95cdf23c362b92efc298ecd",
      "tree": "60def63ce267957019ffeecd462c5cdbf83d6687",
      "parents": [
        "3c7bc2dc06ce976e876296ed70272215b4886a95",
        "56ff021d505d57174c56c731cfececb1f5fe6e8e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 21 15:27:23 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 21 15:27:23 2017 +0000"
      },
      "message": "Merge \"Testables lib should not statically link mockito\""
    },
    {
      "commit": "56ff021d505d57174c56c731cfececb1f5fe6e8e",
      "tree": "a9a6adc0fc52c7506ecd34abbc50d4fab285b8ed",
      "parents": [
        "0abc93177f0561ab7874531f346c5de11094f048"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Wed Dec 20 15:41:32 2017 -0800"
      },
      "committer": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Wed Dec 20 15:41:32 2017 -0800"
      },
      "message": "Testables lib should not statically link mockito\n\n- All users of the lib already statically link mockito\n- We should allow the users to decide what flavor they use\n\nTest: m -j checkbuild\nChange-Id: Ibbdb8be8022432a13b872865ade47b92b28976c6\nMerged-In: Ibbdb8be8022432a13b872865ade47b92b28976c6\n"
    },
    {
      "commit": "f924642729a43ff508f084b6a1e5471fc017400e",
      "tree": "401a56a84ac5f365242998d17ab024d32c77b2a0",
      "parents": [
        "4edb4c8ec461ae68cb1ee169bd3eb4682513043a",
        "53e4ae92c759beab8d42bb9f462905d64a1411dc"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 20 18:55:14 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 20 18:55:14 2017 +0000"
      },
      "message": "Merge \"Don\u0027t include mockito in frameworks-base-testutils\""
    },
    {
      "commit": "53e4ae92c759beab8d42bb9f462905d64a1411dc",
      "tree": "5841e01ff5332b6a5968376ea614eddf469e825b",
      "parents": [
        "0abc93177f0561ab7874531f346c5de11094f048"
      ],
      "author": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Tue Dec 19 13:20:22 2017 -0800"
      },
      "committer": {
        "name": "Philip P. Moltmann",
        "email": "moltmann@google.com",
        "time": "Tue Dec 19 13:34:59 2017 -0800"
      },
      "message": "Don\u0027t include mockito in frameworks-base-testutils\n\nSo that each test can pick if they want mockito-inline or not.\n\nTest: m -j checkbuild\nChange-Id: I1ac02acebbe5cd01f3032a10932a1c612d8d3a4d\nMerged-In: I1ac02acebbe5cd01f3032a10932a1c612d8d3a4d\n"
    },
    {
      "commit": "ba8d313efccc74abeaf1391ad95edc42631f84ab",
      "tree": "36750e37dea933394d6a1f3b452d3646d71af032",
      "parents": [
        "eb44ebbfcd0cb0fa9f56f9292a9549dfef397b34"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Wed Dec 06 21:56:35 2017 -0800"
      },
      "committer": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Mon Dec 18 16:01:58 2017 -0800"
      },
      "message": "[ipsec-doze] Add fchown to IpSecService to support doze\n\nEncap sockets are currently created as the system server, and should be\nfchown\u0027d to the user for whom it was created on behalf of.\n\nBug: 62994731\nTest: New tests added and run to IpSecService\nChange-Id: Icc49e709ae588981e69765fdb77537d7ffbac5fe\n"
    },
    {
      "commit": "d0ac50bcadfb3b2472351d581d7f3b25702d6c55",
      "tree": "cc5373bf91897a5e34e2c97ed5e21c4f1012a477",
      "parents": [
        "c5212b665486d9db34a726e4d9d8e7bd1fa09f1b",
        "babe5d73641870f33c55345964ac7ab77656ca97"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Mon Dec 18 23:50:52 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Dec 18 23:50:52 2017 +0000"
      },
      "message": "Merge \"[ipsec-qtaguid] Tag sockets upon creation of encap sockets\""
    },
    {
      "commit": "babe5d73641870f33c55345964ac7ab77656ca97",
      "tree": "57206f04e6ba1593dfe77723c06ecdbbec0c64d0",
      "parents": [
        "a4239cf7980ebf42d760afe0b60086d4d94e9cf8"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Sun Dec 03 19:42:36 2017 -0800"
      },
      "committer": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Mon Dec 18 19:46:06 2017 +0000"
      },
      "message": "[ipsec-qtaguid] Tag sockets upon creation of encap sockets\n\nAdded calls to tag encap sockets to that of the UID for which the encap\nsocket is being created on behalf of. This ensures that all data\naccounting generated for the UDP-encap-ESP socket is correctly billed to\nthe right UID.\n\nBug: 62994731\nTest: New tests added to IpSecServiceTest.java, passing\nChange-Id: I15365ea9c982fd7b4e3cdeff314ddfba2289c86e\n"
    },
    {
      "commit": "a0ecf38d302ef67aa9f767b1072369f8c417952d",
      "tree": "1986d9692768eaa70d533199eff095427c5e7023",
      "parents": [
        "3f4848102c423faa41ab3ca5827be1e630686f60"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Fri Dec 15 10:07:35 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Mon Dec 18 09:22:47 2017 +0900"
      },
      "message": "MacAddress: address api review comments\n\n1) toSafeString() is renamed to toOuiString()\n2) toOuiString() returns a String that only contains the first 3 bytes\n   of the mac address.\n\nBug: 70336442\nTest: runtest frameworks-net\nChange-Id: I798d8fec32dbff5687a682028e5d90eb941f81c1\n"
    },
    {
      "commit": "e8a4cb13e937263fb9ed7da6917900901b36a299",
      "tree": "9fe95ac7e9f18dd16de772e9d1e7015ff30fba92",
      "parents": [
        "5557fe3e2dad439797e54ccfe5f32b3c981ea7b6",
        "652044a7db7a64bf39f18a306431767bdf886ac1"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Fri Dec 15 07:09:24 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 15 07:09:24 2017 +0000"
      },
      "message": "Merge \"Revert \"Send empty LinkProperties when entering StoppedState.\"\""
    },
    {
      "commit": "652044a7db7a64bf39f18a306431767bdf886ac1",
      "tree": "9423b1bbf27f37b6daeb14a428941ae9e11dc731",
      "parents": [
        "94209ab7686b202cfad6e42e07056bb9511006a8"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Fri Dec 15 06:36:50 2017 +0000"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Fri Dec 15 06:36:50 2017 +0000"
      },
      "message": "Revert \"Send empty LinkProperties when entering StoppedState.\"\n\nThis reverts commit 94209ab7686b202cfad6e42e07056bb9511006a8.\n\nReason for revert: should not have auto-submitted prior to more extensive wifi team testing.\n\nChange-Id: Ie81b10473caf34971226948038bc20dc4fa6a1ae\n"
    },
    {
      "commit": "5557fe3e2dad439797e54ccfe5f32b3c981ea7b6",
      "tree": "27a4a4c56c96f56f6f57c01dd067965c4a527092",
      "parents": [
        "0abc93177f0561ab7874531f346c5de11094f048",
        "94209ab7686b202cfad6e42e07056bb9511006a8"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 15 06:29:15 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 15 06:29:15 2017 +0000"
      },
      "message": "Merge \"Send empty LinkProperties when entering StoppedState.\""
    },
    {
      "commit": "660a335f11efd2e5b0db65ab829abafec1934e9b",
      "tree": "9fe95ac7e9f18dd16de772e9d1e7015ff30fba92",
      "parents": [
        "df0f5e979137193aebab0b3a4e7007b275a99549"
      ],
      "author": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Thu Dec 14 14:46:46 2017 -0800"
      },
      "committer": {
        "name": "nharold",
        "email": "nharold@google.com",
        "time": "Thu Dec 14 23:04:42 2017 +0000"
      },
      "message": "Fix broken test due to API rename\n\nA race condition during an Api rename has caused\nthe name change from reserveSecurityParameterIndex\nto allocateSecurityParameterIndex to be wrong in\na test. Fixing.\n\nBug: 69128142\nTest: runtest frameworks-net\nChange-Id: I12fb9832cb938dc19f463b1f1124127435d7b173\n"
    },
    {
      "commit": "bf48afea49f616f4def5b802b54cb313289a0c7f",
      "tree": "7fe6818a5f19784869bcbe18f82cc4af038c0c81",
      "parents": [
        "3adfec2de3176b575a8e7affc4fc30103ae2fa2f",
        "5fb929032de14ca78163e1d0c42c34f6fb287da4"
      ],
      "author": {
        "name": "nharold",
        "email": "nharold@google.com",
        "time": "Thu Dec 14 21:10:16 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 14 21:10:16 2017 +0000"
      },
      "message": "Merge \"Use consistent naming for allocating SPI.\""
    },
    {
      "commit": "64c24880563ecbfb41ee4e77617c1c793927a7d0",
      "tree": "e27c110ad2508bdc11f05ebaf516f703699beb58",
      "parents": [
        "b6ba8fd49db3dc94f49b1fbf226340dd24e62c1f",
        "959ee4a7b14a72045219d864508449bde04f82a6"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 14 02:56:40 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 14 02:56:40 2017 +0000"
      },
      "message": "Merge \"Extend connectivity OWNERS\""
    },
    {
      "commit": "959ee4a7b14a72045219d864508449bde04f82a6",
      "tree": "74154721816d67e2ce0fc120b03c786777ea5d96",
      "parents": [
        "f5bec0d781499a3bde7aa54f2072019ce2709e70"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Sat Dec 09 12:57:41 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Dec 14 09:56:56 2017 +0900"
      },
      "message": "Extend connectivity OWNERS\n\nAlso remove \u0027build.master@android.com\u0027 which is deprecated, not\ndeclared by anybody else, and makes the linter unhappy.\n\nBug: 70394432\nTest: built\nMerged-In: I9c0ba41386129379f82259fcc5e745562b014fae\n\n(cherry pick from commit 626eed2ac826a34b3ac9b1d4ddb9a783222187ec)\n\nChange-Id: Ie802113d61f693d73f7234b44ac2a9bd462b3fbf\n"
    },
    {
      "commit": "344bd62a31d844781f0b73267dbf4a9b2a0b7341",
      "tree": "84191d4789bb7dad87c9461dad8d0ba6103f4cde",
      "parents": [
        "8244ebfc4ee302d40fc38211ca2fa4f8d27918b2"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Thu Nov 16 15:27:22 2017 -0800"
      },
      "committer": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Wed Dec 13 23:28:41 2017 +0000"
      },
      "message": "Convert IpSecService resources to use refcounting\n\nThis is part 2 of 2 of the refcounting refactor for IpSecService\nresources.\n\nSwitched ManagedResources to use RefcountedResource structure for\nmanaging reference counts and eventual cleanup. Further, resource arrays\nand quota management have been aggregated into a UserRecord for better\nisolation. UID access checking has been similarly moved into the\nUserRecordTracker, and resourceId checking has been rolled into\nRefcountedResourceArray\u0027s accessor methods.\n\nBug: 63409385\nTest: CTS, all unit tests run on aosp_marlin-eng, new tests added\nChange-Id: Iee52dd1c9d2583bb6bfaf65be87569e9d50a5b63\n"
    },
    {
      "commit": "e11366f38ac66559e8cafc9572a563dac3be1f14",
      "tree": "94bd6018ec96ea63a4b274d57d20c5fcfeb40c87",
      "parents": [
        "a0c1780d3c0f3048abf497e7f48a3ce390dee399",
        "409c8ca7beabb98340d0c579ff134ec07f21b865"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Wed Dec 13 21:33:38 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Dec 13 21:33:38 2017 +0000"
      },
      "message": "Merge \"Add reference counted resources to IpSecService\""
    },
    {
      "commit": "409c8ca7beabb98340d0c579ff134ec07f21b865",
      "tree": "59f61b9857d5de6ca8234ea69e7c850865df2b82",
      "parents": [
        "06e314f6cc0d629f59579f8bd549915580f79b4b"
      ],
      "author": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Thu Oct 26 19:41:43 2017 -0700"
      },
      "committer": {
        "name": "Benedict Wong",
        "email": "benedictwong@google.com",
        "time": "Tue Dec 12 23:40:52 2017 -0800"
      },
      "message": "Add reference counted resources to IpSecService\n\nThis patch adds (but does not enable the usage of) RefcountedResource\nobjects to IpSecService, with tests to ensure correct function. This is\npatch 1 of a series of patches to refactor the resource management\nsystems in IpSecService.\n\nRefcountedResource objects allow for management of acyclical dependency\ntrees, ensuring eventual cleanup when resources are no longer used. This\ncleanup may be triggered by binder death or by explicit user action.\n\nBug: 63409385\nTest: New tests written in IpSecServiceRefcountedResourceTest,\nexplicitly testing the RefcountedResource class\n\nChange-Id: Ib5be7482b2ef5f1c8dec9be68f15e90d8b3aba6d\n"
    },
    {
      "commit": "94209ab7686b202cfad6e42e07056bb9511006a8",
      "tree": "878230a3f9a529f6c5ed393ff7827b6c41fbe657",
      "parents": [
        "f5bec0d781499a3bde7aa54f2072019ce2709e70"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Mon Dec 11 14:24:08 2017 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Wed Dec 13 12:13:36 2017 +0900"
      },
      "message": "Send empty LinkProperties when entering StoppedState.\n\nAdditionally, no longer try to transition from within a State\u0027s\nenter() method (this can encounter Log.wtf()s). Introduce some\nCMD_JUMP_* commands and use deferMessage().\n\nTest: as follows\n    - built\n    - flashed\n    - booted\n    - runtest frameworks-net passes (except for IpConnectivityMetricsTest failures)\n    - manual changing from DHCP to static configurations works:\n  2017-12-11T19:06:19.082 - INVOKE onLinkPropertiesChange({{InterfaceName: wlan0 LinkAddresses: []  Routes: [] DnsAddresses: [] Domains: null MTU: 0}})\n\nBug: 69800563\nBug: 70394432\nChange-Id: Ice249a48b66806c0270ec3f11dd2e8e387d4e29b\n"
    },
    {
      "commit": "5fb929032de14ca78163e1d0c42c34f6fb287da4",
      "tree": "5efce3a17f03238572ddc890a872ea3610be45c7",
      "parents": [
        "403c8f72e38114d0aadfd852b98b323827068e5b"
      ],
      "author": {
        "name": "Jonathan Basseri",
        "email": "misterikkit@google.com",
        "time": "Thu Nov 16 10:58:01 2017 -0800"
      },
      "committer": {
        "name": "Nathan Harold",
        "email": "nharold@google.com",
        "time": "Tue Dec 12 13:50:35 2017 -0800"
      },
      "message": "Use consistent naming for allocating SPI.\n\nThroughout the IPsec code (API, system server, netd) we use \"reserve\"\nSPI and \"allocate\" SPI interchangeably. This renames to use \"allocate\"\neverywhere for self-consistency and consistency with the kernel\n(ALLOCSPI).\n\nIn javadoc, I am leaving the word \"reserve\" in several places because it\nis still an accurate description of how the method behaves.\n\nBug: 69128142\nTest: TreeHugger should be enough\nChange-Id: I8ea603b4612303b0393beef04032671fa53d2106\n"
    },
    {
      "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\""
    }
  ],
  "next": "f840e07f821cb17c9ae1e6583a28eff548b90892"
}
