)]}'
{
  "log": [
    {
      "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": "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": "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": "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": "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": "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"
    },
    {
      "commit": "7e75870d11bfc5281918b025be47022f0a851106",
      "tree": "a3d60c10400cf565f3dc4d182ce031a5a1e907e6",
      "parents": [
        "692b55390fd5d8e010c6d994bf2dd5dd9849137e",
        "19bb1a0b99afcbb2ee4cb0f5b5d92011e0cc146f"
      ],
      "author": {
        "name": "Charles He",
        "email": "qiurui@google.com",
        "time": "Tue Sep 19 08:09:45 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Sep 19 08:09:45 2017 +0000"
      },
      "message": "Merge changes from topic \"vpn-dialog\"\nam: 19bb1a0b99\n\nChange-Id: I168072aa2bfdb9ed7630cf50547cb9732fb29280\n"
    },
    {
      "commit": "692b55390fd5d8e010c6d994bf2dd5dd9849137e",
      "tree": "ff26765e8775367e4ceab8198ad47f87e5baa317",
      "parents": [
        "a35bbadeba6dd0c319cdbaedf704c768bc9f9a76",
        "cc15c7f8c17624faef67f466dd28985904a743b9"
      ],
      "author": {
        "name": "Charles He",
        "email": "qiurui@google.com",
        "time": "Tue Sep 19 08:01:45 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Sep 19 08:01:45 2017 +0000"
      },
      "message": "Merge changes from topic \"always-on-vpn\"\nam: cc15c7f8c1\n\nChange-Id: I7391ce7ecab4f8e73912f420d49150ed7210ea6c\n"
    },
    {
      "commit": "19bb1a0b99afcbb2ee4cb0f5b5d92011e0cc146f",
      "tree": "56bb5784be225c1dcf3f30d095d4ecc460badb76",
      "parents": [
        "cc15c7f8c17624faef67f466dd28985904a743b9",
        "c17f50f83d3e35f338095df6065426f2f304a1dc"
      ],
      "author": {
        "name": "Charles He",
        "email": "qiurui@google.com",
        "time": "Tue Sep 19 07:56:44 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 19 07:56:44 2017 +0000"
      },
      "message": "Merge changes from topic \"vpn-dialog\"\n\n* changes:\n  Unbreak VPN unit tests.\n  Add alert dialog when always-on VPN disconnects.\n"
    },
    {
      "commit": "c17f50f83d3e35f338095df6065426f2f304a1dc",
      "tree": "d905e940f20a7b3af60f852dee84f493485669ca",
      "parents": [
        "ab6f2f62fec5c6814975cd61a17df06857ac91de"
      ],
      "author": {
        "name": "Charles He",
        "email": "qiurui@google.com",
        "time": "Wed Aug 16 13:14:13 2017 +0100"
      },
      "committer": {
        "name": "Charles He",
        "email": "qiurui@google.com",
        "time": "Tue Sep 19 07:56:36 2017 +0000"
      },
      "message": "Unbreak VPN unit tests.\n\nVpnTest was broken earlier due to a change to always-on VPN\nnotifications. This CL adds the corresponding mocks to the unit test to\nfix it.\n\nBug: 36650087\nBug: 65439160\nTest: runtest frameworks-net\nChange-Id: Icff57c7e927c135d75a7d70ff347a579c5d45134\nMerged-In: Icff57c7e927c135d75a7d70ff347a579c5d45134\n(cherry picked from commit 3da6a1fc82b7e0c7adc88b92e50cceec8173672e)\n"
    },
    {
      "commit": "cc15c7f8c17624faef67f466dd28985904a743b9",
      "tree": "323491ed34126ba76367953818301d285cbc9b0f",
      "parents": [
        "67d16ec1ab8354ff9ab4ef2a7ad86363903241db",
        "5da5ae3b96769735a2dc5abe265101df545be828"
      ],
      "author": {
        "name": "Charles He",
        "email": "qiurui@google.com",
        "time": "Tue Sep 19 07:50:13 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 19 07:50:13 2017 +0000"
      },
      "message": "Merge changes from topic \"always-on-vpn\"\n\n* changes:\n  Opt-out for always-on VPN: rename API.\n  Opt-out for always-on VPN\n"
    },
    {
      "commit": "a35bbadeba6dd0c319cdbaedf704c768bc9f9a76",
      "tree": "ff15904cb0cab49af30b1284560d192bb7953b02",
      "parents": [
        "082234f4aabe8868eac66627dea29fb740c903c4",
        "67d16ec1ab8354ff9ab4ef2a7ad86363903241db"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Sep 19 07:21:12 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Sep 19 07:21:12 2017 +0000"
      },
      "message": "Merge \"Wakeup packet events: addressing a few comments\"\nam: 67d16ec1ab\n\nChange-Id: I67b2e54d45a39005e2091a46e8b90d8cc75fe079\n"
    },
    {
      "commit": "175b574e27daa0d8832b8cc9615a15fce998309a",
      "tree": "046a77c3d4da9c9b2b2cbc2bb0a585b8904d880e",
      "parents": [
        "376234fc749eba753576d26d8ab18b0c531a2d6a"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Sep 19 13:15:26 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Sep 19 14:07:47 2017 +0900"
      },
      "message": "Wakeup packet events: addressing a few comments\n\nThis patch addresses a few post-submit comment for\ncommits f562ac34a51dc and 60c9f63b66921.\n\nBug: 34901696\nBug: 62179647\nTest: runtest frameworks-net\nChange-Id: I4abec57e0c6bc869dc57b5eb54582dd977b64c30\n"
    },
    {
      "commit": "3fce811dcb103c581dbad109241242a08b6c8b31",
      "tree": "3a624461f742e08282e68867ea167b3dec579400",
      "parents": [
        "4188432a7bb065608cf950a2f7602cb4fb8c338b",
        "a3c28cc567d9bf42050e5106120a9fef440c339f"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Sep 14 12:08:26 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Sep 14 12:08:26 2017 +0000"
      },
      "message": "Merge changes I4719b4dc,I0308cdf4,I38db1bb7\nam: a3c28cc567\n\nChange-Id: I3b222afc77b121769cc18d52e5c3d8bcec9db886\n"
    },
    {
      "commit": "4188432a7bb065608cf950a2f7602cb4fb8c338b",
      "tree": "dd54fde81adecfcfe1f7f9cd142532676b13e0c9",
      "parents": [
        "f0da6c03bc706f384a8117c76ed00649689a2700",
        "61901ddedd5393183069f3bcda6cfeb0ccbc2db2"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Sep 14 12:01:19 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Sep 14 12:01:19 2017 +0000"
      },
      "message": "Merge changes Ie2676b20,Ie8db6f85\nam: 61901ddedd\n\nChange-Id: Ib4fab32418da8274bd6b5cb9fef85e0db79d866a\n"
    },
    {
      "commit": "a3c28cc567d9bf42050e5106120a9fef440c339f",
      "tree": "33c82f5143caab7d7c2bb6bf3e4da2b02aa017c0",
      "parents": [
        "61901ddedd5393183069f3bcda6cfeb0ccbc2db2",
        "25c7f49ff319ff60ce49665b5f3cf4f494b49717"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Sep 14 11:59:58 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Sep 14 11:59:58 2017 +0000"
      },
      "message": "Merge changes I4719b4dc,I0308cdf4,I38db1bb7\n\n* changes:\n  IpManagerTest: fix flaky test\n  Fix flaky NsdManagerTest\n  Boostrap test for NetworkMonitor\n"
    },
    {
      "commit": "60c9f63b66926745603978e1bd6372b3a44561d1",
      "tree": "d86e49aebd595a3965696bb42cbaa4a4ef19f0d9",
      "parents": [
        "f562ac34a51da55e4d15e34f0cd1cb597e7d926c"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Sep 05 13:34:48 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Sep 14 13:29:56 2017 +0900"
      },
      "message": "Connectivity metrics: add WakeupStats events\n\nThis patch defines a new WakeupStats event in ipconnectivity.proto and\npopulates these events from the NFLOG wakeup events stored in\nNetdEventListenerService.\n\nThere is one WakeupStats object per known interface on which ingress\npackets arrive and may wake the system up.\n\nExample from $ adb shell dumpsys connmetrics list:\n\nUPDATEME\n...\nWakeupStats(wlan0, total: 58, root: 0, system: 3, apps: 38, non-apps: 0, unrouted: 17, 6111s)\nWakeupEvent(13:36:31.686, iface wlan0, uid -1)\nWakeupEvent(13:38:50.846, iface wlan0, uid -1)\nWakeupEvent(13:39:16.676, iface wlan0, uid 10065)\nWakeupEvent(13:40:32.144, iface wlan0, uid 1000)\nWakeupEvent(13:40:35.827, iface wlan0, uid 1000)\nWakeupEvent(13:40:47.913, iface wlan0, uid 10004)\nWakeupEvent(13:40:52.622, iface wlan0, uid 10014)\nWakeupEvent(13:41:06.036, iface wlan0, uid 10004)\n...\n\nBug: 34901696\nBug: 62179647\nTest: runtest frameworks-net\nChange-Id: Ie2676b20bfb411a1902f4942643df0c20e268d99\n"
    },
    {
      "commit": "25c7f49ff319ff60ce49665b5f3cf4f494b49717",
      "tree": "9dba808c39cdc39f1984b7857fc8b5220d4b5569",
      "parents": [
        "2a94ac555e4257b941b28f90584be182e22fb6fe"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Sep 07 14:18:33 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Wed Sep 13 18:39:50 2017 +0900"
      },
      "message": "IpManagerTest: fix flaky test\n\nReset the callback mock for every onLinkPropertiesChange expected when\npushing address updates on the BaseNetworkObserver.\n\nBug: 32561414\nBug: 62918393\nTest: runtest frameworks-net, IpManagerTest passes 200 times in a row\nChange-Id: I4719b4dc86044438243887634191c2d21686b80f\n"
    },
    {
      "commit": "2a94ac555e4257b941b28f90584be182e22fb6fe",
      "tree": "e94efa485b56c884ce49e0f8309a87146746a6a4",
      "parents": [
        "c894b1238887419720d86ba0f6fbbdde9d2d24b6"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Fri Sep 08 09:03:54 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Wed Sep 13 18:38:53 2017 +0900"
      },
      "message": "Fix flaky NsdManagerTest\n\nBad synchronization between the mock handler and the test assertions\nwere causing testDiscoverService() to sometime fails (1/50 ~ 1/100 repro\nrate).\n\nBug: 32561414\nBug: 62918393\nTest: runtest frameworks-net, NsdManager#testDiscoverService now passes\n      1000 times without errors.\nChange-Id: I0308cdf48fc6bdc2fc9b4e8f7d5241a1cf2ea443\n"
    },
    {
      "commit": "c894b1238887419720d86ba0f6fbbdde9d2d24b6",
      "tree": "47858c81aafa14a1721caf213c0c830e0e2d066f",
      "parents": [
        "9da895b5e1d769608b33906d435594a13ae4ece1"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Mon Jul 31 12:58:20 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Wed Sep 13 16:21:50 2017 +0900"
      },
      "message": "Boostrap test for NetworkMonitor\n\nThis will finally allow to write captive portal detection unit tests.\n\nBug: 32561414\nBug: 62918393\nTest: runtest frameworks-net\nChange-Id: I38db1bb79ae80a82b4199dc9cb1b56257e0cf222\n"
    },
    {
      "commit": "f562ac34a51da55e4d15e34f0cd1cb597e7d926c",
      "tree": "2c922f2c294fb632169e2dfad0423d3c44b665aa",
      "parents": [
        "9da895b5e1d769608b33906d435594a13ae4ece1"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Mon Sep 04 13:24:43 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Sep 12 10:02:13 2017 +0900"
      },
      "message": "Connectivity metrics: collect NFLOG wakeup events\n\nThis patch stores NFLOG packet wakeup events sent by Netd to the system\nserver into a ring buffer inside NetdEventListenerService. The content\nof this buffer is accessible by $ dumpsys connmetrics or $ dumpsys\nconnmetrics list, and is added to bug reports.\n\nThe wakeup event buffer stores currently uid and timestamps.\n\nBug: 34901696\nBug: 62179647\nTest: runtest frameworks-net, new unit tests\nChange-Id: Ie8db6f8572b1a929a20398d8dc03e189bc488382\n"
    },
    {
      "commit": "5da5ae3b96769735a2dc5abe265101df545be828",
      "tree": "b59e55e7698c271b8ba06e017fabfae66b328172",
      "parents": [
        "a0a87e810870b696239f0371d33de924f84cb431"
      ],
      "author": {
        "name": "Charles He",
        "email": "qiurui@google.com",
        "time": "Tue Aug 15 15:30:22 2017 +0100"
      },
      "committer": {
        "name": "Charles He",
        "email": "qiurui@google.com",
        "time": "Fri Sep 08 10:47:34 2017 +0100"
      },
      "message": "Opt-out for always-on VPN: rename API.\n\nRename the opt-out flag in AndroidManifest to\nSERVICE_META_DATA_SUPPORTS_ALWAYS_ON\nas directed by the API Council.\n\nBug: 64331776\nBug: 36650087\nTest: runtest --path java/com/android/server/connectivity/VpnTest.java\nChange-Id: I24326fad7a89083a2409134640bda81ee0359d08\nMerged-In: I24326fad7a89083a2409134640bda81ee0359d08\n(cherry picked from commit c57a01c16616f938eaa84ae5349a53efdec6e4cc)\n"
    },
    {
      "commit": "a0a87e810870b696239f0371d33de924f84cb431",
      "tree": "cbcee6aeddd35bb30df8ceb4c59970d25b596397",
      "parents": [
        "8c3e12a904e9f27ea2335accd031a20f20602635"
      ],
      "author": {
        "name": "Charles He",
        "email": "qiurui@google.com",
        "time": "Mon May 15 17:07:18 2017 +0100"
      },
      "committer": {
        "name": "Charles He",
        "email": "qiurui@google.com",
        "time": "Fri Sep 08 10:18:36 2017 +0100"
      },
      "message": "Opt-out for always-on VPN\n\nAlways-on VPN is a feature introduced in N. Since then, all VPN apps\ntargeting N+ are assumed to support the feature, and the user or the DPC\ncan turn on / off always-on for any such VPN app. However, a few VPN\napps are not designed to support the always-on feature. Enabling\nalways-on for these apps will result in undefined behavior and confusing\n\"Always-on VPN disconnected\" notification.\n\nThis feature provides a new manifest meta-data field through which a VPN\napp can opt out of the always-on feature explicitly. This will stop the\nalways-on feature from being enabled for the app, both by the user and\nby the DPC, and will clear its existing always-on state.\n\nA @hide API is provided to check whether an app supports always-on VPN.\nDocumentation is updated to reflect the behavior change.\n\nBug: 36650087\nTest: runtest --path java/com/android/server/connectivity/VpnTest.java\nTest: cts-tradefed run cts --module CtsDevicePolicyManagerTestCases --test \u0027com.android.cts.devicepolicy.MixedDeviceOwnerTest#testAlwaysOnVpnUnsupportedPackage\u0027\nTest: cts-tradefed run cts --module CtsDevicePolicyManagerTestCases --test \u0027com.android.cts.devicepolicy.MixedDeviceOwnerTest#testAlwaysOnVpnUnsupportedPackageReplaced\u0027\nTest: cts-tradefed run cts --module CtsDevicePolicyManagerTestCases --test \u0027com.android.cts.devicepolicy.MixedProfileOwnerTest#testAlwaysOnVpnUnsupportedPackage\u0027\nTest: cts-tradefed run cts --module CtsDevicePolicyManagerTestCases --test \u0027com.android.cts.devicepolicy.MixedProfileOwnerTest#testAlwaysOnVpnUnsupportedPackageReplaced\u0027\nTest: cts-tradefed run cts --module CtsDevicePolicyManagerTestCases --test \u0027com.android.cts.devicepolicy.MixedManagedProfileOwnerTest#testAlwaysOnVpnUnsupportedPackage\u0027\nTest: cts-tradefed run cts --module CtsDevicePolicyManagerTestCases --test \u0027com.android.cts.devicepolicy.MixedManagedProfileOwnerTest#testAlwaysOnVpnUnsupportedPackageReplaced\u0027\n\nChange-Id: I477897a29175e3994d4ecf8ec546e26043c90f13\nMerged-In: I477897a29175e3994d4ecf8ec546e26043c90f13\n(cherry picked from commit 3673863f3b2ec692201b7fb3089a1c05973e08e4)\n"
    },
    {
      "commit": "5c8c836bc480a7b153e7d8b56c299cb9ebdca212",
      "tree": "6e4a318a1bd39fa7461762fb8cf82b7e799ee0ab",
      "parents": [
        "166413798d1782d18f0bbfbed96174d55338b4c3",
        "6c7c55206dcca24880ac873fdf34c6f099dc0759"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Fri Sep 08 04:27:34 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 08 04:27:34 2017 +0000"
      },
      "message": "Merge \"Support NAT keepalives\"\nam: 6c7c55206d\n\nChange-Id: Id241560fa48636f1bc56fa06d2151f1bcbdb19ab\n"
    },
    {
      "commit": "fc105bb6d8c44010f07cf157750b8b5bfc0d06aa",
      "tree": "9b184f92ae50464a03316219fb16a6a9269b4f9c",
      "parents": [
        "9c57accc45c5fa16ccdf1be8ce5341633366a783"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Mon Jun 19 11:33:59 2017 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Fri Sep 08 10:54:20 2017 +0900"
      },
      "message": "Support NAT keepalives\n\nTest: as follows\n    - built\n    - flashed\n    - booted\n    - \"runtest frameworks-net\" passes\n    - turned on debugging and walked around watching IpReachabilityMonitor\n      force neighbors into NUD_PROBE state without error\n    - observed NAT callbacks happening without any reported errors\n    - watched:\n        adb shell cat /proc/net/nf_conntrack | egrep \u0027192[.]168[.]43[.]\u0027 | sort -n -k5\n      for correct timeout updates\n\nBug: 29337859\nBug: 32163131\n\nMerged-In: I82ac60e5ad79ec64a13df6ec56b5b51b223f8dde\nMerged-In: I09bc685e821ec5e871576a54c4290edea4c5160b\nMerged-In: I4d180369a8f64ee494b016656988252d98a09ba4\nChange-Id: Icb23da64cfaa3a19f7bc75fba426a52b0994fb0f\n(cherry picked from commit 7a65bc62fbe0391f88834ab27b32033d6b957c8b)\n"
    },
    {
      "commit": "166413798d1782d18f0bbfbed96174d55338b4c3",
      "tree": "0b3bdeca3831a8a7005320521f2a6b5127e170eb",
      "parents": [
        "9d2c715d37dcf3464b60d9bbed0deb35efeee7f0",
        "9c57accc45c5fa16ccdf1be8ce5341633366a783"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Fri Sep 08 01:42:28 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 08 01:42:28 2017 +0000"
      },
      "message": "Merge changes Ic92b6d5c,I98b23b22,I0fb40d7b\nam: 9c57accc45\n\nChange-Id: Id1a9f8232ef3e08cf708d2406403fce3c59be9e5\n"
    },
    {
      "commit": "4eccf78000bb6d30cb157083ae0f42fe3e6d60c6",
      "tree": "f1d0f118e19d87a9565ef26c1413a1c35100b141",
      "parents": [
        "6022f7b657020a28809547334a0b4436aa1d0453"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Jul 18 14:28:27 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Sep 07 22:17:18 2017 +0900"
      },
      "message": "IP connectivity metrics: fix tests after proto update\n\nUpdate to ipconnectivity.proto in commit\n6d2f506bfd788a3685292d404dc9d82a27357cfe broke the associated unit\ntests (Change-Id: I4cf5b95956df721aecd63fddfb026a7266c190b9)\n\nBug: 34901696\nBug: 65439160\nTest: runtest frameworks-net\nMerged-In: I57a6bad8a9836b1c45690c4589b416786ce1dfa0\n\n(cherry picked from commit 822c5bf77892175d0b52aeaddf4e43c749c341f6)\n\nChange-Id: I98b23b2208bbd7d12237fcb000f3cf10c53d9e55\n"
    },
    {
      "commit": "5fb26a1270ea309dfaaa1fab0c50423a8db25b40",
      "tree": "4d218da1d5553b7d895d94d71b75aa59da9bac30",
      "parents": [
        "619e5c8ecc4e217cd92a7c9692116d0017ddadca",
        "981228be38265c8c1be91e6d9100f475fb127e7c"
      ],
      "author": {
        "name": "Rubin Xu",
        "email": "rubinxu@google.com",
        "time": "Thu Sep 07 12:25:05 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Sep 07 12:25:05 2017 +0000"
      },
      "message": "Merge \"Always add local subnet routes to the interface\u0027s routing table\"\nam: 981228be38\n\nChange-Id: I0b1728fae18c891d91fafdfbb1905c05e0fea47f\n"
    },
    {
      "commit": "1bb5c0818f0c4fb426e13b65a3ba3db7f36c3d88",
      "tree": "3f9a5df9a8dc993f04993c06026ae88b6fbcc89e",
      "parents": [
        "e6793f2795e9b7df5dc68e8ebb420ba228964f61"
      ],
      "author": {
        "name": "Rubin Xu",
        "email": "rubinxu@google.com",
        "time": "Tue Sep 05 18:40:49 2017 +0100"
      },
      "committer": {
        "name": "Rubin Xu",
        "email": "rubinxu@google.com",
        "time": "Thu Sep 07 10:50:20 2017 +0100"
      },
      "message": "Always add local subnet routes to the interface\u0027s routing table\n\nFor some networks such as mobile data connections, its LinkProperties\ndoes not contain routes for the local subnet so no such route is added\nto the interface\u0027s routing table. This can be problematic especially\nif the device is in VPN lockdown mode where there exists high-priority\nPROHIBIT routing rule which in turn blocks the network\u0027s default gateway\nroute from being added (next hop address hitting the prohibit rule).\n\nWe fix this by patching LinkProperties to always include direct connected routes\nwhen they are received by ConnectivityService. This has the added advantage that\nwhen apps get LinkProperties, they see the directly connected routes as well.\n\nBug: 63662962\nTest: runtest frameworks-core -c android.net.LinkPropertiesTest\nTest: runtest frameworks-services -c com.android.server.ConnectivityServiceTest\nTest: Start with device with mobile data, set up ics-OpenVPN in always-on\n      lockdown mode. Turn off mobile data then turn it back on, observe\n      mobile data connectivity is restored and VPN successfully reconnects.\nChange-Id: I35b614eebccfd22c4a5270f40256f9be1e25abfb\n"
    },
    {
      "commit": "a1af47b6ad28b6e5ae8262c3ea964fa6e92dfe4b",
      "tree": "cbd41c7d27412ac5d48f914998a24a528ec2b960",
      "parents": [
        "6c05f1a03d8168954dd36593cb96777169815926",
        "e6793f2795e9b7df5dc68e8ebb420ba228964f61"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Sep 05 12:30:08 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Sep 05 12:30:08 2017 +0000"
      },
      "message": "Merge \"Nat464Xlat: correct racefree teardown\"\nam: e6793f2795\n\nChange-Id: I8612db5e5050690db8cf41dd04944b4c22da340c\n"
    },
    {
      "commit": "e6793f2795e9b7df5dc68e8ebb420ba228964f61",
      "tree": "a1db796d34711e56e692f5645ff649e4e5fbaa7c",
      "parents": [
        "cbe8f09817fedda41373324251fe18c31d79e063",
        "ef502887ec58886e9347afb841aa06cb0d13acea"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Sep 05 12:12:02 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Sep 05 12:12:02 2017 +0000"
      },
      "message": "Merge \"Nat464Xlat: correct racefree teardown\""
    },
    {
      "commit": "ef502887ec58886e9347afb841aa06cb0d13acea",
      "tree": "e70e8bfb4c4bf2d66ed4759b205d32687722f894",
      "parents": [
        "6391598412b0a265c5c9e2c162fd1d7c42353dc6"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Fri Sep 01 01:23:32 2017 +0000"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Sep 05 15:33:55 2017 +0900"
      },
      "message": "Nat464Xlat: correct racefree teardown\n\nThis patch relays the NetworkBaseObserver notifications about nat\n464xlat stacked interfaces onto the ConnectivityService handler.\n\nThis allows to process interface up and down notifications in the\nsame thread context and eliminates several races:\n\n  - NPE risk due to race between fixupLinkProperties called on\n    ConnectivityService thread and interfaceRemoved called on\n    NetworkManagementService thread.\n  - stale LinkProperties pointer reads in both NetworkBaseObserver\n    callbacks not called on ConnectivityService handler.\n  - removes the race between stop() and interfaceRemoved().\n  - removes superfluous LinkProperties notifications when stop() is\n    called before the stacked interface goes up.\n\nThe teardown procedure logic common to stop() and interfaceRemoved() is\nput into enterStoppedState() and enterIdleState().\n\nThis allows to distinguish and correctly handle the following teardown\nscenarios:\n - an IPv4 appears -\u003e ConnectivityService calls Nat464Xlat#stop()\n                   -\u003e Nat464Xlat calls stopClatd\n                   -\u003e clatd stops\n                   -\u003e if the stacked interface was up, it is removed\n                   -\u003e Nat464Xlat#interfaceRemoved() is triggered and\n                      a LinkProperties update is sent.\n\n - network disconnects -\u003e ConnectivityService calls Nat464Xlat#stop()\n                       -\u003e Nat464Xlat calls stopClatd\n                       -\u003e clatd stops\n                       -\u003e if the stacked interface was up, it is removed\n                       -\u003e Nat464Xlat#interfaceRemoved() is triggered and\n                          a LinkProperties update is sent.\n\n - clatd crashes or exit -\u003e Nat464Xlat#interfaceRemoved() is triggered\n                         -\u003e Nat464Xlat unregisters itself as a network\n                            observer\n                         -\u003e ConnectivityService is updated about the\n                            stacked interface missing, and restarts\n                            Nat464Xlat if needed.\n\nNote that the first two scenarios have two cases: stop() can be called\nbefore the notification for the stacked interface going up (STARTED), or\nafter (RUNNING). In the first case, Nat464Xlat must unregister\nimmediately as a network observer to avoid leaks.\n\nThis patch also:\n  - removes/simplifies comments related to the threading model which\n    are no obsolete.\n  - extract clatd management logic from ConnectivityService into\n    NetworkAgentInfo\n  - add new unit tests where there was none before.\n\nBug: 62918393\nBug: 62997041\nBug: 64571917\nBug: 65225023\nTest: runtest frameworks-net\nChange-Id: I27221a8a60fd9760b567ed322cc79228df877e56\n"
    },
    {
      "commit": "80e0daa870e313e7ab6ea1a2ddd92fac329de6fa",
      "tree": "9af42d53c3c0d22e9fd84e8e31014403a94669e8",
      "parents": [
        "72a20c39593cdb650b48d8fdc1e39f61d1e34aa8",
        "c9d24d203d47bb088b5d6633e7185420c4b1f81e"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Mon Sep 04 12:14:11 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Sep 04 12:14:11 2017 +0000"
      },
      "message": "Merge \"Network Service Discovery test: properly release resources\"\nam: c9d24d203d\n\nChange-Id: If34b3770a5c0fef65d124201e0ca1374cc6b1eca\n"
    },
    {
      "commit": "c9d24d203d47bb088b5d6633e7185420c4b1f81e",
      "tree": "ec7f325725026157926ee671bf217d48c3fcbb0c",
      "parents": [
        "1fd2eb6276226510bba1f08f2361ec17e184174f",
        "e062ae07f9b11ff35a1b0b83297a8e6f26cccc8c"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Mon Sep 04 11:50:58 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 04 11:50:58 2017 +0000"
      },
      "message": "Merge \"Network Service Discovery test: properly release resources\""
    },
    {
      "commit": "72a20c39593cdb650b48d8fdc1e39f61d1e34aa8",
      "tree": "af3f142187fec3d434e72f420018a22277b6b307",
      "parents": [
        "8887059b006eb394f1ef9b631ae95a14efcbd7bf",
        "1fd2eb6276226510bba1f08f2361ec17e184174f"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Mon Sep 04 05:13:43 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Sep 04 05:13:43 2017 +0000"
      },
      "message": "Merge \"Fix some broken tests in frameworks-net with native dependencies\"\nam: 1fd2eb6276\n\nChange-Id: I628ee4ac71a762c02f9fe0440db08125693efd3c\n"
    },
    {
      "commit": "1fd2eb6276226510bba1f08f2361ec17e184174f",
      "tree": "f399a7e479ff4bd52c2d05d829a8d4314674a9f3",
      "parents": [
        "05f0bfe33e1aa7cb301b3418a87b5fc697005168",
        "cd9b716153b9b230612c4ce7f1d5dcbc89db22f1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Sep 04 04:58:16 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 04 04:58:16 2017 +0000"
      },
      "message": "Merge \"Fix some broken tests in frameworks-net with native dependencies\""
    },
    {
      "commit": "05f0bfe33e1aa7cb301b3418a87b5fc697005168",
      "tree": "7c0b71b1f0c86257bf9d1993fa7d433ea70ef019",
      "parents": [
        "72a708d623f6568a673827caab6f5bca7bc2c660",
        "10c913331e59f61c902623da8103b0e84bcba1db"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Sep 04 03:39:59 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Sep 04 03:39:59 2017 +0000"
      },
      "message": "Merge \"DO NOT MERGE: Fix ApfTest\""
    },
    {
      "commit": "3204e5fc63dec949fcfd82d32658d7309835bfb3",
      "tree": "16a928102a87f76f6c66bc75fabba776caab7205",
      "parents": [
        "7b01ee5cdad80e0d13b18060ef7087ae75f512a5",
        "72a708d623f6568a673827caab6f5bca7bc2c660"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Mon Sep 04 02:25:48 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Sep 04 02:25:48 2017 +0000"
      },
      "message": "Merge \"Record even more stats even more often\"\nam: 72a708d623\n\nChange-Id: I6a662cce3cf5394d392f7ff816f5eb6a71131484\n"
    },
    {
      "commit": "cd9b716153b9b230612c4ce7f1d5dcbc89db22f1",
      "tree": "82e9700148f0e1351f6e175e965ce14d00b11de5",
      "parents": [
        "10c913331e59f61c902623da8103b0e84bcba1db"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Fri Aug 04 12:12:25 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Mon Sep 04 11:03:55 2017 +0900"
      },
      "message": "Fix some broken tests in frameworks-net with native dependencies\n\nExempt-From-Owner-Approval: Android.mk uses per-file permission to let\nthe build team modify it without dependeing on us. However because this\nrule overrides the directory default owners, Android core networking is\nnot owner anymore. This exemption is necessary to let Android core\nnetworking team fix their build file.\n\nTest: All tests in runtest frameworks-net pass.\nMerged-In: Ie0b8baa38ca39e92fbd698ebcead86dac0a67708\n\n(cherry picked from commit 99e8ab6e46eec5dbd1b059b3732672d537b3cf34)\n\nChange-Id: I4471a5cd7f20852645f3d94684cc5aeef3324162\n"
    },
    {
      "commit": "10c913331e59f61c902623da8103b0e84bcba1db",
      "tree": "3cc3f51b5710faa7b80376cc99f2975189d299fe",
      "parents": [
        "6391598412b0a265c5c9e2c162fd1d7c42353dc6"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Jun 01 15:54:59 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Mon Sep 04 11:03:47 2017 +0900"
      },
      "message": "DO NOT MERGE: Fix ApfTest\n\nlibutils is now depending on libvndksupport. So any client that\nstatically links to libutils needs to link against libvndksupport as\nwell.\n\nBug: 32561414\nTest: ApfTest works\nMerged-In: Id99792baa1c0a7a61c4056f83f33d25e0bea143e\n\n(cherry picked from commit 9a2041ee836be925e93dd820f11686aa378dd92d)\n\nChange-Id: I8808e668230ff7076403ff29cf48c12cbc36f78a\n"
    },
    {
      "commit": "aabdaa971023d1d4a35396c6cd0fc90b7cc2ba52",
      "tree": "e5b9781561bdd8bc83e04b2be360d799f7bf07c5",
      "parents": [
        "6391598412b0a265c5c9e2c162fd1d7c42353dc6"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Thu Aug 31 21:09:45 2017 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Mon Sep 04 09:37:12 2017 +0900"
      },
      "message": "Record even more stats even more often\n\nLike kale, one can never have enough stats.  \u003d)\n\nTest: as follows\n    - built\n    - flashed\n    - booted\n    - runtest frameworks-net passes\nBug: 29337859\nBug: 32163131\nMerged-In: I5d40eae488cab685be6a44849181c0286fe28fdb\nMerged-In: I759e97f9a72d15a84036c3a56451b872143539c6\nChange-Id: Ieb47c3beed50f21c2c858fe57438afd48cfdc662\n(cherry picked from commit 1199a352fcb938a8dc7a34a2853c4fde7f5656f1)\n"
    },
    {
      "commit": "e062ae07f9b11ff35a1b0b83297a8e6f26cccc8c",
      "tree": "4c745240d455d627c130ccfd3e1bb39de2c64f80",
      "parents": [
        "6391598412b0a265c5c9e2c162fd1d7c42353dc6"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Mon Jul 31 20:35:58 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Sat Sep 02 14:54:29 2017 +0900"
      },
      "message": "Network Service Discovery test: properly release resources\n\nBug: 32561414\nBug: 62918393\nBug: 62044295\nTest: runtest frameworks-net\nChange-Id: If23993b5e391947ecbdc01677f0a643144794b2b\n"
    },
    {
      "commit": "b7cabe7b594d12a9bf9be884e202de1047a3dcc4",
      "tree": "4bdf05315b31b0d5e61f8a22868bf36486917754",
      "parents": [
        "55a2494df3d4aaa7836e332febd34673d0a10e0b",
        "c6b2e356b6e4c3ec5e17e5521d55d7bc6c2785f3"
      ],
      "author": {
        "name": "Ahmed ElArabawy",
        "email": "arabawy@google.com",
        "time": "Fri Sep 01 06:28:51 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Sep 01 06:28:51 2017 +0000"
      },
      "message": "Merge \"Add APF black list for ether-type\"\nam: c6b2e356b6\n\nChange-Id: I2aca562191119dc26eb7bc5293956061e5f44827\n"
    },
    {
      "commit": "fd424169a1ffb549806f27e5478aa0700416296a",
      "tree": "15e67f1c034bd1b8dd51612e213c2c98d53fa797",
      "parents": [
        "fd5cdfc924b3f63ed1a1f725e09112ca4ed8465e"
      ],
      "author": {
        "name": "Ahmed ElArabawy",
        "email": "arabawy@google.com",
        "time": "Wed Aug 02 13:31:05 2017 -0700"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Fri Sep 01 14:03:58 2017 +0900"
      },
      "message": "Add APF black list for ether-type\n\nAdd a configurable black for protocols which packets are to be dropped\nby APF. This enales an OEM to configure the APF to filter out un-needed\npackets from reaching the host\n\nBug: 62415182\nTest: runtest frameworks-net\n\nMerged-In: I86335a0f854d5e83a2b2767978cd69b2cc25c2f8\n\nSigned-off-by: Ahmed ElArabawy \u003carabawy@google.com\u003e\n\n(cherry picked from commit caffbe127726c6a9ab5dd023a9b09cfa43eac617)\n\nChange-Id: I15a758d18464d73d24ba8364a867904bb3cd3b34\n"
    },
    {
      "commit": "46a435a37800f3d5d3d4768ff92fd74b2ae55148",
      "tree": "fe8581bd647d88c754ca84e7c74a6627b20b96ea",
      "parents": [
        "7d4e9b81b4bde2e8d099ef8a81494533ca25c27f"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Aug 29 12:18:55 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Aug 29 12:54:11 2017 -0700"
      },
      "message": "Fix errorprone build\n\nFixes:\nframeworks/base/tests/net/java/com/android/server/connectivity/tethering/OffloadControllerTest.java:149: error: [JUnit4TestNotRun] Test method will not be run; please add @Test annotation\n    public void testNoSettingsValueDefaultDisabledDoesNotStart() throws Exception {\n                ^\n    (see http://errorprone.info/bugpattern/JUnit4TestNotRun)\n  Did you mean \u0027@Test\u0027?\nframeworks/base/tests/net/java/com/android/server/connectivity/tethering/OffloadControllerTest.java:170: error: [JUnit4TestNotRun] Test method will not be run; please add @Test annotation\n    public void testNoSettingsValueDefaultEnabledDoesStart() throws Exception {\n                ^\n    (see http://errorprone.info/bugpattern/JUnit4TestNotRun)\n  Did you mean \u0027@Test\u0027?\n\nBug: 64489631\nTest: m -j RUN_ERROR_PRONE\u003dtrue javac-check\nMerged-In: Ib32489d07778465134bca52c589baddbd78ab129\nChange-Id: I41dfdf87529e532df385617fa05c7006a7a14c86\n"
    },
    {
      "commit": "3dd0137ee59c32c070b9e75745c403851e1c86bd",
      "tree": "3768114887402d3b5d937977383039fb24c122c8",
      "parents": [
        "b6805dc02f0253e3ce0bd681c6362ca71384b438",
        "c0d8300b32b706e1d4caced06a4004d427a9bdd3"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Mon Aug 28 12:49:29 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 28 12:49:29 2017 +0000"
      },
      "message": "Merge \"Trivial change to test expectations.\"\nam: c0d8300b32\n\nChange-Id: I58155e3edb424ea6918a3d2bb8e284e61346765f\n"
    },
    {
      "commit": "f612b609db322946a4f10b0d312b35edd0382dd9",
      "tree": "ff891fecc587af9c15670b8e45cdd5c627733f49",
      "parents": [
        "b09cf3fbf1c7e340bc06e8aba06461d4a0bae457"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Aug 24 12:40:07 2017 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Mon Aug 28 18:58:13 2017 +0900"
      },
      "message": "Trivial change to test expectations.\n\n(cherry picked from commit 0fee732ca579bbc4320ade35f238bdfa1aa500f5)\n\nBug: 32163131\nTest: runtest frameworks-net\nChange-Id: Iec8af5191b4da495e47ef97d70a03a5d2e75cfe2\n"
    },
    {
      "commit": "df2a8807757112ca2868120bb09f973511424b77",
      "tree": "77238cbc0278a234de1bee1f111175d117e4568c",
      "parents": [
        "d3d6ddea9495302db405db296bb0cbf9f214b7b1",
        "b09cf3fbf1c7e340bc06e8aba06461d4a0bae457"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Thu Aug 24 05:33:44 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Aug 24 05:33:44 2017 +0000"
      },
      "message": "Merge changes from topic \"offload_cherrypick\"\nam: b09cf3fbf1\n\nChange-Id: Icb4332b34bc8b940a2c30beab143f7136e0178de\n"
    },
    {
      "commit": "b09cf3fbf1c7e340bc06e8aba06461d4a0bae457",
      "tree": "e9cfd371696dc622a90bc55bc2ae13505b157ed4",
      "parents": [
        "29b1826ff26fe906ad66778612da7d1caebad963",
        "b3bb26eaa790cc18f6383387975630c1ae35752a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Aug 24 05:18:23 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 24 05:18:23 2017 +0000"
      },
      "message": "Merge changes from topic \"offload_cherrypick\"\n\n* changes:\n  Send add/removeDownstream info to offload HAL\n  Don\u0027t completely stop offload if setting data limit fails.\n"
    },
    {
      "commit": "b3bb26eaa790cc18f6383387975630c1ae35752a",
      "tree": "16eb52c60ed8164c7905fce7cc90f301d9db8987",
      "parents": [
        "ddce7ee20fcad91bd45f77222d762136587bc192"
      ],
      "author": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Thu Jul 06 19:49:35 2017 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Wed Aug 23 20:55:47 2017 -0700"
      },
      "message": "Send add/removeDownstream info to offload HAL\n\nTest: as follows\n    - built\n    - flashed\n    - booted\n    - \"runtest frameworks-net\" passed\nBug: 29337859\nBug: 32163131\n\nMerged-In: I0cb81ac054fc2bf6c8b8bfe658e9404a15091d7a\nMerged-In: I7abcdcc2d7d967179c47081a6db2b417164891f3\nChange-Id: I6c59aa7cb80b54f376f294b24c1409710c553d74\n(cherry picked from commit ed962a84122ab950a103fbbc0bf911f61b6b9500)\n"
    },
    {
      "commit": "ddce7ee20fcad91bd45f77222d762136587bc192",
      "tree": "57e57476dffa484d7aa43ba93fe158a4b823174e",
      "parents": [
        "ff12ba93765cebbae0d38113b8c9d935f80681f5"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Mon Aug 21 12:34:50 2017 +0900"
      },
      "committer": {
        "name": "Erik Kline",
        "email": "ek@google.com",
        "time": "Wed Aug 23 20:51:35 2017 -0700"
      },
      "message": "Don\u0027t completely stop offload if setting data limit fails.\n\nCurrently, if setting a data limit fails, we completely stop\noffload in order to avoid data overages. However, the next thing\nwe do is try to fetch the stats and crash, because once offload\nis stopped all our local state is cleared.\n\nFix this by fetching stats before we stop offload.\n\nBug: 29337859\nBug: 32163131\nBug: 64867836\nTest: OffloadControllerTest passes\nTest: no crash when disabling wifi tethering with BT tethering active\nMerged-In: I7fc47e60b2da5f39c26fb22c1325618f9948dd38\nMerged-In: I464dd2a6d1996b1cfb8bbf82b6ee453fd0747569\nChange-Id: I260f5450f8b67f055983af68fb23a5f3cfc0bc69\n(cherry picked from commit d743601a002ac12c02da58e92ebd0544ab0b77ea)\n"
    },
    {
      "commit": "d3d6ddea9495302db405db296bb0cbf9f214b7b1",
      "tree": "695030167d76dfacff49b4c8bc3161725aec8bde",
      "parents": [
        "bbadcfd315af9933cde7c9e6d291513a0c0edb0f",
        "29b1826ff26fe906ad66778612da7d1caebad963"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Aug 24 03:46:07 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Aug 24 03:46:07 2017 +0000"
      },
      "message": "Merge \"Make NetworkManagementServiceTest pass again.\"\nam: 29b1826ff2\n\nChange-Id: If7fafa0922fdbc499c0c911a3f88ede9c8a26c1d\n"
    },
    {
      "commit": "29b1826ff26fe906ad66778612da7d1caebad963",
      "tree": "686d657548b2d7d7391d3288ebf2bb54f70bf718",
      "parents": [
        "ff12ba93765cebbae0d38113b8c9d935f80681f5",
        "a086800e0409a74279d1caf4141e5508b6be4aa6"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Aug 24 03:36:20 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 24 03:36:20 2017 +0000"
      },
      "message": "Merge \"Make NetworkManagementServiceTest pass again.\""
    },
    {
      "commit": "bbadcfd315af9933cde7c9e6d291513a0c0edb0f",
      "tree": "61f3578f52a67071236edb42768b224ffe1065f7",
      "parents": [
        "aeb64f7f98e66d992fac4ca70faf67d3a0ebc761",
        "ff12ba93765cebbae0d38113b8c9d935f80681f5"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Thu Aug 24 02:52:42 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Aug 24 02:52:42 2017 +0000"
      },
      "message": "Merge \"Tethering offload stats updates are eventually consistent\"\nam: ff12ba9376\n\nChange-Id: I3a8ddc928b60c666faab2991defe8fb7afd0801e\n"
    },
    {
      "commit": "752c1287bd8424ff29800a06cd0ac92d71442a58",
      "tree": "1a739b778064abc383ca510d32c24621354e5c88",
      "parents": [
        "899398113a0f27c42baba70d27343a4412fec71f"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Aug 22 13:57:41 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Wed Aug 23 09:58:09 2017 +0900"
      },
      "message": "Tethering offload stats updates are eventually consistent\n\nThis patch removes the call to runWithScissors() in\nOffloadController#getTetherStats() that was causing a deadlock when\nNetworkStatsService would be polled for stats in certain threading\ncontexts.\n\nInstead of trying to query the tethering offload HAL synchronously all\nthe time, this patch:\n - changes getTetherStats() to only call into the offload HAL when it\n   detects that it is called on the same thread as the Tethering handler\n   thread.\n - changes the map of interface to accumulated tethering forwarded stats\n   to be concurrent.\n\nThis makes stats reading from getTetherStats() eventually consistent.\nFrom the point of view of getTetherStats(), it preserves the guarantees\nthat tethering stats are monotonically increasing, and also guarantees\nno tearing between rx bytes and tx bytes.\n\nBug: 29337859\nBug: 32163131\nBug: 64771555\nTest: runtest frameworks-net\nMerged-In: Ibcd351ad0225ef146b00a807833f76d2a886f6c1\nMerged-In: I61786d61fe1422e429c0dd9eadaff6f02eb850e7\nMerged-In: I999d1d1bf72e7ab02c5d17f37aad00bc711d3fc5\n\n(cherry pick from commit eb5e465edd78bea26289f779b635c7e94d934854)\n\nChange-Id: I28646b962cee8c8a6efd66059f84873c02ac5810\n"
    },
    {
      "commit": "a086800e0409a74279d1caf4141e5508b6be4aa6",
      "tree": "9d815d6fe3d19d6e8ed7ba66297e6bbdc056668b",
      "parents": [
        "899398113a0f27c42baba70d27343a4412fec71f"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Jul 11 02:29:28 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Wed Aug 23 09:49:05 2017 +0900"
      },
      "message": "Make NetworkManagementServiceTest pass again.\n\n1. Mock the service manager so that NMS can fetch mock versions\n   of INetd and IBatteryStats.\n2. Call LocalServices.removeServiceForTest to avoid a duplicate\n   service registration error. // check this\n3. Change the timeout from 100ms to 200ms, as otherwise the tests\n   that check for IfaceClass fail.\n4. Convert NetworkManagementServiceTest to JUnit 4.\n5. Move NetworkManagementServiceTest to tests/net\n\nBug: 29337859\nBug: 32163131\nBug: 32561414\nBug: 62918393\nTest: runtest frameworks-net\nChange-Id: Ic7371b427b35809ccd446addf35c9d8ae99ccfd3\n"
    },
    {
      "commit": "f7c02563ee7141b1d10762939a9539383df24985",
      "tree": "0ebdd2f6d8eafbef21c877ab52b5928c6413f9f1",
      "parents": [
        "b9fc12d1d2fd709f2d582639fe9d911abb80f6d3",
        "e869136a54381b35abb117d6310b31de82e3a80d"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Mon Aug 21 12:29:53 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 21 12:29:53 2017 +0000"
      },
      "message": "Merge \"IpManager: use InitialConfiguration for provisioning\" am: 5b218bdc8e am: c6a9b5564a\nam: e869136a54\n\nChange-Id: I8e9c6de63697b8c3f41480d69309360763119838\n"
    },
    {
      "commit": "e869136a54381b35abb117d6310b31de82e3a80d",
      "tree": "502c549ec22f151cffe6a4fefb34d6d35f34b92a",
      "parents": [
        "4fa01870157dc5c372bc7ce61d7aec2215737047",
        "c6a9b5564a066164ea9e09616fd45f1e94d305b0"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Mon Aug 21 12:19:08 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 21 12:19:08 2017 +0000"
      },
      "message": "Merge \"IpManager: use InitialConfiguration for provisioning\" am: 5b218bdc8e\nam: c6a9b5564a\n\nChange-Id: I6e42d26ae430c213f65e466a2c556760ff0e14eb\n"
    },
    {
      "commit": "c6a9b5564a066164ea9e09616fd45f1e94d305b0",
      "tree": "76fb29b3613676051fb9dbc245fa4241a935f96f",
      "parents": [
        "9335d2d0b114e9b7c5f5af634390daa609196a12",
        "5b218bdc8e41be24fed309a77059a587c236e3ad"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Mon Aug 21 12:08:28 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Aug 21 12:08:28 2017 +0000"
      },
      "message": "Merge \"IpManager: use InitialConfiguration for provisioning\"\nam: 5b218bdc8e\n\nChange-Id: I131589680b68222e4fda4e9165ac2f50894ee28e\n"
    },
    {
      "commit": "d00ddf567235e20bcbdc527ae20824fa944c3a64",
      "tree": "2b6e1ec60f2bf5d35a6bd518b4f5a87b07f60b45",
      "parents": [
        "23868e9c0976acd0d44e8bdc22b690e9b9ef8662"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Aug 08 13:08:06 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Mon Aug 21 16:00:31 2017 +0900"
      },
      "message": "IpManager: use InitialConfiguration for provisioning\n\nThis patch changes IpManager to take into account static provisioning\ninformation specified in the InitialConfiguration for IPv6 static\nconfiguration.\n\nWhen a valid InitialConfiguration with IPv6 content is specified,\nIpManager will do the following things:\n\n- at start(), it will push the IPv6 addresses in the config to netd\n- it will observe all addresses be notified via Netlink\n- when all addresses are there, it will patch in the associated IPv6\n  routes in the config, so that they get passed to ConnectivityService\n  through the usual mechanism\n\nThe logic triggering onProvisioningSuccess is also changed to take into\naccount InitialConfiguration: when all addresses and all routes in the\nconfig are seen the provisioning is successful.\n\nBug: 62988545\nTest: runtest frameworks-net, with newly added tests\nChange-Id: I77ed7c576c4b198de7a4726be70c78b74689e98b\n"
    },
    {
      "commit": "b9fc12d1d2fd709f2d582639fe9d911abb80f6d3",
      "tree": "7cdd534f5df36ab43de0a2bff9baa52cf954ffe7",
      "parents": [
        "c61e1cca859bcdd6d80d2a41b7e60750a9ad4092",
        "4fa01870157dc5c372bc7ce61d7aec2215737047"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Sat Aug 19 03:38:10 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Aug 19 03:38:10 2017 +0000"
      },
      "message": "Merge changes I325b13d5,I89719fe7 am: 23868e9c09 am: 9335d2d0b1\nam: 4fa0187015\n\nChange-Id: Ib980879b0e50ffe1c8209339df22da4a50d5b74e\n"
    },
    {
      "commit": "4fa01870157dc5c372bc7ce61d7aec2215737047",
      "tree": "f112d5aff39ff63e4dd19d023cab036ad3c460c6",
      "parents": [
        "beae6211027dc286d7e0a2192e9a17e5d9ae9167",
        "9335d2d0b114e9b7c5f5af634390daa609196a12"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Sat Aug 19 03:25:21 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Aug 19 03:25:21 2017 +0000"
      },
      "message": "Merge changes I325b13d5,I89719fe7 am: 23868e9c09\nam: 9335d2d0b1\n\nChange-Id: Iac0d1a08c45816f32b0f8ab81a079883a9965e21\n"
    },
    {
      "commit": "9335d2d0b114e9b7c5f5af634390daa609196a12",
      "tree": "e9e3179279cc4d96a2fe1e77246bf26c680a6b9b",
      "parents": [
        "461f4eb09929138cc8ee0070b3f0a0b5b68c4468",
        "23868e9c0976acd0d44e8bdc22b690e9b9ef8662"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Sat Aug 19 03:15:08 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Aug 19 03:15:08 2017 +0000"
      },
      "message": "Merge changes I325b13d5,I89719fe7\nam: 23868e9c09\n\nChange-Id: Iaced543ab17ea87c8f701975764d957bc1b17fc7\n"
    },
    {
      "commit": "23868e9c0976acd0d44e8bdc22b690e9b9ef8662",
      "tree": "8dd5e0d1134eb78aac6f57d9acfb23cc1d2bf12f",
      "parents": [
        "cb3c24e36b9efad8adeb72b5f814bf35c5db60bb",
        "f1912ca49ac0f5bcdad063a7c042153ba791145d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Aug 19 03:05:14 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Aug 19 03:05:14 2017 +0000"
      },
      "message": "Merge changes I325b13d5,I89719fe7\n\n* changes:\n  Add tether offload traffic to interface stats as well.\n  Tell the system when tethering offload hits a limit.\n"
    },
    {
      "commit": "f1912ca49ac0f5bcdad063a7c042153ba791145d",
      "tree": "fb57a8fedcb219224f8d44796c3998c383961cdc",
      "parents": [
        "9f0baa94ca28f67e162d3ad04ca6d0e17ee5e314"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Thu Aug 17 19:23:08 2017 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Sat Aug 19 10:12:05 2017 +0900"
      },
      "message": "Add tether offload traffic to interface stats as well.\n\nCurrently, we only count add tethering traffic to per-UID\nstats, but not to total data usage (i.e., dev and XT stats). This\nis correct for software tethering, because all software forwarded\npackets are already included in interface counters, but it is\nincorrect for hardware offload, because such packets do not\nincrement interface counters.\n\nTo fix this:\n1. Add an argument to ITetheringStatsProvider#getTetherStats to\n   indicate whether per-UID stats are requested. For clarity,\n   define integer constants STATS_PER_IFACE and STATS_PER_UID\n   to represent these operations.\n2. Make NetdTetheringStatsProvider return stats only if per-UID\n   stats are requested. (Otherwise tethering traffic would be\n   double-counted).\n3. Make OffloadController\u0027s stats provider return the same\n   stats regardless of whether per-UID stats were requested or\n   not.\n4. Make NetworkStatsService add non-per-UID tethering stats to\n   the dev and XT snapshots. The per-UID snapshots were already\n   correctly adding in per-UID stats.\n\n(cherry picked from commit 5356a35c3bcfcdf2d184c620af6bfbf9bddf35c5)\n\nBug: 29337859\nBug: 32163131\nTest: runtest frameworks-net\nTest: runtest frameworks-telephony\nChange-Id: I325b13d50e88841dfb0db4c35e7e27f163ee72fe\nMerged-In: I4e8e923d68dce1a4a68608dbd6c75a91165aa4ee\n"
    },
    {
      "commit": "9f0baa94ca28f67e162d3ad04ca6d0e17ee5e314",
      "tree": "34ed3ff01daf584a939968052cdf4094eb9474f0",
      "parents": [
        "deb4eb5d05ccf983adcb7252c98c2580a8a36c60"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Aug 15 19:25:51 2017 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Sat Aug 19 00:15:31 2017 +0900"
      },
      "message": "Tell the system when tethering offload hits a limit.\n\nAdd a new tetherLimitReached method to INetworkManagementService,\nand call it when the HAL notifies OffloadController because the\nlimit has been reached.\n\nBug: 29337859\nBug: 32163131\nTest: builds\nTest: OffloadControllerTest passes\n\n(cherry picked from commit d66cf56ba662f10f2da1d0f844116632ad0a0dbb)\n\nChange-Id: I89719fe7ec8bfd3c85d6cdca9c0d449aea86ef9d\nMerged-In: I026e6aa9e7b371f316c0d97c3cf5e78abc1f5263\n"
    },
    {
      "commit": "e9291de0c45e0b07f58981e0940d650f5e7ce9cc",
      "tree": "97737954c4002ac50b2d732b16d970a54ca328cd",
      "parents": [
        "1ada5660ce8237810943f6511679cce0c7039b5f",
        "4d7787a310f140061ed3e22820b8248997641820"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Wed Aug 16 15:09:12 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 16 15:09:12 2017 +0000"
      },
      "message": "Merge \"Add convenience methods to IpPrefix and LinkAddress\" am: 2ad60c88f1 am: ea2defe62b\nam: 4d7787a310\n\nChange-Id: I8d6dd5efd226a8b1c4b05d1e1102362b58e094a1\n"
    },
    {
      "commit": "4d7787a310f140061ed3e22820b8248997641820",
      "tree": "ce5484ac2806c3845a914ccd27ebd72b7db25ec6",
      "parents": [
        "63fdcd08f870aab00c195f8cd9d82dff3141d3c1",
        "ea2defe62b6909d4fe92d1a9c6a3bdc439dd0f8a"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Wed Aug 16 14:56:51 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 16 14:56:51 2017 +0000"
      },
      "message": "Merge \"Add convenience methods to IpPrefix and LinkAddress\" am: 2ad60c88f1\nam: ea2defe62b\n\nChange-Id: Iddfec82a08f845e728adadfa6ec58a60a078d6af\n"
    },
    {
      "commit": "ea2defe62b6909d4fe92d1a9c6a3bdc439dd0f8a",
      "tree": "3bdb772b90b2cd1566b01398e9552156aff0c021",
      "parents": [
        "1da7985327287ecc3aac5c61f31b3998b5117d34",
        "2ad60c88f12d8150758902f2ff4f10f64ab6c17b"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Wed Aug 16 14:49:27 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Aug 16 14:49:27 2017 +0000"
      },
      "message": "Merge \"Add convenience methods to IpPrefix and LinkAddress\"\nam: 2ad60c88f1\n\nChange-Id: I6d3f3c50eaec44e3a0787e849ab28e89f6f4a72d\n"
    },
    {
      "commit": "2ad60c88f12d8150758902f2ff4f10f64ab6c17b",
      "tree": "524ba94e3b37e0418e71508890a5e42f704eb199",
      "parents": [
        "2827f21740b161ee205023bd0b23fc4e2d978f0d",
        "1dfb6b67555d04973dfb9d1100dfc1c6a5200633"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Aug 16 14:38:29 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 16 14:38:29 2017 +0000"
      },
      "message": "Merge \"Add convenience methods to IpPrefix and LinkAddress\""
    },
    {
      "commit": "1dfb6b67555d04973dfb9d1100dfc1c6a5200633",
      "tree": "a2b2cd5aa6e20bf728de8000f6ac4bdccf895cc9",
      "parents": [
        "c06dbc114f839112f1132e1e0edac8533b3f4c54"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Aug 08 13:06:04 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Wed Aug 16 21:42:21 2017 +0900"
      },
      "message": "Add convenience methods to IpPrefix and LinkAddress\n\nAlso moving relevant test files into tests/net as part of runtest\nframworks-net.\n\nAlso removes testHashCode in LinkAddress() because this test relies on\nthe assumption that hashCode() is stable across releases or jdk\nversions, which is absolutely not true.\n\nThis creates maintenance work for little benefit since hashCode is\nalready tested as part of the equality test.\n\nFor instance this test is now broken because hashing for InetAddress\nchanged.\n\nBug: 62988545\nBug: 62918393\nTest: runtest frameworks-net, added coverage in tests\nChange-Id: I695bc3f0e801bf13bc4fc0706565758f12b775b4\n"
    },
    {
      "commit": "20fa45e3a91216b13680efca764ac455b488d176",
      "tree": "5064409cdd762bbfa8ca073e0e50bda9da29d616",
      "parents": [
        "1f1d124bfea987f39b82914a722628a53ceef6ec",
        "0cf31d4d6d22936f9f0a6aed004f95ff6f43e169"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Aug 15 02:25:36 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 15 02:25:36 2017 +0000"
      },
      "message": "Merge changes I82d3bee0,I9c9413d7 am: deb4eb5d05 am: 51c3d6a8bf\nam: 0cf31d4d6d\n\nChange-Id: I759ed9a79b6ebfa2ae6143167c0dd7d0ad84c67f\n"
    },
    {
      "commit": "0cf31d4d6d22936f9f0a6aed004f95ff6f43e169",
      "tree": "018cf777de11386920b74865c64986e982b28b39",
      "parents": [
        "c04cc3bb7e0aa75ef3976857260482a5095e12a1",
        "51c3d6a8bf86c3b0326e09f67b17876e39f800c8"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Aug 15 02:16:18 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 15 02:16:18 2017 +0000"
      },
      "message": "Merge changes I82d3bee0,I9c9413d7 am: deb4eb5d05\nam: 51c3d6a8bf\n\nChange-Id: Ie7e8806faecdad96b4033404709fb3aebc4bdd0f\n"
    },
    {
      "commit": "51c3d6a8bf86c3b0326e09f67b17876e39f800c8",
      "tree": "9cbd4cb10c27eb1e44de5da4ed8196af7f42579b",
      "parents": [
        "5b30d7b8194bea6e3d7d4621c94dc6d6e1a5f110",
        "deb4eb5d05ccf983adcb7252c98c2580a8a36c60"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Aug 15 02:07:36 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 15 02:07:36 2017 +0000"
      },
      "message": "Merge changes I82d3bee0,I9c9413d7\nam: deb4eb5d05\n\nChange-Id: Iaa6aecf3ec3a91dc04f4533c0ea5b649bdfeb83d\n"
    },
    {
      "commit": "deb4eb5d05ccf983adcb7252c98c2580a8a36c60",
      "tree": "fe1225c41ac6128870708616cb71786c919233e8",
      "parents": [
        "ee6e43c033ac41c82969bb3dd074687de38052d1",
        "50b60fc34dcf879007b5ab6e9b67f806e5a57215"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Aug 15 01:57:28 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 15 01:57:28 2017 +0000"
      },
      "message": "Merge changes I82d3bee0,I9c9413d7\n\n* changes:\n  Pass data usage limits to tethering offload code.\n  Don\u0027t time out when fetching tether offload stats.\n"
    },
    {
      "commit": "50b60fc34dcf879007b5ab6e9b67f806e5a57215",
      "tree": "41860d4a7c663c20e62cab351075e85df00a64ec",
      "parents": [
        "fef69a126793c83aa0d99a8c597037c3a29929c0"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Fri Aug 11 13:47:49 2017 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Aug 15 00:09:23 2017 +0900"
      },
      "message": "Pass data usage limits to tethering offload code.\n\nBug: 29337859\nBug: 32163131\nTest: builds\nTest: OffloadControllerTest passes\nChange-Id: I82d3bee030bafa8fe85855885b5fc3893e699181\n"
    },
    {
      "commit": "c06dbc114f839112f1132e1e0edac8533b3f4c54",
      "tree": "19cac51dea4d21724818034c37c238ab9e4f980a",
      "parents": [
        "05be68698bfce2bd1635eab75d057f0bc4a6ceb5",
        "4478840931423f31351af8ec370a4421a460651b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Aug 08 08:30:03 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 08 08:30:03 2017 +0000"
      },
      "message": "Merge \"DO NOT MERGE Fix some broken tests in frameworks-net with native dependencies\""
    },
    {
      "commit": "86e04cb37007b527e79ab5aebf0ffdad3a4ff347",
      "tree": "0e3ee3d432b113bf539badce06c823cf25bca34d",
      "parents": [
        "a432741940ded02d5a4984ce820e3e29e4b8f527",
        "db554dfdfa9e2c34ea5bc04ce0d5b7de8c2c6f05"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Aug 08 07:46:56 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 08 07:46:56 2017 +0000"
      },
      "message": "Merge \"Connectivity OWNERS: let owners modify Android.mk\" am: 05be68698b am: a22fbf4534\nam: db554dfdfa\n\nChange-Id: I68339b6b5efab5ac8fe72bbbd7c96da59bc24b2e\n"
    },
    {
      "commit": "db554dfdfa9e2c34ea5bc04ce0d5b7de8c2c6f05",
      "tree": "c164332907509ca1bd8663c9d85f57bd7d79f7ee",
      "parents": [
        "ffcc739a39148fb47cac0066828241238786a497",
        "a22fbf4534cf161f9b43c14e03de16a7b6208803"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Aug 08 07:40:02 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 08 07:40:02 2017 +0000"
      },
      "message": "Merge \"Connectivity OWNERS: let owners modify Android.mk\" am: 05be68698b\nam: a22fbf4534\n\nChange-Id: I64895a50baca163588ce863f7fb93fad31d7f55b\n"
    },
    {
      "commit": "a22fbf4534cf161f9b43c14e03de16a7b6208803",
      "tree": "2fd6e09d3200b336c5304548e5f847a8542d639e",
      "parents": [
        "7d752a872df3a0217089a135a18f647d3fe41883",
        "05be68698bfce2bd1635eab75d057f0bc4a6ceb5"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Aug 08 07:34:39 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Aug 08 07:34:39 2017 +0000"
      },
      "message": "Merge \"Connectivity OWNERS: let owners modify Android.mk\"\nam: 05be68698b\n\nChange-Id: Iff94ca7089c074cc44f8e09cbce01f741c0b5c67\n"
    },
    {
      "commit": "05be68698bfce2bd1635eab75d057f0bc4a6ceb5",
      "tree": "bb209a66ef0228aa8819b9a9b02b8086b53ae117",
      "parents": [
        "2cbce2cb2741c74e47308c8b44c8f38f67fd0819",
        "afd2346bcce434d766068e7ee6a1e1c3da04125f"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Aug 08 07:20:07 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Aug 08 07:20:07 2017 +0000"
      },
      "message": "Merge \"Connectivity OWNERS: let owners modify Android.mk\""
    },
    {
      "commit": "4478840931423f31351af8ec370a4421a460651b",
      "tree": "7a9dbdfbb02f0dad75356ebe0ed18ee395763451",
      "parents": [
        "e4d461c0c8cef358699e1034ac123212519d60ac"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Fri Aug 04 12:12:25 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Aug 08 16:06:54 2017 +0900"
      },
      "message": "DO NOT MERGE Fix some broken tests in frameworks-net with native dependencies\n\nRational for do not merge: the list of native libraries needed in\nAndroid.mk is not consistent at the moment for aosp master and for\ninternal branches. Furthermore it is not consistent within internal\nbranches either. This patch only attempts to fix the tests of the\nbranches where it matters for development. Otherwise the cost of merge\nconflicts makes it undesirable.\n\nTest: All tests in runtest frameworks-net pass.\nMerged-In: Ie0b8baa38ca39e92fbd698ebcead86dac0a67708\n\n(cherry pick from commit 99e8ab6e46eec5dbd1b059b3732672d537b3cf34)\n\nChange-Id: Ic732b3dafc3497235e455b8748ac4f99cf02b221\n"
    },
    {
      "commit": "afd2346bcce434d766068e7ee6a1e1c3da04125f",
      "tree": "c875778d1033f2e617f7aef65e714091933cc92d",
      "parents": [
        "5027dd1026da76ca84484831f31f6e14f1bf4066"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Aug 08 10:46:57 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Tue Aug 08 10:46:57 2017 +0900"
      },
      "message": "Connectivity OWNERS: let owners modify Android.mk\n\nSince per-file overwrites the directory default, just allowing\nbuild.master@android.com for Android.mk with a per-file rule prevents\nthe owners of the directory to modify Android.mk files without bypassing\nOWNERS check in gerrit.\n\nThis patch fixes this issue for Connectivity OWNERS files by explicitly\nlisting Connectivity members for a few Android.mk files.\n\nTest: build\nChange-Id: I9c2a2519c3e7dd27e66334b090e074968b408cbc\n"
    },
    {
      "commit": "722c71ed8b7973d03ca30acb6b909997a8a019e7",
      "tree": "d5ad138c514ba2aa6184c6f22a09a7f90da95d4d",
      "parents": [
        "654198c768e1750fd6300b2b4f372a3a50408299",
        "8dfb91df6caf03d7869421c52f1f5b196a954a6b"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Sat Aug 05 01:14:30 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Aug 05 01:14:30 2017 +0000"
      },
      "message": "Merge \"NetworkCapabilities: fix describeImmutableDifferences\" am: 7575ec2240 am: f6346af47e\nam: 8dfb91df6c\n\nChange-Id: I533ef8fe369cec19d283ff2950314fce6e28cffd\n"
    },
    {
      "commit": "8dfb91df6caf03d7869421c52f1f5b196a954a6b",
      "tree": "f4a0ca33ab5a1df1b6dd5ade7d735c318de594c9",
      "parents": [
        "0d731c79e39590052ff3b95bac2151bb4fe19b68",
        "f6346af47edbbfda4731bb7c1cba3aac85a86149"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Sat Aug 05 01:01:04 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Aug 05 01:01:04 2017 +0000"
      },
      "message": "Merge \"NetworkCapabilities: fix describeImmutableDifferences\" am: 7575ec2240\nam: f6346af47e\n\nChange-Id: Ieccad46fcffcaf748f5644b04617e9a82527000e\n"
    },
    {
      "commit": "f6346af47edbbfda4731bb7c1cba3aac85a86149",
      "tree": "2778d9bd5611213f1634d66b5d98d105658feb60",
      "parents": [
        "935136689de16f9b63b2d9503b10f6fa386b8115",
        "7575ec2240e90dcbe6341e3c32610dc267930993"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Sat Aug 05 00:54:43 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Aug 05 00:54:43 2017 +0000"
      },
      "message": "Merge \"NetworkCapabilities: fix describeImmutableDifferences\"\nam: 7575ec2240\n\nChange-Id: If38efacdeec8476880835657938e435f9b598525\n"
    },
    {
      "commit": "2ecb9408f4102687f20f9ca19c13071ac6098cc6",
      "tree": "da1214df7d4ed1872ae00c5c74b61844314c6174",
      "parents": [
        "5027dd1026da76ca84484831f31f6e14f1bf4066"
      ],
      "author": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Fri Aug 04 13:18:40 2017 +0900"
      },
      "committer": {
        "name": "Hugo Benichi",
        "email": "hugobenichi@google.com",
        "time": "Fri Aug 04 15:17:40 2017 +0900"
      },
      "message": "NetworkCapabilities: fix describeImmutableDifferences\n\nThis patch fixes the mask used in describeImmutableDifferences which did\nnot correctly turn NET_CAPABILITY_NOT_METERED into bit flag.\n\nBug: 63326103\nTest: added unit tests, runtest frameworks-net\nChange-Id: Ib6b390b1daef5912859302692af7dcd6cfd3e39a\n"
    },
    {
      "commit": "5469504e6b2f7b7e9a883a6bddbe30856f81b2f7",
      "tree": "2be9ca669f1adc3a43def2ec26df67a56553adee",
      "parents": [
        "f9caecd124d2da220d13f6e03294d5b5ea6048cb"
      ],
      "author": {
        "name": "Alexandru-Andrei Rotaru",
        "email": "rotaru@google.com",
        "time": "Tue Jul 18 16:49:22 2017 +0100"
      },
      "committer": {
        "name": "Alexandru-andrei Rotaru",
        "email": "rotaru@google.com",
        "time": "Thu Aug 03 13:51:36 2017 +0000"
      },
      "message": "Notify the user and turn off tethering when the service is disallowed.\n\nAdded UserRestrinctionListener for turning the service off one the\nDISALLOW_CONFIG_TETHERING is on into Tethering.  Added notification\nabout\ntethering being turned off. Also added Unit Tests to test the\nfunctionality\nof the UserRestrictionListener added.\n\nBug: 27936525\nTest: Turn the tehering service on (either wifi, usb or bluetooth).\nAutomatically the system should send a notification about the service\nbeing active.Close settings from recents. From TestDPC User Restrictions\nswitch on DISALLOW_CONFIG_TETHERING. The tethering should be turned off\nand a notification should appear informing that the service is inactive.\n\nMerged-In: Ib7ea8885cedc2a842ebd4487c8b366a6666996bc\nChange-Id: Ib7ea8885cedc2a842ebd4487c8b366a6666996bc\n(cherry picked from commit fa6d5c5ca02f1bfc454bd3cd82e6c043661e7aa7)\n"
    },
    {
      "commit": "5027dd1026da76ca84484831f31f6e14f1bf4066",
      "tree": "e0066dc1f694cd451c149642a5dd2d7bfc198ff1",
      "parents": [
        "82d2bd4e40fd8100c4eb37aa8eb1881ea4c961d1",
        "f8f3fbbd016d12f80c02e136ab4684da807792a1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Aug 03 10:29:55 2017 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Aug 03 10:29:55 2017 +0000"
      },
      "message": "Merge \"Notify the user and turn off tethering when the service is disallowed.\""
    },
    {
      "commit": "835f5e41de491c9df1278ed4f7643b0efbf2f46d",
      "tree": "7862ae5c4eddc7ce492bfd1afd663e56ea5b7eb8",
      "parents": [
        "e244efd69f24846592d39855fa44efbb3bc0a56a",
        "f98facc3b82ea45209831aa7ecdb6155b6744b57"
      ],
      "author": {
        "name": "Lucas Dupin",
        "email": "dupin@google.com",
        "time": "Sat Jul 29 23:17:49 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat Jul 29 23:17:49 2017 +0000"
      },
      "message": "Merge \"Scrim opacity must satisfy GAR\" into oc-dr1-dev\nam: f98facc3b8\n\nChange-Id: I4c4eb814d8ea2152644665daf6fbd6eb28d81b06\n"
    }
  ],
  "next": "9324aa926a7fe74ed769525c3d93d4a55a378267"
}
