)]}'
{
  "log": [
    {
      "commit": "f00a87689352cf2226b28bbcbe84c66c2bb3ee12",
      "tree": "91387cc20a0feb796d3cf4f9b4ed62bd291078f0",
      "parents": [
        "e5f71e4ed0877bc1bafcd65c17bcc2971919cdaf"
      ],
      "author": {
        "name": "Sahin Caliskan",
        "email": "sahinc@google.com",
        "time": "Thu Jan 24 14:32:12 2019 -0800"
      },
      "committer": {
        "name": "Sahin Caliskan",
        "email": "sahinc@google.com",
        "time": "Wed Feb 06 15:49:16 2019 +0000"
      },
      "message": "Implementation of RcsMessageStore APIs [base]\n\nThis change adds the implementation of RcsMessageStore. Please see the\nbug for the design and one-pager\n\nTest: Added unit tests\n\nBug: 109759350\nChange-Id: I6049dcf74ef9e19a38ce58148a89497992bc1c98\n"
    },
    {
      "commit": "2ed5d4cf9200f9b2a3a14fa7ba359b788eeb14d7",
      "tree": "53232e526d5ffc41b5e220f1d2cded59790e8a14",
      "parents": [
        "150e191bca7db76430ec92969132f77d199f378c"
      ],
      "author": {
        "name": "junyulai",
        "email": "junyulai@google.com",
        "time": "Wed Jan 30 19:11:45 2019 +0800"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Feb 06 14:07:39 2019 +0900"
      },
      "message": "[KA03.5] Add stable AIDL parcelable for TcpKeepalivePacketData\n\nBug: 114151147\nTest: atest FrameworksNetTests\nChange-Id: I057dde79013b9eda5037b9a44f8eee06cc07352e\n"
    },
    {
      "commit": "150e191bca7db76430ec92969132f77d199f378c",
      "tree": "2c9ac3e3818ff811aab84221310a9d8e3e74ec16",
      "parents": [
        "d6471064e90bdbbd65321f3158255844ed8c4353"
      ],
      "author": {
        "name": "markchien",
        "email": "markchien@google.com",
        "time": "Thu Dec 27 22:49:51 2018 +0800"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Feb 06 12:22:22 2019 +0900"
      },
      "message": "[KA03] Support tcp keepalive offload\n\nWhen offload is starting, socket will be switched to repair\nmode. Read and write on the socket will not be allowed until\nrepair mode is turned off. If remote packet arrives, repair\nmode will be turned off automatically and a callback will\nbe raised to indicate that socket is ready to read from.\n\nBug: 114151147\nTest: -atest FrameworksNetTests\n      -manual\n\nChange-Id: I0c335865912e183e7ad32a8ea12188f02ccde5fd\n"
    },
    {
      "commit": "06835112ab5b0714956468a6ae1bae4631a8adc9",
      "tree": "edf3b7fba80565db9a2cbeb0e9d5ceff85040cfc",
      "parents": [
        "996f047394a86bb7e73a8b3ff29175cc4b9e571f"
      ],
      "author": {
        "name": "junyulai",
        "email": "junyulai@google.com",
        "time": "Thu Jan 03 18:50:15 2019 +0800"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue Feb 05 20:13:47 2019 +0900"
      },
      "message": "[KA02] internal cleanup and refactor for SocketKeepalive\n\nIn previous change, the new SocketKeepalive API was exported.\nBut internally, old PacketKeepalive names and structures are\nstill used.\n\nThis change rename them properly for code consistency and also\nrefactor KeepalivePacketData to support different types of\nKeepalivePacketData.\n\nBug: 114151147\nTest: 1. atest FrameworksNetTests\n      2. atest FrameworksWifiTests\n      3. atest FrameworksTelephonyTests\n\nChange-Id: Ia9917d12987e91e87e34ffb3f126e7bc7c9c187e\nMerged-In: Ia9917d12987e91e87e34ffb3f126e7bc7c9c187e\n"
    },
    {
      "commit": "4163ff7928dd5d4df8de766570a010451448a26d",
      "tree": "463846f8653ac299457e0e43833314683d77aa60",
      "parents": [
        "b334bbefd489b4e91845844f27c588d5641ef52f",
        "f27312788000e5974090527b57e98d098f59dfde"
      ],
      "author": {
        "name": "Mark Chien",
        "email": "markchien@google.com",
        "time": "Thu Jan 31 07:23:31 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 31 07:23:31 2019 +0000"
      },
      "message": "Merge \"Add get last entitlement value callback API\""
    },
    {
      "commit": "f27312788000e5974090527b57e98d098f59dfde",
      "tree": "1fc775f7bb0a778e542f30eb5dab448c510b634f",
      "parents": [
        "33a09948e5a413eb2f78976e742566d3efa152d2"
      ],
      "author": {
        "name": "markchien",
        "email": "markchien@google.com",
        "time": "Wed Jan 16 17:44:13 2019 +0800"
      },
      "committer": {
        "name": "markchien",
        "email": "markchien@google.com",
        "time": "Thu Jan 31 12:31:55 2019 +0800"
      },
      "message": "Add get last entitlement value callback API\n\nThe callback would be used to notify entitlement value. If the\ncache value indicates entitlement succeeded, it just fire\ncallback with cache value instead of run entitlement check.\n\nBug: 120887283\nTest: atest FrameworksNetTests\nChange-Id: I8afe928423bd75c54c61533a50a5c0814922ceb1\n"
    },
    {
      "commit": "62a9b66a3878ec8f94be196eeac3327cd5ae0c6e",
      "tree": "92fd0b560a5a3a6b97e066c1ac7ab5d1c3ee8778",
      "parents": [
        "8c43f731cf33e69dc137d6852db448c48680f229",
        "1215f09b07c46f305b9227639b8cf66da03d0ddd"
      ],
      "author": {
        "name": "Varun Anand",
        "email": "vaanand@google.com",
        "time": "Thu Jan 31 02:43:25 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 31 02:43:25 2019 +0000"
      },
      "message": "Merge \"Add an API that allows VPNs to declare themselves as metered.\""
    },
    {
      "commit": "1215f09b07c46f305b9227639b8cf66da03d0ddd",
      "tree": "4013a6c95c3e596069490b357be0f34c9451af85",
      "parents": [
        "d8148b6c8c259d3088a6d1aa9703ff208c76c36e"
      ],
      "author": {
        "name": "Varun Anand",
        "email": "vaanand@google.com",
        "time": "Mon Jan 14 11:45:33 2019 -0800"
      },
      "committer": {
        "name": "Varun Anand",
        "email": "vaanand@google.com",
        "time": "Wed Jan 30 14:09:03 2019 -0800"
      },
      "message": "Add an API that allows VPNs to declare themselves as metered.\n\nFor VPN apps targeting Q and above, they will by default be treated as\nmetered unless they override this setting before establishing VPN.\n\nBug: 120145746\nTest: atest FrameworksNetTests\nTest: On device tests verifying meteredness setup correctly for apps\ntargeting Q and apps targeting P.\nChange-Id: Ia6d1f7ef244bc04ae2e28faa59625302b5994875\n"
    },
    {
      "commit": "231b52bc03750eb49b615fb110d91f6529c922b1",
      "tree": "f493100f461e573e00b2548afd62941d247220ec",
      "parents": [
        "9fdc6d296378bd17432ba1de507c83f4c3b8ed3a"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 29 15:38:52 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Jan 30 10:23:24 2019 +0900"
      },
      "message": "Remove last NetworkStack usage of hidden APIs\n\nIncludes various small changes to stop using hidden APIs\n\nTest: make NetworkStack\nTest: flashed, booted, WiFi and tethering working\nBug: 112869080\nChange-Id: Id2830795a444f484b377ed6437435a1cd833697a\n"
    },
    {
      "commit": "774c3ce1527526d3ea55d59ee0a70f379aeff12b",
      "tree": "6008835a1f55b57ef05a1fabae82083e2344004f",
      "parents": [
        "b3f282daa1c2163ce495673944e46be6d7e76c8d",
        "a462bcb9c477a2c33611560c2e8182917c5bf5b9"
      ],
      "author": {
        "name": "Pavel Grafov",
        "email": "pgrafov@google.com",
        "time": "Mon Jan 28 20:15:49 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 28 20:15:49 2019 +0000"
      },
      "message": "Merge \"Whitelist packages from VPN lockdown.\""
    },
    {
      "commit": "b8bbc48dee9db0d98a4e0fae6e9e6792ef10e387",
      "tree": "64c437b4a8d27928e989b33f0c856f065bdc6359",
      "parents": [
        "375b3c075daf2d13bacd4dd74e645b5bdd5ec9fc",
        "e88516f13b2cf4cf51e133eb0580f6ca4f4904e8"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 28 09:06:20 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 28 09:06:20 2019 +0000"
      },
      "message": "Merge \"Move NetworkUtils used by NetworkStack\""
    },
    {
      "commit": "9188b4925936d45f314e77eb5edf0c598a848177",
      "tree": "3d4dd930e9fdfdcbaaca1854fd379c9f065fd6a9",
      "parents": [
        "223d6815035b8f4a8cba7bae2c8a5a6fa7ccd63e",
        "a4bcc86dbe2b271547ce027a76b1a003aaf9918c"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 28 08:12:55 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 28 08:12:55 2019 +0000"
      },
      "message": "Merge \"Add NetworkStack networking deps to SystemApi\""
    },
    {
      "commit": "e88516f13b2cf4cf51e133eb0580f6ca4f4904e8",
      "tree": "ce33aba620e23fa7f114aac988b4fdd4ecb60ff3",
      "parents": [
        "9d3ce3e55ea4c1e0e3006c535f3ce9bccd5b8134"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Sun Jan 20 09:35:10 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 28 13:45:17 2019 +0900"
      },
      "message": "Move NetworkUtils used by NetworkStack\n\nDepending on usage move into NetworkStackUtils or shared\nInet4AddressUtils.\n\nTest: atest FrameworksNetTests NetworkStackTests\nBug: 112869080\nMerged-In: Ie20dcee375b377236004a7689890729493aca857\nChange-Id: Ib8d000529872796022706a35050fdc2c7141f2ab\n"
    },
    {
      "commit": "a4bcc86dbe2b271547ce027a76b1a003aaf9918c",
      "tree": "87f7d589be36365c536a9e278860a5098de0ffa4",
      "parents": [
        "166c3aa03049a1b3716b4e0de2c8b5a37e387e5f"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 28 13:28:35 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 28 13:28:35 2019 +0900"
      },
      "message": "Add NetworkStack networking deps to SystemApi\n\nCherry-pick with conflicts fixed in CaptivePortalLoginActivity imports.\nTest: atest FrameworksNetTests\nBug: 112869080\nMerged-In: Id59dc06fb85e4ac88098f56b621ec880610759ce\nChange-Id: I3c05e8fdd70497426d4fa433295c4fbdad07d9c9\n"
    },
    {
      "commit": "a462bcb9c477a2c33611560c2e8182917c5bf5b9",
      "tree": "ff9f4bfcb8b5e78803adba0901178aecfcd6d067",
      "parents": [
        "5e823ab263f779b566960a66c2eb9e4d511c598f"
      ],
      "author": {
        "name": "Pavel Grafov",
        "email": "pgrafov@google.com",
        "time": "Fri Jan 25 08:50:06 2019 +0000"
      },
      "committer": {
        "name": "Pavel Grafov",
        "email": "pgrafov@google.com",
        "time": "Fri Jan 25 19:59:03 2019 +0000"
      },
      "message": "Whitelist packages from VPN lockdown.\n\nBug: 77468593\nTest: atest com.android.server.connectivity.VpnTest\nChange-Id: I9119c139ab07a761ce5dfd1365b70eb905fd32dc\n"
    },
    {
      "commit": "9c4b6532b2822acf0910b677ab04d4dd2818c0ff",
      "tree": "3fc4e8187994e2fe2598e22a33f596753bc1e9d9",
      "parents": [
        "8a52fda1fa7478231d8b1b1c1d7b7f38b96c92d3",
        "72ff937a6b45201c49ead754cbd1c3cf1b6ba310"
      ],
      "author": {
        "name": "Joel Fernandes",
        "email": "joelaf@google.com",
        "time": "Fri Jan 25 17:14:44 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 25 17:14:44 2019 +0000"
      },
      "message": "Merge \"JankBench: Add Bitmap Upload to list of runnable tests\""
    },
    {
      "commit": "8a52fda1fa7478231d8b1b1c1d7b7f38b96c92d3",
      "tree": "af10bcd550b621c679e9fc4473666cad7873807c",
      "parents": [
        "113fbed9000a3e371fbdbd9eeb92ade00204adb4",
        "5c1d15003efc53f8202026b42120e81cbef8ae00"
      ],
      "author": {
        "name": "Joel Fernandes",
        "email": "joelaf@google.com",
        "time": "Fri Jan 25 17:14:15 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 25 17:14:15 2019 +0000"
      },
      "message": "Merge \"JankBench: Fix execution of incorrect benchmark\""
    },
    {
      "commit": "1f9d80f6eebc26615e14fdbab5ee8461f70aa589",
      "tree": "31c31631990a1faa0a24121c30a2d00b141ee206",
      "parents": [
        "23a6598fe44fd73f0236fdfc09504e552a153cd1",
        "f735efc83331c8f7ab76a0114c94ffb6d25377c9"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 25 00:15:50 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 25 00:15:50 2019 +0000"
      },
      "message": "Merge \"Fix IPMS tests timeout.\""
    },
    {
      "commit": "9f73671651379fb63355a39e2ace302272ba63c0",
      "tree": "f77bf568f2411960ffcfeca217db5413eeb4689d",
      "parents": [
        "961a43eae2aeee9b6fcfc152554ede34b2c115a1",
        "ee8e6a0fae7cf79862e05ea3f62d552bac3e1401"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Jan 24 21:08:46 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 24 21:08:46 2019 +0000"
      },
      "message": "Merge \"Revert \"Whitelist packages from VPN lockdown.\"\""
    },
    {
      "commit": "ee8e6a0fae7cf79862e05ea3f62d552bac3e1401",
      "tree": "e612fa7dab5f1164c6c4ffb58e8a9c880197c61f",
      "parents": [
        "bb9cef04c5b6699412d43d82bdd31c7a4f692cbc"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Jan 24 21:05:39 2019 +0000"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Jan 24 21:05:39 2019 +0000"
      },
      "message": "Revert \"Whitelist packages from VPN lockdown.\"\n\nThis reverts commit bb9cef04c5b6699412d43d82bdd31c7a4f692cbc.\n\nReason for revert: broke pi-dev-plus-aosp\n\nChange-Id: Iaf5c8aa4a8720eb2852da8cd91c81a77ccb92b68\n"
    },
    {
      "commit": "8b5917965d4ca7fd4a614263a01312e930bb1646",
      "tree": "ad42664877a02c4bd56dbd79e0a732aa7c59cbf3",
      "parents": [
        "efc773525cc5da909ba8dd2bf6ff4d517c7a3992",
        "044a436ac99d5cdb74fe933b7129f213ca3578c3"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 24 17:52:22 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 24 17:52:22 2019 +0000"
      },
      "message": "Merge \"Add API for proxy configuration over VPN.\""
    },
    {
      "commit": "efc773525cc5da909ba8dd2bf6ff4d517c7a3992",
      "tree": "bde153bd4069f09f3d13e834f1e37da576c9af55",
      "parents": [
        "1146f76c55e78dffcda031cdc4a007262cf83e44",
        "bb9cef04c5b6699412d43d82bdd31c7a4f692cbc"
      ],
      "author": {
        "name": "Pavel Grafov",
        "email": "pgrafov@google.com",
        "time": "Thu Jan 24 17:34:55 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 24 17:34:55 2019 +0000"
      },
      "message": "Merge \"Whitelist packages from VPN lockdown.\""
    },
    {
      "commit": "bb9cef04c5b6699412d43d82bdd31c7a4f692cbc",
      "tree": "60ab233d03c88ab95be89004766b785b21a193e2",
      "parents": [
        "479c0769f1a08526b3d846a77e54f78e76faf9ff"
      ],
      "author": {
        "name": "Pavel Grafov",
        "email": "pgrafov@google.com",
        "time": "Wed Dec 05 10:40:23 2018 +0000"
      },
      "committer": {
        "name": "Pavel Grafov",
        "email": "pgrafov@google.com",
        "time": "Thu Jan 24 16:17:11 2019 +0000"
      },
      "message": "Whitelist packages from VPN lockdown.\n\nBug: 77468593\nTest: atest com.android.server.connectivity.VpnTest\nTest: atest MixedDeviceOwnerTest#testAlwaysOnVpn\nTest: MixedDeviceOwnerTest#testAlwaysOnVpnAcrossReboot\nChange-Id: I7f6c5b9172063b588feacd6b9930a6cb88f764ab\nMerged-In: I7f6c5b9172063b588feacd6b9930a6cb88f764ab\n"
    },
    {
      "commit": "044a436ac99d5cdb74fe933b7129f213ca3578c3",
      "tree": "2548520f494605718e95615e16061627c56f36de",
      "parents": [
        "e62097f71d7719df24430e1e1405ba4ecaaf4b01"
      ],
      "author": {
        "name": "Irina Dumitrescu",
        "email": "irinaid@google.com",
        "time": "Wed Dec 05 16:19:47 2018 +0000"
      },
      "committer": {
        "name": "Irina Dumitrescu",
        "email": "irinaid@google.com",
        "time": "Thu Jan 24 16:07:20 2019 +0000"
      },
      "message": "Add API for proxy configuration over VPN.\n\nTest: runtest -x\nframeworks/base/tests/net/java/com/android/server/ConnectivityServiceTest.java\n\u0026\u0026 atest HostsideVpnTests\nBug: 76001058\nChange-Id: Id4dde4a4103fd93bfbbacc52d0e5ade56ae67a6a\nMerged-In: Id4dde4a4103fd93bfbbacc52d0e5ade56ae67a6a\n"
    },
    {
      "commit": "6fa3d391b8109d761f3cece9c43bb46c23f58da6",
      "tree": "c11cf6a214c38b4446a7623e8a7b87be5b865f59",
      "parents": [
        "54d74bbf06f8d58972070a8c5f69daefa7dd8d3d",
        "d2e045e040e543f5eda2821a0108a81667546eac"
      ],
      "author": {
        "name": "Lucas Lin",
        "email": "lucaslin@google.com",
        "time": "Thu Jan 24 11:06:12 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 24 11:06:12 2019 +0000"
      },
      "message": "Merge \"Popup a notification after logging in the captive portal network\""
    },
    {
      "commit": "f735efc83331c8f7ab76a0114c94ffb6d25377c9",
      "tree": "f70fddcdd6362907c1b588cb7d202f915a0a60f3",
      "parents": [
        "0d4002db35fc6dd5976176b468597e8a65d8d895"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Thu Jan 24 19:34:39 2019 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Thu Jan 24 19:34:39 2019 +0900"
      },
      "message": "Fix IPMS tests timeout.\n\nThe tests used to correctly detect failures but would mostly wait\nfor timeout instead of succeeding immediately. If timeout were to\nhappen, that would not have been detected.\n\nTest: atest IpMemoryStoreServiceTest\nChange-Id: Ic1e7fcac3020739af7dc3e2c294d0838d8ffc711\n"
    },
    {
      "commit": "d2e045e040e543f5eda2821a0108a81667546eac",
      "tree": "55f03b320fdeebb9240d32a8bfdf7e66bd1fc29a",
      "parents": [
        "56e1062ce30489ea83ce187fb78ec763d951f1b1"
      ],
      "author": {
        "name": "lucaslin",
        "email": "lucaslin@google.com",
        "time": "Thu Jan 24 15:55:30 2019 +0800"
      },
      "committer": {
        "name": "lucaslin",
        "email": "lucaslin@google.com",
        "time": "Thu Jan 24 15:55:30 2019 +0800"
      },
      "message": "Popup a notification after logging in the captive portal network\n\nCaptive portal app will be auto dismissed after user login the\ncaptive portal network. In order to improve the user experience,\npopup a notification to notify user that the captive portal\nnetwork is connected.\n\nBug: 113629026\nTest: 1.atest FrameworksNetTests:NetworkNotificationManagerTest\n      2.Connect to a captive portal network and login, check if\n      there is a notification popup.\n\nChange-Id: Id54d12268e107af2f213c2bb348c5f7908e880f4\n"
    },
    {
      "commit": "b3656c7b1b11e10cab70e90dcb6117f70607c891",
      "tree": "3fff5a7293562b928340f82c16347a1eaa22fa3a",
      "parents": [
        "9f7bc7d616543d26da1b5878c361898182adacc2",
        "215b877f11c82b1cc11e5c92c5330d4855e9dda7"
      ],
      "author": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Thu Jan 24 05:06:39 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 24 05:06:39 2019 +0000"
      },
      "message": "Merge changes from topic \"ka05\"\n\n* changes:\n  [KA05] Export keepalive offload api for IpSec Nat-T file descriptor\n  [KA01] export SocketKeepalive API for NAT-T keepalive\n"
    },
    {
      "commit": "4864bfa722382c24d5389ec18a08c82521ce836f",
      "tree": "8de650ab7e2b80de884d79a9ce5125a9a82a7a91",
      "parents": [
        "d49a6c86f4878c238fe981b24c6a5e01ef6e6218",
        "0f224efb5eb0b68e5fa4b923dbf72f3db9ac165b"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 24 04:36:44 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 24 04:36:44 2019 +0000"
      },
      "message": "Merge \"Add generic SelectTest JUnit filter and CoreTestsFilter\""
    },
    {
      "commit": "215b877f11c82b1cc11e5c92c5330d4855e9dda7",
      "tree": "9743b3174b635f221563968ef557d229b40cc573",
      "parents": [
        "48eac1d4c8507c794aa162bd93a4c7319c52bff4"
      ],
      "author": {
        "name": "junyulai",
        "email": "junyulai@google.com",
        "time": "Tue Jan 15 11:32:44 2019 +0800"
      },
      "committer": {
        "name": "junyulai",
        "email": "junyulai@google.com",
        "time": "Thu Jan 24 00:40:25 2019 +0800"
      },
      "message": "[KA05] Export keepalive offload api for IpSec Nat-T file descriptor\n\nAdds system api of createSocketKeepalive to take file descriptor,\nso privileged apps could use it without the need of IpSecService.\n\nBug: 114151147\nTest: atest FrameworksNetTests\nChange-Id: If926c21704b6ed73a0adfcadad732b97b42bacae\n"
    },
    {
      "commit": "48eac1d4c8507c794aa162bd93a4c7319c52bff4",
      "tree": "00baf657553ad454eb24984372475d7c5c324698",
      "parents": [
        "e62097f71d7719df24430e1e1405ba4ecaaf4b01"
      ],
      "author": {
        "name": "junyulai",
        "email": "junyulai@google.com",
        "time": "Thu Dec 27 17:25:29 2018 +0800"
      },
      "committer": {
        "name": "junyulai",
        "email": "junyulai@google.com",
        "time": "Wed Jan 23 23:17:17 2019 +0800"
      },
      "message": "[KA01] export SocketKeepalive API for NAT-T keepalive\n\nThe new set of API replace the PacketKeepalive system API\nwhich is only specific for IPsec NAT-T keepalive packet. Allows\napplications to request different types of keepalives through\nthe same set of API.\n\nBy using keepalives, applications could request system to\nperiodically send specific packets on their behalf, using\nhardware offload to save battery power.\n\nThis change would only address interface change and test part of\noriginal functionality. After all reference of PacketKeepalive\nare removed, another change would be submitted to remove old\nAPI.\n\nBug: 114151147\nTest: atest FrameworksNetTests\nChange-Id: I3367666810acc44d5ad20e19acd4bf936e8b5d9c\n"
    },
    {
      "commit": "e693d49c0a46611d18afb69701277318958a0e9c",
      "tree": "cef829ed144da7a674de0f541ccaa14db7aee7f1",
      "parents": [
        "78cccf728dea2952185c83c5f03bd54418cb98a8",
        "c6304b87416882a9ed71069de0572fb3181c734c"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Jan 23 15:05:00 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 23 15:05:00 2019 +0000"
      },
      "message": "Merge changes I1250730c,I7d00848c\n\n* changes:\n  Create a wrapper for IpClient\n  Move IpClient to NetworkStack\n"
    },
    {
      "commit": "0f224efb5eb0b68e5fa4b923dbf72f3db9ac165b",
      "tree": "08e60028cbde94a6bf2fe48d31a33292c902b4e6",
      "parents": [
        "e62097f71d7719df24430e1e1405ba4ecaaf4b01"
      ],
      "author": {
        "name": "Tadashi G. Takaoka",
        "email": "takaoka@google.com",
        "time": "Wed Jan 23 22:09:52 2019 +0900"
      },
      "committer": {
        "name": "Tadashi G. Takaoka",
        "email": "takaoka@google.com",
        "time": "Wed Jan 23 23:04:03 2019 +0900"
      },
      "message": "Add generic SelectTest JUnit filter and CoreTestsFilter\n\nThe JUnit filter com.android.test.filters.SelectTest is a generic test\nfilter that can supersede |-e package| and |-e class| options of\nAndroidJUnitRunner.\n\nThe com.android.server.wm.test.filters.CoreTestsFilter extends SelectTest\nfilter to filter out Window Manager Service releated tests in\nFrameworksCoreTests.\n\nBug: 122451194\nTest: Can select some tests from WmTests.\n  $ adb shell am instrument -w \\\n      -e filter com.android.test.filters.SelectTest \\\n      -e selectTest com.android.test.filters.,com.android.server.wm.DummyTests \\\n      com.android.frameworks.servicestests/android.support.test.runner.AndroidJUnitRunner\nTest: CoreTestsFilter works for FrameworksCoreTests.\n  $ adb shell am instrument -w \\\n      -e filter com.android.server.wm.test.filters.CoreTestsFilter \\\n      -e selectTest_verbose true \\\n      com.android.frameworks.coretests/android.support.test.runner.AndroidJUnitRunner\n\nChange-Id: Ic72637997bf17debef914e2596049f6cf3e753de\nMerged-In: Ic72637997bf17debef914e2596049f6cf3e753de\n"
    },
    {
      "commit": "e62097f71d7719df24430e1e1405ba4ecaaf4b01",
      "tree": "c45828c41067694b9f90af6e4d65ce8ef0a68015",
      "parents": [
        "98f0c3091178ed19c66d33213882a27460873422",
        "ed3168e9e35eb0f779dd6b86c842d4fbf5ac2932"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Jan 23 12:29:40 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 23 12:29:40 2019 +0000"
      },
      "message": "Merge \"Stop depending on the ConnectivityService default request.\""
    },
    {
      "commit": "773f3f5bf38c7520ec2a7e60679937c26d2da571",
      "tree": "4db43dd8ac7e5dff4391d367e844d1f80141c19e",
      "parents": [
        "31ff0616d1a940f35d25f9c0fb24c9d3a1b9d6d6",
        "8d1a890c5ccca5d7e5186db592fa6a2e0aa5709e"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 23 11:01:43 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 23 11:01:43 2019 +0000"
      },
      "message": "Merge \"[MS11] Implement findL2Key\""
    },
    {
      "commit": "ed3168e9e35eb0f779dd6b86c842d4fbf5ac2932",
      "tree": "d22d628ccc95c750d45c4ebc4aaa2075ae9937f1",
      "parents": [
        "06adb08d273023a71d480a0362fc06f6569ddee3"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Jan 23 17:54:08 2019 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Wed Jan 23 18:10:06 2019 +0900"
      },
      "message": "Stop depending on the ConnectivityService default request.\n\nThis avoids the need to expose ConnectivityService implementation\ndetails as @SystemApi and the complexities that would be required\nto make NetworkCapabilities parcelable in stable AIDL.\n\nBug: 112869080\nTest: atest FrameworksNetTests NetworkStackTests\nChange-Id: Icd5d25b9b8e9b7a7d1899b000c92dc4976c3b3d7\n"
    },
    {
      "commit": "31ff0616d1a940f35d25f9c0fb24c9d3a1b9d6d6",
      "tree": "c9de3fcfa885c43d9f5f7a8800cd42534a359d43",
      "parents": [
        "625a1f4461870548686801996a791cf6cd9a8bbb",
        "00b15f33abdae776cd0eec4eeee9e5b8b28a40ea"
      ],
      "author": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Wed Jan 23 08:48:23 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 23 08:48:23 2019 +0000"
      },
      "message": "Merge changes from topic \"Java async dns\"\n\n* changes:\n  Add asynchronous DNS query API in Java\n  Add jni method for DnsResolver\n"
    },
    {
      "commit": "8d1a890c5ccca5d7e5186db592fa6a2e0aa5709e",
      "tree": "2d1a7603477d0dd84dff63c014d39aae39962b0b",
      "parents": [
        "0a9054639d8fdc62af6fe6035c7ac503cb2f4922"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri Jan 18 20:21:26 2019 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Jan 23 16:54:37 2019 +0900"
      },
      "message": "[MS11] Implement findL2Key\n\nBug: 113554482\nTest: old tests pass, new tests added\nChange-Id: I2e93c88c30eae614a6db04abe698e8edf7fa6a43\n"
    },
    {
      "commit": "3c600a15a1ab35272405c8902a6ab92e46f18ce4",
      "tree": "63b8da5a5d0a58c0ae89d585ad13de4b6e1e16ab",
      "parents": [
        "625a1f4461870548686801996a791cf6cd9a8bbb"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Jan 10 19:12:46 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Jan 23 16:44:21 2019 +0900"
      },
      "message": "Move IpClient to NetworkStack\n\nTest: atest FrameworksNetTests NetworkStackTests\nBug: b/112869080\nChange-Id: I7d00848c052382cd1b6ce458868bed6a1e9e8ec5\n"
    },
    {
      "commit": "58582a36fcfebddbc54be82933c9f4b39391686d",
      "tree": "8f1fb71f4de389126c811711fe9b60e507f00678",
      "parents": [
        "bfd44b60ef7d7dbb1fb5dcd6d4cc109f929aaaa9",
        "97f69c2f8d55e9da4ce26c0bf7180c01dce1cb54"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Jan 23 01:13:01 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 23 01:13:01 2019 +0000"
      },
      "message": "Merge \"Add getAvoidBadWifi system API\""
    },
    {
      "commit": "022daeb874fde960baac0e964728bb7c72d0434e",
      "tree": "f25facca4236b3cf94107a7d2dc4aa3df65e285d",
      "parents": [
        "eb7c53718ae675d65ff726edb748ac27a74c4fd2",
        "b67e4936533e91e999673f5c46585a95ee211ac2"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue Jan 22 22:50:21 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 22 22:50:21 2019 +0000"
      },
      "message": "Merge changes If71fadd2,I42047185\n\n* changes:\n  [MS10] Address leftover comments on MS03 and MS07\n  [MS09] Implement isSameNetwork.\n"
    },
    {
      "commit": "ced57bb7fc8de19387b9974f2bdfdf5abe8d316c",
      "tree": "e8ca9e98e6b9748d41f4a959c0057d3a67564a0c",
      "parents": [
        "09a29e161f6a240da19d550b267e0ed0f02d37a0"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Thu Jan 17 09:47:51 2019 -0800"
      },
      "committer": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Tue Jan 22 18:16:33 2019 +0000"
      },
      "message": "Add libprocessgroup dependency\n\nBecause set_sched_policy is moved into libprocessgroup an additional\ndependency is required for its users. libframeworksnettestsjni requires\nlibprocessgroup otherwise com.android.frameworks.tests.net fails with\nerror:\ndlopen failed: library \"libprocessgroup.so\" not found\n\nExempt-From-Owner-Approval: janitorial\n\nBug: 111307099\nTest: builds, boots\n\nMerged-In: Ia8bc5b447efa568fd1c822746919fa1496cc42a6\nChange-Id: Ia8bc5b447efa568fd1c822746919fa1496cc42a6\nSigned-off-by: Suren Baghdasaryan \u003csurenb@google.com\u003e\n"
    },
    {
      "commit": "00b15f33abdae776cd0eec4eeee9e5b8b28a40ea",
      "tree": "2153136d27627f689c50beaea97c7e6ca6eb9813",
      "parents": [
        "92ae35ec9f1b771b2607df7196bb1dead4337771"
      ],
      "author": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Fri Jan 04 19:56:29 2019 +0800"
      },
      "committer": {
        "name": "Luke Huang",
        "email": "huangluke@google.com",
        "time": "Wed Jan 23 00:07:43 2019 +0800"
      },
      "message": "Add asynchronous DNS query API in Java\n\nDnsResolver for asynchronous DNS querying\nDnsPacket for parsing answer\n\nTest: built, flashed, booted\n      atest DnsResolverTest\n      atest DnsPacketTest\n\nChange-Id: Id014bc7387dd940cfaa270f68e7d4d85fab320a0\n"
    },
    {
      "commit": "97f69c2f8d55e9da4ce26c0bf7180c01dce1cb54",
      "tree": "7bec6cb08e0ee2b1d952da0f2571e2b226594cc7",
      "parents": [
        "89e53d81ce97b098a4cfaa6e9acbfb336fa4b83a"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Sun Jan 20 20:35:06 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 22 15:57:34 2019 +0000"
      },
      "message": "Add getAvoidBadWifi system API\n\nThis helps remove the dependency on MultinetworkPolicyTracker from\nIpClient.\n\nTest: atest FrameworksNetTests NetworkStackTests\nBug: 112869080\nChange-Id: If56791dbed564772f25a859f301b8b52d84e38a3\n"
    },
    {
      "commit": "479c0769f1a08526b3d846a77e54f78e76faf9ff",
      "tree": "e612fa7dab5f1164c6c4ffb58e8a9c880197c61f",
      "parents": [
        "3b887bdf4a16a64f9716f603a905b74c1bcc5a70",
        "cb3b895f1d3ec9d9ee1631b363487104f728f57e"
      ],
      "author": {
        "name": "Pavel Grafov",
        "email": "pgrafov@google.com",
        "time": "Tue Jan 22 14:43:06 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 22 14:43:06 2019 +0000"
      },
      "message": "Merge \"Add API for VPN apps to query always-on and lockdown.\""
    },
    {
      "commit": "06adb08d273023a71d480a0362fc06f6569ddee3",
      "tree": "091c49c5a75238eaaff5e6f38ad0087327c67463",
      "parents": [
        "491f53523a74cba5e84122aaeb079c31b6e5fe17",
        "d1b51a3228c755f4bd732a07053d2f360600cb3f"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 22 13:14:06 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 22 13:14:06 2019 +0000"
      },
      "message": "Merge \"Remove InterfaceController dependency on NMS\""
    },
    {
      "commit": "d1b51a3228c755f4bd732a07053d2f360600cb3f",
      "tree": "efbe4da29e907664195b793d9a483fe5060e5a61",
      "parents": [
        "8586a43f31d745f2327a481247b09b06717aaaac"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 22 16:13:57 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 22 20:25:48 2019 +0900"
      },
      "message": "Remove InterfaceController dependency on NMS\n\nTest: atest FrameworksNetTests NetworkStackTests\nBug: 112869080\nChange-Id: Ib3773068b087f58f4ac3394291cda132b00b2dcc\n"
    },
    {
      "commit": "b67e4936533e91e999673f5c46585a95ee211ac2",
      "tree": "3d739b523ce5f5b929af6f1555e0bc724a189396",
      "parents": [
        "a39756a58a906f99204d967dee5aa1ca51744b4d"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Jan 16 23:05:10 2019 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue Jan 22 19:10:48 2019 +0900"
      },
      "message": "[MS10] Address leftover comments on MS03 and MS07\n\n- Fix the copyright year in IPMSDatabase.java.\n- Add missing Override annotations.\n- Remove random l2keys, use fixed strings.\n- Rename the method in OnNetworkAttributesRetrieved that puzzlingly\n  nobody noticed was wrong.\n\nTest: atest IpMemoryStoreServiceTest\nBug: 113554482\nChange-Id: If71fadd23e158a4be299d112bfce75690b1ed8e8\n"
    },
    {
      "commit": "a39756a58a906f99204d967dee5aa1ca51744b4d",
      "tree": "265c44c215f853cd9216ee6b7551c87608ddebc0",
      "parents": [
        "20f1e0ca1d6c3a0724e94b8fbcbe4b36c93b42b8"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Jan 16 18:18:44 2019 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue Jan 22 19:10:48 2019 +0900"
      },
      "message": "[MS09] Implement isSameNetwork.\n\nTest: Old tests pass, new tests pass too.\nBug: 113554482\n\nChange-Id: I420471853f3fab7725cba7ae500cebdce1912e43\n"
    },
    {
      "commit": "94a055737efbec96029c3ce912ec0a476674aca4",
      "tree": "a77ef2c01ace456fd210c6fea2bd2acd628161b7",
      "parents": [
        "8586a43f31d745f2327a481247b09b06717aaaac"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Sun Jan 20 12:38:10 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 22 16:57:16 2019 +0900"
      },
      "message": "Add LinkProps and NetworkCaps methods to SystemApi\n\nAdded methods are used by the NetworkStack.\n\nTest: atest FrameworksNetTests NetworkStackTests\nBug: 112869080\nChange-Id: I8822d43c1a4981ca39289525685b3f975fb0e8d5\n"
    },
    {
      "commit": "8586a43f31d745f2327a481247b09b06717aaaac",
      "tree": "efb15a4088178f62a8d886a55026a32ec22f3e62",
      "parents": [
        "9325fbc4f85123bc79eeeacda0de6dfb00d3264e",
        "7b84fb336f92c71fa4dd7a8bfe662966f954fa33"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 22 07:48:39 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 22 07:48:39 2019 +0000"
      },
      "message": "Merge \"Add NetworkStack metrics to system API\""
    },
    {
      "commit": "9325fbc4f85123bc79eeeacda0de6dfb00d3264e",
      "tree": "7ae815d9e7de716be51dbb81b0b13396126a4ef8",
      "parents": [
        "a1b2a93273363b56a73bb079607d257cec478139",
        "e7e9f2befe9604b42bc778c0ceaa26e4fc88d4dd"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 22 07:13:39 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 22 07:13:39 2019 +0000"
      },
      "message": "Merge \"Fix lint errors for moving IpClient to NetworkStack\""
    },
    {
      "commit": "a1b2a93273363b56a73bb079607d257cec478139",
      "tree": "dee1382102bffb4c73d238c7ca419e3dd221ad11",
      "parents": [
        "5c1968475c887c538d085a929750a0a838ba93f9",
        "2412c13c34f34c37cca33327f837c5e81076d8a5"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Jan 22 06:31:23 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 22 06:31:23 2019 +0000"
      },
      "message": "Merge \"Properly expect all callbacks in testStackedLinkProperties.\""
    },
    {
      "commit": "e7e9f2befe9604b42bc778c0ceaa26e4fc88d4dd",
      "tree": "61d244990ead8e84889a8f62b3d192665c0a44f2",
      "parents": [
        "3f4873baef7a4d700d107fb8e55530528a4aab15"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Jan 18 19:05:29 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 22 13:12:08 2019 +0900"
      },
      "message": "Fix lint errors for moving IpClient to NetworkStack\n\nTest: checklint at upload, m\nBug: 112869080\nChange-Id: I82fb9c9037cc0a9d3c80958d64552ff1ef0a90ab\n"
    },
    {
      "commit": "2412c13c34f34c37cca33327f837c5e81076d8a5",
      "tree": "0f6cc604189c690938c412a9db618cc96c94b996",
      "parents": [
        "131fa56b4fa76223dbd7713307270f605bc199df"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Jan 22 09:47:54 2019 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Jan 22 10:53:00 2019 +0900"
      },
      "message": "Properly expect all callbacks in testStackedLinkProperties.\n\nCurrently testStackedLinkProperties accounts for some of the\nNetworkCallbacks that are fired, but not all of them. The test\npasses because it only ever expects LinkProperties changed\ncallbacks (and not, e.g., lost callbacks), because it uses\nwaitForIdle(), and because at the end, when the callback is\nunregistered, it does not call assertNoCallback().\n\nAdd the missing callback expectation and expect a LOST callback\nat the end. Also add an assertNoCallback, even though it\u0027s not\nstrictly necessary. Remove all the waitForIdle statements, which\nare no longer necessary because every assertion happens after\nwaiting for a callback.\n\nMaking the expectations more precise in a separate CL will help\nensure that upcoming changes to this code don\u0027t break anything,\nand will make said changes easier to review.\n\nBug: 65674744\nTest: atest FrameworksNetTests\nTest: ConnectivityServiceTest#testStackedLinkProperties passes 400 times\nChange-Id: I73cda0dd029a0e6546f7272beedf841ce5a4c0dc\n"
    },
    {
      "commit": "60b9ad2ec300c03fe09c0d695a0948f4363b6a26",
      "tree": "85de7ea40d363ad5754b98b763f43c7ae95e52c1",
      "parents": [
        "33a04d0ff9aebc49662d03c94af7a62abbbce9a7",
        "a5d31f53b67efe91da0911e792825020d16eb7bb"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 22 01:10:17 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 22 01:10:17 2019 +0000"
      },
      "message": "Merge \"Add IIpClient API for IpClient\""
    },
    {
      "commit": "7b84fb336f92c71fa4dd7a8bfe662966f954fa33",
      "tree": "6c45563fe34b84d5ba752e00e4ff50c239bc489d",
      "parents": [
        "1f4cce2f198308a0c8ee375503225ed1f6e1f2f4"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Sat Jan 19 21:13:24 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 21 23:24:41 2019 +0000"
      },
      "message": "Add NetworkStack metrics to system API\n\nTest: atest FrameworksNetTests NetworkStackTests\nBug: 112869080\nChange-Id: Ie52c55f248c173e2a5ee603ecd004fbac9004ac1\n"
    },
    {
      "commit": "cb3b895f1d3ec9d9ee1631b363487104f728f57e",
      "tree": "fbb4da09b9697b4e2e305e75ca427749b591e4e8",
      "parents": [
        "9bc4066ba354a71644b108c3e158a7e570b93b38"
      ],
      "author": {
        "name": "Pavel Grafov",
        "email": "pgrafov@google.com",
        "time": "Fri Dec 14 13:51:07 2018 +0000"
      },
      "committer": {
        "name": "Pavel Grafov",
        "email": "pgrafov@google.com",
        "time": "Mon Jan 21 13:48:45 2019 +0000"
      },
      "message": "Add API for VPN apps to query always-on and lockdown.\n\nTest: atest MixedDeviceOwnerTest#testAlwaysOnVpn\nBug: 72628179\nChange-Id: I73cb0888f7049b12ab0cdfa62678c3846e074d3b\n"
    },
    {
      "commit": "ca046e898b500c48b5e5412d49bf4f51aa637d98",
      "tree": "4fc6107978266607978840822f62f489cad1ce4b",
      "parents": [
        "7bf90a1f97080ac56db44374035a97ebd2737366",
        "bf73e66d4db7e2cd235017333260ee2fdceea5ee"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Mon Jan 21 09:34:41 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 21 09:34:41 2019 +0000"
      },
      "message": "Merge changes I2ddfef0c,I49bee0c9\n\n* changes:\n  [MS08] Read back attributes and blobs.\n  [MS07] Implement storeNetworkAttributes and storeBlob.\n"
    },
    {
      "commit": "a5d31f53b67efe91da0911e792825020d16eb7bb",
      "tree": "b6e060e2e76c20342e1f1bf4dc9a3201ba1b9ead",
      "parents": [
        "6b0b2b735eb42f87319a91cc7822e78ce2296186"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Sat Jan 12 15:36:47 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 21 18:25:46 2019 +0900"
      },
      "message": "Add IIpClient API for IpClient\n\nThe API will be used to interact with IpClient once it is moved to the\nNetworkStack process.\nThis change keeps compatibility with the previous API so that clients\ncan be migrated independently.\n\nTest: atest FrameworksNetTests NetworkStackTests\nBug: b/112869080\nChange-Id: I57d8164afae849230bbc0e25f17859c0b22d0f29\n"
    },
    {
      "commit": "bf73e66d4db7e2cd235017333260ee2fdceea5ee",
      "tree": "d1f92c3215c276ce5e4df17f4fd595bf88678eb6",
      "parents": [
        "91549b6d1be1e0d8d0deb9da45050eb76165a39d"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Thu Dec 27 20:59:41 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Mon Jan 21 15:21:09 2019 +0900"
      },
      "message": "[MS08] Read back attributes and blobs.\n\nTest: New tests in IpMemoryStore\nBug: 113554482\n\nChange-Id: I2ddfef0c2ed37459c038f75d1dfc92fdefbf58f5\n"
    },
    {
      "commit": "91549b6d1be1e0d8d0deb9da45050eb76165a39d",
      "tree": "26b587a60864fa43024d6516aa779ddc73fe5cd4",
      "parents": [
        "db4ce8705911e36a36f0a2f36b8bf9e04d78a2d3"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue Dec 18 22:05:19 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Mon Jan 21 15:21:09 2019 +0900"
      },
      "message": "[MS07] Implement storeNetworkAttributes and storeBlob.\n\nTest: New tests in IpMemoryStore\nBug: 113554482\n\nChange-Id: I49bee0c903247e77ab93517efbe44548313cf1a4\n"
    },
    {
      "commit": "6b0b2b735eb42f87319a91cc7822e78ce2296186",
      "tree": "b6b0c9e6f400f3306c52b4f40c9fa02c81b33e3a",
      "parents": [
        "1f4cce2f198308a0c8ee375503225ed1f6e1f2f4"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Jan 18 18:49:16 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 21 12:54:24 2019 +0900"
      },
      "message": "Add stable AIDL parcelables for IIpClient API\n\nTest: atest FrameworksNetTests NetworkStackTests\nBug: b/112869080\nChange-Id: Ia4ac1eb482850a06c4dc1b6c1fe55d33d4087388\n"
    },
    {
      "commit": "35c516049208620a19384585429d947bb95eb91b",
      "tree": "858d3026edfc9ee98ff4891b3fc4b828556d644f",
      "parents": [
        "f2c0f4aadf3d063122d6ef9eac4c9c0e76913de8",
        "42bd8e1ec05dd11a7838ff37345ff1d6be77641b"
      ],
      "author": {
        "name": "Josh Gao",
        "email": "jmgao@google.com",
        "time": "Fri Jan 18 22:25:35 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 18 22:25:35 2019 +0000"
      },
      "message": "Merge \"Avoid calling ParcelFileDescriptor.fromSocket on new Sockets.\""
    },
    {
      "commit": "836ad571eb22d3758a84fb1e2fab812c418f9f8f",
      "tree": "29e147c7360a204df7012436ae7b3e909f71f7cc",
      "parents": [
        "1ff7bdb095e930b6e3108e2ca88a610852fdcd74"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Sun Dec 30 17:59:59 2018 -0800"
      },
      "committer": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Thu Jan 17 16:30:05 2019 -0800"
      },
      "message": "[CS] Add an option to block sensitive network specifier\n\nNetwork specifiers are used for 2 purposes:\n\n- As part of network requests to specify more information on the type\n  of requested networks.\n- On network agents to specify information about their networks.\n\nThe network specifiers of the requests and agents are matched to each\nother. However, the agent network specifier may contain sensitive\ninformation which we do not want forwarded to any app.\n\nThis CL adds an option to strip out this agent network specifier before\nthe network capabilities are forwarded to the app.\n\nBug: 122160111\nTest: atest ConnectivityServiceTest (frameworks/base/tests/net)\nTest: atest frameworks/base/tests/net\nTest: atest frameworks/opt/net/wifi/tests/wifitests\nTest: atest frameworks/opt/telephony/tests/telephonytests\nTest: atest frameworks/opt/net/ethernet/tests\nTest: atest android.net.cts - some flakiness!\nTest: act.py ThroughputTest\nTest: act.py DataPathTest\nTest: atest SingleDeviceTest (cts)\nChange-Id: If08d312ff814bdde1147518f923199e6349503d5\n"
    },
    {
      "commit": "c37177a7d660404112317d6ede1719622f186a24",
      "tree": "c5035e803eb6141d7d5b5bfab2e8349fb134421e",
      "parents": [
        "0a384663edca661155155b4aecc759021f77659a",
        "4855a2e2c6eb5143e41b221a2062b43349bd182d"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Jan 17 08:30:18 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 17 08:30:18 2019 +0000"
      },
      "message": "Merge \"Add stable AIDL parcelables for LinkProperties\""
    },
    {
      "commit": "4855a2e2c6eb5143e41b221a2062b43349bd182d",
      "tree": "cf9796ea776a94b374d0d7df7230014faafa5001",
      "parents": [
        "be8881da3ba92405522f80fad1d93459e899dea2"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 08 10:46:21 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Jan 17 13:11:12 2019 +0900"
      },
      "message": "Add stable AIDL parcelables for LinkProperties\n\nTest: atest android.net.shared.LinkPropertiesParcelableUtilTest\nBug: b/112869080\nChange-Id: I2b69980e25bae9f51fb5b8cd3cafb403e6bd53da\n"
    },
    {
      "commit": "796c9446f77db52baa62e0bfaba2253a7aa46c49",
      "tree": "b24de11f5c0558d655eb704ab1a8229582e09101",
      "parents": [
        "eaeedb1c0d13e6ea1140de9e6e3e8914cdafd586",
        "5e5c764762233f6eff9d11658a4563f770ed88cb"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Jan 16 12:14:46 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 16 12:14:46 2019 +0000"
      },
      "message": "Merge changes I09167532,I7df77a99,I67797b3f,Ic27e706f\n\n* changes:\n  [MS06] Add the relevance utils.\n  [MS05] Pretty print the data classes of IPMS.\n  [MS04] Add an executor to the memory store.\n  [MS03] Add the contract for the IPMS database.\n"
    },
    {
      "commit": "5e5c764762233f6eff9d11658a4563f770ed88cb",
      "tree": "cb7f09673c985bfa916b572a75ec1459860fc066",
      "parents": [
        "8fe503f192ffb405cc5983f46c4db8e49a5f09a0"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue Dec 18 18:47:12 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue Jan 15 16:32:32 2019 +0900"
      },
      "message": "[MS06] Add the relevance utils.\n\nThis models the relevance of the network.\n\nTest: This contains new tests, and they pass.\nBug: 116512211\nChange-Id: I09167532c4041a12abf749454138d56a764b22a6\n"
    },
    {
      "commit": "61e27abf280906e125c7b6ff1a6b7cf90f960b2e",
      "tree": "83900c98c379d3cfd733d6c7f9162ca3990ade50",
      "parents": [
        "a6fc0b724290710b07a4e779dddc5b784fd78b57"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Dec 12 17:56:37 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue Jan 15 14:12:39 2019 +0900"
      },
      "message": "[MS03] Add the contract for the IPMS database.\n\nTest: Some more boilerplate that doesn\u0027t exactly need tests as such.\n      The important thing is that the database can store and retrieve\n      data, not that it creates as specific file or schema.\nBug: 116512211\n\nChange-Id: Ic27e706f15754b34d7bc26626a92d895a15a083d\n"
    },
    {
      "commit": "dac3918fa17be34881507795d17e9e43fbb09c04",
      "tree": "22d1a536b193e1d6157cd1e3c0083cf10e6fc1d7",
      "parents": [
        "9307ca2ba13dd74ee1e4ad51ea4cf57741e23f0e"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Jan 15 11:25:56 2019 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Jan 15 12:53:59 2019 +0900"
      },
      "message": "Test parceling empty LinkProperties.\n\nTest: atest FrameworksNetTests\nChange-Id: Iec53a9fdce1ba1db86751ea5f14a11d28be543eb\n"
    },
    {
      "commit": "9307ca2ba13dd74ee1e4ad51ea4cf57741e23f0e",
      "tree": "b04383fc56526cf9587bc455c017564ae9b0e5a9",
      "parents": [
        "59b34472c94d412c61c923c3835cd1c2f6527cfe"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Sat Jan 12 01:54:23 2019 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Jan 15 11:13:07 2019 +0900"
      },
      "message": "Delete the clatd functions from NetworkManagementService.\n\nMake Nat464Xlat talk to netd directly instead of through\nNetworkManagementService. The methods in NetworkmanagementService\ndon\u0027t really provide any value: since the only thing they do is\ncall into netd, we might as well have the callers talk to netd\ndirectly,\n\nIn order to do this, pass INetworkManagementService and INetd to\nthe NetworkAgentInfo constructor, and update callers appropriately.\n\nBug: 65674744\nTest: builds, boots\nTest: atest FrameworksNetTests\nChange-Id: Iac4cfe709c6279e4d9682b6754963e533707bd12\n"
    },
    {
      "commit": "59b34472c94d412c61c923c3835cd1c2f6527cfe",
      "tree": "207b5b868158220ea3580c2262f58fca1e458350",
      "parents": [
        "c2b8bc0a7d528cace8aca4e440db2c387b840c95"
      ],
      "author": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Jan 08 09:58:59 2019 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Sat Jan 12 02:16:34 2019 +0900"
      },
      "message": "Add the NAT64 prefix to LinkProperties.\n\nCurrently we support exactly one NAT64 prefix. This matches what\nother components in the system (Dns64Configuration, clatd, etc.)\nsupport.\n\nTest: atest FrameworksNetTests\nChange-Id: I45a11cebe43a5e1c60d50eca7889cb317565b598\n"
    },
    {
      "commit": "f89d7bee9ef75ef03e1291bed28d7ef1864021b8",
      "tree": "fca17e847816dbd4c1760e1c6b7274f13730f9c1",
      "parents": [
        "8c141bdb8f63b23115e82cacf06bb073e5b33f4f"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri Dec 07 23:09:02 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri Jan 11 15:01:00 2019 +0900"
      },
      "message": "[MS02] Write the skeleton for the IP memory store.\n\nThis implements a minimal contract for the IP Memory Store\nfeature.\n\nTest: Created new tests for parcelable code. For the rest, created\n      empty tests, but there is no logic, it\u0027s boilerplate day\nBug: 116512211\nChange-Id: I15dc6275b370d671385ddfdb058a8b8d39952d6e\n"
    },
    {
      "commit": "8c141bdb8f63b23115e82cacf06bb073e5b33f4f",
      "tree": "0d19475a3df4c94d7ad09d11f3988a527f982288",
      "parents": [
        "81552d610a297edc8ebe93f997d587a1fa4c44de"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue Dec 04 20:20:56 2018 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Fri Jan 11 15:00:36 2019 +0900"
      },
      "message": "[MS01] Add the IP memory store service.\n\nBug: 116512211\nTest: Added initial tests\nChange-Id: I9d9af4097e3e2d7afd9956b9cbfa29a9f9558ae0\n"
    },
    {
      "commit": "81552d610a297edc8ebe93f997d587a1fa4c44de",
      "tree": "fd2a61cd72b2e5387e99d8fb6fd8844ceb417be7",
      "parents": [
        "0ece6999d1a2b007716cf42f9ae145bef28b7171",
        "e67b0c3aee8db22662e904441c0c3e113ee5c539"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Jan 11 05:08:52 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 11 05:08:52 2019 +0000"
      },
      "message": "Merge \"Move NetworkMonitor to NetworkStack\""
    },
    {
      "commit": "e67b0c3aee8db22662e904441c0c3e113ee5c539",
      "tree": "a1e9f9c7a3c43f101116c89fe74238387ddcbe51",
      "parents": [
        "dcfef16295126c0197e5e1f6449280efdf787fea"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Dec 27 16:43:56 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Jan 11 09:59:11 2019 +0900"
      },
      "message": "Move NetworkMonitor to NetworkStack\n\nBug: b/112869080\nTest: atest FrameworksNetTests NetworkStackTests\nChange-Id: I1b8b6a3f4390adbabf92fb9e48da61c47b08b2ec\n"
    },
    {
      "commit": "64e495b274bb7bd00dc37e5d292a7e83b6177964",
      "tree": "8d61b18e4a3ea621c5f4dbfb2dc8b8ec861004bc",
      "parents": [
        "c792b78f71d43c33875fc3323d8a4f11ac564973",
        "fa42501e5eb8955d38e45d1ef8a70a571ef0e7b6"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Thu Jan 10 05:55:05 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 10 05:55:05 2019 +0000"
      },
      "message": "Merge \"Add PCSCF to LinkProperties.\""
    },
    {
      "commit": "94e5b22985bb4e623e2e7a1dd368f5bf372361ea",
      "tree": "5f3d305ff4b21c94e809283feb0b05d7aa27c69a",
      "parents": [
        "f012a17962191b5113abc942fb4f4fb5d44a7bd3",
        "0e3d0923a65d654c57bd0ce24d84a257702e83db"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Jan 09 10:42:48 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 09 10:42:48 2019 +0000"
      },
      "message": "Merge \"Move DhcpServer to NetworkStack app\""
    },
    {
      "commit": "0e3d0923a65d654c57bd0ce24d84a257702e83db",
      "tree": "1e6af187f61e4165899fb74ab139b25f196b5e3f",
      "parents": [
        "5dbf0574365254e9b5aee3919b5ee0563a92ba80"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Dec 04 12:13:09 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Jan 09 15:42:16 2019 +0900"
      },
      "message": "Move DhcpServer to NetworkStack app\n\nTest: atest FrameworksNetTests \u0026\u0026 atest NetworkStackTests\nBug: b/112869080\n\nChange-Id: I96c40e63e9ceb37b67705bdd4d120307e114715b\n"
    },
    {
      "commit": "a2e577d8ede74914b7ec14ffc5640ef8934445d5",
      "tree": "a59f28d80dd9b98e9b0fab5b6f3550c1685ad64b",
      "parents": [
        "ca712e75a9e423daea0583ea449c326b4717cacc",
        "cd9c24dcdbb28ab03746faa1a0ea2a75fb1966c0"
      ],
      "author": {
        "name": "Sahin Caliskan",
        "email": "sahinc@google.com",
        "time": "Tue Jan 08 22:34:15 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 08 22:34:15 2019 +0000"
      },
      "message": "Merge \"Implement RcsParticipant (base)\""
    },
    {
      "commit": "73105e1143b30f42317e2ea73b22225cba39c271",
      "tree": "6a1499e15ae6d22cc798cc86db0d644cddb0c3ce",
      "parents": [
        "761198a05df5a7c48d04de7a7759e023f4147094"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Dec 21 16:17:09 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 08 11:07:58 2019 +0900"
      },
      "message": "Fix linter errors in IpServer and its dependencies\n\nTest: atest FrameworksNetTests NetworkStackTests\nChange-Id: I534b391458433ac24dffe78f287e3c83a264acfd\n"
    },
    {
      "commit": "cd9c24dcdbb28ab03746faa1a0ea2a75fb1966c0",
      "tree": "59197d44256bf49d354132e5d005d774cb458d21",
      "parents": [
        "1afa2c413e43b0870b4245a3f6d49e38f0b1faf0"
      ],
      "author": {
        "name": "Sahin Caliskan",
        "email": "sahinc@google.com",
        "time": "Wed Dec 12 10:03:08 2018 -0800"
      },
      "committer": {
        "name": "Sahin Caliskan",
        "email": "sahinc@google.com",
        "time": "Mon Jan 07 14:39:19 2019 -0800"
      },
      "message": "Implement RcsParticipant (base)\n\nThis change adds the tables, APIs and provider for RcsParticipants. It\nis now possible to add/update/query participants.\n\nTest: Added unit tests\n\nBug: 109759350\nChange-Id: I61f3ee3bcb0b3a2d70906a282258677377d9fa5a\n"
    },
    {
      "commit": "761198a05df5a7c48d04de7a7759e023f4147094",
      "tree": "632a075e4bae59600a12a4744415a9cfefcbbbfc",
      "parents": [
        "7ec9e6849e78b5c8a28e9523f2a77e607569c9a6"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Dec 10 16:35:30 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 07 12:07:18 2019 +0900"
      },
      "message": "Add parceling for DhcpServingParams\n\nIntroduce a stable AIDL parcel class, DhcpServingParamsParcel, and\nmethods to convert to and from that class to DhcpServingParams.\nThis will be used to move DhcpServer to the NetworkStack app.\n\nTest: atest FrameworksNetTests\nBug: b/112869080\nChange-Id: I276b7affccb938059769c90a53f0f6beb26e6ede\n"
    },
    {
      "commit": "424945e010f9ed8dd7670c9b10a0ff42cd13d2d9",
      "tree": "9f917485ca76ebd444102ac02ff024c2ad45cb76",
      "parents": [
        "6a3d45c4b2eb62b948e82323872a758df8c9f7c9"
      ],
      "author": {
        "name": "Sahin Caliskan",
        "email": "sahinc@google.com",
        "time": "Tue Dec 11 09:38:13 2018 -0800"
      },
      "committer": {
        "name": "Sahin Caliskan",
        "email": "sahinc@google.com",
        "time": "Fri Jan 04 23:53:58 2019 +0000"
      },
      "message": "Implement RcsThread querying (base)\n\nThis change does a first pass to introduce RcsThread querying. We can\nnow insert threads and query them back.\n\nTest: Added unit test\n\nBug: 109759350\nChange-Id: Ib116cd533a19ce4d099864a095f585ac47cdc9f6\n"
    },
    {
      "commit": "bd7379858523c4e06175ee6cd92b46750d05b1dd",
      "tree": "a083b87fd8208b88d7072067ae97191862aef26a",
      "parents": [
        "94d92dc3cf589b73cd6d1da3200df1c603e5d69a",
        "f6ebf4ae08aa5fad859d1f3805e7f309d604846b"
      ],
      "author": {
        "name": "Junyu Lai",
        "email": "junyulai@google.com",
        "time": "Fri Jan 04 09:29:10 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Jan 04 09:29:10 2019 +0000"
      },
      "message": "Merge \"Ignore ipv6 tx traffic on clat uid.\""
    },
    {
      "commit": "72ff937a6b45201c49ead754cbd1c3cf1b6ba310",
      "tree": "51274bdda0d2a001af77152a7b9ce982bd6339ce",
      "parents": [
        "5c1d15003efc53f8202026b42120e81cbef8ae00"
      ],
      "author": {
        "name": "Josh Choo",
        "email": "dev@joshuous.com",
        "time": "Fri Jan 04 00:49:27 2019 +0800"
      },
      "committer": {
        "name": "Josh Choo",
        "email": "dev@joshuous.com",
        "time": "Fri Jan 04 00:54:54 2019 +0800"
      },
      "message": "JankBench: Add Bitmap Upload to list of runnable tests\n\nInclude Bitmap Upload in the default list of tests.\n\nChange-Id: I37721483437956c8c1bac437446c519bbc6b7151\nSigned-off-by: Josh Choo \u003cdev@joshuous.com\u003e\n"
    },
    {
      "commit": "5c1d15003efc53f8202026b42120e81cbef8ae00",
      "tree": "9c68216c636f0af667f4c471e70a55b282dbc178",
      "parents": [
        "ffb51ba0f002bfc952c2ff7154887f0d11b6efcc"
      ],
      "author": {
        "name": "Josh Choo",
        "email": "dev@joshuous.com",
        "time": "Fri Jan 04 00:48:38 2019 +0800"
      },
      "committer": {
        "name": "Josh Choo",
        "email": "dev@joshuous.com",
        "time": "Fri Jan 04 00:48:38 2019 +0800"
      },
      "message": "JankBench: Fix execution of incorrect benchmark\n\nFullscreen Overdraw should be executed instead of Bitmap Upload.\n\nChange-Id: I2c89ee726fb20bd57d1b5a915738f3f50dae8292\nSigned-off-by: Josh Choo \u003cdev@joshuous.com\u003e\n"
    },
    {
      "commit": "9d5e00321fee796996161a69a63fef9069460c02",
      "tree": "38e222ba83d29c9d21a562d248afb12e3d2dc548",
      "parents": [
        "ed30ec8dd14ea76aec4b0dc79091cabeb44dec09",
        "155da48519993e7de4ea8d15e69bfe262ac68ea0"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Dec 18 03:38:24 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Dec 18 03:38:24 2018 +0000"
      },
      "message": "Merge \"Replace InterfaceParams with ifName in DhcpServer\""
    },
    {
      "commit": "155da48519993e7de4ea8d15e69bfe262ac68ea0",
      "tree": "c83868d33da4ce33178a3030a13015db17720d76",
      "parents": [
        "fad9571dc59e822d6d59ad163b55799de9d1bc34"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Dec 05 15:09:08 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Dec 17 15:15:16 2018 +0900"
      },
      "message": "Replace InterfaceParams with ifName in DhcpServer\n\nThe current code only uses InterfaceParams#name, and InterfaceParams is\ndefined in services/net which DhcpServer cannot depend on once moved to\na separate app.\n\nTest: atest FrameworksNetTests\nBug: b/112869080\nChange-Id: I94c7dce33200c111666a9dddde82ac2e66a6794f\n"
    },
    {
      "commit": "b11a084ebc8896cb79e8521b3d3d03349608c3fe",
      "tree": "ca190a7a0885a92a2407d561666fb7ba9891c573",
      "parents": [
        "d2a163ad3807c96c18cd986f2c57d8d83a57dd20",
        "04ed6a35921303aa194358f6c8b84b3f556ccc92"
      ],
      "author": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Fri Dec 14 03:00:21 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Dec 14 03:00:21 2018 +0000"
      },
      "message": "Merge \"apf: Drop ARP reply if SPA is 0.0.0.0\""
    },
    {
      "commit": "4929a0d7821cb4fad97f1e7dc6d600caca13bd7d",
      "tree": "ea10a43a0039a002abb6fd5c910710663527e81c",
      "parents": [
        "cb61d10c905f6ca40ae21fd8f0fb7efb4ae90444",
        "7719db2b16f4c68c561f331010df6212dac9b5c9"
      ],
      "author": {
        "name": "Sahin Caliskan",
        "email": "sahinc@google.com",
        "time": "Thu Dec 13 20:48:34 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 13 20:48:34 2018 +0000"
      },
      "message": "Merge \"Move RCS APIs to android.telephony.ims\""
    },
    {
      "commit": "7719db2b16f4c68c561f331010df6212dac9b5c9",
      "tree": "65eb900195d20ad0a14e2ac5d1550dd3d9371342",
      "parents": [
        "462331f40fa007ada9ab3f638585cc694feee833"
      ],
      "author": {
        "name": "Sahin Caliskan",
        "email": "sahinc@google.com",
        "time": "Mon Dec 03 14:06:39 2018 -0800"
      },
      "committer": {
        "name": "Sahin Caliskan",
        "email": "sahinc@google.com",
        "time": "Thu Dec 13 16:50:28 2018 +0000"
      },
      "message": "Move RCS APIs to android.telephony.ims\n\nThis is due to being compatible with other RCS related changes by by other engineers.\nTest: Existing tests pass\n\nBug: 109759350\nChange-Id: Id56df22e9c313c5e0700eda3b2c489d2f84ea0cd\nMerged-In: Id56df22e9c313c5e0700eda3b2c489d2f84ea0cd\n"
    },
    {
      "commit": "d9eeba6fd119e79edcb8dae0fedbff8544df9d3d",
      "tree": "eb53cd06c0b941f0dc59e18e81026bfb8e085f49",
      "parents": [
        "a48e4311130947352e232e76c584c75711eccfbe",
        "a6c7287f41ea963cd2d138c113843f3a34ea8abb"
      ],
      "author": {
        "name": "Mark Chien",
        "email": "markchien@google.com",
        "time": "Thu Dec 13 13:28:08 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 13 13:28:08 2018 +0000"
      },
      "message": "Merge \"Track default upstream when system is ready\""
    },
    {
      "commit": "a6c7287f41ea963cd2d138c113843f3a34ea8abb",
      "tree": "5173149cddc9bc9d99e852b81901dda0d1489e5b",
      "parents": [
        "833bc7dba78e5727f79048016204558057c2bfc1"
      ],
      "author": {
        "name": "markchien",
        "email": "markchien@google.com",
        "time": "Tue Nov 13 18:34:56 2018 +0900"
      },
      "committer": {
        "name": "markchien",
        "email": "markchien@google.com",
        "time": "Thu Dec 13 19:01:51 2018 +0800"
      },
      "message": "Track default upstream when system is ready\n\nStart tracking default upstream from boot.This is useful for\nentitlement refine in following change. EntitlementManager can\ndecide if it needs to process entitlement provisioning before\ntethering started.\n\nTest: -atest FrameworksNetTests\n      -build, flash, booted\n      -manually turnoff/on tethering with different upstream\nbug: 111490073\n\nChange-Id: I8fdbd64c52f26b5363693bb5bd8050930e8ea961\n"
    },
    {
      "commit": "0d9b942292028187b7f077cc0b3ddabecb3308f4",
      "tree": "ee8e54412d3c1e978862294f7cdf8cb579df383f",
      "parents": [
        "f53c398133b758079825eab1101ded6b7e984173",
        "785e5f1f962ec95cf59333c931280890f130b9c2"
      ],
      "author": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Thu Dec 13 03:05:56 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Dec 13 03:05:56 2018 +0000"
      },
      "message": "Merge \"Add an APF unit test to drop all packets in the pcap file\""
    },
    {
      "commit": "bd648ce2464d6dfc9b057632647c32f8735a4cf6",
      "tree": "bc19d41733e6ef58196109406e46dea542493274",
      "parents": [
        "58ee538e62b15dd07274beecf5f925543c5332b1"
      ],
      "author": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Mon Dec 10 14:07:15 2018 -0800"
      },
      "committer": {
        "name": "Etan Cohen",
        "email": "etancohen@google.com",
        "time": "Tue Dec 11 15:00:10 2018 -0800"
      },
      "message": "[CM] Fix comments, add tests to TransportInfo API\n\nBug: 117605977\nTest: atest NetworkCapabilitiesTest\nChange-Id: I734ec56e44cd09d11ae81a856a53a26e1191b9a0\n"
    },
    {
      "commit": "04ed6a35921303aa194358f6c8b84b3f556ccc92",
      "tree": "46eec2ff55ac38a3591cfba23feebaf0f814e2c9",
      "parents": [
        "785e5f1f962ec95cf59333c931280890f130b9c2"
      ],
      "author": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Thu Nov 15 20:30:46 2018 +0800"
      },
      "committer": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Mon Dec 10 14:18:14 2018 +0000"
      },
      "message": "apf: Drop ARP reply if SPA is 0.0.0.0\n\nSome network re-writing packet from broadcast MACs to unicast,\nresult in this kind of packets cannot be dropped by APF filter.\nThus, drop ARP reply if source IP is 0.0.0.0.\n\nNote: Linux kernel always ignores such replies in the function arp_process().\n\nBug: 118044271\nTest: runtest frameworks-net -c android.net.apf.ApfTest\nChange-Id: Id293bf231913d9b483ce7d8dd909e05fa927ccd7\n"
    },
    {
      "commit": "785e5f1f962ec95cf59333c931280890f130b9c2",
      "tree": "29ed09d4b10ed89927032b31319e8af0fb3bee65",
      "parents": [
        "67c6ab38ba1b6dbdae46a4425dd66bb9147374c0"
      ],
      "author": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Wed Oct 31 15:57:48 2018 +0800"
      },
      "committer": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Mon Dec 10 21:05:14 2018 +0800"
      },
      "message": "Add an APF unit test to drop all packets in the pcap file\n\nRead a pcap file and runs it through APF filter, then checks whether all\npackets in the file are dropped.\n\nTest: runtest frameworks-net -c android.net.apf.ApfTest\nChange-Id: I7fc59864608762cd2bc84131817183846b0bf5b5\n"
    },
    {
      "commit": "f6ebf4ae08aa5fad859d1f3805e7f309d604846b",
      "tree": "2a3a730733ad718168637faab19c8a79a91756aa",
      "parents": [
        "0882543a128a7f1289d54600dd48a4f2df3a30df"
      ],
      "author": {
        "name": "junyulai",
        "email": "junyulai@google.com",
        "time": "Tue Oct 30 21:49:38 2018 +0800"
      },
      "committer": {
        "name": "junyulai",
        "email": "junyulai@google.com",
        "time": "Mon Dec 10 15:19:03 2018 +0800"
      },
      "message": "Ignore ipv6 tx traffic on clat uid.\n\nCurrently, 464xlat counts its ipv6 tx traffic into root uid.\nWhen user is making ipv4 upload over ipv6-only network, ipv4\ntx traffic may sometimes be counted faster then ipv6 tx\ntraffic.\n\nThus, NetworkStatsService may detect non-monotonic values due\nto 464xlat adjustment.\n\nSo the solution is that: for clatd, make ipv6 tx traffic counts\ninto clat uid, and then ignore it in the framework side.\n\nBug: 118602783\nTest: 1. manually verify clatd traffic on clat uid.\n      2. runtest frameworks-net\n\nChange-Id: Ifb478b79e3e281918c70e16d1f90682c78f33db1\n"
    }
  ],
  "next": "0882543a128a7f1289d54600dd48a4f2df3a30df"
}
