)]}'
{
  "log": [
    {
      "commit": "ca551ce98193a80a786c6d9a798d452037b30f7b",
      "tree": "cf7927dc232a3b22482e6cee90fa05490ac2d24f",
      "parents": [
        "f5523412041c670394bef9c8788daa19fc804073",
        "dc48356147fd55cafb1dbc8315b3f581c4274292"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Feb 07 02:39:17 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 07 02:39:17 2019 +0000"
      },
      "message": "Merge \"Add API for NetworkStack to start captive portal\""
    },
    {
      "commit": "a63c40e0de52d334dace2306df9d88a3b4ea756d",
      "tree": "fad9e40c201da1dc82e11ef594f113b52d468e8e",
      "parents": [
        "352dc2f202fd26ec1e63e74d8e302657a9bb8076"
      ],
      "author": {
        "name": "Aaron Huang",
        "email": "huangaaron@google.com",
        "time": "Tue Jan 15 16:53:51 2019 +0800"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Feb 06 22:51:49 2019 +0900"
      },
      "message": "[KA07] Drop TCP keepalive ack packets\n\nTo support TCP keepalive offload, APF filter needs to add program\nfor dropping keepalive ack packets when offload is starting.\n\nBug: 114151147\nTest: runtest frameworks-net -c android.net.apf.ApfTest\nChange-Id: If16a9bc04eb29dfedb950b6e4c85fe9ad4cf259f\n"
    },
    {
      "commit": "352dc2f202fd26ec1e63e74d8e302657a9bb8076",
      "tree": "1799612baefac95bf4430297e935f73be4df34a1",
      "parents": [
        "6606b7724700c8be28762a70376a39c854b73df1"
      ],
      "author": {
        "name": "junyulai",
        "email": "junyulai@google.com",
        "time": "Tue Jan 08 20:04:33 2019 +0800"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Wed Feb 06 22:51:42 2019 +0900"
      },
      "message": "[KA04] Expose TCP socket keepalive API\n\nThe new set of API allows applications to request keepalives\noffload for established TCP sockets over wifi.\n\nHowever, the application must not write to or read from the\nsocket after calling this method, until specific callbacks are\ncalled.\n\nBug: 114151147\nTest: atest FrameworksNetTests FrameworksWifiTests NetworkStackTests\n\nChange-Id: I3880505dbc35fefa34ef6c79555458ecf5d296a4\n"
    },
    {
      "commit": "dc48356147fd55cafb1dbc8315b3f581c4274292",
      "tree": "19ed63cdf6e7a227f417c103207acfc18302fc98",
      "parents": [
        "d6471064e90bdbbd65321f3158255844ed8c4353"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Feb 04 11:32:20 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Feb 06 16:38:32 2019 +0900"
      },
      "message": "Add API for NetworkStack to start captive portal\n\nEndpoints protected with INTERACT_ACROSS_USERS_FULL, such as\nstartActivityAsUser, should only be used by modules signed with the\nplatform cert. The NetworkStack needs to have the system server start\nthe application so this restriction can be applied.\n\nBug: 123846255\nTest: flashed, captive portal works from primary and secondary user\nChange-Id: Ib3e427b3fd03ced80c02985e795f79b096a2ec9a\n"
    },
    {
      "commit": "c3586eaa4d1a59d758672abae4884bbc5a80b308",
      "tree": "8783ef3842ceec8cc02d120fde3d8f91fb1c73fa",
      "parents": [
        "c60a97f82671e674af9a655a117208752a1d78e6"
      ],
      "author": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Wed Feb 06 15:21:09 2019 +0900"
      },
      "committer": {
        "name": "Bernie Innocenti",
        "email": "codewiz@google.com",
        "time": "Wed Feb 06 16:20:35 2019 +0900"
      },
      "message": "Give owneship of packages/NetworkStack to Android Core Networking\n\nTest: ../../build/make/tools/checkowners.py packages/NetworkStack/OWNERS\nChange-Id: I6254f1ac2a24611ca6901f8f940d9e5babaaf373\n"
    },
    {
      "commit": "0fe59007ce21ddaadd69625a37283c803c846c20",
      "tree": "f019898d33482e59a708a0cb63d11f70546a6558",
      "parents": [
        "74b1c8626e3de0c2e07dc5f493dcad93259b30c6",
        "d8c75a0438ed4cb4efd251872bf6bfee1000bc7e"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Jan 31 14:13:22 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 31 14:13:22 2019 +0000"
      },
      "message": "Merge \"Add NetworkStackPermissionStub definitions\""
    },
    {
      "commit": "74b1c8626e3de0c2e07dc5f493dcad93259b30c6",
      "tree": "2d8efad9a075b7f19859f56a28b6e5500d1b0e33",
      "parents": [
        "4bb4c1a7929ede5702c42feb55c52c2ade9bbfa4",
        "47274275cfda84fc8f0cd7f19b38047edb1d416d"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Jan 31 12:46:00 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 31 12:46:00 2019 +0000"
      },
      "message": "Merge \"Prepare CaptivePortalLogin for system_current\""
    },
    {
      "commit": "d8c75a0438ed4cb4efd251872bf6bfee1000bc7e",
      "tree": "516f5cace7b6a3d6656e3bcf6718eeb68c95001d",
      "parents": [
        "602df1aa8c6d3bef54f9bed1d8593f3cf78e6351"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Jan 30 21:45:56 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Jan 31 21:16:13 2019 +0900"
      },
      "message": "Add NetworkStackPermissionStub definitions\n\nThe NetworkStackPermissionStub package is used to enforce that\npermissions used by the NetworkStack are only used in packages\nsharing signature with NetworkStackPermissionStub.\n\nPermissions defined in this package are intended to be used only by the\nNetworkStack: both NetworkStack and the stub APK will be signed with\na dedicated certificate to ensure that, with permissions being signature\npermissions.\n\nThis APK *must* be installed, even if the NetworkStack app is not\ninstalled, because otherwise, any application will be able to define\nthis permission and the system will give that application full access\nto the network stack.\n\nTest: flashed, booted\nBug: 112869080\nChange-Id: Ia13a9e6a703cb7b4403697a7f7bfff0f6f3b813e\n"
    },
    {
      "commit": "47274275cfda84fc8f0cd7f19b38047edb1d416d",
      "tree": "db70375513a56de3ac4796a41190b64b730e5afd",
      "parents": [
        "602df1aa8c6d3bef54f9bed1d8593f3cf78e6351"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Jan 30 23:39:24 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Jan 31 18:14:54 2019 +0900"
      },
      "message": "Prepare CaptivePortalLogin for system_current\n\nIncludes small changes to stop using non-SystemApi endpoints.\n\nTest: make CaptivePortalLogin\nTest: flashed, login works, SSL certificate invalid flow works\nBug: 112869080\nMerged-In: Ic6ce98942959705ea7ef14a7a62d33e3abf7eb72\nChange-Id: Ie7ea3bab6aa8629ce4c111adee0c0699d95d4b0e\n"
    },
    {
      "commit": "3b906878f842373716d05f4b4d2cef02b7e25dc2",
      "tree": "381977d6b39595ba2314dda1b8b49131ad6b9ce3",
      "parents": [
        "602df1aa8c6d3bef54f9bed1d8593f3cf78e6351"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Jan 31 08:46:36 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Jan 31 16:03:21 2019 +0900"
      },
      "message": "Fix bluetooth tethering on multi-user\n\nBluetooth runs as UID 1001002 when on a secondary user. With this change\nthe NetworkStack verifies that the calling UID matches the Bluetooth app\nregardless of the user.\n\nTest: flashed, BT reverse tethering still working as primary user\n      (no option to turn on as secondary user on phones)\nBug: 123655057\nChange-Id: I23f9c5fa40f3bb676ac65dd8c15106c9d78309a4\n"
    },
    {
      "commit": "55849979a5d460b4aebec5a5c6ff436827e05cf2",
      "tree": "edd4bcf95984abd51e7252e9111e9d680e4ac33f",
      "parents": [
        "35a8f1a38aeaa1d07d89cf0ec7dda5d8a37695e6",
        "de60221ec8bbf1e1172498478fa8d4b0bc7d806d"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Jan 30 22:24:12 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jan 30 22:24:12 2019 +0000"
      },
      "message": "Merge \"Add SystemApi for captive portal metrics\""
    },
    {
      "commit": "de60221ec8bbf1e1172498478fa8d4b0bc7d806d",
      "tree": "d587ed35806977b6ab744d84781e778cb6ea721b",
      "parents": [
        "9fdc6d296378bd17432ba1de507c83f4c3b8ed3a"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Jan 30 15:22:01 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Jan 30 22:54:27 2019 +0900"
      },
      "message": "Add SystemApi for captive portal metrics\n\nThe metrics go through NetworkMonitor in the NetworkStack so that they\ncan be upgraded to new metrics in the future.\n\nTest: flashed, captive portal login works, metrics shown in events log\nBug: 112869080\nMerged-In: I4bccfbd87bae5b2d65e45c7a5918aa45ab5d76e8\nChange-Id: Ib5e2126788f8d56a00a56d7efcd33c5f9a37a6de\n"
    },
    {
      "commit": "4c30b419f841e0a940391ac5143f89795b69477a",
      "tree": "c32e927d42f5cc31dc6265f14897649f89930c3d",
      "parents": [
        "231b52bc03750eb49b615fb110d91f6529c922b1"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 29 21:32:48 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Wed Jan 30 10:23:29 2019 +0900"
      },
      "message": "Compile NetworkStack as system_current\n\nTest: make NetworkStack\nTest: flashed, WiFi and tethering working\nBug: 112869080\nChange-Id: I2d805c0fefe271199f4f0e0d49d91e03f41a7eef\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": "4a838a68d6f5ccde33e87951405358583543be0b",
      "tree": "6b76b501d964c99864099495e028c823c412c699",
      "parents": [
        "f89a1cfd21a1bb4461fd62537c7353d4dae95832",
        "0bf364d92e30ee30ea8bb253f6417cf8fe1ef862"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 29 11:45:15 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 29 11:45:15 2019 +0000"
      },
      "message": "Merge \"Move FdEventsReader to the shared area.\""
    },
    {
      "commit": "0bf364d92e30ee30ea8bb253f6417cf8fe1ef862",
      "tree": "67e259c51cd0a92e5e91cc999bce69b08516ed87",
      "parents": [
        "567cc7890a380bcda62ce318c5816e3d44eadab2"
      ],
      "author": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue Jan 29 18:30:03 2019 +0900"
      },
      "committer": {
        "name": "Chalard Jean",
        "email": "jchalard@google.com",
        "time": "Tue Jan 29 18:35:11 2019 +0900"
      },
      "message": "Move FdEventsReader to the shared area.\n\nThis is necessary both in the network stack app and the\nframework.\n\nTest: FrameworksNetTests\nChange-Id: I48af0ab29405501f0581a6c0c9ce6e5d4a32c8b4\n"
    },
    {
      "commit": "1bbed8a3b8b5064950886f60c349ca6b7dd48ec8",
      "tree": "0df92b505f45872ad9a722d9fd2c3d110f973ce5",
      "parents": [
        "31d7447e04100f91dc28aed40e3eecb40464233a"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 29 16:46:48 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 29 17:09:01 2019 +0900"
      },
      "message": "Run IpClientLinkObserver on Binder thread\n\nThis restores previous behavior, where callbacks would not be called on\nthe IpClient handler thread.\n\nTest: atest FrameworksNetTests NetworkStackTests\nTest: flashed, WiFi works\nBug: 123062477\nChange-Id: I3015566b0922d76ac7cf70579a1de3e033bf7b4a\n"
    },
    {
      "commit": "31d7447e04100f91dc28aed40e3eecb40464233a",
      "tree": "e02fa5d571a0d76cc559e60a8deec605b79034af",
      "parents": [
        "5cf41e47fe12ccbe110eb01ac788b627bdc89965"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 28 15:15:59 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 29 11:37:01 2019 +0900"
      },
      "message": "Remove IpClient usage of NetworkManagementService\n\nUse the new NetworkObserverRegistry instead.\n\nTest: atest FrameworksNetTests NetworkStackTests\nTest: flashed, WiFi working fine\nBug: 112869080\nChange-Id: If16ecfd6489f86afec67c22b4c3692cd68f4edbf\n"
    },
    {
      "commit": "567cc7890a380bcda62ce318c5816e3d44eadab2",
      "tree": "2510f0f6cb28a70091695890f534ed47d0ccc500",
      "parents": [
        "b8bbc48dee9db0d98a4e0fae6e9e6792ef10e387",
        "3ba6c0d56dd55af2e180bedc61690adad77c911c"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 28 11:08:00 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 28 11:08:00 2019 +0000"
      },
      "message": "Merge \"Add hidden utils and constants to NetworkStack\""
    },
    {
      "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": "375b3c075daf2d13bacd4dd74e645b5bdd5ec9fc",
      "tree": "0079e8479789019876fbc2be4691e58c2762dce9",
      "parents": [
        "f4fb1b525105600331fdf59f0762031b7204262f",
        "e4195cd6ed41c273920d48039adba3024df50af4"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 28 08:54:06 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 28 08:54:06 2019 +0000"
      },
      "message": "Merge \"Add NetworkObserverRegistry to NetworkStack\""
    },
    {
      "commit": "f4fb1b525105600331fdf59f0762031b7204262f",
      "tree": "3222ac0f7d40705c5f7dfc21230545e4e97760a9",
      "parents": [
        "e3f18bd77ca924c4b2e0faadc2515eb31c3e78ac",
        "bd726ba33a3e17fcc9d6fb142e441a389750c03c"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 28 08:53:13 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Jan 28 08:53:13 2019 +0000"
      },
      "message": "Merge \"Add NetworkStack tests to postsubmit\""
    },
    {
      "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": "e4195cd6ed41c273920d48039adba3024df50af4",
      "tree": "aa6186b0c087e6330975dd6f707c276aa2a7bb05",
      "parents": [
        "31935985664c783b7b210c8481bfff808d4f73c1"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 28 10:24:42 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 28 14:55:50 2019 +0900"
      },
      "message": "Add NetworkObserverRegistry to NetworkStack\n\nThe NetworkObserverRegistry will replace usage of\nNetworkManagementService in the app.\n\nTest: m, booted, WiFi working\nBug: 112869080\nChange-Id: Ic7f0114d0c9361dd2408e47bb04a8dd44a908a47\n"
    },
    {
      "commit": "3ba6c0d56dd55af2e180bedc61690adad77c911c",
      "tree": "8d0c52e5211225627516cf29f8d7ff8d366008db",
      "parents": [
        "e88516f13b2cf4cf51e133eb0580f6ca4f4904e8"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Sun Jan 20 13:48:19 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 28 13:45:27 2019 +0900"
      },
      "message": "Add hidden utils and constants to NetworkStack\n\nTest: atest FrameworksNetTests NetworkStackTests\nBug: 112869080\nChange-Id: I1a803f7954ab760294436226d6c1cffb934e98f9\n"
    },
    {
      "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": "bd726ba33a3e17fcc9d6fb142e441a389750c03c",
      "tree": "2c1eb1ffd1d250bee7d7e25cc17dbd80b20edd6c",
      "parents": [
        "89485143f13448d1a75df7bff2b47e91396b3d36"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Jan 25 12:57:53 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Jan 25 13:24:05 2019 +0900"
      },
      "message": "Add NetworkStack tests to postsubmit\n\nThe NetworkStack tests were unit tests in FrameworksNetTests, but were\nmoved out so were no longer run in presubmit.\nAfter a while the tests should be moved to presubmit.\n\nTest: atest NetworkStackTests\nChange-Id: I06ddcafd6de6d9029ac710f0fc3c4f2d1d705c01\n"
    },
    {
      "commit": "89485143f13448d1a75df7bff2b47e91396b3d36",
      "tree": "8e9d3da4b100b45e64c454ab885410825caa1d8a",
      "parents": [
        "9d3ce3e55ea4c1e0e3006c535f3ce9bccd5b8134"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Jan 24 20:13:09 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Thu Jan 24 20:14:48 2019 +0900"
      },
      "message": "Fix IpClientTest\n\nNetworkStackTests is run with a version of mockito that allows mocking\nfinal methods, which broke mocking of the ConnectivityService.\n\nTest: atest NetworkStackTests\nChange-Id: I430fe12216c43a0c4265a504dbefafad37c09291\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": "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": "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": "491f53523a74cba5e84122aaeb079c31b6e5fe17",
      "tree": "57d3c90a310afa5bec99359d139292d4038f1d10",
      "parents": [
        "91c81c13b6bad1c34405b7a86d605479cd049d2e",
        "c1c02dcb65928bc77883551fb8ead901fcccca5e"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 22 13:00:10 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 22 13:00:10 2019 +0000"
      },
      "message": "Merge changes Ieef54d84,Ica3e88c2\n\n* changes:\n  Remove NetworkStack dependencies on hidden members\n  Expose ServiceSpecificException as @SystemApi.\n"
    },
    {
      "commit": "c1c02dcb65928bc77883551fb8ead901fcccca5e",
      "tree": "4cdc9448a0de98df1b34bc6ea3ddfc4caa8f5a4e",
      "parents": [
        "a27da72cd1b03cf99cbe810c985a9c8bde1cbbb5"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Sun Jan 20 16:50:42 2019 +0900"
      },
      "committer": {
        "name": "Lorenzo Colitti",
        "email": "lorenzo@google.com",
        "time": "Tue Jan 22 18:48:12 2019 +0900"
      },
      "message": "Remove NetworkStack dependencies on hidden members\n\n - DhcpClient only shares its handler with IpClient, and NetworkMonitor\n   has its own handler: remove Protocol.BASE_DHCP,\n   Protocol.BASE_NETWORK_MONITOR\n - Remove dependency on Network.netid in NetworkMonitor\n - Remove dependency on Sets.newArraySet in DhcpServingParams\n - Remove dependency on formatDuration() in DhcpClient\n - Replace isMetered() with hasCapability() in NetworkMonitor\n - Use WifiManager.isScanAlwaysAvailable instead of reading setting\n\nTest: atest FrameworksNetTests NetworkStackTests\nBug: 112869080\nChange-Id: Ieef54d847ddc081fb33cbad0b050b06d2e52548e\n"
    },
    {
      "commit": "811f6385be0764b4a16ad35276688da5ffc754c3",
      "tree": "8deaf04b3659e32faf6fabe7188dda81b63e7d5d",
      "parents": [
        "8586a43f31d745f2327a481247b09b06717aaaac"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Sun Jan 20 12:08:21 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 22 17:50:33 2019 +0900"
      },
      "message": "Add SystemApi utility for raw sockets.\n\nTest: atest FrameworksNetTests NetworkStackTests\nBug: 112869080\nChange-Id: Id228bf3317b6933314174571697ee256b2f18452\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": "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": "69b967f5d0687b043a66ed9a8343ad447bd594aa",
      "tree": "6af49b132bcc584b7552bc54f70a417c5aae16de",
      "parents": [
        "6b0b2b735eb42f87319a91cc7822e78ce2296186"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Sun Jan 13 03:10:49 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Mon Jan 21 18:25:01 2019 +0900"
      },
      "message": "Allow Bluetooth to bind to NetworkStack\n\nTest: flashed, verified bluetooth tethering gets IP address\nBug: b/112869080\nChange-Id: Idfbfdf54754fea46eb0099b9b9a3bdc29dd241e0\n"
    },
    {
      "commit": "8865471c2e7610c8fcfacb06c10b05a5139d8c58",
      "tree": "4d6b77d02b29ad2ef861379413c3cd8057260838",
      "parents": [
        "608e3a63f934cd00b6bad6d280047f8b4c51a014",
        "41bd2b9c377feb43fd39fc1fe6584c062b8d22a0"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 15 08:00:51 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Jan 15 08:00:51 2019 +0000"
      },
      "message": "Merge \"Add ACCESS_COARSE_LOCATION to NetworkStack app\""
    },
    {
      "commit": "1cb95499ec9e64d79db92a1fbc57e44c1520bc30",
      "tree": "150c812e6b1c8cc3c6951aa14a0c00a4bc75f9bb",
      "parents": [
        "c78240df195ed8bb89799057c81f5aec53ec8c35"
      ],
      "author": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Tue Jan 15 10:32:48 2019 +0800"
      },
      "committer": {
        "name": "Chiachang Wang",
        "email": "chiachangwang@google.com",
        "time": "Tue Jan 15 10:32:48 2019 +0800"
      },
      "message": "Add dns signal count into validation log for debugging\n\nDns signal may need to reevaluate the threshold if force\nreevaluation is triggered and actually a stall. Provide dns\nsignal count while force reevaluation is triggered to help\ndebugging.\n\nBug: 113916551\nTest: atest NetworkStackTests\nChange-Id: Ia762752a41a4bb78ba9844917cbede7aeb2f0fc2\n"
    },
    {
      "commit": "41bd2b9c377feb43fd39fc1fe6584c062b8d22a0",
      "tree": "244ac4ba257a9e55d589dd2457fa9a27d7bae69b",
      "parents": [
        "c83e37317f7ea348bff27417d02fc84ad20c7405"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 15 11:14:48 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 15 11:14:48 2019 +0900"
      },
      "message": "Add ACCESS_COARSE_LOCATION to NetworkStack app\n\nBug: 122809947\nTest: atest FrameworksNetTests NetworkStackTests\nChange-Id: I6e71c2d594abab0b4021fefe012b4e7c70a900f7\n"
    },
    {
      "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": "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": "1c427ab3c4af12a8f3c5d8c0b007da7ad32e6f08",
      "tree": "682ffe713d005b5054f522673d1906462b50c285",
      "parents": [
        "8708d842fb28546161464a2b5652c1b7da6c5edf"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 08 16:58:21 2019 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Jan 08 16:58:21 2019 +0900"
      },
      "message": "Change package name for NetworkStack\n\nTest: flashed, booted, apk started as expected\nBug: b/112869080\nChange-Id: I8aaf5a89ffff7bba1228ea7214e662acbe47e776\n"
    },
    {
      "commit": "c094a5402c98851b380fa276e7557bf916c36c1b",
      "tree": "6bef71df652326cd62d4e1d59e82bc0d5e15bee4",
      "parents": [
        "db5b77c2757fdb99d812cc728cdb49ba8fba9975"
      ],
      "author": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Fri Dec 07 16:52:24 2018 +0900"
      },
      "committer": {
        "name": "Remi NGUYEN VAN",
        "email": "reminv@google.com",
        "time": "Tue Dec 25 11:42:42 2018 +0900"
      },
      "message": "Add NetworkStack app\n\nThe app is not started yet, and does not contain any service for now.\n\nTest: built, booted\nBug: b/112869080\nChange-Id: Id5a0fd02c891100e85d86b1040e53beec3581950\n"
    }
  ]
}
